Version

3.1. ROS Package QuickStarts

3.1.1. Introduction

This section provides a quick start to using the Orbbec ROS 1 wrapper. You will learn how to:

  • Launch a camera node.

  • Visualize depth/color streams in RViz.

  • Interact with topics and services using ROS 1 CLI tools.


3.1.2. Build your First Camera Application

3.1.2.1. Step 1: Source ROS 1 and Workspace

Make sure ROS 1 and your workspace environment are sourced:

source /opt/ros/$ROS_DISTRO/setup.bash
source ~/ros_ws/devel/setup.bash

3.1.2.2. Step 2: Launch the Camera Node

  • On terminal 1

roscd orbbec_camera
rosrun orbbec_camera list_devices_node   # Check if the camera is connected
roslaunch orbbec_camera gemini_330_series.launch   # Or other launch file

If you have multiple cameras connected, you can specify the serial number:

roslaunch orbbec_camera gemini_330_series.launch serial_number:=<YourCameraSN>

3.1.2.3. Step 3: Visualize in RViz

Launch RViz and load the default config:

  • On terminal 2

rviz
  • Add an Image display, set topic to /camera/color/image_raw.

  • Add another Image display for /camera/depth/image_raw.

  • Optionally, add a PointCloud2 display for /camera/depth/points.

You should now see the color stream, depth stream, and 3D point cloud in RViz.


3.1.3. Sample Features

After the node is running, try some ROS 1 CLI commands:

3.1.3.1. List available topics / services / parameters

rostopic list
rosservice list
rosparam list

3.1.3.2. Echo a topic

View depth camera data:

rostopic echo /camera/depth/camera_info

3.1.3.3. Call a service

For example, get device Information:

rosservice call /camera/get_device_info "{}"

3.1.3.4. Record with rosbag

rosbag record /camera/color/image_raw /camera/depth/image_raw

3.1.3.5. Record and play back with SDK bag

SDK bag recording uses the Orbbec SDK to record device data. It is useful when you want to restart the wrapper later with the recording as a playback device. Record when launching:

roslaunch orbbec_camera gemini_330_series.launch bag_record_filename:=/tmp/orbbec_record.bag

You can also start or stop recording while the node is running:

rosservice call /camera/set_bag_recording "enable: true
file_path: '/tmp/orbbec_record.bag'"
rosservice call /camera/set_bag_recording "enable: false
file_path: ''"

Play back an SDK bag:

roslaunch orbbec_camera gemini_330_series.launch bag_filename:=/tmp/orbbec_record.bag

Loop playback:

roslaunch orbbec_camera gemini_330_series.launch bag_filename:=/tmp/orbbec_record.bag bag_loop:=true