互补滤波算法姿态解算
互补滤波算法姿态解算

互补滤波算法姿态解算互补滤波算法是一种常用的姿态解算方法,广泛应用于飞行控制系统、惯性导航系统和姿态测量装置等领域。
该算法通过融合加速度计和陀螺仪的测量数据,实现对目标物体的姿态估计。
下面将详细介绍互补滤波算法的原理和应用。
一、互补滤波算法原理互补滤波算法主要基于两个观察结果:加速度计测量的重力矢量与陀螺仪测量的角速度。
加速度计测量的重力矢量可以提供一个参考方向,而陀螺仪测量的角速度可以提供连续更新的姿态角度信息。
互补滤波算法通过将这两个信息进行互补,实现对目标物体的姿态解算。
互补滤波算法的核心思想是将陀螺仪测量的角速度逐步累加,计算出目标物体的旋转角度,并将该角度作为姿态角。
由于陀螺仪的测量存在漂移等误差,随着时间的增加,角度积分的误差会越来越大。
为了避免这个问题,互补滤波算法通过加速度计测量的重力矢量进行补偿。
具体地,互补滤波算法使用一个权衡参数α(取值范围为0到1)来控制加速度计和陀螺仪的权重。
在每次更新姿态角时,新的姿态角为上一次的角度加上陀螺仪积分得到的角度乘以α,再加上加速度计测量的角度乘以1-α。
姿态角更新公式如下:θ(n) = α * (θ(n-1) + Δθ(n)) + (1-α) * θ_acc(n)其中,θ(n)为当前的姿态角,θ(n-1)为上一次的姿态角,Δθ(n)为陀螺仪积分得到的角度变化,θ_acc(n)为加速度计测量的角度。
二、互补滤波算法应用飞行器的姿态控制需要实时获取飞行器的姿态信息,并根据预设的姿态稳定控制侧滑、上升/下降等动作。
互补滤波算法可以通过融合加速度计和陀螺仪的测量数据,快速准确地获取飞行器的姿态信息。
在飞行器的姿态控制中,将陀螺仪测量的角速度作为连续更新的角度信息,用于控制飞行器的姿态稳定。
同时,通过加速度计测量的重力矢量可以提供一个参考方向,以补偿陀螺仪测量的角速度的误差。
1.初始化姿态角为加速度计测量的角度。
2.按照一定的时间间隔,读取加速度计和陀螺仪的测量数据。
基于互补滤波的飞行器姿态解算

