1 简介
rc_visard 3D立体视觉传感器
支持的接口标准
- GenICam Generic Interface for Cameras
- GigE Gigabit Ethernet
词汇表
SGM semi-global matching 半全局匹配
SLAM Simultaneous Localization and Mapping 即时定位与地图构建
2 安全
3 硬件规格
坐标系
rc_visard的坐标帧原点被定义为左相机镜头的出口瞳孔。帧称为传感器坐标帧或相机坐标帧。
传感器/相机框架和机器人坐标系之间的正确偏移量可以通过手眼校准程序进行校准
4 安装
设备发现
rcdiscover-gui
5 测量原理
5.1 立体视觉
视差越大,物体距离相机越近。
计算三维信息需要的模块
- Camera
该模块负责捕获同步图像对,并将其转换为接近理想相机拍摄的图像(校正)。 - Stereo matching
该模块使用半全局匹配计算校正后的立体图像对的视差。 - Camera calibration
该模块使用户能够重新校准rc_visard的立体相机。
6 软件模块
rc_visard的几个机载软件模块
- 3D相机模块
获取图像对并计算3D深度信息,如视差,误差和置信度图像,也可以通过rc_visard的GigE Vision/GenICam接口访问。 - 导航模块
- 检测模块
提供多种检测功能,如抓点计算和目标检测。 - 配置模块
用户能够执行校准和为特定的应用程序配置rc_visard。 - 数据库模块
使用户能够配置所有其他模块可用的全局数据,例如负载载体,感兴趣的区域和夹具。
6.1 3D相机模块
6.1.1 相机
6.1.1.3 参数
6.1.2 立体匹配
6.1.2.1 计算视差图像
校正后,保证一个对象点投影到左右图像的同一像素行上。右侧图像中该点的像素列始终小于或等于左侧图像中同一点的像素列。术语“视差”表示左右图像像素列之间的差异,表示物体点离相机的深度或距离。视差图像存储左侧相机图像中所有像素的视差值。
视差越大,物体点越近。视差为0表示物体的投影点在同一图像列,目标点在无限远。通常,有些像素的视差无法确定。这种情况出现在物体左侧被遮挡,因为从右边的相机看不到这些区域。此外,差没有纹理的区域无法确定视差。无法确定视差的像素被标记为无效视差值0。区分无效视差测量值和视差测量值为0(对于无限远的物体),后者的视差值被设置为大于0的尽可能小的视差值。
为了计算视差值,立体匹配算法必须在左右相机图像中找到相应的目标点。这些点代表场景中相同的物体点。对于立体匹配,rc_visard使用SGM(半全局匹配),它提供了快速的运行时间和很高的精度,特别是在物体边界,精细结构和弱纹理区域。
任何立体匹配方法的一个关键要求是图像中纹理的存在,即由于场景中的图案或表面结构而导致的图像强度变化。在完全没有纹理的区域,例如没有任何结构的白墙,视差值要么无法计算,要么结果错误或置信度低(参见置信度和误差图像,第6.1.2.3节)。场景中的纹理不应该是人为的、重复的图案,因为这些结构可能会导致模糊,从而导致错误的视差测量。
当处理纹理较差的对象或在无纹理的环境中工作时,可以使用外部模式投影仪将静态人工纹理投影到场景中。这种模式应该是随机的,不包含重复的结构。rc_visard提供IOControl模块(参见IO和投影仪控制,章节6.4.4)作为可选的软件模块,可以控制连接到传感器的图案投影仪。
6.1.2.2
6.1.2.3 置信和误差图像
对于每个视差图像,还提供了一个误差图像和一个置信图像,给出了每个视差值的不确定性度量。这些图像与视差图像具有相同的分辨率和相同的帧速率。误差图像包含视差误差 d e p s {d}_{eps} deps,其像素与视差图像中相同图像坐标处的视差值相对应。置信度图像中对应的置信度值𝑐在0 ~ 1之间。
置信度定义为真实视差值在测量视差𝑑周围误差的三倍区间内的概率,即[𝑑− 3 d e p s {3d}_{eps} 3deps,𝑑+ 3 d e p s {3d}_{eps} 3deps]。因此,具有误差和置信值的视差图像可用于需要概率推理的应用。与无效视差测量相对应的置信度和误差值将为0。