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.
Getting started
- 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.
Prerequisites
- Ubuntu 16.04
- ZED SDK ≥ 2.3 and its dependency CUDA
- ROS Kinetic
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.
Examples
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
Tutorials
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