开篇前试想这样两个场景:
在一个相对较小的地方(如房间),让你快速找某个东西,是不是很容易,很清楚自己在哪里,要怎么拿到他。
然后,把你放到一个大场景(如商场),在不熟悉的情况下,是不是有点慌?
这两个场景的典型区别就在于场景的大小不同,需要人处理的信息量不同。同理,机器人在初次面对的时候也会有点慌。但其实,只要清楚他的“地图构造”,再大的场景也不是问题。
目前,虽然即时地图构建和导航技术已经日益成熟,但是大规模场景下较大的环境面积及复杂的场景结构给地图构建带来了较大挑战。甚至在有些人眼里,这是工作量巨大的,繁琐的、构建不准确的……但其实,思岚科技的技术可以轻松完成10w+㎡场景下的地图构建,边走边建图,无需预先探明地图。
比如,这样的:
这样的:
以及这样的:
一个典型的商用场景特征如下:
针对大场景的地图构建,如果使用激光雷达配合SLAM算法进行建图的话,首先需要使用较远测距半径的激光雷达传感器。目前为了适应上述的商用场景,行业内会使用测距半径在16米以上的激光雷达产品,而比较理想的测量半径是25米,从而保证能够应对各类极端条件。
除了保障传感器的测距半径符合环境需求外,SLAM算法还需要具备闭环检测能力。比如有些场景,长走廊和环路较多,相似的场景也很多,在SLAM过程中难以形成有效的全局匹配参考,从而很容易导致局部区域累计误差无法及时清除,进而导致回环闭合问题。如下图:
| 由于环境场景大且多为长直走廊,导致SLAM建图中容易出现环路闭合失败的情况
为了解决上述问题,行业内的普遍做法有两种:
1.采用粒子滤波的SLAM方法
使用多张平行存在的候选地图(粒子)同时进行地图构建,并且时刻挑选出其中概率上更加符合真实情况的地图作为当前结果。由于不同的粒子之间建立的地图存在区别,因此从概率上看,当机器人在环境中行走完一个环路后,众多粒子中存在闭环地图的可能性相比传统单一建图的模式要高很多。因此这种方法可以一定程度的解决闭环问题。
| 采用rbpf(Rao-Blackwellized particle filters)的SLAM算法
采用粒子滤波的SLAM算法因其可以非常有效的规避因为局部噪声导致的建图失效问题,曾一度成为行业内激光SLAM方式的主流方案。然而,这种方式的SLAM算法,由于系统参数和传感器观测等存在不确定性,先天存在资源消耗大的缺点。
以rbpf-slam为例,实际应用中为了保证较好的鲁棒性,需要维持几十个粒子数据,每个粒子中都包含了一张当前正在构建的环境地图信息。这样无疑增加了SLAM算法的内存消耗。同时,每当新的传感器数据进入,要对地图进行更新迭代时,算法需要对每个粒子数据都进行相同的匹配计算和数据更新,这也加重了运算负担。进一步的,粒子滤波的SLAM方式虽然可以大幅度改善回环闭合问题,但从原理上看它并不能真正意义上解决闭环问题。对于特殊的环境下,使用粒子滤波SLAM可能会将粒子收敛到错误的方向,导致建图失败。
| 正确的地图构建(左)和当粒子滤波收敛失败得到的错误地图(右)
2.基于图优化的SLAM方式
基于图优化的SLAM((Graph-SLAM))方法,由于采用了全局优化处理方法,能够有效的解决建图闭环,获得更好的建图效果,获得行业广泛关注。
| 基于图优化的SLAM框架
相比于rbpf-slam每次直接将传感器数据更新进入栅格地图进行构建的做法,Graph-SLAM存储的是地图构建过程中机器人位姿变化的拓扑地图信息,以及诸如临近数据和闭环点等数据。
| Graph-SLAM编码了机器人在SLAM过程中的位姿变化拓扑地图,相关的拓扑信息,如:闭环、重合数据也得到了编码
而当机器人在建图中出现了新的回环后,Graph-SLAM可依赖内部的拓扑图进行主动式的闭环检测,当发现了新的闭环信息后,Graph-SLAM使用Bundle Adjuestment(BA)等算法对原先的位姿拓扑地图进行修正(即进行图优化),从而能有效的进行闭环后地图的修正。因此相比与粒子滤波SLAM方式,Graph-SLAM可以实现更加可靠的环境建图。
| Graph-SLAM在检测到原先地图(左)存在可能得闭合路径后,对拓扑图进行修正从而得到正确的环境建图(右)
目前,SLAMWARE已经采用了最新的图优化方式,配合激光雷达逐渐在商用复杂环境中开始使用。未来,面对机器人应用场景的不断拓展,建图技术必然还会遇到更多的问题,而这些,是未来思岚科技需要和行业一起,共同攻克的问题。
- 使用 NXP Semiconductors 的 ARM926EJ-S 的参考设计
- LTC2634-LMX12 四通道、12 位数模转换器的典型应用
- TEA2017 PFC + LLC谐振电源开发套件
- 使用 NXP Semiconductors 的 MPC17531ATEVEL 的参考设计
- 具有 400kHz 外部同步降压转换器的 LTC3646EMSE-1 12V 至 1.8V 输出的典型应用电路
- LT1377IS8 90% 高效 CCFL 电源的典型应用
- 【涂鸦智能】门磁TYZS5
- 使用 ON Semiconductor 的 LD511 的参考设计
- OP484FSZ 2.5V 基准的典型应用在单 3V 电源上运行
- LT3761EMSE-1 40W SEPIC LED 驱动器的典型应用电路