您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页基于卡尔曼滤波的无人机姿态测量研究

基于卡尔曼滤波的无人机姿态测量研究

来源:爱玩科技网
第7期 2015年7月 组合机床与自动化加工技术 Modular Machine Tool&Automatic Manufacturing Technique No.7 Ju1.2015 文章编号:1001—2265(2015)07—0110—04 DOI:10.13462/j.cnki.mmtamt.2015.07.030 基于卡尔曼滤波的无人机姿态测量研究 袁亮,楚仕彬 830047) (大学机械工程学院,乌鲁木齐摘要:文章针对无人机姿态测量中受制于计算机存储和处理每个参数字节的,使得计算精度也 同样受到一定,舍入误差不可避免的存在于系统之中,对于卡尔曼滤波状态估计的误差可以由 测量更新过程来修正,然而对误差协方差矩阵P却没有相应的修正,随着迭代次数不断增加,将导致 P矩阵失真,打破其对角对称性。为提高无人机姿态测量的准确性,由此设计由陀螺仪、加速度计和 磁强计组成的姿态测量系统,采用UD分解扩展卡尔曼滤波方法,实现对四元数的估计,并通过实验 进行分析验证,实验结果表明该UD分解扩展卡尔曼滤波方法能够在低动态环境下准确解算出姿态 角度,并能有效克服舍入误差的影响。 关键词:卡尔曼滤波;无人机;姿态测量 中图分类号:TH165;TG659 文献标识码:A Research on UAV Attitude Calculation Based 011 Kalman Filter YUAN Liang,CHU Shi—bin (Mechanical Engineering Academy,Xi ̄iang University,Urumqi 830000,China) Abstract:Subject to the limitations of computer storage and processing parameters of each byte,which makes the precision of calculation is also subject to certain restrictions.rounding ell'ors inevitably exist in he tsystem,the errors of Kalman filter state estimation can be corrected by the update process of measured,but the error covariance matrix P can not be corrected。along with the iteration number increased,the covariance matrix P will become distortion.It is diagonal symmetry will broken.In order to improve the attitude meas— urement accuracy of UAV.thus design the attitude measurement system composed of gyroscope accelerome— ter and magnetometer.using he tmethod of UD decomposition EKF to data fusion to estimate Quaternion and verified by the experiment.The experimental results show that the UD decomposition EKF method can accu— rately calculate the attitude angle in low dynamic environment,and can effectively overcome the influence of rounding errors. Key words:kalman filter;unmanned aeria1 vehicle;attitude estimate 0 引言 在实际应用卡尔曼滤波的时候,我们需要存储大 量的参数,并且需要进行大量的矩阵运算,在小型四旋 翼无人机的控制中,主控制器的规格一般较低,并不能 实现高精度的计算,只能采用精度较低(单精度32 位)的算法来执行卡尔曼滤波。这使得舍入误差不可 避免的存在于系统之中,随着迭代次数的增加,误差协 方差矩阵JP会逐渐失真,从而导致卡尔曼增益矩阵 失真。小的增益会使状态估计反应迟缓,大的增益会 产生不稳定、动荡的状态估计。极端的协方差矩阵失 真也能够导致软件系统的崩溃。因此在实际应用卡尔 曼滤波的过程中,要尽可能的减小误差协方差矩阵计 算的误差,特别是P必须保持正定。 为了消除舍人误差对滤波结果的影响,提高滤波 精度,在实际应用中可以使用高精度算法(64位)来执 行卡尔曼滤波,文献[1]中提出采用约瑟夫式的协方 差更新,可以有效的提高计算精度,文献[15]提出采 用平方根式的卡尔曼滤波,可以有效的提高计算精度, 并且能够保持误差协方差的对称性和正定性。 本文提出采用UD分解的方法,有效地传递 而 非P,可把动态范围减小两个数量级,这样舍入误差的 影响就小了 J。,该UD分解算法被成功应用于四旋翼 无人机的姿态测量中,有效的提高了无人机姿态测量 的精度。 l 系统组成及姿态解算原理 本文所采用的姿态测量系统主要由三轴加速度 收稿日期:2014—09—26;修回日期:2014—10—27 基金项目:国家自然科学基金(61262059,31460248);优秀青年科技创新人才培养项目(2013721016);自治区科技支疆项目(201591102) 作者简介:袁亮(1972一),男,乌鲁木齐人,大学副教授,博士,研究方向为机器人控制技术,计算机图像处理,(E—mail)ylhap@163.com。 2015年7月 袁 亮,等:基于卡尔曼滤波的无人机姿态测量研究 冠 计、三轴陀螺仪和三轴磁强计组成。主控制器读取姿 = %2 2 + 态测量传感器的数据,通过卡尔曼滤波对传感器测量 一 数据进行融合处理,得到当前最优四元数,+ 一 无人机的姿态角度。 : 从而计算出 一 % g g )、, 从载体坐标系到参考坐标系的姿态矩阵为:2  2(q1q2一qoq3) g02一q +q;一q; 2(q2q3+qoq1) 姿态矩阵的方向余弦表达方式为:2 2 %  g g - r cosOco ̄c0s sin日si 一cos+ 胁 地 /3sin ̄ si一 一 nflsinqt+c0 sinOcos01 l cosOsimp co ̄co ̄,+si s%inOs% in ̄coslfsin0sin0一sinflcost/,l L—sinO sin ̄cosO ))吼+ g co ̄cosO J 2 3( 1 ●●●●J 1 (2) 式中 为航向角、0为俯仰角 为横滚角。 将四元数表示的姿态矩阵(1)和欧拉角表示的姿 态矩阵(2)比较,可以得到用四元数表示的欧拉角,表 达式为: …ctan(、  十ql  一gq0 2—9 /1 0:一arcsin(2(g1g3一g。g2)) (3) 卢…ctan(、 十q 3 q 一 o q 一g1)2  由欧拉法和四元数法可得欧拉角表示的四元数, 表达式如下: g。=c。s(等)c。s‘ 0)c。s(导)+sin(2"- ̄-)sin(号)sin(导) (4) 9。=c。s( )c。s 0)sin(譬)一sin( )sin‘ 0)c。s(譬) (5) 口:=c。s(等)sin(号)c。s(J!_)+sin(2- ̄-)cos(号)sin(譬) (6) g3=sin(23 ̄-)c。s(号)cos(譬)一c。s( )sin(号)sin(譬) (7) 说明:参考坐标系定义 轴对应北、y轴对应西、z 轴对应天。 2采用UD分解算法 受到处理器有效字长的,卡尔曼滤波在实际 滤波过程中存在舍人误差积累,随着卡尔曼滤波运行 次数不断增加,矩阵的失真就越大,从而出现误差协方 差矩阵P不能保持正定性,滤波出现不稳定的情 况 。 对P( × 维)矩阵进行UD分解,即P=UDU , 其中u(n×n维)为单位上三角矩阵,且对角线元素为 1,D(n×n维)为对角阵,P为对阵正定矩阵。并且产 生唯一UD分解步骤如下: (1)对于第n列,有 D = . (8) =睦…譬2… (2)对于其它列,J=n一1,n一1,…,1,有 J= 一∑Dk,k (10) r 0 1 i>J U J= l k弘1以 =“ ,_ L D| i 3 UD分解的扩展卡尔曼滤波算法 本卡尔曼滤波将四元数作为状态估计量,并且四 元数更新采用三阶毕卡算法,与此同时将加速度计和 磁强计的测量值作为观测量。滤波原理如图1所示。 图1卡尔曼滤波原理 3.1卡尔曼滤波状态方程 目前求解四元数微分方程主要有两种方法:一种 是四阶龙格库塔法,另一种就是本文所使用的三阶毕 卡逼近法。其预测方程为: X cl,kk-1X 一1+Wk,l (12) 由于状态估计量为四元数,则状态方程即为四元 数微分方程,其表达式如下: 哥( )=— g(t) (13) 采用毕卡逼近算法表示: r .AOo 1 ic0s AO 4 其中 0 一△ 一AOy一△ AO=ft2j ̄'bd£= △ 0 AOz —AOy AOy一△ 0 △ △ AO 一AOx 0 表1毕卡各阶表达式 ・112・ 毕卡三阶算法的表达式为: 组合机床与自动化加工技术 尔曼滤波流程如下: UD分解算法的实现步骤。 (1)状态量的更新: = 。 第7期 g(n+1)={(1_ ),+(÷一ago AO}q( l7) 则状态转移矩阵 -=。 (28) {(1. ),+(÷一等 )(18) (2)误差协方差矩阵的更新和它的UD分解: 根据传感器模型可知 ]: w= 6一 (19) 其中 是载体坐标系下角速度估计;W 是陀螺仪真实 输出;雷是陀螺仪零偏估计。W(t)为白噪声,并且 E[W(t)W(t) ]:Q。从状态转移矩阵可以看出,矩 阵 是随时间变化,并且四元数的更新过程是非线性 的。 3.2卡尔曼滤波观测方程 将加速度计和磁强计传感器测量的值作为观测量 Z(t)。 Z(£)=HX(t)+ (£) (20) 其中V(t)为白噪声, V(t)V( ) 1=R。 由坐标系定义可知: G=[0 0 1】 (21) h=[h h h r (22) 其中G是参考坐标系下重力向量,h是参考坐标下的 地磁场向量。 , lm,] ]…:J  (24) 其中 为 矩阵的转置矩阵,用来表示从参考坐标 系换算到载体坐标系下的姿态矩阵。g是加速度计基 于载体坐标系的测量值,m是磁强计基于载体坐标系 的测量值。则 rg =2(q1q3一qoq2) {gy=2(q2q3 qoq1) (25) tg =q 一q 一q g; rm =(g +g2l—q;一叮32)^ +2(q。q2+qoq3)^ +2(q,q3一qoq2)h {m =2(glq2一qoq3)^ +(q 一g21+q:一q;)h +2(qoql q2q3)h =2(q Jq3 qoq2)^ 十2(q2q3一qoq1)h 十(g 一g —q;十q;)^: (26) 由系统的观测过程可知,加速度计和磁强计的测 量值与四元数之间的关系也是非线性的。因此我们需 要利用雅克比矩阵将其转换成线性关系n 。则: Ⅳ 3.3 采用UD分解算法的扩展卡尔曼滤波流程 根据卡尔曼滤波的原理,基于UD分解的扩展卡 l= 1Pkl 一l+ 1=Uz, D 1 (29) (3)求卡尔曼增益 : =D ¨ H (30) G = lF (31) S =日 G +R (32) Kk=Pk'ki研(日 P 一。H +R )~=G 5 (33) (4)计算最优估计: Xk= 一 + (Z 一 洲一1)= ,十G 5 ( 一HkXrj ) (34) (5)更新误差协方差矩阵p: Pk=(,一 H )Pk/¨= l(D 一Fk5 ) ㈦ (35) 上述过程即为采用UD分解算法的卡尔曼滤波的 实现步骤,滤波器每次执行都按此过程循环。 (6)经过卡尔曼滤波之后,就能得到最优估计四 元数,再通过式(3)便可得到姿态角度。 4实验 4.1实验准备及参数设定 为验证本文的算法,使用“第七实验室”的开发板 captain,该开发板集成STM32405RG(主控制芯片)、 MPU6050(三轴陀螺仪和三轴加速度计)、HMC5883 (磁强计),同时该开发板具有丰富的通讯接口,能够 将姿态数据通过UART上传至上位机进行分析。构建 验证系统如表2所示。 表2系统试验参数 表3卡尔曼滤波参数初始化 参数名 参数值 采样时间 O.O1s [(1一 aOo2 +(丁1一 2)△ ] Q [÷(0.09) (0.01) ̄/4 ] R 『0・【010  13 ,0.0032  ,厶 ,J 1  [q0 ql q2 q3] Po [ ] 2 2 2 一2 0 2 一 2ql 2q0 2 2 2q。 一2 . 一2 2 日 2(口  。目 ^,q 。)2( J^ q q h.)2(一q 2^ qth 一口 .)2(一  ,qlh.) 2(g,^ q Lh )2( ^。一q,h .) 2(q,h q h2 .) 2( q,h, .) 一2( 一q,h q.h ) 2(q,h。一q 一q,h.) 2(q ^ 一目 ) 2(q.h q2h, q )一 2015年7月 袁 亮,等:基于卡尔曼滤波的无人机姿态测量研究 ・113・ 4.2软件实现 本软件开发平台为Keil uVision4,姿态测量过程 分为系统初始化、姿态初始化、姿态更新三个过程,如 图2所示。 初始化陀螺仪 初始化加速度计 初始化磁强计 对加速度计、陀螺仪、 磁强计进行零偏标定 对POR矩阵进行初始化 利用加速度计测量值计算 横滚和俯仰角度 利用磁强计测量值判断 航向象限并计算航向角 根据欧拉角与四元数的 关系初始化四元数 利用三阶毕卡算法更新 姿态四元数并计算姿态矩阵 计算观测矩陈H 利用加速度计和磁强计的 测量值计算误差 更新误差协方差矩阵P, 并进行uD分解 计算 、Gk、 。 计算卡尔曼增益 计算最优估计四元数 计算姿态 图2姿态测量过程 根据参考坐标系定义,判断航向的象限如表4所  一一 1 5 0 5 1 5 2 S O 5 n 不。 表4航向象限的判断 4.3实验结果 本实验采用一个能够实现匀速转动和加速转动的 转台,动态测量姿态和传感器的数据,本实验数据的采 集频率为100Hz,采集次数600次以上,为保证无人机 飞行过程中能够稳定、可靠的飞行,姿态变化不超过 土60。,本实验均是在此姿态范围内进行实验。图3和 图4为静止时刻俯仰测量对比图,从图中我们可以看 出,采用UD分解算法的扩展卡尔曼滤波测量值更为 稳定和精确,能够有效的抑制舍入误差对系统稳定性 的影响;图5为在匀速转动的情况下的对比图,从图中 可以看出,在步进电机转动匀速改变姿态的过程中,采 用UD分解算法的扩展卡尔曼滤波测量值更为稳定, 在局部抖动的情况下,依然能够消除抖动,准确的测量 姿态;图6为加速运动情况下的对比图,从图中可以看 出,在加速运动的过程中,采用UD分解算法的扩展卡 尔曼滤波能够较为准确的跟踪姿态,不会因加速运动 出现剧烈的角度变化,未采用UD分解的算法虽然也 能大体跟踪姿态,但是其抖动较为明显,不适宜在无人 机上使用。 UD分解俯仰角度的测量值 / I3 抽 蚴JlIIiI ‘l1 rff1 l 阳f1lf 1- 1『 I『If l l 一 束进行u。\  分解俯仰角 蔓的测量值 图3静止时刻俯仰测量对比图 嘲 妇 r’ ■l 1 I 一 ’ !i『 1 — 图4静止时刻局部放大图 图5 匀速运动情况下的测量值 /’ 耒进行u。分解俯仰的测量值 ~ —— / l 7 l。l。 6l9 22 ̄28: ::,; 55 。 1 646 ’。73 76’ 82 . !:: 二,_进行u。分解俯仰的测量值 / 图6加速运动情况下的测量值 5结论 本文研究基于UD分解算法的扩展卡尔曼滤波在 四旋翼无人机姿态测量中的应用,通过实验,发现采用 UD分解算法的扩展卡尔曼滤波能够更为稳定的测量 姿态,能够有效抑制舍入误差带来的影响,防止P矩 阵发散,提高姿态测量精度。 [参考文献] [1]李涛,练军想,曹聚亮,等.GNSS与惯性及多传感器组合 导航系统原理[M].北京:国防工业出版社,2011. [2]冯鹏,邹世开.卡尔曼滤波器UD分解滤波算法的改进 [J].遥测遥控.2005,26(1):10—14.(下转第117页) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务