对于立体视觉在家用机器人导航、避障以及建立地图等方面的应用,我们给出了最先进的算法介绍。我们将解释立体视觉是如何应对这项具有挑战性的任务的。此外,我们对比了立体视觉和激光测距扫描仪的结果,讨论了它们的优点与缺点。
导航是运动机器人最具挑战性的一项能力。一个控制程序,所谓的行为,在不伤害人、环境或机器人本身的情况下,控制机器人通过已知或未知的环境。这项任务需要知道机器人对于先验已知的地图或者目前学习到的地图的相对位置,并且能够识别潜在的危险物。对机器人来讲,这样危险的物体可以是一块巨石,这块石头对于车或者机器人来说都是很危险的。同样,机器人对于人类而言可能也是危险的。上述过程就是所谓的避障。但是我们首先要从在环境中学习地图开始。
对于室内环境分析的一种经典的方法是栅格地图法,见图8.12。地图由单元格构成,矩阵中的单元格能够反映真实的环境。每个单元格代表一个真实的区域(典型的是5cm2),在图上,它可以是空闲的,被占据的,或是未知的。机器人可以行走于空闲的单元格,但必须绕行被占据的单元格。例如,桌子也是被占据单元格,否则机器人会与之发生碰撞。未知区域还没有探索清楚也不能冒进(只是因为还不清楚)。栅格地图定位的主要思想很简单:我们使用传感器来灵活地探测空闲的可行领域,以及诸如墙、桌子等被占据的区域。利用非线性优化或贝叶斯滤波方法,根据立体特征与环境的匹配来估计机器人的位置。
图8.12显示了由SIM和LITTLE[497]提出的一种方法。机器人利用立体视觉提取出墙和空闲区域,并且把这些信息成功地加入地图。当机器人移动时,它就通过扫描匹配校准的方法向地图中增加新的数据(例如墙)。这种方法相当简单:先通过机器人轮子上的(测程法)传感器读数获得其在图上的虚拟位置。然后通过使用简单的最小误差法,利用传感器的新数据对先前的地图进行调整。因为轮子的漂移和滑动是传感器无法感知的,所以这个调整是必需的。Sim等人的方法表明了在机器领域使用立体传感器要比使用激光扫描仪更有效:通过使用立体图像可见的信息,区别描述符被用来重新探测(先前看到的)墙。这对于克服在构造地图过程中碰到的所谓封闭环路问题很重要:先前去过的地方并不能被记忆并且在地图上被认为是一个新的地方。这个问题源于传感器的噪声,举例来说就是轮子编码器,立体视觉。在传感器里即使是比较小的错误,或者是校准错误都会产生很大的影响。由Sim等人发明的这种方法能够通过在早期阶段进行重新探测的区别特征修正地图。即使是很多的错误也能够通过使用这些特征纠正过来。现在,让我们通过立体视觉的方法来考虑避障。
图8.13说明了一种常见的用于室内机器人的方法:地面空间探测方法。机器人提取了导航中的安全区域。以这点为参照,可以设计出一条通过该区域的安全路径。白色区域代表了使用立体视觉已提取的空地,黑色代表的是使用了传统的激光扫描仪得到的信息。可以看到,在左图中激光扫描仪并不是真的提取出了一个区域。这是因为在特定高度上的激光扫描仪能够检测到二维空间。这就导致了负面效果:例如在区域扫描中(右)[6]位于左边的自行车的轮子就被忽略了。在图像的右边,我们可以看到打开的橱柜也没有探测到。对于激光扫描仪这两个物体都是不可见的。立体摄像机则能够探测到适当的安全区域。为什么立体传感器在室内机器人领域不普遍呢?首先由于运动模糊或者弱的灯光条件,并不能保证立体视觉系统在一幅图像上总能探测到所有的物体。激光扫描仪则几乎提供了可信的结果[7]。另一个事实是立体传感器的视野范围(通常是30~100°)比起激光扫描仪的视角(通常是180°)来说要小很多。通常激光扫描仪的精度是1mm,而立体视觉系统的精度则是5~20mm。
(www.xing528.com)
图8.12 具有栅格地图的立体导航:圆物体代表机器人,它通过摄像机具有视觉功能(白色领域代表了空地,黑色代表被占据的区域,灰色是未知区域)
图8.13 立体与激光传感器关于地面探测的对照:左图显示由激光扫描和立体视觉提取的摄像机的输入图片。右图显示了它们提取的范围信息
在接下来的部分,将提出并讨论通过使用一对仿生视觉传感器的立体视觉产生稀疏深度图的方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。