基于匹配的SLAM的机器人定位系统研究
移动机器人的导航是机器人通过自定位来取得机器人在大环境中的位姿,可是在实际环境中,地图首先是未知的,需要移动机器人通过传感器感知外界环境信息进行地图建模。本文对基于匹配的SLAM方法对机器人定位系统进行研究分析。
【关键词】机器人 定位 SLAM
1 基于匹配的SLAM方法
SLAM算法流程
现今,在机器人领域中,坐标常用的形式有三种,分别是:笛卡尔坐标系统、极坐标系统和DIN70000坐标系统。本文选用的是笛卡尔坐标系统。通过该坐标系统,可以表示出机器人的、传感器的和环境信息。
机器人的位姿信息:
XR=(XR,YR,θR) (1)
它是由机器人的方向,也就是和X轴的方向θR和机器人的此时在全局地图中的位置 (XR,YR)构成。
因为在机器人的起始时刻,机器人还没开始通过激光传感器进行外界信息感知,这时,还没产生全局地图,所以我们要用机器人的激光测距传感器第一帧的数据所形成的局部地图作为起始的全局地图。此时,机器人的最初位姿信息可以写成:
=(0,0,0)T (2)
也就是说,初始状态,机器人的初始位姿就是全局坐标系的原点。机器人的角度就是与X轴所成角度θ。
机器人在进行移动,激光测距传感器扫描的数据不断更新,新的路标集也不断生成。每生成一次新的路标集,就会得到此时的局部地图,移动机器人到达了一个新的位置。此时,移动机器人的方向就是与X轴的夹角,移动机器人的坐标就为局部坐标的中心点。
SLAM算法流程图,如图1所示。
下面,对各个步骤进行简单的分析:
(1)Delaunay Triangulation:对输入路标集进行三角剖分,建立三角网络。
(2)数据关联:将全局地图中的路标集合和局部地图中的路标集进行匹配,找出局部地图与全局地图中匹配的路标对,建立匹配矩阵。
(3)建立多重估计:匹配路标对的计算结果可能会出现局部地图中的某一路标和全局地图中的多个路标相匹配,或者全局地图中的某一路标和局部地图中的某一路标相匹配,而实际环境中路标匹配是唯一的,找出所有的匹配组合。使得每一个匹配都是唯一的。每个匹配称为一个估计。
(4)坐标转换关系:对于每一个匹配估计,利用扩展卡尔曼求出它所对应的坐标转换关系。
(5)全局地图更新:利用坐标转换关系,将局部地图中的路标转到全局地图中。
2 地图创建
移动机器人经过激光测距传感器扫描后,对数据进行路标提取得到路标集,然后进行三角剖分,得到所有边的集合E,局部地图我们可以用下式来表示:
M1={(,)|1≤i≤n} (3)
其中为局部地图中的每个顶点, 为与 相联系的所有边的长度的集合。
因为第一帧的数据所创建的局部地图就是当前的全局地图,那么全局地图就可以表示为:
Mg={(,)|1≤i≤N} (4)
其中N为当前全局地图的路标总数的集合。
3 路标匹配
路标的匹配在移动机器人中地图创建和自定位起着关键性的作用,移动机器人所携带的激光测距传感器获取环境数据并从中提取出路标集,我们要知道,激光测距传感器它是不断的进行扫描,不断的获取数据,所提取路标集的数量会比较多,这时,我们就要考虑到局部地图中的路标集和全局地图中的是否存在交集,只有这样,在后续的计算中,我们才能准确的得出机器人的运动信息、全局地图和局部地图的转换关系以及移动机器人的位姿信息。
首先,我们设全局地图的路标集为,局部地图中的路标集为,二者相互比较,为了让我们可以准确的得出二者之间的相互关系,我们计算出与路标和相关联的线段长度相近的边的集合η(i) ,如果满足:
η(i)≤ ·L( ) (5)
说明,全局地图中的路标和这个局部地图中的路标是相匹配的,我们称之为匹配路标对,这个式子的含义在于和局部地图路标顶点相连的线,要在全局地图中找到与之相对应的线。通过这种方法,我们要局部地图和全局地图中所有路标之间的集合关系,找出所有的配对路标。
可以看到,通过这种方法,能有效的找出路标与邻域内路标的关系,从而分析出所有的路标匹配对。
参考文献
[1]陈白帆,蔡自兴,胡德文.Approach of Simultaneous Localization and Mapping Based on Local Maps for Robot[J].中南大学学报(英文版),2006,13(6):713-716.
[2]庄严,徐晓冬,王伟.移动机器人几何-拓扑混合地图的构建及自定位研究[J].控制与决策,2005,20(7):815-818.
[3]罗荣华,洪炳镕.基于信息融合的同时定位与地图创建研究[J].哈尔滨工业大学学报,2004,36(5):566-569.
作者单位
1.湖北大冶有色金属冶炼厂 湖北省黄石市 435000
2.湖北金格实业发展有限公司动力分公司 湖北省黄石市 435000
3.金川集团动力车间 甘肃省金昌市 737100