您的当前位置:首页一种室内环境下机器人同时定位与地图构建方法

一种室内环境下机器人同时定位与地图构建方法

来源:小侦探旅游网
维普资讯 http://www.cqvip.com 2007年第7期 中图分类号:TP242 文献标识码:A 文章编号:1009—2552(20cr7)Or7一OOO4—04 一种室内环境下机器人同时定位与地图构建方法 申丽曼,蔡自兴 (中南大学信息科学与工程学院,长沙410083) 摘要:介绍了一种移动机器人室内环境下同时定位与地图构建方法,给出了整个系统的结构 框图。将从激光传感信息中提取出的直线特征作为主要的环境描述特征,用EKF算法更新机器 人位姿和直线特征的估计值,用一种新的数据关联方法以实现地图的最小描述。直线特征提取 采改进的IEPF算法,能够快速地从数据点中得到较为精确的直线参数。实验证明整个系统具有 良好的性能。 ’ 关键词:移动机器人;同时定位与地图构建;扩展Kalman滤波;IEPF An approach for mobile robot SLAM in indoor environment SHEN U-man,CAI Zi-xing (School of Information Science and Technology,Central South University,Changsha 410083,China) Abstract:111is article proposes an approach for mobile robot SLAM in indoor environment.The whole system frame is showed in it.The line feature extracted from laser data sa the main feature to describe hte geometrical map is chosen.It uses EKF algorithm to update the estimation of the robot’S pose and the parameter of the line feature,and also proposes an new approach for data association to minimize the computation complexity. An advanced IEPF algorithm is chosen for the line feature extraction.The experiments demonstrate the effec- tiveness ofthe proposed SLAM technique. ・ Key words:mobile robot;simultaneous localization and mapping;extend Kalman filter;IEPF O 前言 复杂度高的主要原因。目前的很多研究也是围绕降 移动机器人同时定位与地图创建问题是自主机 低EKF的计算量来进行的。Leonard和Feder提出一 器人导航中的一个重要研究课题。它是让机器人在 种分离随机地图(DsM)的方法来解决这个问题…, 未知的环境中,从一个未知的位置出发,增量式地创 Dissanayake等提出了一种删除无用路标的方法以减 建地图,同时利用地图信息进行机器人自定位。现 少计算量_1 J。这几种方法实质上都是用减少环境特 在已经有很多学者提出了SLAM的解决方法,这些 征的数量来降低计算复杂度。本文以减少地图中的 方法的主要区别在于环境表示方式和不确定性描述 重叠特征来降低计算量。为了对环境进行最小描 方式两方面。大多数定位和地图构建方法将环境特 述,采用一种更具约束力和有效性的数据关联算法。 征看成静态的路标点,在室内环境中,环境特征多为 由于机器人SLAM的EKF预测和更新过程很多论文 直线,相对于点特征,直线特征信息量大,数量少。 中都有大致介绍,本文就不再赘述,下面将着重介绍 更有利于机器人定位和降低计算复杂度,故本文选 地图处理中数据关联及融合。 择直线特征为环境描述的主要特征。 EKF是目前SLAM问题所采用的最普遍的方 收稿日期:2006—11—06 法,由于状态协方差矩阵的所有元素在每次观测后 基金项目:国防基础科研基金重点项目(A1420060159) 作者简介:申丽曼(1982一),女,中南大学信息科学与工程学院模式 都需要更新,当机器人探测范围增大,计算量随着观 识别与智能系统专业硕士,主要研究方向为未知环境下 测到的环境特征的增加而急剧增加,这是EKF计算 机器人环境建模及定位。 一4—— 维普资讯 http://www.cqvip.com 1 改进的IEPF直线特征提取 IEPF是一种传统的直线提取算法,它利用拆分 的思想将点集划分成不同的集合。相比直线回归 (La)、hough变换、EM等方法,IEPF具有速度快,计 算量低等优点,所以在时时性要求很高的机器人定 位系统中,Ⅲ=PF算法是较好的选择。该算法获取的 直线参数多用最小二乘直线拟和法实现,当传感器 误差和噪声较大时,直线提取的精确性难以保证。 本论文将模糊聚类算法加入其中,提出了一种改进 的IEPF算法。 . 1.1模糊聚类算法、 直线提取算法的目标是找出一条直线,使构成直 线的数据点到该直线的距离平方和最小,假设有J7v 个数据点可以提取出M条直线。则可得到以下函数: M N D(z, ,P)=∑∑ ;d (暂, ,li) (1) i=1 =1 其中,z 代表第i条直线的极坐标参数(r ,仇), ;为 点集P中第 个点到第i条直线 的权值,它满足以 下条件: ∈[0,1],对于所有的直线有0<∑ <N。』=1  肼 , 对于所有的点有∑ =lod(暂,竹,li)为第 个点到 i=1 第i条直线 的距离:d2(x ̄, ,z )=R (巧,竹,f1)+ Z ( ,,y『,Z ),由极坐标中点到直线的距离公式可得: R (巧,竹,z )=( —xicos(仇)一yjsin(仇)) 。其中 Z ( ,,y『, )为于直线距离很远的点的惩罚函数。 对(1)式采用拉格郎日乘数法计算∞ 以及(r , ),可得: 1 k=l d 2(xj,yj,lk) = cos(仇)+多 sin(仇) ’arctan(l熹] j 其中: ∑ ; ∑ ;  ・= 一一,Y;= ~ ∑ ∑ ; =∑ ;(巧一 ;) , =∑ ;( 一y ) =∑ ;(巧一互 )( 一Y—i) (19 为第 点到第i条直线的权值,d为点到直线的距 离,( 仇)为第i条直线的极坐标参数,(巧, )为 第 点的坐标。 1.2 AIEPF算法步骤  ‘stepl初始化:用二乘法计算初始点集P中所有 点匹配的直线Z,将其加入£。 step2对于 中每条直线z ,i=1,…,/7,¨计算 £(属于该直线的数据点到该直线距离的平方和), 若£> 一,则用直线数为2的模糊聚类算法将 拆 分为两条直线 和 ;用公式(2)计算直线参数。 用 代替z 加入 ,并将 加入 的尾部;计算点 集中的点到 和 的距离,找出距离较小的直 线,将卿加入该直线对应的点集中。 step3若 中至少有一条直线z ,i=1,…,n 有 色> 一,转到step2。 2 基于直线特征的SLAM 2.1 问题描述 设系统在k时刻的状态向量为 (k),它由机器 人位姿向量XR( )和地图中存在的直线特征的 (k),i=1,…,嘶组成(嘶为地图中直线的数目)。 其中: 蜀(k)=[ (k),Y (k), (k)] , (k)=[ ,仇] ,i=1,…,mr 系统动态模型: (k+1)=F(k)( (k), (k+1))+W(k+1) z(k)=厂(k)( (k))+ (k) 其中,11,(k)为k时刻机器人的里程计信息,W(k)为 影响里程计信息的噪声,13(尼)为影响直线参数计算 的噪声。f(k)为系统对直线的观测模型: 觚㈤,li,=-r.+xn (k 或: ( (后),z;):【 — R k ) cos ̄ ti-YR —(后)尼 sin ] 基于直线特征的SLAM问题的目标是给定初始 估计状态向量 (0),根据系统的动态模型计算k时 刻机器人位姿和直线参数的估计值,即系统状态 ( )的估计 (k)。系统框图如图1所示。 维普资讯 http://www.cqvip.com L 一>Add(oj); gotoO; 其中,权∞ , , 分别为0 与Z 的△ ,d,r的方差 的倒数, 和 均为一个临时的存储队列,E为一 个花费函数。 若z 和Oj满足以上条件,则判定为完全匹配。就 要用 和oi的参数对全局中的线段 进行更新。若 没有与估计量匹配的直线,并不直接将其作为新特 征加入地图,而是将其暂存在一个临时队列中进行 特征跟踪,若连续3个SLAM样本时间内都没有找到 匹配的直线,才将其作为新特征加入地图。 图1 SLAM系统框图 新加入地图的直线根据机器人当前位姿估计初 2.2数据关联与地图更新 始参数: 在移动机器人地图构建的过程中,有两种情况 t+。(k I ): 川)(k I ), ‰+1)(k I )] = 需要进行数据融合:一种情况是机器人在自身坐标 日( (k I k), k)) 系下得到的观测量转换到全局坐标下对全局地图进 一lD(k)+互R(k I k)cos( ̄(k)+ 行更新时,对同一物体表面的全局特征描述和局部 】_ (k I k)一7c)+ R(k I k)sin 特征描述也需要进行关联,合并,以便进行地图更新 ( (k)+ (k I k)一7c) (k)+ 或: 以及系统协方差更新等操作;另一种情况是很小的 精度容易导致对同一物体表面的多条线段描述,为 (k I k)一7f —了在保证线段精度的条件下对环境进行最小描述, lD(k)+互R(k I k)cos( ̄(k)一 需要对相邻线段进行合并处理。 】= (k I k))+ (k I k)sin 对于第一种情况,全局地图中的线段fl和局部 ( (k)一 (k I k)) (k)一 估计量Oj存在以下三个关联量:角度差△ ,垂直距 (k I k) 离d以及与0 的重叠率r。以往的判别法是设定这 其中,日为新加入直线的初始估计函数。(1D(k), 三个关联量的阈值,在阈值以内就判定直线为匹配, (k))为所提取直线在机器人坐标下的极坐标方 将其直接插入地图。但是阈值的确定非常困难,阈 程。根据机器人和新加入直线的相对位置更新协方 值过大可能造成一个估计量与多条直线匹配的情 差矩阵: 况。阈值过小又可能将估计量误判为新特征加入地  ,『-po(k I k) (k I k)V, 1 +-图。本文采用以下方法来解决这个问题: ( 。 ) 【 ( I ) ( I ), + ( , J ①for(i=1 to n)(n is the number ofall lines in the 其中,^=8H/SXo, =8H/aZo global map) 第二种情况的处理对象是全局地图中的直线特 if( =三三th一△ &d th—d&&r th—r) 征,尽管以上数据关联方法能尽量小的减少地图中 forl 重叠特征出现,但是以下两种情况还需考虑:①当某 Add(1 ) 平面长度很大,而机器人又未能对该物体进行完全 ②for all lines in L 探测,代表同一平面的直线特征之间可能出现脱节。 if(E(△(p,d,r)= △ +(oS+(Or for l,is ②当机器人对一个特征重复探测时可能出现代表同 hte lowest of al1) 一平面的两条不同的直线。在实验中采用周期性地 update(1i)wiht parameters of oj; 对系统状态向量进行检测来避免这几种状况的发 ③for(j=0 to m)(m is the number of the new lines 生,时间周期选择为两个SLAM样本时间2AT,当存 in local map)  .在两直线角度和距离均小于给定的阈值就将它们都 i L=0) 加入可疑特征队列,J… …。再用Mahalanobis距离 ——6——  ’维普资讯 http://www.cqvip.com 判定直线是否匹配,若 z 是匹配的,则利用他们 之间的距离和EKF更新过程来更新f 的参数,并且 将z 从地图中删除。 3 买验 本文实验以美国ActivMedia公司的Pioneer2一 Dxe型移动机器人为实验平台,该平台装备有德国 SIKC公司LMS200型激光测距仪,CCD图象传感器、 里程计和全方位碰撞传感器。机器人系统具有良好 的可扩展性和可靠性,为开展自主机器人的各种应 用研究提供了适宜的研究平台和有力的技术支持。 3.1系统模型 图2实验环境结构 R=Vcos(0R+ )r R(k+1)] R=Vsin(0R+ ),I YR(k+1)l— R=Vsin2/L L (k+1)J r R(k)+ATV(k)cos(0R(k)+ (k))] I yR(k)+ATV(k)sin( (居)+ ( ))J, L (k)+ATV(k)sin( (k))/ j 『 (k+1)1 『 (k)1 L Y (k+1)J L Y (k)J. 其中, 为机器人行走速度; 为机器人前轮的旋转速 图3实验结果 度;L为机器人机身的长度;AT为SLAM样本时间。 3.2实验结果及分析 4 结束语 本文介绍了一个室内环境下基于直线特征同时 选取的实验环境为一个简单的室内结构化环 境,如图2所示,灰色方框为机器人探测的环境中的 物体,机器人以0.4m/s的速度行走。总的行走距离 定位与地图构建系统。提出一种新的直线特征提取 方法AIEPF和一种有效的数据关联方法以使构建的 地图能对环境最小描述。实验数据证明该方法的有 为15m。数据关联中选择的阈值分别为th一△ = 5。,th—效性。下一步的工作即将单个机器人定位和建图扩 展到用多个机器人对大范围环境进行协作定位和地 图构建,其中包括机器人之间的协作策略以及多个 子地图融合成全局地图等方面的研究。 参考文献: [1]Leona ̄J J,FederH J S.A cm ̄mfionlaly efifcient forl孵一 scale conoJrrent mapping and localizaiton[C]//Koditschek D,Holler— bach J(eds),Ninth Intemat.Synrposium in Robotics Research, Snowbird,UT,Springer,2000-"169—176. d=3cm,th—r=0.02。图3为实验效果图,图 中褐色方点是由里程计估计的机器人路径,灰色圆 点是由SLAM算法得到的机器人路径,由图4中可 以看出,机器人在第一次转弯时,由里程计得到的机 器人位置开始明显偏离实际位置,最终里程计的误 差累计达到4m,从机器人最后的位置和方位误差看 出,利用SLAM算法对里程计误差进行补偿的误差 分别小于0.07m和0.5度。 [2]DissanayakeM WMG,Williams SB,Durrant—WhyteH,eta1.Map management for eficifent simultaneous localization and mappig n如图3所示,SLAM算法所估计的路径最终构 建的地图包含了30条直线特征,而用过去的数据关 联方法得到了42条直线。跟踪队列中存储了18条 (SLAM)[J] Autonom.Robots 12,2OO2:267—286 [3】Ip Y L,RadAf;,Chow KM,etal Segment—basedmap building usig enhancned adaptive缸 clustering algorithmformobile robotap— 直线特征,其中有15条在之后的跟踪过程中找到了 匹配的直线,而没有误将其作为新特征加入。但是 从图中也可以看出,在每个转角处的直线还不够精 确,容易出现匹配失败造成直线重叠的情况。但总 的来说,该方法具有较好的精确性,也能满足SLAM 所需的时时性要求。 plications[J].Intelligent oboRtic syster|l8 35,2002:221—245 [4]Dissnaayake M W M G,Williams S B,Durrant—Whyte H,et la Map management for efficient simultaneous localizatin and mappiog n(SLAM)N].Autonom.Robots 12,2002:67—2826. [5]蔡自兴.人工智能[M].清华大学出版社. 责任编辑:么丽苹 —— 7—— 

因篇幅问题不能全部显示,请点此查看更多更全内容