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

合集下载

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

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

气象水文海洋仪器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*ω
其中,ω表示机体角速度矢量,表示机体围绕三个坐标轴的旋转速度。

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

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

基于互补滤波AHRS姿态解算算法总体介绍

基于互补滤波AHRS姿态解算算法总体介绍
绕参考坐标系的z轴转动 角
绕新坐标系的y轴转动 角
绕新坐标系的x轴转动 角
称为欧拉转动角
3.3 四元数 四元数姿态表达式是一个四参数的表达式。它的基本思路是:一个坐标
系到另一个坐标系的变换可以通过绕一个定义在参考系中的矢量 的单 次转动来实现。
四元数用符号q表示,它是一个具有4个元素的矢量,这些元素是该矢量 方向和转动大小的函数。
则称数q为四元数,
而q0称为四元数q的实部,
称 q i q j q k 为q的虚部。
1
2
3
四元数的共轭为
qq qiq jq k
0
1
2
3
1.2 四元数的示方式
1.3 四元数运算
二、东北天坐标系
东北天坐标系(表示为n系)是一种当地地理坐标系,原点位于导航系统 所处的位置P点,坐标轴指向北、东和当地垂线方向(向下),也有称为 北东地坐标系
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

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满足

加速度四元数解算姿态角

加速度四元数解算姿态角

加速度四元数解算姿态角今天咱们聊一聊“加速度四元数解算姿态角”这回事。

听着是不是有点儿高深?别急,咱们慢慢捋,给大家来点儿轻松幽默的解读。

首先呢,大家是不是都知道,现在各种高科技设备都需要知道自己的“姿态”——就是设备在空间里的方向或者倾斜角度,简单点儿说,手机、无人机、汽车导航系统,啥不都得知道自己“朝哪个方向”才能正常工作?不过呢,想要知道设备的姿态,可不是简单的“瞄一眼”,它得借助一些高科技的计算方法才能做到。

就像你走路的时候得依靠眼睛、耳朵和腿一样,设备要确定自己位置也得依赖一些技术工具。

其中最常见的一种工具就是加速度计。

你想,手机里那个小小的加速度计,其实就是通过测量设备受到的加速度来推算出设备的姿态变化。

简单说,手机平着放,正好就是垂直于地球表面;而你把手机倾斜一点儿,手机里的加速度计就能感受到地球重力对它的影响变化。

你可以把它想象成手机在悄悄地“测量”地心引力。

是不是挺神奇?这就是加速度计的基本原理。

但是,你要说仅凭这点数据就能精确算出姿态,那也太天真了!毕竟,设备不仅仅会受到重力的影响,还会有很多外界因素,像是运动时的震动、转动等等,光靠加速度计的单一数据,姿态估算可就不太靠谱。

于是,聪明的科学家们就想出了加速度四元数解算这个方法——对,就是四元数!听上去很“数学”,但其实用起来也没那么复杂。

四元数,这个名字一听就让人有点儿头大,但其实它就是一种数学工具,能帮助我们精确地描述空间中的旋转。

就像你想知道一个物体绕着某个轴旋转了多少度,四元数能给你答案。

要不然,你想象一下,假如我们要表示一个物体从“正前方”转到“侧面”,用角度来表达就有点麻烦,因为角度不够精确、复杂,容易出错。

而四元数可以帮你避开这些麻烦,直接给出一个准确的结果。

加速度四元数解算姿态角的过程就像是一个复杂又高效的“拼图游戏”。

通过加速度计测量到的重力方向数据,结合四元数数学模型,系统就能计算出当前设备的倾斜角度。

你可以把这个过程想象成你开车时,车内导航不断调整方向盘和路线,哪怕有点儿小晃动,导航也能快速修正。

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

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

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

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

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

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

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

假设刚体在时间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)则可以通过刚体的运动学方程和动力学方程来求解。

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

四元数算法在姿态矩阵解算中的研究

四元数算法在姿态矩阵解算中的研究

