第23卷第11期 2010年11月 传感技术学报
CHINESE JOURNAL OF SENSORS AND ACTUATORS Vo1.23 No.11 NOV.2010
Design 0f AHRS Based on Low.Cost MEMS
DU Jiyong,HUANG Guorong ,Zhang Fengming,LIU Huawei
(Engineering College,Air Force Engineering University,Xi’an 710038,China)
Abstract:To satisfy the eager requirements of low-cost and miniaturization attitude heading reference system (AHRS)in the military and technical fields,a self-developed special MEMS—based is introduced,the key technol— ogies of which are proposed.Magnetic sensor aided attitude error correction is proposed,rotation vector algorithm is
adopted,and low—order Kalman filter is designed,all of above are based on the MIMU performance and the core processor characteristic.An embedded RTOS—based software system is transplanted.Experimental results show that the AHRS works in real time and steadily,with higher precision,which has vast of applied foreground. Key words:attitude heading reference system;low cost;rotation vector algorithm;low—order Kalman filter;txC/OS一1I
EEACC:7630 doi:10.3969/j.issn.1004—1699.2010.11.029
基于低成本MEMS器件的捷联航姿系统设计术
杜继永,黄国荣 ,张凤鸣,刘华伟
(空军工程大学工程学院,西安710038)
摘 要:针对军事和工程领域对低成本、微小型航姿系统的迫切需求,介绍了自行设计的基于低成本MEMS器件的航姿系 统,深入研究了构建该系统的关键技术。针对MIMU的性能特点及核心处理器的运算速度,给出了磁传感器的补偿算法,采 用了基于等效旋转矢量的姿态解算方法,并应用了降阶卡尔曼滤波器。通过移植 ̄C/OS一Ⅱ实时操作系统,增强了系统的实 时性。实验结果表明,所设计的航姿系统实时性好,精度可达要求,具有广阔的应用前景。 关键词:航姿系统;低成本;等效旋转矢量法;低阶卡尔曼滤波器; ̄C/OS一Ⅱ 中图分类号:U666.1;V249 文献标识码:A 文章编号:1004—1699(2010)11—1662—05
当前,应用微小型航姿系统的场合日益增多,尤
其在微小型运载体的导航、制导与姿态控制等领域,
倍受亲睐。受国外所销售MEMS惯性测量器件的 精度限制,在提高微机械惯性测量(Micro.Electronic System Inertial Measurement Unit,MEMS—IMU)方面 我国进行了一些研究u 。
本文立足市场现有低成本MEMS惯性测量器
件(AD公司的ADIS16405型MIMU),设计了以 ARM系列微处理器作为导航计算机的微小型航姿 系统。针对其陀螺的性能特点,应用了低阶卡尔曼
滤波算法以保证姿态测量精度;为满足系统实时性 要求,采用基于等效旋转矢量算法进行姿态解算,以
降低导航计算机运算负担,并移植了IxC/OS一Ⅱ操 作系统协调各导航任务。动、静态实验结果表明,该
系统实时性好,姿态误差可控制在1。范围内。
1系统硬件组成
微型捷联航姿系统硬件主要包括:微惯性测量
项目来源:国家自然科学基金项目资助(60304004) 收稿日期:2010—05—08 修改日期:2010—06—23 单元、GPS~OEM板、ARM导航计算机、程序升级接
口及参数显示模块。需要指出的是,采用GPS— OEM板主要作为速度传感器使用,这样设计既降低
了硬件开发的难度,又便于借助该航姿系统的硬件 平台开展组合导航系统的研究,节约了二次开发成
本。系统硬件结构如图1所示。
图1 系统硬件结构图 1.1微惯性测量组合 ADIS16405惯性测量单元集成了三轴陀螺仪、 三轴加速度计、三轴磁力计和温度传感器,
具有抗干 第11期 杜继永,黄国荣等:基于低成本MEMS器件的捷联航姿系统设计 1663
扰能力强、可靠性高、体积小巧等优点。该惯性测量 单元通过SPI接口进行系统集成。
1.2核心处理器 处理器作为捷联航姿系统的核心,主要完成 MIMU数据的接收、航姿解算以及结果的输出等。
本文选择基于ARM7内核的LPC2114芯片作为核 心处理器,主要基于以下方面考虑:首先,可以满足
系统软件和应用程序运行时的资源要求,包括处理 器的速度、存储空间和运行空间等;其次,可以提供
丰富的通讯接口,包括程序下载的接口、导航计算机 与外部传感器以及与上位机的通讯接口等。 1.3通信接口
系统的接口标准及实现功能如下: (1)与微机械惯性测量组件进行通讯,通讯协
议为同步串行接口SPI;
(2)与磁传感器进行通讯,通讯协议为SPI。系 统的磁传感器内嵌在IMU中; (3)与PC机进行通讯,实现航姿的实时显示及 解算结果的保存,通讯协议为RS232; (4)与GPS接收机进行通讯,通讯协议
为RS232; (5)与上位机进行通信,用于导航程序的改进 与升级,采用JTAG接口。
2系统软件设计
2.1 t ̄ ̄/os—II实时操作系统的移植
为协调各任务问的同步与通信,增强系统的实 时性,移植了IxC/OS—I1实时操作系统。LPC2114
具有ARM和Thumb两种指令集、7种处理器模式, 只有系统模式作为一种特权模式与异常无关。因
此,IxC/OS—II的可用模式有两个,用户模式和系统 模式。IxC/OS—II任务的默认模式为用户模式,可 选模式为系统模式。为了实现任务工作模式的切
换,在移植时还要添加两个用于任务切换的系统函 数:ChangeToSYSMode()和ChangeTOUSRMode()。 为了使I.zC/OS—II的底层接口函数不受访问权限的
限制,可以将该底层函数放在软中断服务程序中。 具体的移植过程和代码可以参见文献[9]。
利用 ̄C/OS—II的多任务机制实现航姿解算。 应用程序中除操作系统本身外,建立了四个用户任
务,分别是姿态解算、组合滤波、初始对准、结果显示 任务;两个中断服务,如图2所示。
外部中断EINT1负责MEMS传感器的采样,串 口UART1负责GPS数据的接收。任务与任务和任
务与中断服务函数之间的通信采用消息队列,共建 消息队列1; ;消息队列2; i消息队列3;
图2 系统软件结构 立了四个队列分别负责外部中断1与初始对准和姿
态解算的通信、姿态解算与组合滤波的通信、UART1 与组合滤波的通信以及姿态解算与监控计算机显示
任务的通信。 2.2航姿显示软件 为直观监测载体姿态的变化,在Labwindows/ CVI环境下设计了基于上位机的航姿显示软件,其
绘制工作主要由5个画布控件、2个NUMRIC控件 并借助画布绘图函数完成。各画布的位置及大小通
过SetCtrlAttribute()函数确定,各控件问的叠放层
次根据显示效果进行调整。图3为航姿显示软件的 结构示意图。
图3航姿显示软件设计
3 系统算法
3.1磁传感器误差补偿 磁传感器误差可分为制造误差、安装误差以及
因周围磁场影响而产生的罗差 。在理想情况下, 当磁传感器在水平面内作圆形旋转且无磁干扰时, 和y轴磁传感器的输出在坐标系中的映射应为
圆,圆心在(0,0)处。而硬磁干扰会使该圆圆心偏
移,引起零位误差;软磁干扰会使该圆畸变为椭圆,
引起灵敏度误差。采用以下方法对磁传感器误差进 l664 传感技术学报 第23卷
藩;一㈩
:( 一 …).Kx
箍:B ㈩ H =K ・矗 +
图4 圆周测试曲线
3.2基于等效旋转矢量算法的姿态四元数计算
在捷联航姿系统中,飞行器的姿态和航向即
为载体坐标系相对地理坐标系的方位关系。确定 两个坐标系之间的方位关系问题是力学中的刚体
定点转动理论。通过计算等效旋转矢量补偿了因
转动而引起的不可交换性误差,并采用更新四元 数的方式来更新姿态,达到了四阶龙格库塔法的 精度¨ ,计算量却较之很低,降低了对导航计算机
的运算性能的要求。 基于等效旋转矢量算法的姿态更新如下:
g +1)=g oq 高速更新 (4)
g n(k++l =q +J]低速更新 (5)
『。os0・5 ] 其中:q ”=l sin0.5 I, = -n AT,为导航系在 l一—
时间△ 内相对惯性系的等效旋转矢量, 为 的模; l cosO・5 m I qb( m))= sin0.5 l, = -b6 At,为载体系在At时 lT J
间内相对陨性系的等效转动矢量, 为 的模。 理论上讲,如果陀螺没有量化误差,而且系统采
样周期趋于零,即姿态更新周期内采样次数尽可能 多,就可以减少或消除可交换性误差,但计算量也会 随之增大。在实际应用中要综合考虑算法实时性和
计算负担,选择合适的子样算法。本文中,采用二子 样算法:
,) . 一 咖=01+02+亍(0l×02) (6)
3.3低阶卡尔曼滤波器设计
为增强系统的实时性,降低由于卡尔曼滤波器 状态维数增加而带来的滤波计算负担 j,一般情况
下,常常忽略那些影响较小的不可观测、或者观测度
较小的误差状态,尽管这将导致次优滤波器,但却可 以大大减少运算量。另外,系统采用的IMU本身精
度不高,对器件的精确建模意义不大,因此,本文采 用低阶卡尔曼滤波器。 建立系统的状态方程如下:
X(t)=AX(t)+W(t) (7) 状态变量选为:航向角误差 ,东向速度误差6 , 北向速度6 ,平台失准角 , , ,陀螺漂移 ,
Ⅳ, u,即 (t)=[6lfr,6 ,6 , E, Ⅳ, u, E, Ⅳ, ]T u J 。 将SINS水平速度误差 、6 和磁传感器的
航向角误差 作为量测量,可得量测方程为: z( )=HX(t)+V(t) (8)
必须指出的是:由于陀螺仪漂移和加速度计零
偏被简化为白噪声,磁传感器的航向角误差近似用
一阶马尔科夫过程进行描述,在模型实际应用时,必 须对滤波器各误差参数进行反复测试。试验表明, 该低阶滤波器具有较高的精度。
4试验结果
为验证捷联航姿系统的性能和测量精度,在实 验室进行了大量的静态测试实验。图6~图8为一 组30 min的静态试验结果。从试验结果中可以看
出,水平姿态角的变化在0.4。范围内,达到了系统 设计的要求。
为验证系统的动态航姿测量精度,依托实验室
的手动位置转台进行了多次转台试验。图9为磁航 向角圆周试验的结果。经磁传感器误差补偿后,航
向角在起止位置的重复性较好,并且转台停止转动