< >
Home » ROS2与传感器教程 » 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/

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与传感器