基于四元数方法的姿态解算

合集下载

基于四元数的机械海流计姿态解算

基于四元数的机械海流计姿态解算

气象水文海洋仪器Meteorological » Hydrological and Marine Instruments第1 期2021 年3 月No. 1Mar. 2021基于四元数的机械海流计姿态解算刘庆鹏12,于雨2,惠力2,鲁成杰2(.齐鲁工业大学(山东省科学院),济南250353 ;.齐鲁工业大学(山东省科学院),山东省科学院海洋仪器仪表研究所,青岛266100)摘要:流向是海流测量中不可或缺的信息之一,可以通过解算海流仪姿态角的方式获得流 向。

目前,采用欧拉角微分方程式和方向余弦法计算姿态都存在着奇点或者计算量过大的问 题。

文章利用四元数的方法求解姿态变换矩阵,采用四元数四则运算组合简化计算过程,并基于6轴处理组件MPU6050和磁阻传感器HMC5883L 设计电路和编程,最后在实验的基础上 对算法可行性进行了验证。

关键词:四元数;流向;姿态解算;HMC5883L ;MPU6050中图分类号:TP274 + .2文献标识码:A文章编号:1006-009X(2021 )01-001 5-05Quaternion-based attitude calculation of mechanical current meterLiu Qingpeng 1'2 , Yu Yu 2 , Hui Li , Lu Chengjie 2(1. Qlu University of Technology , Shandong Academy of Sciences , Jinan 250353 ; 2. Institute of OceanographicInstrumentation ,Qlu University of Technology , Shandong Academy of Sciences , Qingdao 266100)Abstract : The flow direction is one of the indispensable information in the current, measurement. The flowdirection can be obtained by solving the attitude angle of the current, meter. At. present., using Euler's angulardifferential equation and direction cosine method to calculate attitude has the problem of singularities or toomuch computation. This paper uses the quaternion method to solve the attitude transformation matrix, andadopts four operations of quaternion to simplify the calculation process. The circuit and programming aredesigned based on the 6-axis processing component. MPU6050 and magnetic resistance sensor HMC5883L.Finally?the feasibility of the algorithm is verified based on the experiment.Keywords :quaternion ;flow ;atitudecalculation ;HMC5883L ;MPU60500引言机械式海流仪经历了几代发展[1],在其姿态角数据测量中,传感器测量的数据经算法处理后, 变为实时的角度显示。

四元数法求解姿态动力学方程

四元数法求解姿态动力学方程

四元数法求解姿态动力学方程四元数法是一种常用于求解机器人、飞行器等复杂机械系统的姿态动力学方程的数学方法。

在四元数法中,姿态状态由一个四元数表示,称为方向余弦四元数或旋转四元数。

四元数的基本概念是,它是一个由实部和三个虚部组成的数,形式为q=s+xi+yj+zk。

其中,s是实部,i、j、k是三个独立的虚部,满足如下关系:
i²=j²=k²=ijk=-1
四元数可以表示三维空间中的旋转。

当一个向量v围绕一个单位向量u旋转θ角时,对应的旋转四元数为:
q=cos(θ/2)+usin(θ/2)
四元数可以进行加减、乘除等运算,并具有一些特殊的性质,如四元数的模长为1,单位四元数可以表示任意旋转等。

在使用四元数法求解姿态动力学方程时,首先需要将姿态状态表示为一个四元数q。

然后,根据四元数的性质和基本运算,可以推导出四元数微分方程,用于描述姿态状态的变化:
dq/dt=0.5*q*ω
其中,ω表示机体角速度矢量,表示机体围绕三个坐标轴的旋转速度。

该方程可以用来计算姿态状态在时间上的变化。

通过四元数法求解姿态动力学方程,可以有效地避免欧拉角表示法中出现的万向锁现象和奇异性问题,从而提高了姿态控制的精度和可靠性。

四元数及姿态解算

四元数及姿态解算


q1

q2
q3
q1 q2 q0 q3 q3 q0 q2 q1
q3 p0
q2 q1


p1



p2


M
'(q) P
q0 p3
(2-2)
(2-3) (2-4) (2-5) (2-6)
由此可知,四元数的乘法不满足交换律,除非四元数还原为纯数字。
第三讲 四元数及姿态解算
一、 四元数的起源
在古希腊的亚里斯多德时代就已经有了力的矢量分解了,即力可以分解为
F

ai

bj
(1-1)
但那个时代并不意味着 i j 。在此之前人们就已经有了对纯粹数字的认识和相应的运算
规则,但是纯数字和矢量是没有混在一起表示物理量的,1879 年高斯撰写了一篇未曾发表的 文章,其中提到了 a bi 的含义,可以看出他试图建立一个三分量的代数( a ,bi , a bi )。
t 0
dt 2
0


x y
z
x y 0 z z 0 y x
z


y

x

0
(4-2) (4-3) (4-4) (4-5)
在(4-5)的基础上,剔除所有的零元,则有
q0 (t) q1(t)
d dt
q1
(t
)