2019年第3期 信息通信2019(总第 195 期)INFORMATION&COMMUNICATIONS(Sum.N o 195)四元数算法在姿态矩阵解算中的研究陈国通,范圆圆,孙敬(河北科技大学信息科学与工程学院,河北石家庄050018)摘要:SIN S是直接利用计算机来模拟载体的姿态矩阵,然后根据模拟出的姿态矩阵解算出载体的姿态和航向信息。

姿 态矩阵的计算是捷联惯导算法中最重要的一部分,也是捷联式系统所特有的。

所以,对于姿态矩阵的研究是非常必要的,文章以四元数算法为基袖,主要研究整体-四元数和分解-四元数算法。

通过建立线性化误差模型,将这两种算法的精 度进行比较分析和仿真对比,结果表明分解-四元数算法比整体-四元数算法精度更高。

关键词:SINS.姿态矩阵;整体-四元数;分解-四元数中图分类号:TN927 文献标识码:A文章编号:1673-1131(2019)03-0046-03Research on Quaternion Algorithm in Attitude Matrix SolutionChen Guotong,Fan Yuanyuan,Sun Jing(College of Information Science and Engineering,Hebei University o f Science and Technology,Shijiazhuang050018, China) AbstractrSE^S directly uses the computer to simulate the attitude matrix o f t he earner,and then calculates the attitude and head­ing information o f t he carrier based on the simulated attitude matrix.The calculation of t he attitude matrix is the most important part o f t he strapdown inertial navigation algorithm and is unique to the strapdown system.Therefore,the study of attitude matrix is very necessary.Based on the quaternion algorithm,this paper mainly studies the whole-quaternion and decomposition-quat­ernion algorithm.By establishing a linearized error model,the accuracy o f the two algorithms is compared and analyzed.The results show that the decomposition-quaternion algorithm is more accurate than the global-quaternion algorithm.K ey words:SINS;attitude matrix;whole-quaternion;decomposition-quaternion〇引言捷联惯导系统(strap-down inertial navigation system,SINS)是惯性导航系统(Inertial navigation system,INS)的一[6] SLIMANI K,BENEZETH Y,SOUAMI F.Human interac­tion recognition based on the co-occurrence o f visual words[C]//Proceedings o f IEEE Conference on Computer Msionand Pattern Recognition Workshops.Columbus,Ohio,U SA: IEEE,2014:461-466.[7] NAM G YU CHO,SE HO PARK,JEONG SEON PARK.Compositional interaction descriptor for human interaction recognitiont^.Neurocomputing,2017,(267) 169-181.[8] JUNEJO I,DEXTER E,LAPTEV I.Cross-view action rec­ognition from temporal self-similarities[C]//European Con­ference on Computer Vision.Berlin:Springer-Verlags2008: 293-306.[9] WRIGHT J,YANG A,GANESH A.Robust face recogni­tion via sparse representation[C]//IEEE Trans,on Pattern Analysis and Machine Intelligence.IEEE,2009:354-371. [10] HUANG Zhi-wu,WANG Rui-pings SHAN Shi-guang.Facerecognition on large-scale video in the wild with hybrid Eu-clidean-and-Riemannian metric learning [J].Mixture Re­search Article Pattern Recognition,2015,48(10): 3113-3124.[11] VAHDAT A,G A O B,RANJBAR M.A discriminative keypose sequencemodel for recognizing human interactions[C]/ /Proceedings o f t he IEEE International Conference on Com­puter Vision Workshops.IEEE,2011:1729-1736.[12] RYOO MS.Human activity prediction:early recognition ofongoing activitiesfrom streaming videos[C]//Proceedings of 种。

四旋翼飞行器 四元数和欧拉角的关系 与 姿态解算

四旋翼飞行器 四元数和欧拉角的关系 与 姿态解算

四旋翼飞行器四元数和欧拉角的关系与姿态解算下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!四旋翼飞行器:四元数与欧拉角的关系与姿态解算1. 引言四旋翼飞行器是一种常见的无人机类型,其姿态(即飞行器的方向)通常由欧拉角或四元数来描述。

