基于互补滤波的飞行器姿态解算
基于四元数二阶互补滤波的四旋翼姿态解算

基于四元数二阶互补滤波的四旋翼姿态解算伏家杰;周翟和;尹辉;陈燕【摘要】姿态解算是四旋翼飞行器的关键技术,其精度直接影响飞行器控制的可靠性和稳定性.针对当前常用一阶互补滤波算法中阻带衰减速率慢和陀螺仪常值漂移产生的稳态误差问题,通过增加积分环节,设计了一种基于四元数的二阶互补滤波算法,能更好地利用加速度计和磁力计的稳态信息有效补偿陀螺仪常值漂移,从而减少姿态解算的累积误差.仿真结果表明,该算法具有更好的稳定性,提高了系统的姿态解算精度.通过飞行器真实飞行数据对算法进行了实验验证,结果显示姿态的俯仰角、横滚角精度<1°,偏航角精度<2°,能很好地满足飞行器控制系统对姿态解算的精度要求.【期刊名称】《机械制造与自动化》【年(卷),期】2019(048)002【总页数】5页(P169-172,176)【关键词】姿态估计;四元数;互补滤波;四旋翼飞行器;MEMSIMU【作者】伏家杰;周翟和;尹辉;陈燕【作者单位】南京航空航天大学自动化学院,江苏南京211106;南京航空航天大学自动化学院,江苏南京211106;南京航空航天大学自动化学院,江苏南京211106;南京航空航天大学自动化学院,江苏南京211106【正文语种】中文【中图分类】V211.80 引言四旋翼飞行器姿态解算的精度和速度将直接影响飞行器控制算法的稳定性、可靠性和实现的难易程度。
所以姿态解算是四旋翼飞行器控制实现的前提[1-2]。
随着微机电技术和计算机技术的发展,由于陀螺仪和加速度计组成的低成本惯性测量单元(IMU)具有体积小、重量轻、功耗低、性价比高等特点,在四旋翼飞行器姿态的测量系统得到普遍应用[3-4]。
本文研究的四旋翼飞行器姿态测量传感器主要由低成本微机电系统(MEMS)陀螺仪、加速度计和磁力计组成。
本文采用嵌入式微控制器和低成本IMU组成姿态测量系统,采用四元数方法描述系统运动模型,提出了一种基于四元数的二阶互补滤波算法。
互补滤波算法在四旋翼飞行器姿态解算中的应用

互补滤波算法在四旋翼飞行器姿态解算中的应用
万晓凤;康利平;余运俊;林伟财
【期刊名称】《测控技术》
【年(卷),期】2015(034)002
【摘要】针对四旋翼飞行器飞行过程中的姿态最优估计问题,本着准确、快速的原则,选择了基于陀螺仪、加速度计和电子罗盘的捷联式惯性测量系统.由于这些传感器存在温度漂移和噪声干扰等问题,采用互补滤波算法,通过融合IMU多传感器的数据信号,对测得的姿态数据进行补偿修正,解算出高精度的姿态角.为了验证互补滤波算法的有效性和实用性,通过实际的四旋翼飞行器角度测量系统对互补滤波算法展开研究.结果表明姿态角解算中采用互补滤波算法能够快速、稳定的输出高精度姿态数据,姿态角最大跟踪误差控制在±2°以内,满足四旋翼飞行器飞行控制的要求,成功完成了姿态的最优估计.
【总页数】4页(P8-11)
【作者】万晓凤;康利平;余运俊;林伟财
【作者单位】南昌大学电气与自动化工程系,江西南昌330031;南昌大学电气与自动化工程系,江西南昌330031;南昌大学电气与自动化工程系,江西南昌330031;南昌大学电气与自动化工程系,江西南昌330031
【正文语种】中文
【中图分类】TP274.2
【相关文献】
1.基于自适应互补滤波的四旋翼飞行器姿态解算 [J], 陈华胄;谌海云
2.基于互补滤波器的四旋翼飞行器姿态解算 [J], 梁延德;程敏;何福本;李航
3.基于非线性互补滤波算法的四旋翼飞行器姿态信息融合处理 [J], 孙菁宇;高国伟;潘宏生;毛瑞燕
4.基于互补滤波算法的四旋翼飞行器姿态和高度解算 [J], 肖宇
5.卡尔曼滤波在四旋翼飞行器姿态解算中的应用 [J], 杭成;朱海霞;许毅立;苑家玮因版权原因,仅展示原文概要,查看原文内容请购买。
姿态解算方法(1)_一种互补滤波方法

