3.1. Single camera

This guide provides instructions on how to launch the camera node with a colored point cloud feature enabled using ROS 2.

3.1.1. Start single camera

For how to compile and build methods, please refer to Chapter Installation/Build_the_package documentation and follow the steps provided build_the_package

  • Command to start single camera node

On terminal 1: Launch camera node, example of gemini330 series :

cd ~/ros2_ws/
source /opt/ros/$ROS_DISTRO/setup.bash
source install/setup.bash
ros2 launch orbbec_camera orbbec_camera.launch.py config_file_path:=gemini330_series.yaml

3.1.2. Visualizing data in rviz2

  • view_display launch

view_display.launch.py supports loading different .rviz files through yaml configuration. For example, loading the default .rviz file to display four streams. config in different .model.yaml files through yaml configuration.

On terminal 2:

cd ~/ros2_ws/
source /opt/ros/$ROS_DISTRO/setup.bash
source install/setup.bash
ros2 launch orbbec_description view_display.launch.py camera_model:=gemini335_336

view_display_gemini335_336

  • view_model launch

view_model.launch.py supports loading different .model.yaml files through yaml configuration. For example, loading the default model file to display gemini335_336 model .

On terminal 3:

cd ~/ros2_ws/
source /opt/ros/$ROS_DISTRO/setup.bash
source install/setup.bash
ros2 launch orbbec_description view_model.launch.py camera_model:=gemini335_336

view_model_gemini335_336

  • Or you can run rviz2 and configure it by yourself

cd ~/ros2_ws/
source /opt/ros/$ROS_DISTRO/setup.bash
source install/setup.bash
rviz2

When runing rviz2, select the topic you wish to visualize from the list of published topics. Add the selected topic to rviz2 to start viewing the data.

3.1.3. Display view topic/service/param

Once the camera node is running, it will publish data on several ROS topics. Below is a list of the available topics: By executing ros2 topic list, the following topics are displayed:

On terminal 4:

ros2 topic list

Other , to display services/ parameters , example as follows

ros2 service list
ros2 param list

Get device info:

ros2 service call /camera/get_device_info orbbec_camera_msgs/srv/GetDeviceInfo '{}'

Get SDK version:

ros2 service call /camera/get_sdk_version orbbec_camera_msgs/srv/GetString '{}'

Set auto exposure:

ros2 service call /camera/set_color_auto_exposure std_srvs/srv/SetBool '{data: false}'

Save point cloud:

ros2 service call /camera/save_point_cloud std_srvs/srv/Empty "{}"

 

3.1.4. Example visualizations

Here are examples of how the visualization might appear in rviz2:

  • PointCloud Visualization

PointCloud View

 

  • Image Data Visualization

Image Data View

 

3.1.5. TF tree diagram

To get the TF tree

ros2 run rqt_tf_tree rqt_tf_tree --force-discover

 

The TF tree diagram for the OrbbecSDK_ROS2 is illustrated below: single_cam_tf.png