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.
- First, download the latest version of the ZED SDK on stereolabs.com
- Install the ZED ROS wrapper.
- For more information, check out our ROS documentation or our ROS wiki. If you want to customize the wrapper, check the ZED API documentation.
- Ubuntu 16.04
- ZED SDK ≥ 2.3 and its dependency CUDA
- ROS Kinetic
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
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 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
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.
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.
Alongside the wrapper itself and the Rviz display, a few examples are provided to interface the ZED with other ROS packages :
- RTAB-Map : See zed_rtabmap_example
- ROS Nodelet,
depthimage_to_laserscan
: See zed_nodelet_example
A few tutorials are provided to understand how to use the ZED node in the ROS environment :
- Video subscribing : See zed_video_sub_tutorial
- Depth subscribing : See zed_depth_sub_tutorial
- Positional Tracking subscribing : See zed_tracking_sub_tutorial