姿态解算⽅法(1)_⼀种互补滤波⽅法姿态解算⽅法(1)_ ⼀种互补滤波⽅法本⽂内容主要是参考《An efficient orientation filter for inertial and inertial/magnetic sensor arrays 》此篇论⽂,由于其在普通飞控中的⼴泛运⽤,所以这⾥简单记录学习感受以期后续详细思索。
当然也是因为这篇⽐较易懂,正好可以锻炼⼀下我捉襟见肘的表述能⼒。
写到这⾥可能已经开始被骂了。
⼏个较好的博⽂链接如下:(1)(2)这是在博客园的第⼀篇博⽂,想来⾃⼰⼀直攒在电脑⾥的东西,不仅容易被弄没了,也没办法被⼤家纠错批评,故也就不在乎好坏把想到的都写下来。
⾔归正传,⾸先,需要了解下四元数的知识,这在维基(3)和(1)中都有很好的解释了,这⾥为了争取篇幅讲述算法核⼼部分就不再赘述。
(3)⾓加速度的事那么进⼊关于姿态确定的部分。
三轴陀螺仪模块可以测量传感器所在平⾯的⾓加速度,⼀般来说MPU6050模块返回的是三个⾓速度值。
如果初始姿态是已知的,时间的计量⼜是准确的,那么就可以积分出姿态了。
可惜的是⾓速度的测量准确度实在是不能积分出⼀个准确的位置值。
不过这⾥还是说⼀下这个积分过程。
sω=0ωxωyωzS E ˙q=12SEˆq⊗Sωsω为传感器获得的⾓速度值,再次提醒这⾥的值可能是不准确的。
SEˆq是表⽰传感器相对于地⾯坐标系的SO(3)变换四元数的估计,这⾥⽤于表⽰传感器姿态的估计。
⊗是四元数的⼀种运算⽅式,在上⽂的参考⽂献中可以找得到的。
差分的形式可以表⽰为:δS E qω,t=12SEˆqt−1⊗SωtSE qω,t=S E ˆqt−1+δSE qω,tΔtΔt是两次预测之间的时间差,准确的说是传感器上⼀次数据和这⼀次数据获取时间差。
其他的部分和连续的形式对应就不多说了。
基于场⽅向观测的姿态求解⾸先把姿态观测问题看做是⼀个求尽可能满⾜观测结果的姿态的优化问题。
基于改进型显性互补滤波的MENS姿态解算

基于改进型显性互补滤波的MENS姿态解算付雷;章政;余义【摘要】针对单一的传感器无法准确进行姿态估计以及低成本MENS器件易发散的问题,提出了一种改进显性互补滤波算法.该算法利用加速度计校正陀螺仪漂移引起的姿态误差,并在数据融合之前对加速度原始数据进行巴特沃斯低通滤波,同时设置缓存区保存更新后的四元数向量,减小加速度通过低通滤波器之后产生的延时对姿态估计的影响,提高姿态解算的实时性.搭建了基于STM32单片机的四旋翼飞行器试验平台,试验结果表明,该算法能减小加速度延时对姿态估计的影响,在保证了姿态解算高精度的基础上,提高了姿态解算的实时性.【期刊名称】《自动化与仪表》【年(卷),期】2018(033)011【总页数】6页(P7-12)【关键词】互补滤波;姿态解算;四元数;四旋翼无人机;加速度计校正;低通滤波器【作者】付雷;章政;余义【作者单位】武汉科技大学信息科学与工程学院,武汉 430080;武汉科技大学信息科学与工程学院,武汉 430080;武汉科技大学信息科学与工程学院,武汉 430080【正文语种】中文【中图分类】TP301.6;V279+.2对于移动机器人、飞行器和卫星通信等系统而言,实时、准确的姿态估计是实现各种载体稳定运行的有效前提之一。
目前,由低成本、小型化的微机械陀螺仪、加速度计等惯性测量单元IMU (inertial measurement unit)构成的微机电系统MEMS(micro-electro-mechanical system)姿态估计得到了广泛的研究和应用。
然而在实际应用过程中,单一的IMU易受到噪声、温度漂移及安装误差等多方面因素影响[1]。
因此,将不同的传感器进行优势互补,形成多传感器融合系统用于保证载体姿态的精度和实时性。
1 多传感器融合系统的研究现状低成本STM32处理器的四旋翼飞行器试验测试平台,将所设计的算法进行静态试验和动态试验,以验证所设计系统的有效性。
EKF和互补滤波器在飞行姿态确定中的应用

