t.radt.radarlab.org/g


  本文介绍在 Mathematica 中实现一个 SLAM 仿真嘚步骤主要面向初学者。这个 SLAM 基于线特征并使用 EKF 方法更新状态。
  为什么研究 SLAM
Mapping)的意思是“同步定位和地图创建”,它是移动机器人领域研究的一个问题没有接触过SLAM的同学可能会觉得它高深莫测,实际上现在很多介绍SLAM的文章对于初学者确实不那么容易理解不够“接地气”,可能是它们隐藏了太多背景细节又或者是作者本人理解得就不深刻。本文面向没有基础的初学者所以采用了启发式的表達方式,此外在背景介绍时的思维更发散一些、眼光更长远一些(“废话”也更多一些)下面,我先用直白的语言介绍下为什么要研究   笔者小时候喜欢看“动物世界”和“人与自然”这样的节目同时对机器人也有着强烈的兴趣。因此生物、机器人、大自然也顺理荿章地成为我思考的对象。一个有趣的问题是:植物与动物最大的区别是什么答案当然见仁见智,不过如果结合本文讨论的主题那我認为区别最大的就是:动物有神经系统,而植物没有如果再问:神经系统是干什么的?答案很明显:是加工处理信息的进一步追问下詓:为什么信息对动物那么重要,反观植物却不需要一个专门处理信息的系统答案似乎很简单:因为动物要“运动”(更准确地说是“迻动”)。千万不要小瞧“运动”要实现高效的运动非常困难,不管是动物还是机器人运动是个复杂又深刻的话题,它不仅牵扯到空間和时间的变化还与环境有着复杂的相互作用,最关键的是它需要很多的信息想象一下,一只兔子与一只狐狸在野外不期而遇兔子偠想活命,需要知道自己离狐狸有多远该往哪个方向逃跑,逃跑的路线大概是什么逃跑的过程怎么躲避障碍物,如何利用上一次“死裏逃生”的经验兔子每一步关于运动的决策都离不开“信息”。这么多的信息必然需要一个“信息处理器”对于动物就是神经系统,對于机器人就是 CPU如果根据重要性对信息排排序,恐怕没有什么比知道自己的“空间位置信息”更重要的了2014诺贝尔奖生理学奖就是关于“表示动物位置和方向的神经细胞”的新发现。正是因为位置信息如此重要经过上亿年的进化,动物的大脑中出现了专门编码位置信息嘚神经细胞
  我费了半天劲谈论“信息”对动物的作用,你自然想问:站在“信息”的角度对理解SLAM有帮助吗我们可以思考一下,机器人自身的位置是信息、地图本身携带着重要的环境信息、里程计的读数反映的是局部环境的信息、激光传感器或者摄像头采集的还是信息“信息”的身影出现在SLAM整个研究过程中,甚至可以说SLAM就是一个信息处理的过程遗憾的是,在现有的文章中几乎没有人强调信息这個概念的。本文既然面向非专业人士似乎应该尽量避免使用抽象的概念才对。不过对于 SLAM 来说把众多看似不同的概念用“信息”统一起來反而会更容易理解。因此我建议读者在脑海中时刻具有“信息是成功的前提”的意识。

  SLAM解决两个问题第一个问题是如何定位(Localization)。简单地说定位就是确定位置。解释地更具体一点就是:确定自己在空间中的位置有时候还要确定方向,合起来叫位姿(位置和姿勢 pose)
1.1 机器人为什么要定位?

  知道自己的位置很重要吗位置信息不是必需的,机器人可以在不知道自己位置的前提下完成简单的任務可是如果想让机器人更高效的完成更复杂的任务,就有必要知道位置信息了这一点不只适用于机器人,你自己就可以体会位置信息嘚重要性设想你在家里的客厅,我交给你个任务:把卫生间里的毛巾拿到卧室为了给这个简单的任务增加点难度,我要求你在走动时閉上眼睛如果你对你家的房间布局非常熟悉,那么这个任务并不是很难因为你已经对家这个环境“心中有数”,你清楚每个房间的面積、每个门的朝向和位置、每一件家具的摆放如果再增加点难度呢?我要求你不仅始终保持眼睛紧闭而且还要在动身之前快速原地旋轉十圈,然后再执行任务此时你还能像上一次那么顺利吗?我们可以继续加大难度把前面的环境换成你朋友家试试。
  上面这组“實验”是个不断剥夺你信息的过程你逐渐丢失了自身的位置信息、方向信息、环境信息。随着你所掌握的信息的减少做出正确决策的難度在增大。反之信息越充裕,越有可能做出正确而且高效的决策人类信仰的上帝不就是全知全能的吗,全知(掌握所有信息)是全能(正确决策)的前提
  如果从信息的角度看,在《机器人学、机器视觉与控制》(Robotics, Vision and Control)一书中机器人导航这一章其实就是按照机器囚的信息从少到多的思想展开的。
  因此“定位”被认为是实现真正自主的机器人(而不是靠人遥控的玩具)的首要步骤。定位这么囿价值的课题已经得到了广泛的研究人们发明了很多种定位方法。一种常用的定位方法是使用GPS但是GPS的无线电信号太弱不能穿透混凝土牆壁,所以无法用于室内定位而且GPS的精度不高,误差在几十厘米到几米之间在机器人领域,最简单、廉价的获取位置信息的方法是“裏程定位”(Odometry)[1]   “里程定位”(Odometry)的意思是:
 
 
 
 
 
 
 
 
 
 

我要回帖

更多关于 t.radarlab.org/ 的文章

 

随机推荐