一.引言
移动机器人定位是机器人实现各种复杂任务的前提和自主智能的关键。
由于RFID应用于物体识别时, 具有可存储位置和环境信息、获取信息方便和对环境改变适应力强等特点, 近年来,RFID技术开始应用于机器人领域, 以解决传统传感器应用在机器人定位系统中带来的问题。
由于RFID读取器对标签的距离不可知, 导致RFID定位产生固有误差。
所以为了降低位置估计的误差, 很多学者进行了研究。
CHAE把主动RFID标签作为人造环境特征进行全局定位, 并结合视觉传感器进行局部地图匹配完成了移动机器人的室内定位。
DEY-LE使用多接收天线的粒子滤波模型完成室内移动机器人的位置估。
BYOUNG- SUK结合被动RFID标签和里程计有效降低了RFID定位的固有误差。
SOONSHIN使用三角型地板标签排列模型代替传统的正方形模型把固有误差降低18%。
MYUNGSIK使用主动RF ID标签和超声传感器完成了目标寻找和避障实验。
TOSHI-HIRO使用多范围感知RFID模型对机器人位姿进行估计。
可见许多研究人员都是结合相对传感器或绝对传感器的应用来消除RFID的估计误差的, 这是一个可行的思路。
笔者研究室内地板被动RFID标签定位模型, YOSUKE提出该模型的定位精度依赖室内标签的埋放密度, 不能消除RFID定位的固有误差。
为了解决这个问题,提出融合RFID、超声波、电子罗盘和里程计自定位的方法, 在RFID 定位的基础上附加一种定位系统, 以补偿RFID 定位的缺陷。
扩展卡尔曼滤波( EKF)是一种用于机器人位姿跟踪的常用定位方法, 在正常情况下可以很好地跟踪机器人位姿。
当移动机器人没有检测到新的RFID 标签时, 单纯的RFID 定位系统的位姿无法更新, 位姿估计的误差可能被累积。
而利用超声波、电子罗盘和里程计组成的扩展卡尔曼定位系统, 可以及时更新位姿, 从而有效降低RFID技术上的缺陷,减小RFID定位误差。
二.RFID基本组成
RFID标签(Tag):由芯片与天线组成,每个标签具有唯一的电子编码。
标签附着在物体上以标识目标对象。
RFID阅读器(Reader):主要任务是控制射频模块向标签发射读取信号,并接收标签的应答,将对象标识信息连带标签上其它相关信息传输到主机以供处理。
RFID数据处理单元:主要任务管理数据库及防冲突等。
典型RFID 定位系统
当移动机器人行走时, 所装备的RFID 读取器的有效读取覆盖范围如图1所示, 所有检测到的RFID 标签在以r 为半径的圆内。
定位开始时,移动机器人通过读取器获取在读取范围内的标签定位信息来估计自身位置, 直到检测到新的标签,再对位置估计进行更新。
RFID 定位平面图如图2所示, 从图2可知,机器人的位置估计( x est , y est )可以通过读取范围内标签存储的定位信息来估计:
2
) xN ,min(x1,... ) xN , x1,...max(est x += (1) 2) yN ..., min(y1,
) yN , y1,... max(est y += (2)
式中, N 为读取范围内的标签个数;x 1、y 1、x 2、y 2等为标签内存储的定位信息。
图1 RFID 读取器的有效读取范围 图2 RFID 定位平面图
三.RFID 位置估计误差
在这种位置估计的过程中, 固有误差始终存在。
定位误差与RFID 标签的排列距离息息相关, RFID 定位误差示意图如图3所示。
每个标签存储的地理信息为a 1 到a n + 1, 并且标签的距离固定为d tag 。
从图4可以得到位置估计x 轴x est 与机器人实际坐标的xrel 误差为:tag 2)
1 -n - 2( )
2 - 1(est_x d 2
1a R a R e ≤+=
图3 RFID 定位误差示意图
四.基于扩展卡尔曼滤波的RFID 定位算法
移动机器人融合RFID 、超声波、电子罗盘和里程计自定位,补偿了RFID 定位系统的固有误 差,算法流程如图4所示。
其思路分两步:
图4 算法流程图
(1)扩展卡尔曼定位。
扩展卡尔曼算法假设系统状态的概率分布是高斯分布, 噪声是相互独立的。
初始化移动机器人状态X 0[ x 0, y 0, θ0 ] , 误差协方差矩阵P 0。
机器人行驶时基于运动模型预测位置x^(k+1/k)=f[x(k/k)],协方差矩阵P(k+1/k)=F(k)P(k/k)F(k)T
+Q (k),其中F(k)=f(k)为f(k)的雅可比矩阵。
传感器的预测值为z (k+1)=h[x (k+1/k)]用来对观测的环境特征产生预测观测值,并产生新息为γ(k+1) =z(k+1)-z (k+1)。
测量预测与观测间的新息的协方差矩阵为S(k+1)=H(k)P(k+1/k)H(k)T +R(k),H 为测量方程
中h 的雅可比矩阵。
计算卡尔曼增益矩阵:K(k)=P(k+1/k)H(k)T S(k+1)- 1,
并利用增益矩阵更新机器人的位置预估:x(k+1/k+1)=x(k+1 /k)+K(k)γ(k+1),
协方差矩阵更新为:P(k+1/k+1)=[I-K(k)H(k)]P(k+1/k)。
(2)检测到新的RFID 标签时,对位姿进行更新。
当移动机器人持续行驶时,一旦检测到新的标签,RFID 定位就更新位置估计。
这样填补了RFID 定位位置更新之间的空白,消除了RFID 定位位置更新之间的误差累积,并且超声传感器对环境特征的匹配也会减少定位的误差。