2 1 陀螺数 学模 型 .
ME MS陀螺仪的漂 移误 差 由常值 漂移 、 时变 漂移 以及
随机 漂移 组成 。可采用 A l l n方 差分 析法 对其 进行分 析 。 a
从 图 1与 图 2可知 , 随着 电机 转速 增加 , 动频 率加 振
Aln 差是一种基 于时域的分 析方法 , l 方 a 能够容 易地对各种 类型误差源和整个 噪声统 计特性 进行 细致 的表征 与辨识 ,
0 O1
00 .0 0 1 0 2 0 3 O
声 等影响使以上姿态解算 方法 失效 , 了在各种 飞行 状态 为
OO .0 0
1 0
2 0
3 O
频率 / z H
频率 /z H () b 滤波后
() f rftrn b a e i eig t l
获得准确的姿态信息 , 可将上述 2 种姿态估计信息相融合 。
与实现的基 础上 , 行飞行器平台实验验证。研究结果表 明 2种算法均有效 , 进 且互 补滤波器相对经典 K — l a
m n滤波器更为简单 、 效。 a 有
关键词 :姿态测量 ; 展 K l a 扩 a n滤波器 ;互补滤波器 ; ln方差 m Al a 中图分类号 :V 4 . ;T 3 18 2 7 1 P 9 . 文献标 识码 :A 文章编号 :10 —7 7 2 1 ) 104 -4 0 0 98 ( 0 1 1- 190
at u e d tr n t n fr a h l o tr T e meh d l ge n i lme tt n o h t o ag r h a e w l t t d ee miai ei pe . h to oo is a d mp e n ai f t e w lo t ms r e l i o o c o i
互补滤波器在四元数法姿态解算中的应用

航 坐标 系为 地 理 坐 标 系。坐标 系 变换 以 刚 体 定 点 转 动 为基 础 ,
载 体 坐标 系转 换 到 导 航 坐标 系的过 程 可 以 分 解 为 绕 三 个 轴 的
三 次旋 转 。
2 四元数姿态算 法
2 . 1 四元 数
四 元 数 是 最 简单 的超 复数 ,能 够 非 常 方 便 的表 示 坐标 系
出载 体 坐标 系相 对 于 导航 坐 标 系的旋 转 。
P x Q( p 0 + p 1 i + p 2 j + P 3 k ) x ( q o + q 1 i + q 2 j + q 3 k )
=
( p 0 q o - P 1 q l — P 2 q 2 - P 3 q 3 ) + ( p 0 q l + p l q o + p 2 q 3 - P 3 q 2 ) i
+ ( p 0 q 2 + p 2 q o + P 3 q 1 一 P l q 3 ) j + ( p 0 q 3 + p 3 q o + P 1 q 2 - P 2 q 1 ) k( 4 )
2 . 2 四元数 姿态 算法
四 元 数 算 法 的 实质 是 用 四元 数 运 算表 示 载体 坐 标 系 b向
导 航 坐标 系 n的 旋 转 。载 体 坐 标 系 由导航 平 台机体 轴确 定 , 导
( 1 ) 地 理 坐标 系: 地 理 坐 标 系 的 原 点 选 在 导 航 平 台 的 质 心. Z轴 沿 当地 参 考 椭球 的 法 线指 向 天 顶 , X 轴 在 当地 水 平 面 且 沿 当地 纬 度 指 向 东 . Y 轴 沿 当地 子 午 线指 向北 。 ( 2 ) 栽 体 坐标 系 : 对 于栽 体 而 言 , 原 点在 栽 体 质 心 , X 轴 指 向栽体右方 , Y 轴指 向 栽 体前 方 , 并在载体对称面 内, Z轴垂 直
基于改进互补滤波器的低成本微小飞行器姿态估计方法

o f Mi c r o A i r V e h i c l e( MA V) u n d e r a l l d y n a mi c c o n d i t i o n s ,a n i m p r o v e d e x p l i c i t c o m p l e m e n t a r y i f l t e r w a s p r o p o s e d i n
C ODE N J Y I I DU
h t t p : / / w w w . j o c a . c n
d o i : 1 0 . 1 1 7 7 2 / j . i s s n . 1 0 0 1 — 9 0 8 1 . 2 0 1 3 . 0 7 . 2 0 7 8
基 于 改进 பைடு நூலகம் 补滤 波 器 的低 成 本 微 小 飞行 器 姿 态 估 计 方 法
中图分 类号 : T P 2 7 3+. 5
文献标 志码 : A
I mp r o v e d c o mp l e me n t a r y f i l t e r f o r a t t i t u d e e s t i ma t i o n o f
mi c r o a i r v e h i c l e s us i ng l o w- c o s t i n e r t i a l me a s ur e me nt u ni t s
基于自适应显式互补滤波的姿态解算方法

基于自适应显式互补滤波的姿态解算方法摘要:本文提出了一种基于自适应显式互补滤波(ASECF)的姿态解算方法。
该方法利用加速度计、陀螺仪和磁力计组成的惯性测量单元获取姿态角度,并利用ASECF算法对姿态角度进行优化估计。
仿真和实验结果表明,该方法具有较好的精度和鲁棒性,能够有效应对各种干扰因素。
关键词:姿态解算,自适应显式互补滤波,惯性测量单元,加速度计,陀螺仪,磁力计1. 引言姿态解算是指通过各种传感器获取物体的运动状态,如角度、角速度、加速度等,从而确定物体的姿态。
目前,常见的姿态解算方法有基于卡尔曼滤波、基于扩展卡尔曼滤波、基于粒子滤波等。
然而,这些方法需要对系统进行较为复杂的建模和优化,且对噪声的敏感度较高,容易出现收敛困难和精度不足等问题。
2. ASECF算法原理及优点ASECF算法是一种基于滤波器的估计方法,其主要思想是对系统状态进行加权求和,使得权重的变化能够自适应地响应系统状态的变化。
ASECF算法的核心是互补滤波(CF),其主要优点有以下几个方面:1) CF算法具有良好的鲁棒性和实时性,不需要进行复杂的模型建模和优化。
2) CF算法对噪声的敏感度较低,适用于各种干扰因素严重的环境下。
3) CF算法可以适应多种系统状态的变化,包括加速度计偏移、地磁场干扰等。
基于CF算法,ASECF算法引入了一个自适应的权重因子,用于根据系统状态的变化自适应调节滤波权重。
具体地,ASECF算法将滤波器的输出与系统状态偏差之间的误差作为权重因子,通过权重因子的自适应调整提高滤波精度和鲁棒性。
3. 基于ASECF的姿态解算方法本文利用ASECF算法对惯性测量单元输出的三轴角度进行优化估计,从而实现姿态解算。
具体地,姿态角度的更新可以分为以下几个步骤:1)利用加速度计和磁力计计算出姿态角度的初值;3)利用ASECF算法对角度进行优化估计。
在ASECF算法中,权重因子的计算可以采用以下公式:$\alpha_k = \frac{\bar{x}_k^T P_{k|k-1} \bar{x}_k}{\bar{x}_k^T P_{k|k}\bar{x}_k}$其中,$\bar{x}_k$为滤波器的输出,$P_{k|k-1}$为先验估计协方差矩阵,$P_{k|k}$为后验估计协方差矩阵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于互补滤波的飞行器姿态解算 ———————————————————————————————— 作者: ———————————————————————————————— 日期:
ﻩ姿态解算 一、主线 姿态表示方式:矩阵表示,轴角表示,欧拉角表示,四元数表示。 惯性测量单元IMU(Inertial Measurement Unit):MPU6050芯片,包含陀螺仪和加速度计,分别测量三轴加速度和三轴角速度。注意,传感器所测数据是原始数据,包含了噪声,无法直接用于飞行器的姿态解算,因此需要对数据进行滤波。 滤波算法:非线性互补滤波算法,卡尔曼滤波算法,Mahony互补滤波算法。 二、知识点补充 加速度计和陀螺仪 加速度计:加速度计,可以测量加速度,包括外力加速度和重力加速度,因此,当被测物体在静止或匀速运动(匀速直线运动)的时候,加速度计仅仅测量的是重力加速度,而重力加速度与R坐标系(绝对坐标系)是固连的,通过这种关系,可以得到加速度计所在平面与地面 的角度关系 也就是横滚角和俯仰角。把加速度传感器水平静止放在桌子上,它的Z轴输出的是1g的加速度。因为它Z轴方向被重力向下拉出了一个形变。可惜的是,加速度传感器不会区分重力加速度与外力加速度。所以,当系统在三维空间做变速运动时,它的输出就不正确了,或者说它的输出不能表明物体的姿态和运动状态。 陀螺仪:陀螺仪测量角速度。陀螺仪模型如图1所示,陀螺仪的每个通道检测一个轴的旋转。
图1[引自网络] 上图中,Rxz是R在XZ面上的投影,与Z轴的夹角为Axz。Ryz是R在ZY面上的投影,与Z轴的夹角为Ayz。陀螺仪就是测量上面定义角度的变化率,换句话说,它会输出一个与上面这些角度变化率线性相关的值。 加速度计工作原理介绍(摘自网络) 大多数加速度计可归为两类:数字和模拟。数字加速度计可通过I2C,SPI或USART方式获取信息,而模拟加速度计的输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。不管使用什么类型的ADC模块,都会得到一个在一定范围内的数值。例如一个10位ADC模块的输出值范围在0-1023间。假设我们从10位ADC模块得到了以下的三个轴的数据:
586,630,561AdcRxAdcRyAdcRz 每个ADC模块都有一个参考电压,假设在我们的例子中,它是3.3V。要将一个10位的ADC值转成电压值,我们使用下列公式:
1023VrefVoltsRxAdcRx
将3个轴的值代入上式,得到: 3.3586 1.8910233.3630 2.0310233.3561 1.811023VoltsRxVVoltsRyVVoltsRzV
每个加速度计都有一个零加速度的电压值,这个电压值对应于加速度为0g。通过计算相对0g电压的偏移量我们可以得到一个有符号的电压值。比方说,0g电压值1.65VzeroGV,通过下面的方式可以得到相对0g电压的偏移量:
1.891.650.242.031.650.381.811.650.16DeltaVoltsRxVVVDeltaVoltsRyVVVDeltaVoltsRzVVV
现在我们得到了加速度计的电压值,但它的单位还不是2(9.8/)gms,最后的转换,我们还需要引入加速度计的灵敏度,单位通常是/mVg。比如,加速度计的灵敏度478.5/0.4785/SensitivitymVgVg。灵敏度值可以在加速度计说明书中找到。要获
得最后的单位为g的加速度,我们使用下列公式计算: DeltaVoltsRxRxSensitivity
0.240.47850.50.380.47850.790.160.47850.33RxgRygRzg
综上,可以把以上步骤用以下公式表达
1023Sensitivity
1023Sensitivity
1023Sensitivity
VrefAdcRxVzeroGRxVrefAdcRyVzeroGRyVrefAdcRzVzeroGRz
现在我们得到了惯性力矢量的三个分量,如果设备除了重力外不受任何外力影响,那我们就可以认为这个方向就是重力矢量的方向。(自此明白了文献[1]中所说只使用加速度计获得的角度是基于飞行器在匀速飞行或静止的条件下得到的)
图2[引自网络] 我们感兴趣的角度是向量R和X,Y,Z轴之间的夹角,那就令这些角度为Axr,Ayr,Azr。观察由R和Rx组成的直角三角形
cos coscosRxRyRzAxrAyrAzrRRR
图2中,2222RRXRYRZ,那么,角度即为 arccosarccosarccosRxRyRzAxrAyrAzrRRR 三、互补滤波算法 加速度计是极易受外部干扰的传感器(如机械振动),但是测量值的误差不随时间的变化。陀螺仪输出的角速度可以积分得到角度,动态性能好,受外部干扰小,但积分会造成误差累积。可以看出,它们优缺点互补,结合起来才能有好的效果。 经典互补滤波算法(Classical Complementary Filter) 经典互补滤波算法基本原理是充分利用加速度计提供的低频角度信号和陀螺仪提供的高频角速度信号,对加速度计进行低通滤波,对陀螺仪进行高通滤波,分别滤出相应的干扰信号,为两者的有效融合提供了很好的解决方案[2]。
图3 经典互补滤波算法—频域形式原理图[2] 融合后姿态角估计值为 ˆgp
app
Ks
sKssK
其中,g为陀螺仪测量的角速度,a为加速度计测量的角度值,pK为比例系
数,1()psFssK为高通滤波器,21()1()ppKFsFssK为低通滤波器。
图4 经典互补滤波算法—时域形式原理图[2] 对ˆgp
app
Ks
sKssK进行反拉氏变换,可得时域微分形式为
ˆˆ()pagK
改进后的互补滤波算法(Explicit Complementary Filter) 经典互补滤波算法实现简单,但是估算精度角度较低,文献[3]提出了一种改进算法(ECF),在经典互补滤波算法的补偿环节加入积分器,以消除陀螺仪漂移常值误差,原理框图如下图。
图5 改进后的互补滤波算法[2] 时域微分形式为
ˆˆˆ()()IpaagKKs
四、四旋翼飞行器姿态解算流程 四旋翼姿态解算整体流程框图如下
图5 四元数表示的姿态解算整体流程框图[4] 其中,Gyroscope为陀螺仪,b是陀螺仪输出的测量数据,Accelerometer是加速度计,在Airspeed模块以及bf作用下,加速度输出测量数据ˆbg。 第一,对加速度计测出来的数据进行归一化处理:ˆˆbgg; 第二,将重力加速度旋转到机体坐标,得到重力加速度在三个轴上的加速度分量,作为标准加速度。
222201231203021322221203012323000011cccssscsscss0csccssssccss0ssccc12()2()2()2(TbnnbTCCqqqqqqqqqqqqqqqqqqqqqqq012222130201230123
1302012322220123
0)02()2()12()2()Tqqqqqqqqqqqqqqqqqqqqqqqqq
其中bnC为世界坐标系到机体坐标系的变换矩阵。 (文献[4]图中此处原文中有错误,已经在截图中进行了修改) 第三,归一化后的加速度计值与标准加速度做叉积运算,求得误差向量e; 第四,对误差进行滤波,改进后的互补滤波算法(ECF)可以表示为以下四元数形式:
1ˆˆ()
2qqp
pIkeke ,
ˆevv
第四,求解四元数微分方程1ˆˆ()2qqp,求得最新的0123,,,qqqq; 第五,代入以下公式求得姿态角。 012322220123
2()arctanqqqqqqqq
1302arcsin2()qqqq
120322220123
2()arctanqqqqqqqq