基于MCU的室外移动机器人组合导航定位系统
比数据的接收速度快,否则旧数据会被新数据覆盖。
3.3高度计算方法
高度信息的获取需要通过MS5803-02BA获取的气压信息转换得到。对这款气压计的操作,需要先在芯片内部的PROM获取C1~C6六个参数,再获取温度ADC结果D1和气压ADC结果D2,最后利用官方提供的计算公式计算得到带补偿的气压值。气压值获取的软件流程图如图6.
图6高度计算流程图
按照气压计的用户手册中提供的计算公式,最后可以计算得到一个经过温度补偿的标准气压值,单位mbar.高度信息的获取还需要将气压值经过函数关系转换。高度h和标准大气P之间有如下函数关系:
Th=288.15K,是g0对应高度下的温度下限值;β=-6.5K/km,是温度的垂直变化率;H=0m,是g0对应的高度;Ph=101325Pa,是g0对应高度下的气压下限值;R=287.05287m2/(K●s2),是气体常数;g0=9.80665m/s2,是海平面重力加速度。
在气压与高度的关系转换中,本文采用分段线性化的方法拟合它们的非线性关系。在不同气压值区间内,线性化公式得到h=a●P+b,取得不同的线性参数a、b,参考表4.
3.4组合导航的时间对准
进行组合导航滤波解算时,从IMU和GNSS接收机接收到的数据在时间上应该是同步的,因为如果在一个数据融合点上,进入Kalman滤波器的来自两个子系统中的数据来自不同的时间点,会给滤波计算带来误差,同时也会给校正计算带来影响。GNSS接收机输出的导航数据都带有精确的时间标签,而从IMU输出的数据只有一个相对时间标签。以GNSS接收机的时间标签作为时间基准,分析时间差的组成。系统时间示意图如图7所示。
图7系统时钟示意图
3.4.1时间差分析
当一个GNSS数据(1Hz)到来时,接收机产生一个秒脉冲信号(PPS),用于时间对准。GNSS接收机本身存在数据时延:接收机整个计算过程会产生一个解算时间延迟△t1、从卫星导航接收机和惯导系统输出的数据分别经过McBSP和RS-232数据接口输入导航解算处理器会产生一定的传输延迟△t2. 因此在PPS信号前的△t1+△t2时刻才是当前接收到的GNSS数据帧的真实时刻。IMU数据处理时间相对于递推时间来说很小,可以忽略。另外PPS脉冲信号和惯性测量信号之间的时间差△τ,它描述GNSS绝对时间和IMU相对时间之间的关系,使得GNSS和IMU统一在同一个时间标准下。
3.4.2处理思想
根据总时间差△T =△t1+△t2+△τ,找到IMU数据对应的插值时刻。通过时间△T就可以获得对准时间点与最近的两个惯性采集时刻,其后对时间同步点两侧时间点上,即图中t(k-1)和t(k)时间点的惯性数据进行线性插值运算,就可以获得了惯导数据和GNSS接收机数据在同一时间点上的同步化测量数据。
3.4.3实施方法
GNSS接收机解算时间△t1由接收机提供。
传输时间△t2通常为一个固定时间,使用示波器分别测量GNSS接收机发送时间和导航解算电路的接收时间,再将两个时间作差即可获得。
△τ的获取需要开启MSP430F149的计时器和外部中断,通过中断计时的方式获得。具体方法是:通过将PPS信号接入导航处理器的外部中断接口,采用边沿触发方式触发中断事件的发生。中断事件启动计时器工作。当通过串口中断方式接收到IMU数据时,读取计时器的值,即可得到IMU数据相对于PPS的延迟时间△τ。
结论
本文基于MSP430F149单片机设计的室外移动机器人组合导航定位系统,通过接口的扩展使得该款定位系统能够接入IMU、GNSS接收机、气压计三路信息,完成初步导航定位服务功能,同时可作为多路数据采集设备,将多路数据整合到一路高速输出接口,用于进一步的高精度导航解算。该系统根据使用者的需求不同,可接入不同成本和精度的设备,只要满足RS-232协议即可。笔者将其实际运用,整个系统充分利用该款单片机的资源,结构简单、功耗低、适用范围广,不仅可作为初步导航定位服务的设备,还可作为多路数据采集设备。
- 便携式移动机器人手持监控系统设计(02-27)
- 移动机器人感测系统电路设计(08-02)
- 时下机器人的关键技术及应用(09-09)
- 移动机器人的选择与整体规划(09-18)
- 轮式移动机器人伺服控制系统设计(10-02)
- 移动机器人的那些避障方法你知多少?(10-22)