移动机器人三种常见视觉算法
算法一:深度信息提取
其原理是使用两个平行的相机,对空间中的每个点三角定位。通过匹配左右两个相机中成像点的位置,来计算对应三维点在空间中的距离。
机器人想要通过若干幅图像来获取目标的三维坐标,双目视觉技术中更为重要的工作是对图像执行匹配,首先明确物体在左右图像的相互匹配的点,然后获得每一点视差以及深度信息。
双目立体视觉有设备简单且价格低廉,精度高且速度快,无需接触物体即可计算距离和深度信息等优点,其在无人机电力线巡检以及工业建筑机器人中都有重要的应用。
算法二:定位导航
机器人导航是一个比较复杂的系统,涉及技术如下:
· 视觉里程计VO;
· 建图,利用VO和深度图;
· 重定位,从已知地图中识别当前的位置;
· 闭环检测,消除VO的闭环误差;
· 全局导航;
· 视觉避障;
· Scene tagging,识别房间中物体加上tag
简单说来就是对机器人周边的环境进行光学处理,先用摄像头进行图像信息采集,将采集的信息进行压缩,然后将它反馈到一个由神经网络和统计学方法构成的学习子系统,再由学习子系统将采集到的图像信息和机器人的实际位置联系起来,完成机器人的自主导航定位功能。
这种被称为SLAM (Simultaneous Localization And Mapping)的方法,是移动机器人智能水平的最好体现,是否具备同步建图与定位的能力被普遍认为是机器人能否实现自主的关键前提条件。
目前常用的SLAM技术主要分为两类,一类是基于视觉传感器的VSLAM,另一类是基于激光传感器的激光SLAM。
视觉SLAM专指利用摄像机、Kinect等深度像机来做室内导航和探索;到目前为止,室内的视觉SLAM仍处于研究阶段,远未到实际应用的程度;而激光SLAM技术已较为成熟,也是目前最稳定、可靠的高性能SLAM方式。
算法三:避障
导航解决的问题是引导机器人接近目标。当机器人没有地图的时候,接近目标的方法称为视觉避障技术。避障算法解决的问题是根据视觉传感器的数据,对静态障碍物、动态障碍物实现躲避,但仍维持向目标方向运动,实时自主导航。
避障算法有很多,传统的导航避障方法如可视图法、栅格法、自由空间法等算法对障碍物信息己知时的避障问题处理尚可,但当障碍信息未知或者障碍是可移动的时候,传统的导航方法一般不能很好的解决避障问题或者根本不能避障。
而实际生活中,绝大多数的情况下,机器人所处的环境都是动态的、可变的、未知的,为了解决上述问题,人们引入了计算机和人工智能等领域的一些算法。
同时得益于处理器计算能力的提高及传感器技术的发展,在移动机器人的平台上进行一些复杂算法的运算也变得轻松,由此产生了一系列智能避障方法,比较热门的有:遗传算法、神经网络算法、模糊算法等。