基于ARM的微型航姿参考系统设计与实现
次旋转间的一个合成转动形成的结果,用合成四元数表示这样的旋转变换关系根据航向角、俯仰角、滚转角的转动顺序,由导航坐标系到机体坐标系的转动四元数为
![](../img/eep/emb/emb-50345wnfbl3chb0d.jpg)
![](../img/eep/emb/emb-503472nx22uxrf5r.jpg)
3.2 四元数运动学微分方程及其解法
与姿态矩阵对应的四元数具有如下的微分方程关系:
![](../img/eep/emb/emb-50348kusrmc0k3ie.jpg)
求解上述微分方程较常用的方法有泰勒展开法、比卡逼近法、四阶-龙格库塔法,考虑到算法的精度、速度与复杂度,本文选用了四阶-龙格库塔法。
![](../img/eep/emb/emb-5034915pjpjd4ten.jpg)
4 系统软件设计
AHRS的软件设计流程图如图3所示。其中传感器初始化部分包括设置传感器量程,以及陀螺仪的零飘检测,气压高度计的初始标定。每当传感器完成一次数据的采集,就会向ARM处理器发出中断请求,然后ARM处理器通过I2C总线读取数据并完成处理,以此来达到快速响应的目的,另外气压高度计的转换时间较慢,为了保证系统的实时性,本文采用定时的方式来读取气压值。
![](../img/eep/emb/emb-50350jzcib2qp4es.jpg)
串口发送的数据除了欧拉角外,还包括各个方向的角速度、加速度和地磁场强度以及陀螺常值漂移和磁航向误差补偿系数。由于串口数据发送量较大,因此将导航数据帧分段发送。导航数据帧的帧头为0xAA、0x55,帧尾为0x55、0xAA,数据帧中每个物理量都是32位浮点型数据,数据帧格式如下图4所示。
![](../img/eep/emb/emb-5035153iaaqbu0u3.jpg)
在实际环境中,地磁场不可避免会受到干扰磁场的影响,地磁场的测量会带来一定的误差,计算得到的磁航向角也会有偏差。为了保证航姿系统输出较为精确的航向角,需对磁场干扰进行补偿。
本文采用最小二乘拟合法,基本方法如下:选择一干净磁场环境,将电子罗盘置于转台上,调节转台使俯仰角为0°,将电子罗盘指北轴对准磁北,控制转台以一定度数间隔转动一圈,存储下每个点电子罗盘实际输出的磁航向角;调节转台使俯仰角不为0°,重复上一步的动作,并根据具体情况控制标定次数。上述过程可以称之为定标过程,电子罗盘在定完标后使用时就可根据存储器中的数据自动进行误差补偿。
这里讨论的最小二乘拟合算法不同于以往的最小二乘误差补偿法,它不是仅仅考虑了水平面内的误差补偿,还考虑了不同俯仰角下的情况。用电子罗盘作标定试验时,由于有真实的航向角作参考,且标定数据点较多,最终拟合后的值相当于把安装误差、灵敏度等影响航向角精度的其他因素都考虑进去了,又因为拟合用到的数据预先已存放在存储器中,所以做完最初的一轮标定试验后,以后便可进行自动补偿了,可见这样的方法具有较强的实用价值。
5 算法验证与实现
为了验证AHRS的稳定性及算法的有效性,本文用LabWindows/CVI设计了一个简易的上位机程序,以便于AHRS通信,实时观测姿态角的变化,如图5图6所示。实际测试中,系统欧拉角的更新速度达到30 kHz,已满足微型飞行器的控制要求。
![](../img/eep/emb/emb-503521w1zcfifuuz.jpg)
6 结论
航姿参考系统是微小型飞行器的自主飞行的基础环节,本文采用常用的ARM与MEMS器件,结合四元数算法设计了一套针对微小型飞行器的AHRS系统,它具有体积小、价格低廉、精度高、实时性好的特点,从实际测试来看,设计方案是可行、可靠的。该系统具有模块化的特点,也可方便应用于其他需要对姿态测量的系统中。
- 基于DSP的数字式MEMS加速度传感器的设计与应用(04-17)
- 基于ARM-Linux的微惯性单元数据采集与处理(05-15)
- DSP在MEMS陀螺仪信号处理平台的应用(01-06)
- 基于DSP的MEMS陀螺仪信号处理平台系统的设计(04-21)
- 基于DSP的数字式MEMS加速度传感器ADXL203的系统设计与应用(07-06)
- 集成晶体的可编程时钟可提供多种设计优势而无性能折衷(07-10)