Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Repo symbol

sick_visionary_ros repository

SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight sick_visionary_ros

Repository Summary

Checkout URI https://github.com/SICKAG/sick_visionary_ros.git
VCS Type git
VCS Version main
Last Updated 2024-02-06
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags SICK Visionary-S Visionary-T Mini 3D snapshot 3D vision stereo time-of-flight
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
sick_visionary_ros 1.1.2

README

sick_visionary_ros

Overview

This repository contains the ROS drivers for Sick Visionary-T Mini CX (V3S105-1AAAAAA) and Sick Visionary-S CX (V3S102-1AAAAAA and V3S102-1AABAAB).

License

The source code is released under The Unlicense.

Supported environments

The sick_visonary_ros package has been tested under [ROS] Noetic 64bit on Ubuntu 20.04.

Table of Contents

Supported Hardware

device name part no. description version
Visionary-T Mini CX (V3S105-1AAAAAA) 1112649 3D structured light stereovision camera with RGB data ✔ 2.0.0
Visionary-S CX (V3S102-1AAAAAA, V3S102-1AABAAB)) 1090184 1090185 3D time-of-flight camera ✔ 6.0.0

Getting Started

Installation

1. First you need a working ROS installation. (ROS wiki) (If you already have a running ROS environment skip to step 2.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # Setup your sources.list
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - #Set up your keys
sudo apt update #Update your Debian package index
sudo apt install ros-noetic-desktop ros-noetic-pcl-ros ros-noetic-pcl-conversions # install the packages

2. Clone this repository into your catkin workspace. Change <YOUR_WORKSPACE> to your actual workspace name and <REPO_URL> to the url provided by the Clone button.

cd ~/<YOUR_WORKSPACE>/src
git clone <REPO_URL>

After cloning this repository into the src folder of your catkin workspace run these additional git commands to have the correct submodules in place:

git submodule init
git submodule update

Note If you’ve received a distribution archive just extract it into the src folder of your catkin workspace.

Important Ensure the ROS environment is active.

source /opt/ros/noetic/setup.bash

3. Compile and install

cd ~/<YOUR_WORKSPACE> # move to the top level of your catkin workspace
catkin_make # Compile the drivers
catkin_make install # local install
source install/setup.bash # source your workspace on top of your environment

Quick Start

Important Ensure the camera device is connected to your computer.

  1. Connect your device via Ethernet to your local PC
  2. Connect the device to the power supply and wait until it has booted up

1. Use the launch file to start the node. For the Visionary-T Mini CX run:

roslaunch sick_visionary_ros sick_visionary-t_mini.launch

Note Please use the device specific launch file to start the correct driver variant.

2. Visualize the results in RViz (3D visualization tool for ROS). Open a new terminal and run

rosrun rviz rviz

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to SICK Visionary ROS

:+1::tada: Thank you for investing your time in contributing to our project! :tada::+1:

Code of Conduct

This project and everyone participating in it is governed by the following Code of Conduct. By participating, you are expected to uphold this code.

If you have a question or are in need of technical support

Depending on the nature of your question, there are two support channels:

  1. For questions regarding the code shared in this repo please check the FAQ first and search if an issue already exists. If a related issue doesn’t exist, you can open a new issue using the bug/issue form.
  2. For application or device specific questions look for common solutions and knowledge articles on the Sick Support Portal. If your question is not answered there, open a ticket on the Sick Support Portal.

How to contribute

IMPORTANT: Contributions are subject to the Github Terms of service “Whenever you add Content to a repository containing notice of a license, you license that Content under the same terms, and you agree that you have the right to license that Content under those terms. If you have a separate agreement to license that Content under different terms, such as a contributor license agreement, that agreement will supersede.”

Issues

Create a new issue

If you spot a problem, check the FAQ first and search if an issue already exists. If a related issue doesn’t exist, you can open a new issue using the bug/issue form.

Note: If you find a Closed issue that seems like it is the same thing that you’re experiencing, open a new issue and include a link to the original issue in the body of your new one.

A good issue form includes:

  • Description: Clear description of the issue.

  • Steps to Reproduce
    1. First Step
    2. Second Step
    3. and so on…
  • Expected behavior: What you expect to happen?

  • Actual behavior: What actually happens?

  • Reproduces how often: What percentage of the time does it reproduce?

  • Versions: Which version of the software are you using? Either include the version tag or the commit hash.

  • Additional Information: Any additional information, configuration or data that might be necessary to reproduce the issue.

Solve an issue

Scan through our existing issues to find one that interests you. You can narrow down the search using labels as filters. See Labels for more information. If you find an issue to work on, you are welcome to open a PR with a fix.

Make changes

Before making any changes make sure to follow our Styleguide. In general, we follow the “fork-and-pull” Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Create a new feature Branch
  4. Commit changes to your own branch
  5. Push your work back up to your fork
  6. Submit a Pull request so that we can review your changes

NOTE Be sure to merge the latest from “upstream” before making a pull request!

Enhacement

Enhancement suggestions are tracked as GitHub issues.

This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.

When you are creating an enhancement suggestion, please include as many details as possible. Fill in the feature template, including the steps that you imagine you would take if the feature you’re requesting existed.

A good enhancement suggestion includes:

  • Summary: One paragraph explanation of the feature.

  • Motivation: Why are we doing this? What use cases does it support? What is the expected outcome?

  • Describe alternatives: A clear and concise description of the alternative solutions you’ve considered.

  • Additional context: Add any other context or screenshots about the feature request here.

Styleguide

Linting

Our C++ Code is linted with clang-tidy. Linting helps you analyse your code for potential errors. Clang-tidy will automatically detect the .clang-tidy file to analyse your code. Follow these steps to use clang-tidy:

```bash $ sudo apt-get install clang-tidy # install the clang-tidy package

File truncated at 100 lines see the full file

# Contributing to SICK Visionary ROS :+1::tada: Thank you for investing your time in contributing to our project! :tada::+1:
## Code of Conduct This project and everyone participating in it is governed by the following [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. ## If you have a question or are in need of technical support Depending on the nature of your question, there are two support channels: 1. For questions regarding the code shared in this repo please check the [FAQ](#faq) first and [search if an issue already exists](../../issues). If a related issue doesn't exist, you can open a new issue using the [bug/issue form](../../issues/new/choose). 2. For application or device specific questions look for common solutions and knowledge articles on the [Sick Support Portal](https://support.sick.com/). If your question is not answered there, open a ticket on the [Sick Support Portal](https://support.sick.com/). ## How to contribute > **IMPORTANT**: [**Contributions are subject to the Github Terms of service**](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#6-contributions-under-repository-license) > "Whenever you add Content to a repository containing notice of a license, you license that Content under the same terms, and you agree that you have the right to license that Content under those terms. If you have a separate agreement to license that Content under different terms, such as a contributor license agreement, that agreement will supersede." ### Issues #### Create a new issue If you spot a problem, check the [FAQ](#faq) first and [search if an issue already exists](../../issues). If a related issue doesn't exist, you can open a new issue using the [bug/issue form](../../issues/new/choose). > **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one. A good issue form includes: - Description: Clear description of the issue. - Steps to Reproduce 1. First Step 2. Second Step 3. and so on… - Expected behavior: What you expect to happen? - Actual behavior: What actually happens? - Reproduces how often: What percentage of the time does it reproduce? - Versions: Which version of the software are you using? Either include the version tag or the commit hash. - Additional Information: Any additional information, configuration or data that might be necessary to reproduce the issue. #### Solve an issue Scan through our [existing issues](../../issues) to find one that interests you. You can narrow down the search using `labels` as filters. See [Labels](##Issue-and-Pull-Request-Labels) for more information. If you find an issue to work on, you are welcome to open a PR with a fix. #### Make changes Before making any changes make sure to follow our [Styleguide](#styleguide). In general, we follow the "fork-and-pull" Git workflow. 1. [**Fork**](https://docs.github.com/de/get-started/quickstart/fork-a-repo) the repo on GitHub 2. [**Clone**](https://docs.github.com/de/repositories/creating-and-managing-repositories/cloning-a-repository) the project to your own machine 3. Create a new feature **Branch** 4. **Commit** changes to your own branch 5. **Push** your work back up to your fork 6. Submit a [**Pull request**](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) so that we can review your changes > **NOTE** Be sure to merge the latest from "upstream" before making a pull request! ### Enhacement Enhancement suggestions are tracked as GitHub issues. This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions. When you are creating an enhancement suggestion, please include as many details as possible. Fill in the [feature template](../../issues/new/choose), including the steps that you imagine you would take if the feature you're requesting existed. A good enhancement suggestion includes: - Summary: One paragraph explanation of the feature. - Motivation: Why are we doing this? What use cases does it support? What is the expected outcome? - Describe alternatives: A clear and concise description of the alternative solutions you've considered. - Additional context: Add any other context or screenshots about the feature request here. ## Styleguide ### Linting Our C++ Code is linted with `clang-tidy`. Linting helps you analyse your code for potential errors. Clang-tidy will automatically detect the [.clang-tidy](.clang-tidy) file to analyse your code. Follow these steps to use clang-tidy: ```bash $ sudo apt-get install clang-tidy # install the clang-tidy package File truncated at 100 lines [see the full file](https://github.com/SICKAG/sick_visionary_ros/tree/main/CONTRIBUTING.md)