虽然我已经做了两次关于SLAM的周报了,但是平时和实验室的师兄师姐交流的时候,他们好像还是不了解我要做啥。我觉得可能是前两次周报的时候,我对这个SLAM领域也是一知半解,所以才说的不够清楚。因此这次我想先把我要做的事情形象化地说明白,然后再汇报我这两周的工作。
为了说明我们要研究的东西,先提出两个问题:1、当你突然被扔到一个陌生的城市,你是怎么探索这个城市的呢? 2、假设你是一个来东华大学松江校区参观的游客,你是打算如何游览东华的呢?(是不是感觉一份地图至关重要)
那么假设来了,假设目前没有特别好的地图,需要及时去绘制一份以便游客参观。现在引入地图绘制小能手——机器人“葫芦娃”。“葫芦娃”身上带着深度相机kinect,能够在拍摄彩色图片的同时,还能知道拍摄的物体与它之间的距离。最后得出来一张地图如下:(实际上不是这样的地图,这里只是为了举例子从网上拉下来的一张图片,因为“葫芦娃”还没画出东华的样图,让我们一起期待吧~~)
好,那么我们来讨论一下“葫芦娃”是怎么画地图的?首先,假设“葫芦娃”是从宿舍区开始进入校区的(按照游客的路线),他需要先画出大学生活动中心的外貌(一般游客都会去),那么他需要绕着大活走一圈(想象你绕着一栋建筑物走的样子),他会左看看,右看看,往前走两步,再往后退几步.......等等。
在这个过程中 “葫芦娃” 会用自己的相机不断拍摄照片然后传给计算机(想象你参观一栋宏伟建筑时候的样子),然后计算机处理照片的过程中就是SLAM(主角出场)。
SLAM要解决的两个问题:1、“葫芦娃”走到哪里了?(就像你想知道跑出去的宠物狗在哪里一样)
2、“葫芦娃”周围是什么样的环境?(就像你想知道宠物狗在什么样的地方一样)
SLAM涉及的三个模块:视觉里程计——后端优化——闭环检测
视觉里程计——根据机器人连续拍摄的两帧图片,估算机器人在拍摄这两帧图片之间的位移以及旋转的角度
后端优化——根据连续几张图片的情况,纠正视觉里程计的估计误差
闭环检测——如果机器人走了一圈又回到原来的出发点,计算机必须能够检测出来,这样子才能形成一张完整的地图。如果没检测出来那么就会出现轨迹套轨迹,画出来的建筑物有重影......等等。
一切准备妥当后就可以画出一张完整的地图了,欧耶!
到了这里你对SLAM(simultaneous localization and mapping)要做的事情了解了没?实际上,画出来的图有好几种,并不是局限于二维地图,比如路标地图、度量地图、拓扑地图等等。当然我们希望“葫芦娃”画出来的不是那种像手画版一样的地图,而是像下面这样的。你可以想象一下以你自己的第一视角画出来的三维地图是怎么样的?不过要实现这样的效果还是需要各位科研工作者的努力。
原文地址:https://www.cnblogs.com/hao-lingguang19/p/11747374.html