目前开源的ORBSLAM,VINS等视觉定位系统都会存在强光干扰,黑暗环境干扰,环境中的白墙等影响,这是目前机器人产品中的一个痛点。
由于环境中存在各种干扰,因此实现一个鲁棒稳定的定位系统是一款机器人产品中的核心技术。
1 光学定位方案
采用光学定位方案估计机器人在3D空间中的位姿,通常可以分为主动光学定位系统和被动光学定位系统。
1.1 被动反光标记点
反光标记点用于将对象转换为追踪目标。 PST使用这些标记点来识别对象位置并确定其姿势。为了使PST能够确定目标的位姿,必须使用至少四个标记点。
标记点的大小确定最佳跟踪距离:对于3.5毫米镜头的光学定位系统,建议使用最小直径为7毫米的圆形或球型标记点。 对于设定追踪目标,可以使用平面反光标记点和球形标记点。
目前主流的送餐机器人公司采用的是该种方案。
1.2 主动标记点
将电子元件添加到追踪目标物时,可以将IR LED用作主动标记点。 当在较远的距离上追踪目标或环境照明条件使被动反光标记点难以看清时,将非常有用。 PST光学定位中使用摄像机和滤镜材料的特定组合,对850 nm波长的红外光最为敏感。 因此,建议使用850 nm 的LED。 根据需要的观察角度和追踪目标的旋转角度,不同的LED视角(LED发光角度)为最佳。 通常,视角约为120°的LED表现出良好的性能。HTC公司的VR系统采用的是主动光学定位系统方案。
2 红外反射式标记定位系统
如果我们采用主动红外光摄像头和反射标记marker来进行相机的位姿估计,就可以避免强光干扰,光线不足,环境中特征太少这些问题,为机器人产品化迈出关键一步。
下图所示是红外相机和红外LED。相机的感光单元可以获取红外光波段,同时周边的红外LED也会发射红外光。反光标记对红外光进行类似于镜面反射,从而在获取的图像中可以看到比较明显的marker。
摄像机的感光单元还可以捕获室内的其他光,例如荧光灯和太阳光。为了避免此类问题,可以通过控制红外LED同步闪烁来获取图像。如下图所示。在没有红外LED红外光的图像中,是看不到标记的,这和我们人看看到的是类似的样子。另一方面,在红外LED发出红外光的图像中,这些标记清晰可见。通过计算LED发出和不发出红外光的图像之间的差异,除了消除非标记的反射外(室内灯光光源,光线很差的屋子),还可以消除环境中的红外线影响。
接着提取标记的区域,并识别与标记关联的ID。ID主要是通过标签的排布位姿来进行编码的,这里可以自己去设计一些编码规则。
提取标记区域,对其中的几个固定的点进行识别,可以估计摄像机相对于标记坐标的相对位置和方向。比如使用标准的计算机视觉技术从已知大小的正方形标记的四个顶点中提取系统。如下图所示:
下图第一幅是普通的标记码,可以看到远处的效果比较一般;
中间是没有贴二维码的图像,对于视觉定位系统来说比较难提取特征;
第三幅是二维码图像,可以很好的提取特征。
3 实验
下图是红外LED关闭时拍到的图片
下图时LED打开时拍到的图片
下图是提取的图像特征
下面是移动相机计算出的轨迹。