q2
(t

1r0

0r1

3r2

2r3

1 0

32rr00
3r1 2r1
0r2 1r2

四元数解算姿态完全解析及资料汇总

四元数解算姿态完全解析及资料汇总

四元数完全解析及资料汇总本文原帖出自匿名四轴论坛,附件里的资源请到匿名论坛下载:感谢匿名的开源分享,感谢群友的热心帮助。

说什么四元数完全解析其实都是前辈们的解析,小弟真心是一个搬砖的,搬得不好希望大神们给以批评和指正,在此谢过了。

因为本人是小菜鸟一枚,对,最菜的那种菜鸟······所以对四元数求解姿态角这么一个在大神眼里简单的算法,小弟我还是费了很大劲才稍微理解了那么一点点,小弟搬砖整理时也是基于小弟的理解和智商的,有些太基础,有些可能错了,大牛们发现了再骂过我后希望能够给与指正哈。

好,废话到此为止,开始说主体。

四元数和姿态角怎么说呢?先得给和我一样的小菜鸟们理一理思路,小鸟我在此画了一个“思维导图”(我承认我画的丑),四元数解算姿态首先分为两部分理解:第一部分先理解什么是四元数,四元数与姿态角间的关系;第二部分要理解怎么由惯性单元测出的加速度和角速度求出四元数,再由四元数求出欧拉角。

图1 渣渣思维导图在讲解什么是四元数时,小弟的思维是顺着说的,先由四元数的定义说起,说到四元数与姿态角间的关系。

但在讲解姿态解算时,小弟的思维是逆向的,就是反推回来的,从欧拉角一步步反推回到惯性器件的测量数据,这样逆向说是因为便于理解,因为实际在工程应用时和理论推导有很大差别。

实际应用时正确的求解顺序应该为图1中序号顺序,即1->2->3->…….但在笔者讲解姿态求解时思路是如图2的。

图2 逆向讲解思路大家在看四元数时最好结合着代码一块看,小弟看的是匿名四轴的代码,感觉写的非常好也非常清晰,粘出来大家一块观摩。

红色部分是核心代码,总共分为八个步骤,和图1中的八个步骤是一一对应的。

讲解介绍时也是和代码对比起来讲解的。

代码可以去匿名官网上下载,都是开源的,不是小弟的,所以小弟不方便加在附件中。

好的,下面搬砖开始!。

嘿咻嘿咻关于四元数的定义摘自秦永元的《惯性导航》,里面有非常好的讲解,大家可以直接看绪论和第九章就可以。

基于四元数互补滤波的无人机姿态解算_吕印新

基于四元数互补滤波的无人机姿态解算_吕印新

第 38 卷 第 2 期 2014 年 3 月燕山大学学报 Journal of Yanshan UniversityVol. 38 No. 2 Mar. 2014文章编号:1007-791X (2014) 02-0175-06基于四元数互补滤波的无人机姿态解算吕印新 1,肖前贵 2, *,胡寿松 12. 南京航空航天大学 无人机研究院, (1. 南京航空航天大学 自动化学院, 江苏 南京 210016; 江苏 南京 210016) 摘 要:针对无人机低成本姿态解算这一基本问题,考虑到传统姿态算法运算量大、不易调试,采用微惯性单元 (MEMS) 测量无人机原始姿态数据,采用基于四元数的互补滤波算法,有效降低姿态解算的运算量,实现 MEMS 各传感器的信息融合。

从理论上证明了基于四元数的互补滤波器的稳定性,分析了滤波器的性能。

采用 无人机真实数据验证了算法的有效性,解算得到的俯仰角、滚转角精度小于 1°,航向角精度小于 2°。

与传统姿 态算法比较,本算法简单有效、运算量小、易于调试。

关键词:姿态;四元数;互补滤波 ;稳定性分析 中图分类号:V243.5 文献标识码:A DOI:10.3969/j.issn.1007-791X.2014.02.0150引言微小型无人机具有成本低、隐蔽性好、生存能EKF 算法。

然而 EKF 存在 3 大缺陷:1) 在一般 情况下计算雅可比矩阵是不容易实现的过程, 而且 2) 其计算量很大; 当线性化假设不成立时,线性 化会导致滤波器极度不稳定;3) 实际应用中,噪 声难以符合白噪声的要求 [2-3]。

文献 [4-5] 利用粒 子滤波解决了系统非线性、 非白噪声对姿态解算的 影响,然而此方法计算量较大,不适合低成本航姿 系统的应用。

互补滤波器算法简单可靠,对惯性器 件的精度要求较低, 在飞行器姿态解算中的应用愈 加广泛。

文献 [6-7] 分别给出了欧拉角、方向余弦 矩阵形式下的互补滤波, 然而在飞行器存在运动加 速度的时候,姿态解算的误差较大。

四元数法求解姿态动力学方程

四元数法求解姿态动力学方程

四元数法求解姿态动力学方程四元数是一种用来表示三维空间中旋转的数学工具。

它由一个实部和三个虚部组成,可以表示空间中的旋转角度和旋转轴向量。

在机器人和航空航天领域,四元数经常被用来描述姿态,并且能够方便地进行姿态之间的插值和计算。

姿态动力学方程描述了一个刚体在外力和外力矩的作用下的运动规律。

四元数法可以用来推导解姿态动力学方程。

假设刚体在时间t时的姿态为q(t),在空间中角速度为ω(t)。

我们可以将刚体的姿态表示为:q(t)=[q0(t),q1(t),q2(t),q3(t)]其中,q0(t)为四元数的实部,q1(t)、q2(t)和q3(t)为四元数的虚部。

我们可以通过以下方程来描述刚体的姿态动力学方程:dq(t)/dt = 1/2 * ω(t) * q(t)其中,dq(t)/dt是四元数的导数,ω(t)是刚体的角速度,*表示四元数的乘法运算。

将q(t)展开,可以得到:dq0(t)/dt = -1/2 * (q1(t) * ω1(t) + q2(t) * ω2(t) + q3(t)* ω3(t))dq1(t)/dt = 1/2 * (q0(t) * ω1(t) - q3(t) * ω2(t) + q2(t) * ω3(t))dq2(t)/dt = 1/2 * (q3(t) * ω1(t) + q0(t) * ω2(t) - q1(t) * ω3(t))dq3(t)/dt = -1/2 * (q2(t) * ω1(t) - q1(t) * ω2(t) + q0(t) * ω3(t))其中,dq0(t)/dt表示四元数实部的导数,dq1(t)/dt、dq2(t)/dt和dq3(t)/dt表示四元数虚部的导数。

通过对上面的四个方程进行求解,我们就可以得到刚体在时间t时的姿态q(t)。

而ω(t)则可以通过刚体的运动学方程和动力学方程来求解。

四元数法求解姿态动力学方程的优势在于,与传统的欧拉角法相比,四元数法不会出现万向锁现象,可以避免在特定情况下姿态计算的不稳定性。

一种新型基于四元数的姿态解算算法研究

一种新型基于四元数的姿态解算算法研究

一种新型基于四元数的姿态解算算法研究近年来,随着技术的发展,越来越多的智能装备开始出现在我们的日常生活中。

其中,机器人成为了一个备受关注的领域,也成为了智能装备的一种重要形态。

然而,要想让机器人正常运行,需要解决许多问题,其中姿态解算算法是其中的一项重要问题。

姿态解算算法是指通过传感器获取机器人的姿态信息,并将其转化为计算机能够理解的形式。

经过姿态解算后,机器人能够更加精确地掌握自己的姿态信息,从而更加准确地完成各种任务。

现有的姿态解算算法包括欧拉角法、旋转向量法和四元数法。

