四元数解算姿态完全解析及资料汇总.docx
《四元数解算姿态完全解析及资料汇总.docx》由会员分享,可在线阅读,更多相关《四元数解算姿态完全解析及资料汇总.docx(20页珍藏版)》请在三一办公上搜索。
1、四元数完全解析及资料汇总本文原帖出自匿名四轴论坛,附件里的资源请到匿名论坛下载:感谢匿名的开源分享,感谢群友的热心帮助。说什么四元数完全解析其实都是前辈们的解析,小弟真心是一个搬砖的,搬得不好希望大 神们给以批评和指正,在此谢过了。因为本人是小菜鸟一枚,对,最菜的那种菜鸟所以对四元数求解姿态角这么一个在大神眼里简单的算法,小弟我还是费了很大劲才稍微理解了那么一点点,小弟搬砖整理时也是基于小弟的理解和智商的,有些太基础, 有些可能错了,大牛们发现了再骂过我后希望能够给与指正哈。好,废话到此为止,开始说主体。四元数和姿态角怎么说呢先得给和我一样的小菜鸟们理 一理思路,小鸟我在此画了一个“思维导图”
2、(我承认我画的丑),四元数解算姿态首先分为 两部分理解:第一部分先理解什么是四元数,四元数与姿态角间的关系;第二部分要理解怎么 由惯性单元测出的加速度和角速度求出四元数,再由四元数求出欧拉角。四元数定义*图1渣渣思维导图在讲解什么是四元数时,小弟的思维是顺着说的,先由四元数的定义说起,说到四元数与 姿态角间的关系。但在讲解姿态解算时,小弟的思维是逆向的,就是反推回来的,从欧拉角一 步步反推回到惯性器件的测量数据,这样逆向说是因为便于理解,因为实际在工程应用时和理 论推导有很大差别。实际应用时正确的求解顺序应该为图1中序号顺序,即1-2-3-但在笔者讲解姿态求解时思路是如图2的图2逆向讲解思路大
3、家在看四元数时最好结合着代码一块看,小弟看的是匿名四轴的代码,感觉写的非常好 也非常清晰,粘出来大家一块观摩。红色部分是核心代码,总共分为八个步骤,和图1中的八 个步骤是一一对应的。讲解介绍时也是和代码对比起来讲解的。代码可以去匿名官网上下载, 都是开源的,不是小弟的,所以小弟不方便加在附件中。力加速度归一化();取四元数的等效余弦矩阵中的重力分量(V_gravity);量叉积得出姿态误差V_error = acc % V_gravity;误差进行积分V_error_I += V_error * Ki;(补滤波,姿态误差补偿到角速度上,修正角速度积分漂移Gyro += V_error * Kp
4、 + V_error_I;阶龙格库塔法更新四元数(Gyro, deltaT);元数归一化();元数转欧拉角(&, &, &;好的,下面搬砖开始!。嘿咻嘿咻关于四元数的定义摘自秦永元的惯性导航,里面有非常好的讲解,大家可以直接看绪 论和第九章就可以。下面我粘贴了部分原文,粘贴的比较多比较详细,应为本人比较笨还爱较 真,所以按本人的风格就要详尽一点,大牛们都可以自动忽略。四元数定义、表达方式及运算方法摘自惯性导航-秦永元P289-2929.2姿态更新计算的四元数算法设由运载体的机体轴确定的坐标系为知惯导系统所采用的导航坐标系为”, 则由氏系到找系的坐标变换矩阵侃称为运载体的姿态矩阵B姿态更新是指根
5、据惯 性器件的输出实时计算出G矩阵,由于神系和8系均为直角坐标系,各触之间始 鲤保持直角,所以可将坐标系理解成刚体,当只研究两个坐标系间的角位置关系时,可对一个坐标系作平移,使其原点与另一个坐标系的京点重合。因此,两坐标系 间的空间角位置关系可理解成刚体的定点转动从这一基本思想出发,可获得姿态 更新的四元数算法及旋转矢髭算法本节详细介绍四元数更新算法.% 2-1四元数L四元数定叉顾名思义,四元数是由四个元构成的数:Q(0gi 应,齐)=如 + Qii 十 qij + qk【9. A I)其中如是实数,7土既是互相正交的单位向量,又是虚单位 VL具体 规定体现在如下四元数乘法关系中】i 1 =
6、I, J = 1 *fc jfc = 11- t,jk = i,ki = j I(933)j k j = i,ik = j J式中表示四元数乘法上述关系可叙述为十相同单位向量作四元数乘时呈虚单位特性;相异隼位向量 作四元数乘时呈单位向量叉乘特性。所以四元数既可看作四维空间中的一个向量, 又可看作一个超夏数,(1) 矢量式Q=如十q(策2,3)其中,如称四元数Q的标量部分,q称四元数。的矢量部分.对照式(9. 2. 1),可看 出g是三维空间中的一个向量,(2) 复数式G =如 + 如,+ qj + 73*9- 2, 4)可视为一个超复数,Q的共辄复数记为?* =即? q?j 一 g5*(9.
7、2.5)Q称为。的共掘四元数.(3) 三角式Q = cos 芝 + wsin %(9. 2. 6)式中,日为实数仲为单位向量。(4) 指数式Q =已43. 2 7)B和&同上-跚9(5) 矩阵式Q= .3.2* 8)J?3-3.四元敷的大1范敷四元数的大小用四元数的范数来表示I乏3 g 十 4 +(9, 2.9)II Q II =就 + 术若II 011 =1,则Q称为规范化四元数。4. 四元数的运算加德乘除1)加法和减法设Q = % + gJ + 如,+ %kp =加 + Pli + pzi + MII度上 P = 3()1.+ 31 土 pi)f 十(宴.M)$ 十 *3如),十(内如+如
8、如十?3/1 少L%)j十璀u9,尚如+ P面P而)执 =&| + 口1上式写成矩阵形式:其中,的指成形式为:第一列是四元数F本身,第一行是P的共鲍四元数P* 的转置,划去第一行和第一列余下的部分,-何PiMVP = 任 prj p(9+ 2- 15)-一户nP?fl称为MCP)的核,是由四元数P的元构成的反对称矩阵,同理M(Q)的校为?&啊一如rVj = 由于M3)和AT(P)的核不同,所以P? = Af(P)QU AT(P)Q = QP上式说明四元数乘法不满足交换律。四元数乘法满足分配律和结合律|尸(Q + X) = Pg)Q + F&(9* 2-18)PQJt=(9. 2 19)3)除法
9、一一求逆如果尹虐)丑=1,则称X为P的逆,记为J? = PT,或祢尹为R的逆,记为P =I矿,根据范数定义和式(9.2.12)P P =3。+ / + W + 京M) 0 - pi pd 一 P.)pi +祈+舟+树=IIP II.所以,咆j鬲f = 1,根据上述关于逆的定义,借叩为P的逆,即P = T局教)好,关于四元数定义就搬这么多,其他的大家去附件下载惯性导航的pdf自己看吧。下面开始搬四元数与姿态解算关系的。嘿咻嘿咻从上面我们知道了四元数的定义,可这四个数和我们要求的三个姿态角有什么关系呢下面 是详细的推导,同样摘自惯性导航-秦永元P292-297。四元数与姿态阵间的关系摘自惯性导航-
10、秦永元P292-2979- 2-2四元数与姿态阵间的关系设有参考坐标系正,坐标轴为里标轴方向的单位间重为心刚体相对X系作定点转动,定点为。,取坐标系&与刚体固联系的坐标轴为工、队 给坐标轴方向的单位向量为7奴假设初始时刻B系与&系重合。为了便于分析 刚体的空间超位置,在刚体上取一点转动点D至该点引位置向量。4,如图 9, 2,1所示.则该位置向量的空间位置实际上描述了刚体的空间角位置。设刚体以3 =心设g盘+叫A相对R系旋 转,初始时刻位置向量处于OA = r,经过时间f 后位置向量处于OA =r根据欧拉定理,仅考 虑刖体在。时刻和时刻的南位首时,刖体从 /位置转到4位置的转动可等效成绕瞬勘U
11、 (单位向最)转过P角一次完成B这样,位置向最 做圆锥运动M和/T位于同一圆上/和/位于 同一圆锥面上下面分析/与的关系.在圆上取一点B, 使/AOF=9。由图得OQ =(,, u)u(7A =r OQf = r 一 (r *图9. 2.1刖体的等效旋转O B =w X O A=u X r (r * 心n x u = X r OA! =OfAc& += rco3 (r * ii)ucos + X rsinff所以rf =OQ + OX = rcos + (I coM)X (r * 十 M X rsintf 由二重矢积计算公式:u X (u X r) =u(u * r) (u - u)f(r *
12、 u)u r即(r u)u = r -H w x (u X r所以rf =rcosQ + (1 cosfl) Qr + xi X (Xr)+“X rsinE=+ it Xsin + ( cosm X (w X r) 将上式向&系内投影irtx =2 + (w X r)电血04(1 cos)fH X (w X)记又根据又乘关系表达式:则( X顼=瞄X (u X r)R = / * W所以r,R -rK + UrRin& + (1 一 cost?)C/ - UrRh nn !,l + 2Usin -roos 5 + 2sinz rU * U(9. 2. 25)I) = f - 2(7$in -co
13、s g + Zsirp V VEar,R = Dfr则式(9-2. 24)可写成;(9. 2- 26)记初始时刻的刚体固联坐标系为为1由于初始时刻刚体固联坐标系与参考坐 标系更合,所以rR 河(9. 2 27而在转动过程中,位置向量和b系都同湖体固联,所以位置向量和&系的相对角位 置始姓不变,即有A = r(i(9.N28)将式(9.2.28)代氏式(9.2. 27),得rK = Tfi19.2.29)桐式9. A 纫代入式(9.2-跚,得r,R =该式说明。即为力系至R系的坐标变换距阵,根据式(9, 2. 25)和式(9.2, 23C? = /) 7 + geos % 4- 2sinz *
14、U (9. 2. 30a) Zwrsin2 girtsin2一 W + g-Zmsinz (F +mwslnu2nsinE gmwsin(mJ + Z:i)sjn(93. 30b)并以我w】w八火构造四元数;(9. 2- 31)Q =s + %标+齐人+勺相=cos y + (/ia + mjq + 7?lfl)sin %= cosb . R ey + SLD (9. 2- 32).则可得如下结论:四元数0 = CG5 g+M电诸f描述刖体的定点转动,即当只关心6系相对 R系的角位置时,可认为6系是由R系经过无中间过程的一株性等效旋转形成的, Q包含了这种等效旋转的全部信息:为旋转瞬轴和旋转方
15、向t为转过的角度,(2)四.元数可确定出&系至R系的坐标变换貌阵。将式O- 2-31)代人 式(9; 2, 30),442(。沔1 + Mi2 Si 如Ms)(9. 2. 33)-1 - 2必 + 扇) 2【们匝+ q瞄) 2(?3 4奶)由于DQ H FF+疏+加心 号+澎十麻十/)辨 %=,所以可进 步推得如下结论:n描述刚体施转的四元数是规范化四元数,(2)式(* 233)可写成:谯 + q;信一vi如+如)-2(彳1引一如如)Z 丁,主arctanl 矿坦主=arctan航向角和横禳角的真值按表9. 2,1和表乩幻2确定,9.2 1航向角W真值表TiaTn斐f Q+T-90*+曾主啾主
16、4-180*重主一 18b表9.横淳篇,真值表丁4:Th+十-160上述分折说明:如果表征h系至&系的旋转四元数Q已珊定,则按式(9.2.33) 或式93*34)可计算出姿态阵G,再按式(93.41)和表93.1及表93*2可确定 出运载体的航向角、俯仰角和横液帛,因此,四元数Q包含了所有的姿态信息,旋 联惯导中的姿态更新实质匕是如何计算四元数呃,粘了这么多其实就是为了想知道推导过程小伙伴好理解,真正有用的就是()这个公 式。这个公式把四元数转换成了方向余弦矩阵中的几个元素,再用这几个元素转换为欧拉 角。就求解除了姿态!确+砧一磋一gl1-2IX 应 yoCf =2(47QS + q奶)-2(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四元数解算 姿态 完全 解析 资料 汇总

链接地址:https://www.31ppt.com/p-5085270.html