在室内移动机器人的导航中,机器人的定位与地图创建是机器人研究中一个基础且重要的问题。机器人只有实时明确自己当前的方位,才能快速准确地到达目的地。自从移动机器人诞生以来,已知环境地图的定位问题和已知定位的地图创建问题已经被广泛研究,提出了多种有效的解决途径。而当地图和机器人的位置都事先未知时,定位问题就变得更加复杂。
在这种情况下,要求机器人在一个完全未知的环境中从一个未知的位置出发,在递增地建立环境的导航地图同时,利用已建立的地图来同步刷新自身的位置,最终形成完整的环境地图并在此基础上提供准确的定位。在上述问题中,机器人位置和地图两者的估算是高度相关的,任何一方都无法独立获取。这样一种相辅相生,不断迭代的过程,被学术界简称为同步定位与地图创建( SLAM )问题。该问题可以表述为:机器人在未知环境中,从一个未知位置开始移动,在移动过程中根据位置估计和传感器进行自身定位,同时建立环境地图。目前使用的主要是模糊逻辑和概率的方法,如Bayes估计,Kalman滤波,扩展Kalman滤波和Markov推理等。
射频识别(RFID)技术是近年来兴起的一门自动识别技术。与传统的条形码系统、接触式卡等不同,射频识别系统是利用无线射频方式非接触供电,并进行非接触双向数据通信,以达到识别并交换数据的目的。识别工作无须人工干预,可工作于各种恶劣环境。将RFID技术应用于机器人中,可以更好地发挥其技术特点,使机器人更多地获取外在信息。
不少学者正在研究将RFID用于机器人定位系统中,把RFID作为机器人的一种传感器来进行数据采集和处理。标签为机器人的外部信息量,机器人通过阅读器来采集各个标签中的位置信息,通过获取的信息利用同步定位与地图创建算法来对机器人进行有效的定位,从而得到更准确地控制。本文的研究工作中提出了一种基于RFID 系统的有效SLAM 算法。该算法可以解决2维环境下的机器人定位问题。实验证明,通过已知的RFID数据,该算法能成功地在2维环境中实现移动机器人的跟踪定位。
1 RFID 环境设置
将RFID标签如图1所示均匀分布在地面上,标签的间距为0.5m。每个标签牛都存放该标签所在位置的绝对坐标数据。以便稍后为机器人提供外部位置信息。
将RFID 阅读器安装于机器人的底部,用于读取放置在地面上的标签中的信息。机器人在移动过程中进入标签范围时,标签进入阅读器的磁场范围,接收阅读器发出的射频信号,凭借感应电流所获得的能量发送出存储在标签中的坐标信息。实验中RFID阅读器的正面朝下读取地面的标签卡。
当移动机器人经过标签时,阅读器读取标签中的坐标信息并将其传回电脑存储,并读取阅读器的磁场范围的下一个标签.重复这一过程直到阅读器接收其射频场内所有标签信息。在本文的研究中,只考虑RFID阅读器一次只处理一个标签坐标信息的情况。
2 定位算法
上文已经描述了通过RFID系统获取机器人基本位置的方法。然而,同步定位的精度与RFID标签的间距以及硬件设备的性能密切相关。文中提出的基于RFID系统的同步定位与地图创建算法通过一些基本坐标信息来预测移动机器人的运动轨迹并定位。各国研究者已经提出了多种地图表示方法,大致可分为3类:栅格地图、几何特征地图和拓扑地图。本文使用几何特征地图,用几何特征表示传感器网络中的一个传感地标。地图中的地标和机器人的位置用直角坐标系表示。
当RFID标签进入阅读器的磁场范围时,阅读器读取其坐标数据X( x,y ),并根据该坐标值计算机器人到各个已知路标间的距离,已知路标用标签表示。
2.1 不确定性信息处理
作为SLAM 的信息来源,机器人本体的运动模型及其携带的传感器的准确性是决定地图精度的关键之一。实际上这些渠道获得的信息都带有不同程度的不确定性。在未知环境中,环境信息的不确定性尤为明显.感知信息的不确定必然导致地图和定位双方的不确定。研究人员已经提出了多种用来处理不确定性的度量方法,如模糊度量、概率度量、信任度量、可能性度量等。目前在SLAM 中使用较多的主要是模糊度量和概率度量的方法。本文采用概率度量来处理不确定性。用概率表示SLAM 中2个重要模型:观测模型和运动模型。
2.2 观测模型
观测模型P( x t ,y t )是已知t时刻机器人位置和路标位置集合M 的条件下求t时刻观察值五的条件概率。离散时间t=1,2,3,...;s = ( x s , y s )表示通过RFID获得的机器人位置;
表示t时刻得到的整个系统总观测值。
t 时刻机器人到某一路标的距离d是路标坐标f i ( x f i ,y f i )与机器人位置坐标st ( x s ,ys )的函数,f i ( x f i ,y f i )表示第i个路标的实际位置。模型中的噪声用q表示。观测模型可以表示为:
在定位算法中,信息标签对未知阅读器的位置都有影响力,标签到阅读器的距离越近,其影响力越大,对阅读器位置有更大决定权。本文中的阅读器放在移动机器人底部.所以阅读器的位置也是机器人的位置。如图2,阅读器收到了4个信息标签的信号,4个标签的坐标分别为( x1,y1),(x2,y2),( x3,y3),( x4,y4),它们到移动机器人的距离分别为d1 ,d2,d3,d4。可以看出d1<d2 <d4 < d3。
因此Tagl的影响力最大,对阅读器的位置有最大决定权。Tag3的影响力最小,对阅读器位置的决定权最小。根据三角定位原理,只取影响力较大的3个信息标签来做定位计算。
根据Tagl,Tag2,Tag4到阅读器的距离d1,d2,d4 可求出待定位的机器人计算坐标St =(xs,ys ):
2.3 运动模型
运动模型预测下个时间段机器人的运动状态和环境特征。移动机器人在t时刻的位置为St (X s,ys),St是 t 时刻移动机器人的输入控制Ut和前一时刻位置S t-1 的一个函数,移动机器人的位置信息可以用运动模型:
来表示
由于环境特征是静止的点,运动模型可以如下表示:
其中(xi (t),yi (t))是t 一1时刻标签 i 的坐标。
从运动模型中采样M 条路径,每条路径都是一个粒子。对每个粒子来说,机器人运动路径是确定的,每个粒子分别采用N个卡尔曼滤波器估计用N个环境特征的位置。
和分别表示第i个粒子的N个环境特征的高斯均值和协方差。
2.4 SLAM 中的粒子滤波器
粒子滤波算法的迭代过程为:
① 初始Ⅳ 个粒子,表示机器人的位置;
② 求上一步中每个粒子的运动模型;
③ 对每个表示机器人的粒子,预测观测值,并根据观测值计算粒子权值;
④ 使用每个粒子对应的K个卡尔曼滤波求各个环境坐标位置的估计值;
⑤ 重采样;
机器人路径粒子重采样所需要的权值计算如下:
3 仿真结果
机器人运动速度为0.5m/s,控制信号时间间隔为0.025s,观测最远距离30m.模拟2O个时间步来测试算法的稳定性.实验通过Matlab编程进行参数设置,用鼠标操作划出机器人的行走线路.
4 结语
本文采用RFID技术和粒子滤波器实现移动机器人自主定位和地图创建。利用RFID的高速数据传输的特点,增强移动机器人数据获取能力,提高了机器人定位的效率。但目前,RFID技术还有待进一步提高,阅读器同时接受多个标签数据时的碰撞问题要进一步解决完善。同时SLAM 算法与RFID应用的结合将帮助机器人更好的定位及控制。