实际应用中,自适应卡尔曼滤波器需要一定的训练序列与收敛时间,如果突然出现超出预计的误差值(如GPS接收机进入信号阴影区域),不可避免会引入误差,甚至可能导致滤波器无法收敛,得不到正确的解。如图四所示,为使用[4]提供的自适应卡尔曼滤波算法,得到的机器人运行轨迹(Matlab仿真)。前20个测量点是自适应滤波器的学习过程,这时使用先验的误差参数;结束学习过程后,预测误差有所减小。可以看到,在GPS接收良好的情况下,预计方位与真实方位拟合得相当好,但是进入阴影区域后,就引入偏差;经过自适应收敛过程后,降低误差很大的GPS信息权重,轨迹曲线形态仍然相似,但是偏差已经无法挽回了。
消防机器人是远程操控机器人,它的所有运动都是接收远程指令,然后送执行机构执行,因此它的预期运动方向及方位是可精确获知的。针对系统设计的这个特点,在传感器信息进入自适应滤波之前,先进行判断与加权,与系统预期值距离远的数据获得较轻的权重。如此,当GPS信号突然恶化,误差加剧的时候,这部分误差对滤波结果的影响很小,在滤波器收敛过程中不会引入很大的偏移,改进后的算法得到的预测轨迹如图四中所示。由于GPS信息在估算中几乎没有影响,无法修正航位估算中的背离,因而经过一段时间的误差累加,估计值会逐渐偏离真实位置,如图中所示。
图四 Matlab仿真结果
结论与展望
在GPS定位盲区,本系统利用电子罗盘和路程记录进行精确方位的估算,能为远程盲操控消防机器人提供较为准确的导航信息。实际应用中,利用路程记录的小范围短距离航位推算较为精确。但如果处于极端情况下,即在长时间接收不到正确的GPS定位信息,缺少定位基准点的情况下,方位推算将逐渐出现偏移。
电子罗盘主要用于指示航向,如改用惯性陀螺仪就可以避免外界磁干扰,增加系统强壮度,但要周期性修正陀螺仪偏移;如果使用光电相对位移传感器来测量机器人与地面的相对移动,就可以大大提高航位估算的精度,并且避免由于驱动轮打滑等引起的计算误差,但由于目前光电传感器对使用环境要求较为苛刻,有待进一步的改进。