ros2与传感器-双目相机ZED
ros2与传感器-双目相机ZED
说明:
- 介绍如何在ros2使用双目相机ZED
- 具体产品,点击淘宝地址
步骤:
- 要求:
ZED SDK v2.6 or later
CUDA dependency
ROS2 Crystal Clemmys :
- Ubuntu 16.04
- Ubuntu 18.04
- 下载编译
$ cd ~/sensor_ws/src
$ git clone https://github.com/stereolabs/zed-ros2-wrapper.git
$ cd ..
$ colcon build --symlink-install --packages-select stereolabs_zed_interfaces --cmake-args=-DCMAKE_BUILD_TYPE=Release
$ source ./install/local_setup.bash
$ colcon build --symlink-install --packages-select stereolabs_zed --cmake-args=-DCMAKE_BUILD_TYPE=Release
$ source ./install/local_setup.bash
$ colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release
$ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc
$ source ~/.bashrc
选项--symlink-install非常重要。
它允许在安装过程中使用符号链接,而不是将文件复制到ROS2文件夹中。
必须安装ROS2中的每个软件包,并且必须将节点使用的所有文件复制到安装文件夹中。
使用符号链接可以使您在工作空间中对其进行修改,从而在下一次执行时反映出所做的修改,而无需发出新的colcon build命令。
这仅适用于所有不需要编译的文件(Python启动脚本,YAML配置等)
如果出现错误
If an error mentioning /usr/lib/x86_64-linux-gnu/libEGL.so blocks compilation, use the following command to repair the libEGl symlink before restarting the colcon command:
- 修复
#Only on libEGL error
$ sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so; sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so
- 启动zed
$ ros2 launch stereolabs_zed zed.launch.py
- 利用rviz2来显示图像
$ ros2 launch zed_rviz display_zed.launch.py
- 相关话题列表
zed/zed_node/rgb/image_rect_color: Color rectified image (left image by default)
zed/zed_node/rgb/image_raw_color: Color unrectified image (left image by default)
zed/zed_node/right/image_rect_color: Color rectified right image
zed/zed_node/right/image_raw_color: Color unrectified right image
zed/zed_node/left/image_rect_color: Color rectified left image
zed/zed_node/left/image_raw_color: Color unrectified left image
zed/zed_node/confidence/confidence_image: Confidence map as image
- 订阅图像zed/zed_node/confidence/confidence_map话题,如图:
- 订阅深度图zed/zed_node/depth/depth_registered,如图:
- 订阅点云zed/zed_node/point_cloud/cloud_registered,如图:
- 使用point_cloud -> cloud -> PointCloud2
- 显示位置和路径,订阅如下话题
zed/zed_node/odom: Odometry pose referred to odometry frame (only visual odometry is applied for ZED, visual-inertial for ZED-M)
zed/zed_node/pose: Camera pose referred to Map frame (complete data fusion algorithm is applied)
zed/zed_node/pose_with_covariance: Camera pose referred to Map frame with covariance (if spatial_memory is false in launch parameters)
zed/zed_node/path_odom: The sequence of camera odometry poses in Map frame
zed/zed_node/path_map: The sequence of camera poses in Map frame
- 默认情况下,RVIZ无法正确显示里程表数据。
- 在左侧列表中打开新创建的里程表对象,并将“位置公差”和“角度公差”设置为0,并将“保持”设置为1。
参考:
- https://www.stereolabs.com/docs/ros2/
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号