而本文研究的新型姿态解算算法则是一种基于四元数的算法。

四元数法在欧拉角法和旋转向量法的基础上发展而来,具有很多优点。

首先,四元数具有紧凑、高效的表示方式,能够更加方便地进行姿态解算。

其次,四元数法可以避免万向锁问题,从而更加稳定和精确。

因此,基于四元数的姿态解算算法在机器人控制、航空航天等领域得到了广泛应用。

本文在此基础上进一步探索了一种新型的基于四元数的姿态解算算法,旨在提高机器人的控制精度和稳定性。

首先,我们建立了一个四元数姿态解算模型。

该模型考虑了机器人在空间中的位移、旋转等因素,并将其转化为四元数的形式。

通过对四元数进行运算和变换,我们可以更加精确地计算出机器人的姿态参数。

接着,我们基于四元数姿态解算模型,提出了一种新型的姿态解算算法。

该算法在计算机程序中实现,能够自动获取机器人的传感器数据,并进行姿态解算。

该算法的主要优点在于精度高、稳定性好、适用性广。

最后,我们通过实验验证了该算法的可行性和有效性。

在机器人进行各种动作时,我们测量了其姿态数据,并将其与算法计算出的姿态数据进行比较。

结果表明,该算法具有高精度、高稳定性,能够有效提高机器人的控制精度。

综上所述,基于四元数的姿态解算算法在机器人控制、航空航天等领域具有重要意义。

本文提出的新型姿态解算算法具有高精度、高稳定性,有望成为未来机器人设计与控制领域的重要发展方向。

用四元数法的捷联惯性导航姿态解算程序

用四元数法的捷联惯性导航姿态解算程序

;no dirg ;)')s/m( /yticoleV'(lebaly ;)')sm01( / emiT'(lebalx ;)'noitaluclaC yticoleV'(eltit ;)'Z :etanidrooC noitagivaN','Y :etanidrooC noitagivaN','X :etanidrooC noitagivaN'(dnegel )yticolev,mt(tolp erugif ;no dirg ;)')eerged( /legnA'(lebaly ;)')sm01( / emiT'(lebalx ;)'noitaluclaC erutseG'(eltit ;)'legnA waY','legnA lloR','legnA hctiP'(dnegel ;)'.-b',):,3(ELGNA,mt,'.g',):,2(ELGNA,mt,'-r',):,1(ELGNA,mt(tolp ;ip/081*ELGNA=ELGNA erugif dne
值比度速加/压电的向轴个三计度速加% ?=za_orez% ?=ya_orez% ?=xa_orez% 压电点零的向轴个三计度速加%
*********************************************************% % 值度速加的应相为换转据数将% 3*4201/cca_atad=cca_atad ;]z_cca;y_cca;x_cca[=cca_atad 压电拟模为换转字数度速加% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;)'txt.zetarelecca'(daol=z_cca ;)'txt.yetarelecca'(daol= y_cca ;)'txt.xetarelecca'(daol= x_cca ;4201/3=etar_cca% **************据数的计度速加入读****************% ;)'txt.zoryg'(daol=z_oryg ;)'txt.yoryg'(daol=y_oryg ;)'txt.xoryg'(daol=x_oryg 据数的仪螺陀入读**********% 据数入读****************************% ;']g-,0,0[=G 2^s/m8.9 位单%;24108.9=g 量矢度速加的生产力重% ;lla raelc ;lla esolc

基于四元数互补滤波的无人机姿态解算

基于四元数互补滤波的无人机姿态解算

基于四元数互补滤波的无人机姿态解算本文提出了一种基于四元数互补滤波的无人机姿态解算方法。

该方法通过对四元数的互补滤波来对无人机的姿态进行估计,实现了对无人机运动状态的实时监测和控制。

同时,本文还对该方法进行了实验验证,结果表明该方法具有较高的精度和实用性。

关键词:四元数;互补滤波;无人机姿态解算;估计;监测一、引言随着无人机技术的飞速发展,无人机在军事、民用等领域的应用越来越广泛。

然而,无人机的飞行控制与稳定性问题一直是无人机技术的瓶颈之一。

其中,无人机姿态解算技术是实现无人机飞行控制的关键技术之一。

无人机姿态解算指的是通过传感器采集的数据,对无人机的姿态进行估计和推算,以实现对无人机运动状态的实时监测和控制。

传统的无人机姿态解算方法主要基于欧拉角和旋转矩阵等数学模型,但这些方法存在着欧拉角奇异性和旋转矩阵计算复杂等问题,导致无法满足实际应用需求。

因此,近年来,越来越多的研究者开始探索基于四元数的无人机姿态解算方法。

四元数是一种具有四个实数分量的数学对象,可以用来表示旋转、姿态等信息。

相比于欧拉角和旋转矩阵等传统数学模型,四元数具有计算简单、不存在奇异性等优点,因此在无人机姿态解算领域得到了广泛应用。

而互补滤波是一种常用的信号处理方法,可以对多个信号进行加权平均,从而得到更加准确的结果。

因此,本文提出了一种基于四元数互补滤波的无人机姿态解算方法,以解决传统方法存在的问题。

二、基于四元数互补滤波的无人机姿态解算方法1.四元数表示姿态四元数可以用来表示旋转、姿态等信息,其具有简单的计算方式和不存在奇异性等优点。

因此,本文采用四元数来表示无人机的姿态信息。

四元数可以表示为:q = a + bi + cj + dk其中,a、b、c、d为实数分量,i、j、k为三个虚数分量,满足: i = j = k = ijk = -1四元数可以表示旋转、姿态等信息,其中,a为实部,b、c、d为虚部,表示旋转轴和旋转角度。

基于四元数互补滤波的无人机姿态解算

基于四元数互补滤波的无人机姿态解算

基于四元数互补滤波的无人机姿态解算
这种无人机姿态解算方法是基于四元数互补滤波(Quaternion Complementary Filter),它是一种用于计算3D无人机在空中姿态的高效算法。

四元数表达方式可以将任意三维方向和位移编码成四元数形式,因此可以以此为基础来计算无人机的姿态。

四元数互补滤波由两个主要过程组成:预测和更新。

在预测步骤中,算法通过使用加速度计和陀螺仪的读数来预测无人机的姿态,这帮助消除噪声,缩短响应时间等。

在更新步骤中,将传感器的观测与预测的比较,以校准预测中的偏差,以最终确定无人机的姿态。

四元数互补滤波算法使无人机能够实时准确地跟踪三维空间中的姿态变化,让无人机能够以更自信地方式操纵飞行活动。

基于四元数方法的姿态解算

基于四元数方法的姿态解算

基于四元数方法的姿态解算方法分析摘要:载体的姿态解算算法是实现捷联式惯性导航系统精确导航的核心技术之一。

分析了欧拉法、方向余弦法、四元数法求解姿态矩阵的优缺点,采用四元数法与方向余弦法两种解算方法分别计算载体姿态,两种方法的计算结果之差与理论真值比较以得到解算的相对误差,从而验证了四元数法的正确性和有效性。

最后,指出提高采样频率和采用高阶计算算法能进一步减小姿态解算误差。

数字化仿真与转台试验结果表明,本文提出的载体姿态解算法具有良好的实时性。

1引言捷联惯导是一种自主式的导航方法。

该方法将陀螺仪和加速度计直接安装在载体上,省掉机电式导航平台,利用计算机软件建立一个“数学平台”来代替机电平台实体[1]。

由于其结构简单且抗干扰能力强,目前已成为航空航天、航海、机器人、智能交通等领域的研究热点之一。

姿态解算是捷联式惯性导航系统的关键技术,通过姿态矩阵可以得到载体的姿态和导航参数计算需要的数据,是捷联式惯导算法中的重要工作。

载体的姿态和航向体现了载体坐标系与导航坐标系之间的方位关系,确定两个坐标系之间的方位关系需要借助矩阵法和力学中的刚体定点运动的位移定理。

通过矩阵法推导方向余弦表,而刚体定点运动的位移定理表明,定点运动刚体的任何有限位移都可以绕过定点的某一轴经过一次转动来实现。

目前描述动坐标相对参考坐标系方位关系的方法有多种,可简单地将其分为3类,即三参数法、四参数法和九参数法「1-2]。

三参数法也叫欧拉角法,四参数法通常指四元数法,九参数法称作方向余弦法。

欧拉角法由于不能用于全姿态飞行运载体上而难以广泛用于工程实践,且实时计算困难。

方向余弦法避免了欧拉法的“奇点”现象,但方程的计算量大,工作效率低。

随着飞行运载体导航控制系统的迅速发展和数字计算机在运动控制中的应用,控制系统要求导航计算环节能更加合理地描述载体的刚体空间运动,四元数法的研究得到了广泛重视。

本文全面分析了3种解算方法的特点,通过对比四参法与九参法的计算结果以验证四元数法的正确性和有效性,基于数值仿真和转台实验相结合的分析方法得到进一步减少姿态解算误差的有效途径,为捷联式惯性导航技术的工程实践提供参考。

基于四元数的姿态解算器或欧拉角解算器算法

基于四元数的姿态解算器或欧拉角解算器算法

基于四元数的姿态解算器或欧拉角解算器算法四元数姿态解算器和欧拉角姿态解算器都是用于表示三维空间中的旋转。

四元数是一种扩展了复数的数学概念,可以表示三维空间中的旋转,而欧拉角是一种用三个角度表示旋转的方法。

这两种方法都可以用于计算物体在三维空间中的姿态。

1. 四元数姿态解算器算法:
四元数由一个实部和一个虚部组成,可以表示为q = w + xi + yj + zk,其中w、x、y、z是实数,i、j、k是虚数单位。

四元数的运算包括加法、减法、乘法和共轭等。

四元数姿态解算器的算法步骤如下:
a) 初始化四元数q = [1, 0, 0, 0],表示初始时刻物体的姿态。