四元数 四旋翼飞行器姿态解算

四元数 四旋翼飞行器姿态解算

四元数四旋翼飞行器姿态解算四元数是用来描述空间旋转的数学工具,在飞行器姿态解算中具有重要的应用。

四旋翼飞行器是一种采用四个电动马达驱动的多旋翼飞行器,通过调节四个马达的转速实现飞行器的姿态控制。

在四旋翼飞行器的飞行过程中,需要实时获取飞行器的姿态信息,以便进行飞行控制。

四元数作为一种有效的姿态描述方法,被广泛应用于四旋翼飞行器的姿态解算中。

四元数是一种具有四个元素的数学结构,通常表示为q = w + xi + yj + zk,其中w、x、y、z分别表示四元数的实部和三个虚部。

四元数可以表示为一个旋转矩阵,通过四元数乘法运算可以实现空间旋转的复合。

在四旋翼飞行器的姿态解算中,通常使用四元数来描述飞行器的姿态状态。

四旋翼飞行器的姿态解算涉及到四元数的插值、积分和旋转等计算。

在飞行器的姿态控制过程中,需要将传感器获取的姿态信息进行融合处理,得到飞行器的姿态状态。

四元数插值可以实现飞行器姿态信息的平滑过渡,提高飞行的稳定性和平顺性。

四元数积分可以实现对飞行器姿态状态的更新,保持飞行器的正确姿态。

四元数旋转可以实现飞行器的姿态控制,使飞行器按照指定的姿态进行飞行。

在四旋翼飞行器的姿态解算中,需要考虑传感器误差、系统延迟和控制精度等因素。

传感器误差会影响到飞行器的姿态感知精度,需要通过滤波算法和校准方法来降低误差影响。

系统延迟会导致飞行器姿态状态的延迟更新,需要通过合理的控制策略来补偿延迟效应。

控制精度是指飞行器姿态控制的准确性,需要通过优化控制算法来提高飞行器的稳定性和精确性。

总的来说,四元数是一种有效的姿态描述方法,被广泛应用于四旋翼飞行器的姿态解算中。

通过四元数插值、积分和旋转等计算,可以实现对飞行器姿态状态的准确解算和控制。

在实际的飞行应用中,需要综合考虑传感器误差、系统延迟和控制精度等因素,全面提高飞行器的姿态解算精度和控制性能。

四旋翼飞行器的姿态解算是飞行控制领域的重要课题,将带来对未来飞行器飞行性能的提升和发展。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二、基于四元数互补滤波的无人机姿态解算方法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. 四元数姿态解算器算法:
四元数由一个实部和一个虚部组成,可以表示为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)现象,这时需要使用四元数来表示旋转。

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

mpu6050四元数姿态解算结果

mpu6050四元数姿态解算结果

MPU6050是一款常用的三轴陀螺仪和三轴加速度计模块,它可以用于测量和解算飞行器的姿态角,是无人机和其他飞行器项目中常用的传感器之一。

在解算飞行器的姿态角时,使用四元数解算是一种常见且有效的方法。

本文将介绍MPU6050四元数姿态解算的结果,包括其原理、算法和实际应用。

一、MPU6050的工作原理1.1 三轴陀螺仪MPU6050的三轴陀螺仪可以测量飞行器围绕X、Y、Z轴的角速度,其工作原理是利用霍尔传感器测量角速度对应的旋转矢量。

通过积分得到飞行器当前的姿态角速度。

1.2 三轴加速度计MPU6050的三轴加速度计可以测量飞行器在X、Y、Z轴的加速度,其工作原理是利用加速度对应的位移变化,计算得到飞行器的加速度。

1.3 传感器融合MPU6050将三轴陀螺仪和三轴加速度计的数据进行融合,通过卡尔曼滤波等算法得到更为准确的姿态角度。

二、四元数解算姿态角2.1 四元数原理四元数是一种数学工具,用来描述旋转和姿态变换。

在飞行器姿态控制中,通常使用四元数来表示飞行器当前的姿态角。

