ROS下ZED相机的安装与标定

一、ROS Melodic的安装:

借鉴鱼香ROS的安装方法

sudo apt-get install curl && curl http://fishros.com/tools/install/ros-melodic | bash

二、ZED SDK的安装

第一步:下载ZED SDK
第二步:在终端输入

cd Downloads/
chmod +x ZED_SDK_Ubuntu18_cuda10.0_v3.6.2.run
./ZED_SDK_Ubuntu18_cuda10.0_v3.6.2.run

按空格键阅读协议,阅读完毕后输入q退出
一路输入“y”
请添加图片描述
安装Python api 输入"y"请添加图片描述若在conda环境中使用python api需要切换到虚拟环境重新编译请添加图片描述
重启电脑完成安装,运行测试程序

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

请添加图片描述

三、安装ZED ROS Wrapper

mkdir -p zed_ws/src
cd ~/zed_ws/src
git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
cd ~/zed_ws
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release


![在这里插入图片描述](https://img-blog.csdnimg.cn/7eb99505a00a4ee8a04785788f8983c4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU21laWxlQXRsYXM=,size_20,color_FFFFFF,t_70,g_se,x_16)

在这里插入代码片


启动 ZED相机节点

source ./devel/setup.bash
roslaunch zed_wrapper zed.launch

新建一个的终端

rviz

请添加图片描述

四、ZED 相机标定

# 安装标定功能包
sudo apt-get install ros-melodic-camera-calibration
# 启动ZED相机
source ~/zed_ws/devel/setup.bash
roslaunch zed_wrapper zed.launch
# 标定双目
rosrun camera_calibration cameracalibrator.py --approximate 0.1 --size 8x6 --square 0.02 right:=/zed/zed_node/right/image_rect_color left:=/zed/zed_node/left/image_rect_color right_camera:=/zed/zed_node/right left_camera:=/zed/zed_node/left --no-service-check

其中:

  • –approximate:摄像机校准器可以处理时间戳不完全相同的图像
  • –size 8x6 当前标定板的大小-1, 参数中为字母x
  • –square 0.02为每个棋盘格的边长
  • image:=/camera/image_raw(图像Topic)
  • camera:=/camera(相机名)

标定界面如下:
请添加图片描述
从图中可以看到,在GUI的右侧有X,Y,Size,Skew四个标志条
它们的含义是:

  • x:表示标定板在水平方向上的位置,从左到右逐渐变大。
  • y:表示标定板在垂直方向上的位置,从上到下逐渐变大。
  • Size:表示标定板在图中所占比例的大小,从远到近逐渐变大。
  • Skew:表示标定板在图像中倾斜的角度大小,随倾斜角度增大逐渐变大。

我们的工作就是从左到右、从上到下,从远到近,并且不断变换标定板的角度,使四个标志条都变为绿色。
点击CALIBRATE
点击SAVE保存标定数据
标定数据保存为Computer/tmp/calibrationdate.tar.gz

03-16
### 如何在ROS中使用ZED相机 要在ROS环境中成功使用ZED系列相机(如ZED Mini),可以遵循以下方法和教程: #### 1. 安装ZED ROS Wrapper 首先需要克隆 `stereolabs/zed-ros-wrapper` 的仓库并构建工作空间。这可以通过以下命令完成[^3]: ```bash git clone https://github.com/stereolabs/zed-ros-wrapper.git cd zed-ros-wrapper/ rosdep install --from-paths src --ignore-src -r -y catkin_make -DCMAKE_BUILD_TYPE=Release source ./devel/setup.bash ``` #### 2. 启动ZED相机节点 启动ZED相机ROS节点以便发布图像和其他传感器数据流。以下是典型的启动文件调用方式: ```bash roslaunch zed_wrapper zed.launch ``` 此命令会加载默认参数并将摄像头的数据作为多个话题发布。 #### 3. 查看图像数据 为了验证相机是否正常工作以及能否接收到来自ZED相机的画面,可利用RQT工具来显示图像流: ```bash rqt_image_view ``` 通过该界面可以选择订阅 `/zed/zed_node/left/image_rect_color` 和其他相关的话题以观察实际效果。 #### 4. 双目标定过程 如果需要对标定双目视觉系统,则需额外安装camera_calibration包,并执行如下操作步骤[^2]: ##### a) 安装标定功能包 ```bash sudo apt-get install ros-melodic-camera-calibration ``` ##### b) 执行标定脚本 运行下面这条指令来进行双目的内外参估计: ```bash rosrun camera_calibration cameracalibrator.py \ --approximate 0.1 --size 8x6 --square 0.02 \ right:=/zed/zed_node/right/image_rect_color \ left:=/zed/zed_node/left/image_rect_color \ right_camera:=/zed/zed_node/right left_camera:=/zed/zed_node/left \ --no-service-check ``` 以上设置假定了棋盘格大小为每边长度0.02米的标准尺寸图案(可根据实际情况调整),并且允许左右两路视频帧之间存在一定时间偏差容忍度约0.1秒。 #### 5. 测试深度感知应用 对于支持深度测量的应用场景来说,在确认基本成像无误之后还可以进一步测试其三维重建能力。例如借助官方提供的Depth Viewer应用程序检查实时获取的距离信息质量如何[^4]: ```bash /usr/local/zed/tools/ZED_Depth_Viewer ``` --- ### 示例代码片段展示 这里给出一段简单的Python程序用于监听来自ZED设备的主题消息实例: ```python import rospy from sensor_msgs.msg import Image def image_callback(msg): print(f"Received an image with width={msg.width} and height={msg.height}") if __name__ == '__main__': rospy.init_node('image_listener', anonymous=True) sub = rospy.Subscriber('/zed/zed_node/left/image_rect_color', Image, image_callback) rospy.spin() ``` 上述脚本定义了一个回调函数处理接收到的消息内容,并初始化一个名为`image_listener`的新节点去订阅指定路径下的彩色图片资源。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmileAtlas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值