b) 读取陀螺仪的角速度数据,将其转换为四元数形式。

c) 使用四元数乘法更新物体的姿态。

d) 将更新后的四元数转换为欧拉角,以便进行其他计算或显示。

2. 欧拉角姿态解算器算法:
欧拉角是用三个角度表示旋转的方法,通常包括绕x轴的滚动角(roll)、绕y轴的俯仰角(pitch)和绕z轴的偏航角(yaw)。

欧拉角的运算包括加法、减法和乘法等。

欧拉角姿态解算器的算法步骤如下:
a) 初始化欧拉角θ = [0, 0, 0],表示初始时刻物体的姿态。

b) 读取陀螺仪的角速度数据,将其转换为欧拉角形式。

c) 使用欧拉角乘法更新物体的姿态。

d) 将更新后的欧拉角用于其他计算或显示。

需要注意的是,欧拉角在某些情况下可能会出现万向节死锁(gimbal lock)现象,这时需要使用四元数来表示旋转。

而在实际应用中,通常会将四元数和欧拉角结合起来使用,以便在不同场景下进行灵活切换。

四元数姿态解算

四元数姿态解算

四元数姿态解算1. 欧拉角法:欧拉角法(又称三参数法)是欧拉在1776 年提出来的,其原理是动坐标系相对参考坐标系之间的位置关系可以用一组欧拉角来描述。

解算欧拉角微分方程只需要解三个微分方程,与其它方法相比,需要求解的方程个数少一些但在用计算机进行数值积分时,要进行超越函数(三角函数)的运算,从而加大了计算的工作量。

用此方法求解得到的姿态矩阵永远是正交矩阵。

在进行加速度信息的坐标变换时变换后的信息中不存在非正交误差,得到的姿态矩阵不需要进行正交化处理。

当载体的纵摇角(俯仰角)为90 °时,将出现奇点,因此该方法不能进行全姿态解算,其使用存在一定的局限。

2. 方向余弦法:方向余弦法(称九参数法)用矢量的方向余弦来表示姿态矩阵的方法。

绕定点转动的两个坐标系之间的关系可以用方向余弦矩阵来表示。

方向余弦矩阵是随时间变化的,其变化规律的数学描述就是方向余弦矩阵的微分方程,方向余弦矩阵的即时值就可以通过求解该微分方程而得到。

该方法求解姿态矩阵避免了欧拉角法所遇到的奇点问题,可以全姿态工作。

但方向余弦矩阵具有九个元素,所以需要解九个微分方程,计算工作量较大,在工程上并不实用。

3. 三角函数法:三角函数法(又称六参数法)是将绕定点转动的两个坐标系之间的关系用三次转动等效地表示,将三次转动角度的正、余弦函数来表示姿态函数。

