文献标识码: A
文章编号: 0258-7998(2013)02-0074-04
随着电子技术和计算机技术的快速发展及机器人定位精度的不断提高,智能移动机器人的应用越来越广泛。现已广泛应用于工业生产、海空探索、军事、家庭和一些服务行业。
精确的定位是移动机器人安全、有效地完成任务的关键和前提[1]。现有的大多数定位方法是通过机器自身携带的传感器实时感知自身所处环境的位置和周围信息,并不断修正自身状态,然后在有障碍物的环境中有效地完成任务。
卡尔曼滤波[2]是由一系列递归数学公式描述的。它们提供了一种高效可计算的方法来估计过程的状态,并使估计均方误差最小,应用广泛且功能强大。但如果模型或系统噪声特性估计与实际不符,则会降低滤波器的精度甚至导致滤波器发散。为了解决此问题,本文结合外部环境特征信息并在测量更新阶段多次迭代滤波估计值,减小定位误差,提高系统稳定性。
1 系统模型
本文的研究对象是一种三轮智能移动机器人,该机器人的其中一轮为万向轮,另外两轮为驱动轮。两个驱动轮上装有光电码盘。利用驱动轮的码盘数据,可以计算机器人的动态位置信息。机器人的正前方装有激光雷达测距传感器,可以采集已知环境中的路标信息。准确的系统模型直接影响着机器人的定位精度。因此,本文首先根据机器人信息建立了坐标系统模型、机器人运动模型和传感器观测模型。
1.3 观测模型
根据机器人运动模型估计的位姿,只是实际位姿的一个粗略的估计,由于轮子打滑等原因存在一定误差,而且随着机器人移动时间的增加,误差将越来越大,最终移动机器人将偏离自己的轨迹。为了修正误差,移动机器人需要利用激光雷达传感器,对路标进行观测,修正自身的位姿。
本文利用激光雷达测距传感器的观测信息来修正机器人自身的位置。机器人在运动过程中,利用测距传感器扫描周围环境,获得的观测量z(k)是周围环境路标相对于传感器的距离和方向,然后根据先验的地图信息确定自身的实际位置。在定位问题的状态空间描述中可以表示为:
众所周知,迭代次数越多,计算量越大,时间越长。因此,实际机器人定位中,针对实际硬件条件,可以选取合适的迭代次数提高算法的定位精度,增强算法的收敛稳定性。
由两次实验结果可以看出,IEKF算法估计的路标特征和机器人路径与实际基本相符。从实验所得的误差数据可以看出,相对于机器人自身的空间大小,误差在可接受的范围之内,表明该定位系统定位精度较高,具有较高的可靠性。
本文针对机器人定位精度问题,在传统卡尔曼滤波的基础上,提出一种迭代扩展卡尔曼滤波算法。该算法相对于传统卡尔曼滤波算法,在状态更新阶段采用多次迭代更新,减少了系统线性化时所带来的误差,并将该算法与多传感器信息融合技术结合应用于有路标的机器人定位。模型简单、存储量小。实验结果表明该算法在保证实时性的同时较大地提高了定位精度,能够满足机器人高精度及可靠性等方面的要求。
参考文献
[1] 丁伟,孙华,曾建辉.基于多传感器信息融合的移动机器人导航综述[J].传感器与微系统,2006,25(7):1-3.
[2] 石杏喜,赵春霞.基于概率的移动机器人SLAM算法框架[J].计算机工程,2010,36(2):31-32.
[3] 曾健平, 王保同, 谢海情. 自主移动机器人定位系统 Kalman滤波算法改进[J].计算机应用研究,2011,28(5): 1710-1712.
[4] 李良群,姬红兵,罗军辉.迭代扩展卡尔曼粒子滤波器 [J].西安电子科技大学学报,2007,34(2):233-238.
[5] 陈小宁,黄玉清,杨佳. 多传感器信息融合在移动机器人定位中的应用[J].传感器与微系统,2008,27(6):110-113.
[6] 邹智荣,蔡自兴,陈白帆.移动机器人SLAM中一种混合 数据关联方法[J]. 小型微型计算机系统,2011,32(7):1341-1343.