姿态解算一、主线姿态表示方式:矩阵表示,轴角表示,欧拉角表示,四元数表示。
惯性测量单元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,561AdcRx AdcRy AdcRz每个ADC 模块都有一个参考电压,假设在我们的例子中,它是3.3V 。
姿态解算方法(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是两次预测之间的时间差,准确的说是传感器上⼀次数据和这⼀次数据获取时间差。
其他的部分和连续的形式对应就不多说了。
基于场⽅向观测的姿态求解⾸先把姿态观测问题看做是⼀个求尽可能满⾜观测结果的姿态的优化问题。
无人机导航与控制系统中的姿态解算算法优化

无人机导航与控制系统中的姿态解算算法优化随着无人机技术的不断发展,无人机导航与控制系统的研究成为了人们关注的焦点。
在无人机的飞行过程中,如何准确地获取和解算无人机的姿态信息成为了一个重要的问题。
本文将讨论无人机导航与控制系统中的姿态解算算法优化。
姿态解算算法是无人机导航与控制系统中的一个关键环节。
它主要负责实时获取无人机的姿态信息,包括滚转角、俯仰角和偏航角等,以实现无人机的稳定飞行和精确控制。
目前,常用的姿态解算算法包括互补滤波算法、卡尔曼滤波算法和扩展卡尔曼滤波算法等。
互补滤波算法是一种简单且实用的姿态解算算法。
它基于加速度计和陀螺仪的测量数据,通过加权和叠加的方式计算得出无人机的姿态信息。
互补滤波算法的优点是实时性好,计算简单,但准确性相对较差。
在复杂环境中,由于传感器的误差和噪声等因素的影响,互补滤波算法容易出现累积误差,导致姿态解算结果不准确。
卡尔曼滤波算法是一种基于状态空间模型的姿态解算算法。
它通过对系统的状态和观测方程进行建模,利用先验信息和观测数据进行动态的状态估计和参数拟合。
卡尔曼滤波算法的优点是具有较高的准确性和鲁棒性,能够有效地抑制传感器误差和噪声的影响。
但由于需要对系统进行建模和参数估计,卡尔曼滤波算法的计算复杂度较高。
扩展卡尔曼滤波算法是卡尔曼滤波算法的一种改进算法。
它通过对非线性系统进行线性化,采用线性卡尔曼滤波的方式进行状态估计。
扩展卡尔曼滤波算法的优点是兼具卡尔曼滤波算法和互补滤波算法的优点,既具有高准确性和鲁棒性,又具有较低的计算复杂度。
但扩展卡尔曼滤波算法也存在一些问题,如对传感器误差和观测噪声的敏感性较高,对系统非线性程度的依赖性较强。
在姿态解算算法的优化方面,可以采取多种策略来提高其准确性和鲁棒性。
首先,可以通过引入更多的传感器来获取更多的姿态信息,如磁力计和气压计等。
这样可以增加姿态解算的可观测性,提高解算结果的准确性。
其次,可以通过优化传感器的精度和性能来减小误差和噪声的影响。
互补滤波算法姿态解算matlab仿真程序

互补滤波算法姿态解算matlab仿真程序互补滤波算法姿态解算是一种常用的姿态解算方法,下面是一个基于MATLAB的仿真程序,本文不包含任何网址、超链接和电话。
1. 系统模型建立假设一个惯性测量单元(IMU)包含3轴陀螺仪和3轴加速度计,其输出分别为角速度 $\omega$ 和加速度 $a$。
设重力矢量在IMU本体坐标系中的表示为 $g$。
根据牛顿第二定律,在本体坐标系中,加速度 $a$ 和重力矢量 $g$ 的叠加产生了一个力 $F$,即:$$F = m(a - g)$$其中 $m$ 是IMU上的物体质量。
2. 姿态解算通过对IMU输出的角速度 $\omega$ 和加速度 $a$ 进行互补滤波可以得到 IMU 的姿态信息,具体姿态解算过程如下:(1)根据加速度计的读数 $a$,计算加速度矢量在 IMU本体坐标系中的表示 $a_b$,即:$$a_b = R_b^i a$$其中 $R_b^i$ 是从惯性坐标系到本体坐标系的旋转矩阵。
(2)计算得到滤波后的角速度 $\omega_f$,即:$$\omega_f = \alpha \omega_f + (1-\alpha)\omega$$其中 $\alpha$ 是互补滤波因子。
(3)根据滤波后的角速度 $\omega_f$,计算姿态的改变速率$\dot{q}$,即:$$\dot{q} = \dfrac{1}{2}q\begin{pmatrix}0 & \omega_f^T\\-\omega_f & 0\end{pmatrix}$$其中 $q$ 是四元数。
(4)根据姿态的改变速率 $\dot{q}$ 计算姿态 $q$ 的改变量$dq$,即:$$dq = \dot{q} dt$$其中 $dt$ 是采样时间。
(5)根据姿态 $q$ 和姿态改变量 $dq$ 计算新的姿态$q_{new}$,即:$$q_{new} = q \times dq$$其中 $\times$ 表示四元数的乘法。
互补滤波器在四元数法姿态解算中的应用

航 坐标 系为 地 理 坐 标 系。坐标 系 变换 以 刚 体 定 点 转 动 为基 础 ,
载 体 坐标 系转 换 到 导 航 坐标 系的过 程 可 以 分 解 为 绕 三 个 轴 的
三 次旋 转 。
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轴垂 直
互补滤波和卡尔曼滤波的融合姿态解算方法

传感器与微系统 ( T r a n s d u c e r a n d Mi c r o s y s t e m T e c h n o l o g i e s )
2 0 1 7年 第 3 6卷 第 3期
DOI : 1 0 . 1 3 8 7 3 / J . 1 0 0 0 - 9 7 8 7 ( 2 0 1 7 ) 0 3 - - 0 0 6 2 - - 0 4
B a o d i n g 0 7 1 0 0 3 , C h i n a )
Ab s t r a c t :A i mi n g a t p r o b l e m o f h i g h n o i s e , l o w p r e c i s i o n o f i n e r t i a l m e a s u r e me n t u n i t ( I MU) a n d l o w p r e c i s i o n o f
出了一种互补滤波和卡尔曼滤波相结合的融合算法 。该算法基于姿态角微分方程建 立系统的状态 方程 模 型, 利用互 补滤 波后 的姿态角作为 系统 的观测量 , 再应用扩展 卡尔曼滤波 ( E K F ) 算法融合 了陀螺 仪 、 加 速
度计 和电子罗盘 的测量数据 。为验证该算法有效性 , 用带有传感器 的开发板依次进行静态和动态测试 , 实 验结果表 明: 结合 了互补 滤波 和卡尔曼滤波 的融合算 法 , 在静 态时能够抑 制姿态角漂移 和滤 出噪声 , 在 动 态时能够快速跟踪姿态 的变化 , 提高了姿态角的解算精度 。 关键词 :卡尔曼滤波 ; 互补 滤波 ; 姿态估计 ; 数据融合 ;惯性测量单元
p r o p o s e d . T h e a l g o i r t h m e s t a b l i s h t h e s t a t e e q u a t i o n mo d e l b a s e d o n d i f f e r e n t i a l e q u a t i o n o f a t t i t u d e a n g l e a n d
互补滤波算法姿态解算