该方法虽然避免了欧拉角法的缺点,可以全姿态工作,但需要解六个微分方程,计算量也不小,工程上并不实用。

4. Rodrigues参数法:Rodrigues 数法是法国数学家Rodrigues 在1840 年提出的,该方法所描述的姿态是唯一的,并且具有简洁、直观的优点,其微分方程结构简单,无多余约束,计算效率优于当前广泛使用的四元数法。

由于Rodrigues 参数法存在旋转角有奇异值的缺陷,因此限制了其在工程上的应用。

Schaub 和Junkin 对该方法的缺陷,改进后仍然存在奇异值。

但是Rodriguess 参数法仍不失为解算姿态的有效途径。

mahony姿态解算算法

mahony姿态解算算法

mahony姿态解算算法1. 简介mahony姿态解算算法是一种常用的姿态解算算法,用于估计飞行器或机器人的姿态(即方向和角度)。

它可以通过读取传感器数据,如陀螺仪、加速度计和磁力计,来计算飞行器或机器人的姿态。

本文将详细介绍mahony姿态解算算法的原理、算法流程和应用领域。

2. 原理mahony姿态解算算法基于四元数(Quaternion)表示姿态。

四元数是一种扩展了复数的数学工具,可以用来表示旋转。

mahony姿态解算算法通过融合陀螺仪、加速度计和磁力计的数据,来估计飞行器或机器人的姿态。

3. 算法流程mahony姿态解算算法的流程如下:3.1 数据预处理首先,需要对传感器数据进行预处理。

对于陀螺仪数据,需要进行单位转换,并进行零偏校准。

对于加速度计和磁力计数据,需要进行单位转换,并进行坐标系转换。

3.2 估计姿态使用四元数表示姿态,初始化初始姿态为单位四元数。

然后,根据陀螺仪数据,利用四元数的微分方程更新姿态。

3.3 状态估计利用加速度计和磁力计数据,结合mahony姿态解算算法的状态估计公式,估计飞行器或机器人的姿态。

3.4 姿态校准由于陀螺仪存在零偏误差,需要进行姿态校准。

mahony姿态解算算法通过校准陀螺仪的零偏误差,提高姿态估计的精度。

4. 应用领域mahony姿态解算算法在飞行器和机器人领域有广泛的应用。

以下是一些应用领域的示例:4.1 无人机姿态控制无人机需要准确地估计自身的姿态,以便进行稳定的飞行和精确的控制。

mahony姿态解算算法可以通过融合陀螺仪、加速度计和磁力计的数据,实时估计无人机的姿态,从而实现精确的姿态控制。

4.2 智能机器人导航智能机器人需要准确地感知自身的姿态,以便进行导航和路径规划。

mahony姿态解算算法可以通过融合陀螺仪、加速度计和磁力计的数据,实时估计机器人的姿态,从而实现精确的导航和路径规划。

4.3 虚拟现实技术虚拟现实技术需要准确地追踪用户的头部姿态,以便实现沉浸式的虚拟现实体验。

捷联系统的四元数法姿态算法

捷联系统的四元数法姿态算法

捷联系统的四元数法姿态算法算法输入:物体的初始姿态,3轴陀螺仪不同时刻的Yaw,Pitch,Roll的角速度;算法输出:物体的当前姿态。

