/zed-ros-wrapper

ROS wrapper for the ZED SDK

Primary LanguageC++MIT LicenseMIT

Stereolabs ZED Camera - ROS Integration

This package lets you use the ZED stereo camera with ROS. It outputs the camera left and right images, depth map, point cloud, pose information and supports the use of multiple ZED cameras.

More information

Getting started

Prerequisites

Build the program

The zed_ros_wrapper is a catkin package. It depends on the following ROS packages:

  • tf2_ros
  • tf2_geometry_msgs
  • nav_msgs
  • roscpp
  • rosconsole
  • sensor_msgs
  • stereo_msgs
  • image_transport
  • dynamic_reconfigure
  • urdf
  • diagnostic_updater

Open a terminal and build the package:

cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
catkin_make
source ./devel/setup.bash

Run the program

To launch the wrapper along with an Rviz preview, open a terminal and launch:

$ roslaunch zed_display_rviz display.launch # by default open a ZED

or

$ roslaunch zed_display_rviz display_zedm.launch # open a ZED Mini

To launch the wrapper without Rviz, use:

$ roslaunch zed_wrapper zed.launch

To select the ZED from its serial number

$ roslaunch zed_wrapper zed.launch serial_number:=1010 #replace 1010 with the actual SN

SVO recording

SVO recording can be started and stopped while the ZED node is running using the service start_svo_recording and the service stop_svo_recording. More information

Diagnostic

The ZED node publishes diagnostic information that can be used by the robotic system using a diagnostic_aggregator node.

With the rqt plugin Runtime monitor, it is possible to retrieve all the diagnostic information, checking that the node is working as expected.

2D mode

For robots moving on a planar surface it is possible to activate the "2D mode" (parameter two_d_mode). The value of the coordinate Z for odometry and pose will have a fixed value (parameter fixed_z_value). Roll and pitch will be fixed to zero, like relative velocities.

Examples

Alongside the wrapper itself and the Rviz display, a few examples are provided to interface the ZED with other ROS packages :

Tutorials

A few tutorials are provided to understand how to use the ZED node in the ROS environment :