第三代雷影:SLAM基本原理的介绍

来源:百度文库 编辑:中财网 时间:2024/05/03 22:42:03
SLAM基本原理的介绍Ricky 发表于 - 2006/3/17

一直没有时间好好具体研究一下SLAM,以前只是知道一个大概,对其细节实现没有涉及。由于接下去的研究方向将是一个可应用的实际产品,所以,定位问题将是一定要解决的。

SLAM(Simultaneous Localization And Mapping )中文称 "同步定位及建图" 是目前在机器人定位方面的热门研究课题。到目前为止,也取得了不少进展。

定位(localization):机器人必须知道自己在环境中位置。

建图(mapping): 机器人必须记录环境中特征的位置(如果知道自己的位置)

SLAM:机器人在定位的同时建立环境地图

其基本原理是运过概率统计的方法,通过多特征匹配来达到定位和减少定位误差的。基本的SLAM应用的kalman filter。以下是说明:

说明:机器人在定位误差随着机器人的移动而增加。

 

说明:机器人在定位误差随着机器人的移动而增加,但是由于有了路标的纠正,其误差相对就小了很多。

说明:通过2次对路标的测定,其定位误差已经大大减少

 

说明:经过3次误差校正,其定位精度已经很好了,但是随着路标位置的丢失,其定位误差又一次的扩大了。

 

SLAM的基本过程为:

1)使用extend kalman  filter (EKF) 进行定位

2)获取所有的路标和机器人的位置信息作为先决条件

3)使用矢量方程来存储路标和机器人的位置

4)通过循环迭代来减少每次的误差量

图1:初始位置

(由于机器人相对于路标A的位置为估计值,所以路标A用圆圈表示A的实际的可能值在圆圈内)

图2:机器人移动到新位置

(在新的位置,机器人相对于A的真实值可能落在圈内)

图3:路标C被观测到

(在新的位置,路标C被观测到,路标C的相对于A的位置也是一个估计值(更大的圈)

 

图4:路标B被观测到

 

图4:机器人返回到初始位置

(此时机器人的位置相对于没有移动前更加不确定,一个超大的椭圆表示了其可能的真实位置值范围)

 

图5:对A点的重新测量

(通过对A的重新测量,图4中的超大椭圆值被大大的缩小了,其位置真值落入了一个比较小的范围内)

 

图6:对B点的重新测量

(通过对B的重新测量,机器人的位置点被重新估计,其位置真值范围又进一步缩小,同时B和C点的位置真值范围也大大缩小了)


通过上面这个例子,SLAM的基本原理是有点眉目了。但是其具体的实现就需要运用kalman filter。下次将专门研究一下kalman filter,看看是如何实现的。