地磁场向量 可不可以采用和加速度计一样的修正方法来修正? 加速度计在静止时测量的是重力加速度(0,0,1)T ,是有大小和方向的; 同理,地磁计同样测量的是地球磁场的大小和方向,只不过这个方向不再是竖直向下 而是与x轴(或者y轴)呈一个角度,与z轴呈一个角度。记作(bx,by,bz)T ,这里我 们让x轴对准北边,所以by=0,即 (bx,0,bz)T 倘若我们知道bx和bz的精确值,那么我们就可以采用和加速度计一样的修正方法来)
23
01
q q q q 2
2
2
2
0
1
2
3
这样,四元数可以用方向余弦、欧拉角表示,同样,欧拉角也可以用 方向余弦和四元数表示。
用方向余弦表示四元数
对于小角度位移,四元数参数可以用表示为
q 0
1 2
1
(1c11c22c33) 2
q 1
1
4q
c c (
)
32
23
0
三、姿态表示方法
三、姿态表示方法
C 3.1 方向余弦矩阵 方向余弦矩阵用符号
n
b 表示,是一个3*3阶的矩阵,矩阵的列表示
载体坐标系中的单位矢量在参考坐标系中的投影。
三、姿态表示方法
C 3.1 方向余弦矩阵 方向余弦矩阵用符号
n
b 表示,是一个3*3阶的矩阵,矩阵的列表示
载体坐标系中的单位矢量在参考坐标系中的投影。
q 2
1
4q
c c (
)
13
31
0
q 3
1
4q
c c (
)
21
12
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标系重合。
利用四元数进行矢量变换
首先定义一个四元数rb’ rb=ix+jy+kz rb’=0+ix+jy+kz
有: rn’=q*rb’*q’ rn’=(q0+iq1+jq2+kq3)(0+ix+jy+kz)(q0-iq1-jq2-kq3) =0+{(q0^2+q1^2-q2^2-q3^2)x+2(q1q2-q0q3)y+2(q1q3+q0q2)z}i +{2(q1q2+q0q3)x+(q0^2-q1^2+q2^2-q3^2)y+2(q2q3-q0q1)z}j +{2(q1q3-q0q2)x+2(q2q3+q0q1)y+(q0^2-q1^2-q2^2+q3^2)z}k
为
q的虚部。
四元数的共轭为
1.2 四元数的表示方式
一、四元数
1.1 四元数定义
q q ,q q q q q q 设 q
0
i
1
j
2
k
3
,
,
01
, R
23
其中,i,j,k满足
i^2=j^2=k^2=-1
ij=-ji=k, jk=-kj=i, ki=-ik=j
则称数q为四元数,
而q0称为四元数q的实部,
定义 的大小和方向是使参考系绕 标系重合。
转动一个角度 ,就能与载体坐
3.3 四元数 四元数姿态表达式是一个四参数的表达式。它的基本思路是:一个坐标
系到另一个坐标系的变换可以通过绕一个定义在参考系中的矢量 的单
次转动来实现。 四元数用符号q表示,它是一个具有4个元素的矢量,这些元素是该矢量
方向和转动大小的函数。q q q q Fra bibliotekarctan(
2
12 2
) 0 3
2
2
0
1
2
3
四、互补滤波的姿态解算算法
姿态解算常用的算法有欧拉角法、方向余弦法和四元数法。欧拉角法在求 解姿态时存在奇点(万向节死锁),不能用于全姿态的解算;方向余弦可用 于全姿态的解算但计算量大,不能满足实时性要求。四元数法,其计算量小, 无奇点且可以满足飞行器运动过程中姿态的实时解算。
qq) 01
q q q q 2
2
2
2
0
1
2
3
3.4 方向余弦、欧拉角和四元数的关系
q q q q
2
0
2
1
2
2
2 3
2(q q 12
qq) 03
2(q q 13
q q ) 02
2(q q q q )
12
03
q2 q2 q2 q2
0
1
2
3
2(q q q q )
23
01
2(q q q q )
c c c n C c c c b
11 21
12 22
13 23
c c c 31
32
33
三、姿态表示方法
C 3.1 方向余弦矩阵 方向余弦矩阵用符号
n
b 表示,是一个3*3阶的矩阵,矩阵的列表示
载体坐标系中的单位矢量在参考坐标系中的投影。
c c c n C c c c b
11 21
12 22
4.2 四元数姿态解算步骤
(1)初始化四元数 姿态计算初始,将已知载体初始姿态角带入下式,求出初始时刻的四
元数。 q0 q1 q2 q3
(2)获取角速度、加速度、磁力计值
读取到的加速度测量值ax,ay,az;陀螺仪测量值wx,wy,wz;磁力计测量值
mx,my,mz (3) 将加速度计测量值、磁力计测量值化为单位向量
定义 的大小和方向是使参考系绕 标系重合。
转动一个角度 ,就能与载体坐
3.3 四元数 四元数姿态表达式是一个四参数的表达式。它的基本思路是:一个坐标
系到另一个坐标系的变换可以通过绕一个定义在参考系中的矢量 的单
次转动来实现。 四元数用符号q表示,它是一个具有4个元素的矢量,这些元素是该矢量
方向和转动大小的函数。
rn’也可以表示成矩阵形式
r c r n'
' b'
c
'
0 0
0 c
q q q q
2
0
2
1
2
2
2 3
C
2(q q 12
qq) 03
2(q q 13
qq) 02
2(q q q q )
12
03
q2 q2 q2 q2
0
1
2
3
2(q q q q )
23
01
2(q q q q )
13
02
2(q q 23
2(q2q3q0q1)
T
2(q1q3
q
0q
2)
0
2(q2q3q0q1) 0
q02q12q
2 2
q32
1
乘以
2(q q q q )
13
0 2
2(q q q q )
23
01
q q q q
2
0
2
1
2
2
2 3
加速度计的实际测量值为 (ax,ay,az)T, (vx,vy,vz)T和(ax,ay,az)T 均表示在b系中的竖直向下的向量
四、互补滤波的姿态解算算法
姿态解算常用的算法有欧拉角法、方向余弦法和四元数法。欧拉角法在 求解姿态时存在奇点(万向节死锁),不能用于全姿态的解算;方向余弦可 用于全姿态的解算但计算量大,不能满足实时性要求。四元数法,其计算量 小,无奇点且可以满足飞行器运动过程中姿态的实时解算。
姿态解算的原理:对于一个确定的向量,用不同的坐标系表示时,他们 所表示的大小和方向一定是相同的。但是由于这两个坐标系的旋转矩阵存在 误差,那么当一个向量经过这么一个有误差存在的旋转矩阵后,在另一个坐 标系中肯定和理论值是有偏差的,我们通过这个偏差来修正这个旋转矩阵。 这个旋转矩阵的元素是四元数,我们修正的就是四元数,这样姿态就被修正 了。
定义 的大小和方向是使参考系绕 标系重合。
转动一个角度 ,就能与载体坐
3.3 四元数 四元数姿态表达式是一个四参数的表达式。它的基本思路是:一个坐标
系到另一个坐标系的变换可以通过绕一个定义在参考系中的矢量 的单
次转动来实现。 四元数用符号q表示,它是一个具有4个元素的矢量,这些元素是该矢量
方向和转动大小的函数。
G G C 互补滤波器
估计的姿态 矩阵
(s) C(s) , (s) s 1 s C(s) 2 s C(s)
C
L
用C(s)表示飞行器运动过程中真实的姿态矩阵,
低频误差累积
加速度计和磁力计 观测到的姿态矩阵
C 0C H
观测到 高频噪 声
G1具有一阶低通滤波特性,G2具有一阶 高通滤波特性
因此,通过互补滤波器能够消除高频噪声和 低频误差的累积,能够很好的融合各传感器 的数据
13
02
2(q q q q )
23
01
q q q q 2
2
2
2
0
1
2
3
这样,四元数可以用方向余弦、欧拉角表示,同样,欧拉角也可以用 方向余弦和四元数表示。
用方向余弦表示四元数
对于小角度位移,四元数参数可以用表示为
q 0
1 2
1
(1c11c22c33) 2
q 1
1
4q
c c (
)
32
23
0
绕参考坐标系的z轴转动 角
绕新坐标系的y轴转动 角
绕新坐标系的x轴转动 角
称为欧拉转动角
3.3 四元数 四元数姿态表达式是一个四参数的表达式。它的基本思路是:一个坐标
系到另一个坐标系的变换可以通过绕一个定义在参考系中的矢量 的单 次转动来实现。
四元数用符号q表示,它是一个具有4个元素的矢量,这些元素是该矢量 方向和转动大小的函数。
三、姿态表示方法
三、姿态表示方法
C 3.1 方向余弦矩阵 方向余弦矩阵用符号
n
b 表示,是一个3*3阶的矩阵,矩阵的列表示
载体坐标系中的单位矢量在参考坐标系中的投影。
三、姿态表示方法
C 3.1 方向余弦矩阵 方向余弦矩阵用符号
n
b 表示,是一个3*3阶的矩阵,矩阵的列表示
载体坐标系中的单位矢量在参考坐标系中的投影。
(ex,ey,ez)T = (vx,vy,vz)T 叉乘(ax,ay,az)T
地磁场向量 可不可以采用和加速度计一样的修正方法来修正? 加速度计在静止时测量的是重力加速度(0,0,1)T ,是有大小和方向的; 同理,地磁计同样测量的是地球磁场的大小和方向,只不过这个方向不再是竖直向下 而是与x轴(或者y轴)呈一个角度,与z轴呈一个角度。记作(bx,by,bz)T ,这里我 们让x轴对准北边,所以by=0,即 (bx,0,bz)T 倘若我们知道bx和bz的精确值,那么我们就可以采用和加速度计一样的修正方法来修正。
四、互补滤波的姿态解算算法
姿态解算常用的算法有欧拉角法、方向余弦法和四元数法。欧拉角法在 求解姿态时存在奇点(万向节死锁),不能用于全姿态的解算;方向余弦可 用于全姿态的解算但计算量大,不能满足实时性要求。四元数法,其计算量 小,无奇点且可以满足飞行器运动过程中姿态的实时解算。
姿态解算的原理:对于一个确定的向量,用不同的坐标系表示时,他们 所表示的大小和方向一定是相同的。但是由于这两个坐标系的旋转矩阵存在 误差,那么当一个向量经过这么一个有误差存在的旋转矩阵后,在另一个坐 标系中肯定和理论值是有偏差的,我们通过这个偏差来修正这个旋转矩阵。 这个旋转矩阵的元素是四元数,我们修正的就是四元数,这样姿态就被修正 了。