摘 要: 用四轮差动驱动轮式机器人作为试验平台,以编码器和陀螺仪作为机器人的定位系统,建立了机器人的运动学方程。采用卡尔曼滤波器对两种传感器的数据进行融合,以减小编码器和陀螺仪的误差,再通过最小二乘支持向量机建立回归曲线模型,获得机器人的位姿信息。
关键词: 轮式机器人;卡尔曼滤波器;最小二乘支持向量机;位姿
对于在动态环境中的移动机器人来说,定位技术是一项最基本、最重要的功能。因此,研究移动机器人的自主定位具有很重要的意义。
机器人的定位[1]技术分为两类:相对定位和绝对定位。相对定位是由编码器、里程计等传感器与机器人前一时刻的位姿来推出下一时刻的位姿。绝对定位是采用摄像头和激光超声波等传感器,然后根据已知位置的标志物进行定位,需要对环境的先验知识。由于单传感器都有局限性,因此采用多个传感器进行融合以达到较准确的定位技术。本文将讲述利用卡尔曼滤波算法将编码器测得的机器人航向角和陀螺仪测得的机器人航向角进行滤波融合[2],修正因轮子打滑等引起的编码器测角误差,再经过LS_SVR建立回归曲线,提高定位精度。
1 系统定位模型的构建
差动驱动式移动机器人的几何模型如图1所示。
根据图1所示则有:
其中,NL是编码器的线数,ML和MR分别为?驻t时间内左右两个编码器输出的脉冲数,L为左右两个驱动轮之间的距离,r为驱动轮的半径,VL为机器人左边两轮的线速度,VR为机器人右边两轮的线速度,w为里程计测得的机器人航向变化的角速率,θk为机器人的航向角。
一般差动机器人的位置p=[x,y,θ]T可以从一个已知的位置开始,然后对其运动积分来估计下一时刻的位置。若采样周期为Δt的离散系统,则位置增量为:
通过高维特征空间中的线性函数
估计误差初值取滤波前的均方差和4%的均方差,则:
实验方法:以铺着鹅卵石的水泥地为实验平台,设定好全局坐标及将机器人的起始航向角记为0,然后通过编码器实现机器人的直线和转弯行走。图2所示为机器人直线行走时航向角的变化,可以看出经过卡尔曼滤波和最小二乘支持向量机回归之后的航向角误差在1°以内。图3所示为机器人的轨迹图,可明显看出处理完之后的轨迹很接近于理论的轨迹。
本文将卡尔曼滤波和最小二乘支持向量机相结合实现了对机器人的定位。卡尔曼滤波是一种递推估计算法,主要思想是利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值,经实验证明有较好的效果。但是,在本文中所采用的定位方法只是相对定位方法,随着时间的增加就会有误差的累积,因而可将激光超声波和摄像头等传感器加入机器人定位系统,采用相对定位和绝对定位相结合,来消除经长时间运行而产生的累积误差。
参考文献
[1] 历茂海,洪炳熔.一种鲁棒的室内移动机器人定位方法[J].计算机工程与应用,2005,42(4):1-4.
[2] 王军,苏剑波,席裕庚.多传感器集成与融合概述[J].机器人,2001,23(2):183-192.
[3] 陈旻.基与DSP的扩展卡尔曼滤波直流无刷电机控制[J].单片机与嵌入式系统应用,2003,3(11):1-4.
[4] 段凯宇,张力军.基于到达角Kalman滤波的TDOA/AOA定位算法[J].电子与信息学报,2006,28(9):1-4.
[5] 辛菁,刘丁,徐庆坤.基于LS_SVR的机器人空间4DOF无标定视觉定位[J].控制理论与应用,2010,27(1):1-9.
[6] 周松斌,刘桂雄.基于LS_SVR的无线传感器网络节点定位算法[J].制造业自动化,2008,30(9):1-5.