四元数可以简洁地表示旋转,且在插值和积分运算中具有优势。

2.2 四元数解算算法MPU6050使用四元数解算算法,根据三轴陀螺仪的角速度数据来更新四元数,从而得到飞行器当前的姿态角。

四元数解算算法运用了加速度计和磁力计的数据,使得姿态角的计算更为准确和稳定。

2.3 解算结果MPU6050四元数解算的结果是飞行器当前的姿态角,包括俯仰角、横滚角和偏航角。

这些角度是飞行器在空间中的姿态,对于飞行器的稳定飞行和姿态控制具有重要意义。

三、MPU6050四元数姿态解算的实际应用3.1 无人机姿态控制在无人机项目中,MPU6050四元数姿态解算可以用于无人机的姿态控制。

通过实时更新无人机的姿态角,可以使无人机保持稳定飞行和响应操控信号。

3.2 姿态稳定相机MPU6050四元数姿态解算还可以应用在姿态稳定相机上。

通过获取相机的姿态角,可以使相机在运动中保持稳定,获得更加清晰和稳定的图像。

一种基于四元数的手机姿态实时重构算法研究

一种基于四元数的手机姿态实时重构算法研究

一种基于四元数的手机姿态实时重构算法研究一种基于四元数的手机姿态实时重构算法研究摘要:随着智能手机市场的迅速发展,基于手机姿态实时重构算法的研究变得越来越重要。

本文提出一种基于四元数的手机姿态实时重构算法,通过采集手机传感器的数据并使用四元数进行姿态估计和重构,以实现手机姿态的实时检测和跟踪。

实验结果表明,该算法在计算速度和精度方面具有良好的性能,可以有效地应用于手机姿态的实时重构领域。

关键词:四元数;手机姿态;实时重构;姿态估计;检测与跟踪一、引言手机姿态的实时重构是一种基于手机传感器的算法,可以准确地估计和重构手机在三维空间中的姿态。

这对于许多应用来说非常重要,如增强现实、虚拟现实和运动追踪等。

传统的手机姿态重构算法通常使用欧拉角或旋转矩阵来描述手机的姿态,但这些方法存在一些问题,如万向锁和奇点问题。

为了解决这些问题,本文提出了一种基于四元数的手机姿态实时重构算法。

二、四元数概述四元数是一种复数扩展的数学结构,可以用来表示旋转或姿态变换。

它由一个实部和三个虚部组成,可表示为q = s + xi + yj + zk,其中s为实部,(x, y, z)为虚部的三个分量。

在本算法中,我们采用四元数来表示手机的姿态。

四元数具有很多优点,如不会出现万向锁问题和奇点问题,并且在计算上更加简单高效。

三、基于四元数的手机姿态算法本算法的流程如下:1. 采集手机传感器的数据,包括加速度计、陀螺仪和磁力计等。

2. 对传感器数据进行预处理,例如校准、降噪和滤波等,以提高数据质量。

3. 根据传感器数据计算手机的姿态估计值。

首先,使用加速度计计算手机的重力方向向量,然后使用磁力计计算手机的磁场方向向量。

通过计算两个方向向量的叉乘得到手机的旋转轴,再通过计算两个方向向量的点乘得到手机的旋转角度。

最后,根据旋转轴和旋转角度计算出四元数表示的手机姿态。

4. 使用四元数进行姿态的重构。

将上一步得到的四元数与当前的传感器数据进行融合,得到最新的手机姿态。

四元数姿态解算

四元数姿态解算

四元数姿态解算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图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一、四元数的基本概念四元数是一种与复数类似的数学工具,其表示形式为:$$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) 大角度四元数与欧拉角的转换(姿态四元数 欧拉角) ①姿态小幅调整(如姿态稳定控制)
  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=,工程实践可行;各通道独立解算,初始角均为同样以滚转通道为例,图4为匀速输人下两种方法的相对误差,图5为正弦输人下两种方法的相对误差。

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

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

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

相关文档
最新文档