ZED2相机SDK安装使用及ROS下使用

10 篇文章 5 订阅

等了快半个月的ZED2相机今天拿到手啦,开始ZED2和VINS之旅吧。

本篇博客主要记录ZED2相机SDK 安装过程以及在ROS下的环境搭建、编译使用等,搭建后期开发环境。

ZED2相机实图

在这里插入图片描述
在这里插入图片描述

SDK安装

官网上选择与你的Ubuntu系统和CUDA版本对应的SDK版本下载安装。
SDK下载

chmod +x ZED_SDK_Ubuntu18_cuda10.2_v3.5.0.run
./ZED_SDK_Ubuntu18_cuda10.2_v3.5.0.run

报错:Python API 安装失败(有些同学这一步安装是没问题的)

主要原因应是stereolabs下行宽带不行。

解决:

git clone https://github.com/stereolabs/zed-python-api
cd /zed-python-api/src
pip3 install -r requirements.txt
python3 setup.py build
python3 setup.py install --user

执行之后,如果没有报错应该就没问题了,在python3下import pyzed,没报错就是安装完成了。

重新安装,安装提醒是否希望安装ZED Python API,选N即可以,安装完成。

ZED_Depth_Viewer、ZED_Sensor_Viewer测试

1)

cd /usr/local/zed/tools
./ZED_Depth_Viewer

错误,黑屏,不显示图像信息和深度信息

终端错误信息,显示CUDA错误:
在这里插入图片描述目前CUDA版本为11.4,但nvidia-smi错误,怀疑是CUDA版本与NVIDIA驱动版本不搭,所以卸载CUDA11.4,安装CUDA11.0,可参考博客:ubuntu20.04卸载cuda11.4重装cuda11.0
解决NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver

CUDA 更新为11.0后,重新执行:

./ZED_Depth_Viewer

在这里插入图片描述哭哭哭~,静下心来,分析这个问题,可能是nvidia驱动或是CUDA 的问题,经排查,发现是nvidia驱动没完全安装成功,opengl没有安装,解决:
之前安装nvidia驱动时

sudo ./NVIDIA-Linux-x86_64-470.82.00.run --no-x-check --no-nouveau-check --no-opengl-files

卸载nvidia驱动,重新安装

sudo ./NVIDIA-Linux-x86_64-470.82.00.run 

重新测试,成功,yeah~
在这里插入图片描述

cd /usr/local/zed/tools
./ZED_Sensor_Viewer

在这里插入图片描述这里可以看到加速度计、陀螺仪、四元数、气压计、磁力计及温度等传感器信息。

安装ZED2 ROS工具

安装命令:

$ cd ~/ZED_WS/src
$ git clone https://github.com/stereolabs/zed-ros-wrapper.git
$ cd ../
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make -DCMAKE_BUILD_TYPE=Release
$ source ./devel/setup.bash

编译过程中,提示缺少什么包就安装什么包,其中错误

Make Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "zed_interfaces"
  with any of the following names:

    zed_interfacesConfig.cmake
    zed_interfaces-config.cmake

  Add the installation prefix of "zed_interfaces" to CMAKE_PREFIX_PATH or set
  "zed_interfaces_DIR" to a directory containing one of the above files.  If
  "zed_interfaces" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  zed-ros-wrapper/zed_nodelets/CMakeLists.txt:41 (find_package)

只需要安装一个zed_interfaces再重新编译一下就可以了,注意安装路径/ZED_WS/src

git clone https://github.com/stereolabs/zed-ros-interfaces

编译成功后,便可在ROS 下打开相机,运行ZED2

roslaunch zed_wrapper zed2.launch

错误1:Resource not found: xacro
解决:sudo apt-get install ros-noetic-xacro

错误2:ERROR: cannot launch node of type [robot_state_publisher/robot_state_publisher]: robot_state_publisher
解决:
这是robot_state_publisher包缺失导致的问题

sudo apt-get install ros-kinetic-robot-state-publisher

如果显示无法定位此文件,则重新填一遍秘钥

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
 
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

之后更新一下软件包索引

sudo apt-get update

再次运行测试launch文件:
在这里插入图片描述可查看所有topic
在这里插入图片描述查看所有node
在这里插入图片描述查看topic具体信息:
查看/imu/data信息:三轴角度、角速度、加速度和相应的协方差矩阵(卡尔曼滤波中求取卡尔曼增益和状态转移矩阵)
在这里插入图片描述查看pose信息:
在这里插入图片描述可在该工作空间下安装zed-ros-examples

$ cd ~/ZED_WS/src
$ git clone https://github.com/stereolabs/zed-ros-examples.git
$ cd ../
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make -DCMAKE_BUILD_TYPE=Release
$ source ./devel/setup.bash

运行几个自带的SDK看看效果:

1)roslaunch zed_display_rviz display_zed2.launch
2)roslaunch zed_rtabmap_example zed_rtabmap.launch

效果如下:
1)
在这里插入图片描述2)
在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
利用 ZED 相机为 rtabmap_ros 录制 rosbag 包的步骤如下: 1. 安装 ZED 相机驱动和 SDK。可以在官网上下载对应的安装包,然后按照官方文档进行安装。 2. 安装 rtabmap 和 rtabmap_ros。可以使用以下命令进行安装: ``` sudo apt-get install ros-<distro>-rtabmap ros-<distro>-rtabmap-ros ``` 其中, `<distro>` 表示 ROS 版本,比如 `melodic`。 3. 启动 ZED 相机节点。可以使用以下命令启动 ZED 相机节点: ``` roslaunch zed_wrapper zed.launch ``` 4. 启动 rtabmap_ros 节点。可以使用以下命令启动 rtabmap_ros 节点: ``` roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/zed/depth/depth_registered rgb_topic:=/zed/rgb/image_rect_color ``` 其中,`depth_topic` 和 `rgb_topic` 分别指定 ZED 相机发布的深度图和彩色图的 ROS 话题。 5. 手动控制 ZED 相机采集数据,或者使用 ROS 工具录制 rosbag 包。可以使用以下命令录制 rosbag 包: ``` rosbag record -O data.bag /zed/depth/depth_registered /zed/rgb/image_rect_color /rtabmap/odom ``` 其中,`data.bag` 是保存的 rosbag 包的文件名,`/zed/depth/depth_registered` 和 `/zed/rgb/image_rect_color` 分别是 ZED 相机发布的深度图和彩色图的 ROS 话题,`/rtabmap/odom` 是 rtabmap_ros 发布的位姿信息的 ROS 话题。 录制完成后,可以使用以下命令播放 rosbag 包并查看 rtabmap 工作效果: ``` rosbag play data.bag --pause roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/depth/image_rect_raw rgb_topic:=/camera/color/image_raw localization:=true ``` `localization:=true` 表示在 rtabmap 工作时只进行定位,不进行建图。在播放 rosbag 包时,先暂停,然后使用 rtabmap_ros 启动节点,最后按下空格键开始播放 rosbag 包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值