具体算法:1. 初始姿态的四元数(w,x,y,z)=(1,0,0,0) 命名为A2. 读取3轴陀螺仪当前时刻的Yaw,Pitch,Roll角速度,乘以上次计算以来的间隔时间,得到上一时刻以来(Yaw,Pitch,Roll)的变化量,命名为欧拉角b3. b是Tait-Bryan angle定义的欧拉角,将其转为四元数B4. A=A×B,做四元数乘法,即可得到当前姿态对应的新的四元数A5.重复2~4部,即可连续更新姿态6.将四元数A重新转换为Tait-Bryan angle形式的欧拉角a,就可以以直观的形式查看当前姿态核心算法1,欧拉角转四元数void Quaternion::FromEulerAngle(const EulerAngle &ea){float fCosHRoll = cos(ea.fRoll * .5f);float fSinHRoll = sin(ea.fRoll * .5f);float fCosHPitch = cos(ea.fPitch * .5f);float fSinHPitch = sin(ea.fPitch * .5f);float fCosHYaw = cos(ea.fYaw * .5f);float fSinHYaw = sin(ea.fYaw * .5f);w = fCosHRoll * fCosHPitch * fCosHYaw + fSinHRoll * fSinHPitch * fSinHYaw;x = fCosHRoll * fSinHPitch * fCosHYaw + fSinHRoll * fCosHPitch * fSinHYaw;y = fCosHRoll * fCosHPitch * fSinHYaw - fSinHRoll * fSinHPitch * fCosHYaw;z = fSinHRoll * fCosHPitch * fCosHYaw - fCosHRoll * fSinHPitch * fSinHYaw;}核心算法2,四元数转欧拉角EulerAngle Quaternion::ToEulerAngle() const{EulerAngle ea;ea.fRoll = atan2(2 * (w * z + x * y) , 1 - 2 * (z * z + x * x));ea.fPitch = asin(CLAMP(2 * (w * x - y * z) , -1.0f , 1.0f));ea.fYaw = atan2(2 * (w * y + z * x) , 1 - 2 * (x * x + y * y));return ea;}核心算法3,四元数乘法Quaternion Quaternion::Multiply(const Quaternion &b){Quaternion c;c.w=w*b.w -x*b.x -y*b.y -z*b.z;c.x=w*b.x +x*b.w +y*b.z -z*b.y;c.y=w*b.y -x*b.z +y*b.w +z*b.x;c.z=w*b.z +x*b.y -y*b.x +z*b.w;c.Normalize();return c;}次要的规范化算法:void Quaternion::Normalize(){float s=getS();w/=s;x/=s;y/=s;z/=s;}float Quaternion::getS(){return sqrt(w*w+x*x+y*y+z*z);}我的loop函数,算法的集成部分:Quaternion nowQ;void loop() {int intx, inty,intz;float pitch,roll,yaw;gyro.ReadGyroOutCalibrated_Radian(&pitch, &roll, &yaw); EulerAngle dt;dt.fRoll=roll;dt.fPitch=pitch;dt.fYaw=-yaw;Quaternion dQ;dQ.FromEulerAngle(dt);nowQ=nowQ.Multiply(dQ);count++;if (count>1000){EulerAngle nowG=nowQ.ToEulerAngle();Serial.print(nowG.fRoll/3.1415926535*180,11);//横滚Serial.print(",");Serial.print(nowG.fPitch/3.1415926535*180,11);//俯仰Serial.print(",");Serial.print(nowG.fYaw/3.1415926535*180,11);//偏航Serial.print(",");Serial.print(nowQ.getS(),11);//偏航Serial.println();count=0;}}四元数与欧拉角之间的转换在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。

基于四元数计算的机器人空间姿态控制方法

基于四元数计算的机器人空间姿态控制方法

基于四元数计算的机器人空间姿态控制方法随着机器人技术的不断发展,机器人应用越来越广泛。

机器人空间姿态控制方法是机器人技术中十分重要的一部分。

在基于四元数计算的机器人空间姿态控制方法中,四元数是最主要的数学工具,其运算方式与复数类似,但是拥有更强大的表达能力。

下面将介绍基于四元数计算的机器人空间姿态控制方法的基本原理。

一、四元数的基本概念四元数是一种与复数类似的数学工具,其表示形式为:$$q=q_0+q_1\boldsymbol{i}+q_2\boldsymbol{j}+q_3\boldsymbol{k}$$其中$q_0,q_1,q_2,q_3$为实数,$\boldsymbol{i},\boldsymbol{j},\boldsymbol{k}$为$i$、$j$、$k$三个虚数单位,它们满足以下运算法则:$$\boldsymbol{i}^2=\boldsymbol{j}^2=\boldsymbol{k}^2=\boldsymbol{ijk}=-1$$$$\boldsymbol{ij}=\boldsymbol{k},\boldsymbol{jk}=\boldsymbol{i},\boldsymbol{ki }=\boldsymbol{j},\boldsymbol{ji}=-\boldsymbol{k},\boldsymbol{kj}=-\boldsymbol{i},\boldsymbol{ik}=-\boldsymbol{j}$$四元数有加减乘除的运算法则,其中乘法运算是四元数中最关键的一部分。

四元数乘法的运算法则与复数相似,但是需要额外处理虚数单位$\boldsymbol{i},\boldsymbol{j},\boldsymbol{k}$ 的积,即$\boldsymbol{ij},\boldsymbol{jk},\boldsymbol{ki}$ 。

二、机器人空间姿态的表示机器人在三维空间中的运动状态可以用空间姿态表示。

基于四元数自补偿四旋翼飞行器姿态解算_马敏

基于四元数自补偿四旋翼飞行器姿态解算_马敏
0 b w b nb x b wy b wz
b
b wx 0 wzb b wy
T11 T12 T13 n C 记 b T21 T22 T23 ,故当已知姿态变换矩阵 T31 T32 T33
时,根据式(1)、式(5)可以求出当前姿态的四元数 以及欧拉角,其中四元数求解方程如下:
w w w 0
b z b y b x
b wx

( 1 0 )
( 6 )
其中的 wx 、 wy 和 wz 分别为姿态解算单元陀螺 仪测得的机体坐标系下x、y和z轴的角速度[5]。 设T为采样周期,那么四元数微分方程的一阶 龙格-库塔法计算式为: ( 1 1 ) 每个采样周期读取陀螺仪、加速度计和电子 罗盘的数据,对上式进行迭代运算,即可实现四 元数随时间的更新,进而求得3个姿态角。而在实 际中常值偏差是变化的,即在一次启动后随着陀 螺仪、加速度计和电子罗盘运转的时间的增长, 惯性测量器件的常值偏差也缓慢的变化到导航系 统精度无法允许的程度。 2.2 四元数自补偿算法研究 在传统的惯性导航系统中,惯性测量元件与 运载体固连,它们之间没有相对运动。四元数自 动补偿方法是将安装有陀螺仪、加速度计和电 子罗盘的惯导系统相对机体坐标系旋转,使惯性 器件常值偏差沿着机体系敏感轴方向呈周期性变 化。可有效抑制零位误差对系统的影响。 由于自补偿算法在三个轴方向具有相同的应
2 2 2 q0 q12 q3 q2 2(q1q2 q0 q3 ) 2(q1q3 q0 q2 ) b 2 2 2 Cn 2(q1q2 q0 q3 ) q0 q2 q3 q12 2(q2 q3 q0 q1 ) (5) 2 2 2 2(q1q3 q0 q2 ) 2(q2 q3 q0 q1 ) q0 q12 q3 q2

四元数用于飞机姿态解算

四元数用于飞机姿态解算

由上述矩阵L 可解算出三个姿态角
a rc ta n L L 1 1 2 1 a rc sinL 1 3 a rc ta n L L 3 2 3 3
奇异性问题:当
2
时,L110,L330
, 无法确定,姿态角解算出现奇异
姿态矩阵及姿态角的解算涉及超越函数计算,运算量较大
四元数理论及其应用
目 录 Contents
四元数的产生背景 四元数的定义和性质 四元数的应用举例 总结
四元数的产生背景
起源
发展
应用
Hamilton 于1843年 扩展复数到 更高维的层 次,指出矢 量之间的变 换
Maxwell将 四元数数量 部分和矢量 部分的分开 ,作了大量 矢量分析等
在飞行器 姿态解算 中的应用 ,来解决 大姿态角 的控制问 题
q0 q1i q2 j q3k q0 q1i q2 j q3k
q0 q1i q2 j q02 q12 q22
q3k q32
q* q2
2
q*q0q1iq2jq3k
q 2
q0 2q12q2 2q3 2
如果 q 1 ,则 q 1 q*
q
2
四元数的定义和性质
除法:分为左除和右除。对四元数 x , p 和 q
可同样求解,但 和 会出现突变,角度变化不平滑
若 2 ,cos0
0
0
1
Lsgnsin cos 0
sgncos sin 0
物理意义:第2次旋转使得第1次旋转和第3次旋转重合 无法具体确定 和 ,即有多组欧拉角与姿态四元数对应
四元数的应用举例(4) 大角度四元数与欧拉角的转换(姿态四元数 欧拉角) ①姿态小幅调整(如姿态稳定控制)

matlab姿态解算

matlab姿态解算

matlab姿态解算摘要:1.引言2.四元数法的概念和原理3.MATLAB 在姿态解算中的应用4.四元数法在MATLAB 中的实现5.结论正文:1.引言姿态解算,是指通过测量数据和算法计算,确定物体在三维空间中的位置和方向。

在众多姿态解算方法中,四元数法因其计算简便、精度高而被广泛应用。

本文将介绍四元数法的概念和原理,并以MATLAB 为例,说明如何在MATLAB 中实现四元数法进行姿态解算。

2.四元数法的概念和原理四元数(Quaternion)是一种数学概念,由爱尔兰数学家威廉·罗兰·汉密尔顿于1843 年发现。

四元数可以表示为一个实数和三个虚数的组合,通常记为q = a + bi + cj + dk,其中a、b、c、d 都是实数,i、j、k 是虚数单位。

四元数法的基本原理是将三维空间中的旋转矩阵表示为四元数,通过计算四元数的导数,可以得到物体在三维空间中的旋转速度,从而实现姿态解算。

3.MATLAB 在姿态解算中的应用MATLAB 是一种强大的数学计算软件,它可以方便地进行矩阵运算、线性代数计算等。

在姿态解算中,MATLAB 可以用来计算四元数表示的旋转矩阵,以及计算四元数的导数。

此外,MATLAB 还可以通过编写程序实现自动化的姿态解算,提高计算效率。

4.四元数法在MATLAB 中的实现在MATLAB 中实现四元数法进行姿态解算,首先需要安装MATLAB 的机器人工具箱。

机器人工具箱提供了丰富的函数和模块,用于实现机器人运动学和动力学计算。

在机器人工具箱中,可以通过以下步骤实现四元数法进行姿态解算:(1)创建一个机器人模型,包括机器人的关节、坐标系等。

(2)定义机器人的运动学参数,包括关节的旋转轴、转动角度等。

(3)计算机器人的正运动学解,得到机器人各关节的角度。

(4)将关节角度转换为四元数表示的旋转矩阵。

(5)计算四元数的导数,得到机器人的旋转速度。

(6)根据机器人的旋转速度和运动学参数,计算机器人的姿态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于四元数方法的姿态解算方法分析摘要:载体的姿态解算算法是实现捷联式惯性导航系统精确导航的核心技术之一。

分析了欧拉法、方向余弦法、四元数法求解姿态矩阵的优缺点,采用四元数法与方向余弦法两种解算方法分别计算载体姿态,两种方法的计算结果之差与理论真值比较以得到解算的相对误差,从而验证了四元数法的正确性和有效性。

最后,指出提高采样频率和采用高阶计算算法能进一步减小姿态解算误差。

数字化仿真与转台试验结果表明,本文提出的载体姿态解算法具有良好的实时性。

1引言捷联惯导是一种自主式的导航方法。

该方法将陀螺仪和加速度计直接安装在载体上,省掉机电式导航平台,利用计算机软件建立一个“数学平台”来代替机电平台实体[1]。

由于其结构简单且抗干扰能力强,目前已成为航空航天、航海、机器人、智能交通等领域的研究热点之一。

姿态解算是捷联式惯性导航系统的关键技术,通过姿态矩阵可以得到载体的姿态和导航参数计算需要的数据,是捷联式惯导算法中的重要工作。

载体的姿态和航向体现了载体坐标系与导航坐标系之间的方位关系,确定两个坐标系之间的方位关系需要借助矩阵法和力学中的刚体定点运动的位移定理。

通过矩阵法推导方向余弦表,而刚体定点运动的位移定理表明,定点运动刚体的任何有限位移都可以绕过定点的某一轴经过一次转动来实现。

目前描述动坐标相对参考坐标系方位关系的方法有多种,可简单地将其分为3类,即三参数法、四参数法和九参数法「1-2]。

三参数法也叫欧拉角法,四参数法通常指四元数法,九参数法称作方向余弦法。

欧拉角法由于不能用于全姿态飞行运载体上而难以广泛用于工程实践,且实时计算困难。

方向余弦法避免了欧拉法的“奇点”现象,但方程的计算量大,工作效率低。

随着飞行运载体导航控制系统的迅速发展和数字计算机在运动控制中的应用,控制系统要求导航计算环节能更加合理地描述载体的刚体空间运动,四元数法的研究得到了广泛重视。

本文全面分析了3种解算方法的特点,通过对比四参法与九参法的计算结果以验证四元数法的正确性和有效性,基于数值仿真和转台实验相结合的分析方法得到进一步减少姿态解算误差的有效途径,为捷联式惯性导航技术的工程实践提供参考。

(就是这部分内容需要程序解算,不会搞)2姿态矩阵的计算方法由于载体的姿态方位角速率较大,所以针对姿态矩阵的实时计算提出了更高的要求。

通常假定捷联系统“数学平台”模拟地理坐标系,即导航坐标系;而确定载体的姿态矩阵即为研究载体坐标系(6)和导航坐标系(E)的空间转动关系,一般用载体坐标系相对导航坐标系的三次转动角确定,习惯上俯仰角和偏航角用B和必表示,滚转角用Y表示。

目前主要的研究方法为:欧拉法、方向余弦法与四元数法。

图1为捷联式惯性导航原理图。

图1 捷联惯导导航原理图2. 1欧拉角微分方程式一个动坐标系相对参考坐标系的方位可以完全由动坐标系依次绕3个不同的轴转动的3个角度来确定。

如把载体坐标系作为动坐标系,把导航坐标系作为参考坐标系,则姿态角即为一组欧拉角,按一定的转动顺序得到导航坐标系到载体坐标系的关系。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡b EbZ b EbY bEbXωωωγγθγγθθγθγθψθγcos sin 0cos sin cos cos 0sin cos sin sin cos (1)根据欧拉角微分方程,由角速度可以求解3个姿态角。

欧拉角微分方程式只有3个,但每个方程()ωx x f x sin ,cos = 都含有三角函数的运算,计算速度慢,且方程会出现“奇点”,方程式退化,故不能全姿态工作。

2. 2方向余弦矩阵微分方程式当一个坐标系相对另一个坐标系做一次或多次旋转后可得到另外一个新的坐标系,前者往往被称为参考坐标系或固定坐标系,后者被称为动坐标系,他们之间的相互关系可用方向余弦表来表示。

方向余弦矩阵微分方程式可写为载体坐标系相对导航坐标系旋转角速度的斜对称矩阵表达式,方向余弦表是对这两种坐标系相对转动的一种数学描述。

b EbE b E b C C Ω= (2) 式中,b Eb Ω为载体坐标系相对导航坐标系旋转角速度的斜对称矩阵表达式。

用方向余弦法计算姿态矩阵,没有方程退化问题,可以全姿态工作,但需要求解9个微分方程()()ωx C x C ijij = ,计算量较大,实时性较差,无法满足工程实践要求。

2. 3四元数微分方程式四元数的数学概念是1843年由哈密顿首先提出的,它是代数学中的内容之一。

随着捷联式惯性导航技术的发展,为了更简便地描述刚体的角运动,采用了四元数这个数学工具,用它来弥补通常描述刚体角运动的3个欧拉角参数在设计控制系统时的不足。

四元数可以描述一个坐标系或一个矢量相对某一个坐标系的旋转,四元数的标量部分表示了转角的一半余弦值,而其矢量部分则表示瞬时转轴的方向、瞬时转动轴与参考坐标系轴间的方向余弦值。

因此,一个四元数既表示了转轴的方向,又表示了转角的大小,往往称其为转动四元数。

工程上一般运用范数为1的特征四元数,特征四元数的标量部分表示转角的一般余弦值,其矢量部分表示瞬时转轴n 的方向。

比如式(3)表示矢量R 相对参考坐标系旋转一个转角θ,旋转轴二的方向由四元数的虚部确定,γβαcos cos cos 、、表示旋转轴n 与参考坐标系轴间的方向余弦值。

''qRq R = (3)式中:R 为某矢量;γθβθαθθλλcos 2sincos 2sin cos 2sin 2cos321321====+++=p p p kp j p i p q四元数姿态矩阵微分方程式只要解4个一阶微分方程式组即可,比方向余弦姿态矩阵微分方程式计算量有明显的减少,能满足工程实践中对实时性的要求。

3基于四元数法的姿态解算验证四元数法的正确性和有效性是将算法应用于工程实践的首要前提,在算法正确性的前提下应保证解算误差符合工程实践的需要。

3. 1四元数法正确性和有效性的验证本文根据四元数法与方向余弦法两种解算方法进行计算,通过对比两种方法的计算结果,验证四元数法的正确性和有效性。

四元数法姿态矩阵计算的步骤如下:(1)初始四元数的确定,如式(4)其输人为初始的姿态角。

()()()()⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---+=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡2sin 2sin 2cos 2cos 2cos 2sin 2sin 2cos 2sin 2cos 2sin 2cos 2cos 2sin 2sin 2sin 2cos 2cos 2sin 2sin 2sin 2cos 2cos 2cos 0000000000000000000000000000321γθψγθψγθψγθψγθψγθψγθψγθψλp p p (4) (2)四元数标量部分与矢量部分321p p p 、、、λ的实时计算,输人信号为陀螺仪的数字输出信号dt ib tt t ωθ⎰∆+=∆,其中i 为z y x 、、。

计算方法采用二阶龙格库塔法,如式(5)()()()()()()()()()()⎪⎪⎩⎪⎪⎨⎧+⨯+=++Ω=Ω+=Ω=21212/K K T t q T t q Y T t K t q t T t q Y t q t K b b b (5) (3)姿态矩阵的实时计算,确定姿态矩阵bE C ,输入为()()()()n p n p n p n 321、、、λ。

计算公式如式(6)。

()()()()()()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--+-++--+--+--+=222123213223113223212223212313212322212222222p p p p p p p p p p p p p p p p p p p p p p p p p p p C bE λλλλλλλλλ (6)(4)载体姿态角计算,以确定姿态角γψθ、、,输人为()()()()()n T n T n T n T n T 3323131211、、、、计算公式如式(7)()()()()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧⎪⎪⎭⎫⎝⎛=⎪⎪⎭⎫ ⎝⎛=-=n T n T n T n T n T 3323111213arctan arctan arcsin θθθ (7)方向余弦法姿态矩阵的计算与四元数法的区别主要是姿态矩阵的描述不同,其描述如式(8)所示。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-++--=γθγψγθψγψγθψγθγψγθψγψγθψθθψθψcos cos sin cos cos sin sin sin sin cos sin cos sin cos cos cos sin sin sin cos sin sin sin cos sin cos sin cos cos b E C (8) 其解算方向余弦矩阵微分方程为Ω=bEbE C C ,得到方向余弦矩阵bE C 后可提取姿态角。

验证工作均以二阶龙格库塔法展开计算。

(1)针对单轴输入,两种解算方法的计算结果与数值理论值对比,比较其相对误差。

计算条件为:陀螺仪输出角速率。

=s /50,采样时间取为s T 01.0=、,该采样频率工程实践可行;各通道独立解算,初始角为90-,终止角为90。

以滚转通道为例,图2为四元数法解算结果,图3为方向余弦法解算结果。

单轴数值计算结果说明:根据上述的计算条件,单轴输人下,四元数法与方向余弦法的计算结果都是正确的,即姿态解算算法在单轴输入情况下是正确的;姿态解算的相对误差数量级为%102-左右,且四元数法与理论真值的相对误差更小。

(2)针对三轴输人,两种解算方法之差与数值理论值对比,以比较两种方法的相对误差;计算条件为:载体三通道陀螺仪输出为角速率s /60=ω;载体三通道陀螺仪输出为正弦角速率,幅值60=A ,频率Hz f 4.0=;采样时间s T 01.0=,工程实践可行;各通道独立解算,初始角均为 0同样以滚转通道为例,图4为匀速输人下两种方法的相对误差,图5为正弦输人下两种方法的相对误差。

三轴数值计算结果说明:三轴输入下,根据上述的计算条件,匀速与正弦输入下四元数法与方向余弦法的计算结果都是正确的,两种解算方法之差与理论真值比较的相对误差很小,相对误差的数量级为10-%左右。

因为正弦输人时每步计算的角增量小,所以相对误差要稍小些。

上述理论分析和数值仿真结果表明,四元数姿态解算算法在三轴输人情况下是正确的,且其计算精度高、理论完善,并具有良好的工程实践价值。

相关文档
最新文档