随后我们根据观察, 猜想也许下一步系统利用了一个叫做RANSAC (Random Sampling Consensus)的逻辑去将环境进一步抽象和还原. 将离散的路标点抽象成线条,并将线条作为路标点继续用于更新设备位置. 这一步, 我们将得到相对稳定的墙体等遮挡物的状况. 随后,基于EKF或其他方法, 系统将不断地同步更新设备自身的位置以及环境中路标的状况, 并基于此形成最终的关于地图的理解和自身未知的理解. 剩余的就是值得称道的路径规划逻辑,为了保证扫地的效率和覆盖的完整性, 首先机器人会规划出一个相对完整规则的区域, 之后再在这个区域内做折返扫描,每次一个机位的宽度保证了所有的地面都被有效的覆盖.这个过程非常的有效, 位置的误差大概在1m左右. 总的来说,小米扫地机器人在实现室内定位的过程中采用的都是非常成熟的技术方案, 然而这些稳定而成熟的技术方案,则为它提供了非常良好的对于室内场景的架构和把握能力. 尤其是这种触碰式的感应方式, 大大的增加了对于定位精准度的容错性. 不过对应的, 也带来了诸如遇到窗帘也不敢推动啊之类的问题. 但是我们所谓的用脸来试探这个场景本身就比盲走好了很多, 那么加上LDS系统和声呐系统, 就很好的解决了对于环境的感知能力. 而且通过软件层面的拉偏校准和硬件设计上的配合, 使得机器人的行走也落在了非常可控的范围内. 这样就给了这些基础的算法发挥的空间并且保持了相当强的鲁棒性( 嘛, 自然硬件上的一些小bug带来的非鲁棒就没有什么特别的办法了). 不过由于这种INS(Inertial Navigation System)和SLAM的运用, 由于Lidar和Sonar带来的最早也之后对于landmark的位置识别信息, 机器人无法在一瞬间就可以确定自己的位置, 而是需要一个过程慢慢的通过对于landmark的逐步观测来形成对环境的理解. 所以就会出现如果在机器人回家的路上把它抱起来并且带到离充电桩比较远的位置, 不仅之前对于室内环境建立的所有理解都会丢失, 而且机器人本身也会totally lost, 完全无法判断自己在哪以至于无法找到回家的路. 最后让我们看一下机器人跑出来的室内情况和我们实际的室内平面图, 由于比例和具体物品的位置摆放有些出入所以没有达成完美的匹配, 不过这横平竖直的线和超高的匹配率还是让人看了心情非常舒爽(强迫症的福音). 还是要大大的赞扬一下这实时传输的位置信息给我们带来的欢愉, 好啦, 这就是从我们的角度对这款长相可人的小机器人的理解和分析. 欢迎各位看官一起讨论. ,直播 (责任编辑:本港台直播) |