对于双欧拉角(正反欧拉角)的一些理解和思考

文章目录

    • 一、正反欧拉角定义
    • 二、相关文献阐述
    • 三、对正反欧拉角的思考
    • 四、参考代码
    • 五、参考文献

最近看到有人讨论“双欧拉角”或者“正反欧拉角”的问题,因为自己之前没听说过这个概念,为了避免无知,因此找了一些文献进行学习和理解。不过基于我目前的理解,个人认为用处不是很大。感兴趣的话,简单了解即可。

一、正反欧拉角定义

假设导航系为“东北天ENU”,载体坐标系为“右前上xyz”。参考严恭敏老师的文章双欧拉角用于飞控问题,可知正反欧拉角定义如下:

常规飞机姿态角即为正欧拉角:航向角是机头y轴与北向夹角、俯仰角是机头y轴与水平面夹角、横滚是z轴与y轴所在铅垂面的夹角。

反欧拉角的含义为:航向角是机右翼x轴与东向夹角、俯仰角是机右翼x轴与水平面夹角、横滚是z轴与x轴所在铅垂面的夹角。(对我来说,这样的姿态角定义非常陌生…)

对于常用的正欧拉角(姿态角),计算旋转矩阵时,旋转顺序为航向、俯仰、横滚。
在这里插入图片描述
因此当在俯仰接近±90°时,会出现奇异。此时航向和横滚无法分开,实际中会计算出来一些跳点。因此在俯仰接近或等于90度时,横滚和航向值无法进行表示。

二、相关文献阐述

由文献2可知,正欧拉角的旋转顺序为“航向-俯仰-横滚”,当俯仰为±90°时出现奇异值;反欧拉角的旋转顺序为“航向-横滚-俯仰”,当横滚为±90°时出现奇异值。但是由于两个坐标系之间的旋转矩阵是唯一的,因此矩阵中的对应项相等。
在这里插入图片描述

作者的正反欧拉角切换思路为:
在这里插入图片描述

在这里插入图片描述

三、对正反欧拉角的思考

参考文献[2]认为双欧拉角的导航精度相对于四元数方法更高,这个我不太理解。作者采用欧拉角微分方程进行更新,四元数法采用的是四元数微分方程更新。四元数法本身并不存在奇异值的问题,内部的所有计算并没有用到姿态角。将四元数折算成欧拉角,不过是给外部展示而已。我不太明白为什么双欧拉角法精度会更高。

此外,对于外部姿态角的展示,四元数法计算得到四元数,完全可以根据需求折算为正欧拉角或者反欧拉角,甚至其他欧拉角。

在严恭敏老师PSINS工具箱有根据旋转矩阵计算正反欧拉角的函数m2att。我尝试一下用PSINS中的函数计算正反欧拉角,显然当正、反欧拉角切换时,由同一个旋转矩阵计算出来的正反欧拉角的值是不同的。因此如下图所示,显示的姿态角会不连续,产生跳变。

由以上分析,对于使用正、反欧拉角,如果是出于精度目的,我并不觉得四元数方法精度较差;如果出于显示目的,我觉得姿态角切换会跳变,而且反欧拉角定义对常人来说比较难理解,对使用者来说也会有很大困难;如果是出于飞控目的,可以直接使用四元数做飞控,而不是姿态角。 虽然目前我并没有感受到它有用的地方,不过这种思维方式还是比较有趣且值得学习的。

在这里插入图片描述

四、参考代码

严恭敏老师PSINS工具箱,根据旋转矩阵计算正反欧拉角的函数m2att:

function [att, attr] = m2att(Cnb)
% Convert direction cosine matrix(DCM) to Euler attitude angles.
%
% Prototype: [att, attr] = m2att(Cnb)
% Input: Cnb - DCM from navigation-frame(n) to body-frame(b)
% Outputs: att - att=[pitch; roll; yaw] in radians, in yaw->pitch->roll
%                (3-1-2) rotation sequence
%          attr - in yaw->roll->pitch (3-2-1) rotation sequence
% Test:
%   att0=randn(3,1)/10; [Cnb,Cnbr]=a2mat(att0); att=m2att(Cnb); [~,attr]=m2att(Cnbr); [att0, att, attr]
%
% See also  a2mat, a2qua, m2qua, q2att, q2mat, attsyn, m2rv, incline.% Copyright(c) 2009-2014, by Gongmin Yan, All rights reserved.
% Northwestern Polytechnical University, Xi An, P.R.China
% 21/02/2008att = [ asin(Cnb(3,2));atan2(-Cnb(3,1),Cnb(3,3)); atan2(-Cnb(1,2),Cnb(2,2)) ];if nargout==2  % dual Euler anglesattr = [ atan2(Cnb(3,2),Cnb(3,3)); asin(-Cnb(3,1)); atan2(Cnb(2,1),Cnb(1,1)) ];end

五、参考文献

[1] 赵仁杰,胡柏青,吕旭,田佳玉.基于双欧拉角的UKF组合导航滤波算法[J].系统工程与电子技术,2021,43(07):1912-1920
[2] 吕维维, 程向红, 邱伟. 基于弹载捷联惯性导航系统精确导航的双欧拉全姿态方法[J]. 上海航天, 2019, 36(1):9.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1549674.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

matlab 欧拉角 方向余弦,旋转矩阵、欧拉角之间转换

学习过程中涉及欧拉角和旋转矩阵的转换,索性整理学习一下欧拉角四元数和旋转矩阵的概念以及matlab中的互相转换 本文摘自各大课本,博客,自己学习整理使用,侵删 MATLAB矩阵乘法从左到右依次相乘 用R表示旋转矩阵。 yaw(偏航) pitch(俯仰) roll(横滚)分别表示Z Y X轴的转…

欧拉角旋转

欧拉角是一种表示三维旋转的描述方法,欧拉角的计算需要借助旋转矩阵,关于旋转矩阵的知识可先参考之前的文章:3维旋转矩阵推导与助记 欧拉角旋转 静态定义 对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三…

欧拉角的理解

1 欧拉角概念 百度百科:欧拉角,用来确定定点转动刚体位置的3个一组独立角参量,欧拉角由章动角θ、旋进角(即进动角)ψ和自转角Φ组成。欧拉角为欧拉首先提出而得名。维基百科:Euler angles,莱昂…

四元数转欧拉角

四元数转欧拉角_在线测试工具 在线测试C程序工具 #include <stdio.h> #include <cmath>//四元数 struct Quaternion {double w, x, y, z; };//欧拉角 struct EulerAngles {double roll, pitch, yaw; };EulerAngles ToEulerAngles(Quaternion q) {EulerAngles angl…

详解 欧拉角与四元数

一、欧拉角 1.1 静态的定义 对于在三维空间里的一个参考系&#xff0c;任何坐标系的取向&#xff0c;都可以用三个欧拉角来表现。参考系又称为实验室参考系&#xff0c;是静止不动的。而坐标系则固定于刚体&#xff0c;随着刚体的旋转而旋转。 如图所示。设定xyz-轴为参考系…

四元数与欧拉角的转换

前言 一般情况下&#xff0c;每个领域都有自己默认是欧拉角定义。经典力学使用zxz&#xff0c;航空航天使用zyx/zxy。本文以无人机为对象讲解&#xff0c;使用zyx/zxy旋转顺序。为什么不同专业选用的欧拉角不同呢&#xff1f;一个是传统&#xff0c;另一重要的原因是不同的转序…

欧拉角转换四元数

欧拉角绕轴有x、y、z三个轴&#xff0c;旋转有不同的顺序。确定了不同的欧拉角矩阵。 针对绕轴的不同&#xff0c;欧拉角转换为四元数也不同。 绕x轴旋转 ϕ \phi ϕ角 四元数为 [ ( s i n ϕ 2 , 0 , 0 ) , c o s ( ϕ 2 ) ] T [(sin\frac{\phi}{2},0,0),cos(\frac{\phi}{…

欧拉角

欧拉角&#xff08;Euler Angles&#xff09;用来描述坐标轴的旋转。 坐标轴 原始坐标轴记为 x − y − z x-y-z x−y−z&#xff0c;旋转后坐标轴记为 X − Y − Z X-Y-Z X−Y−Z&#xff0c;坐标轴原点记为 O O O。 N ⃗ \vec{N} N 轴为 X Y XY XY与 x y xy xy两平面的交线&…

欧拉角及相关概念

欧拉角定义 欧拉角表示的是刚体的姿态变换。空间中的任意一点都可以用该点到对应坐标轴的垂直距离组成的三维向量描述&#xff0c;同理对某个物体的姿态&#xff0c;也可以用三个角度表示&#xff0c;三个角度分别为围绕对应坐标轴&#xff08;x,y,z&#xff09;旋转的…

欧拉角的概念理解和欧拉角旋转矩阵推导

欧拉角用来计算空间中刚体的旋转位置&#xff0c;目的是改变刚体的朝向. 具体来说,空间中有一个点p和一根轴k&#xff0c;点p绕轴k旋转θ角度到p,求p的坐标.这就是欧拉角要解决的问题. 只不过,欧拉角将1个点绕1根轴旋转1个角"转化为"1个点绕3个轴连续旋转3个角&quo…

欧拉角(Euler angles)

前言&#xff1a;本人也就英语4级水平&#xff0c;由于本篇中存在大量学术词汇&#xff0c;翻译时必然会有不当之处&#xff0c;原文可以在下面的链接中找到&#xff0c;具体意义各位可以自行斟酌 标红的部分是已发现存疑的翻译&#xff0c;也请各位指正。 维基百科-欧拉角 欧…

欧拉角(易理解)

欧拉角是什么 欧拉角是用来 唯一的 确定定点转动刚体位置的 三个一组的 独立角参量。 由章动量θ、旋进角&#xff08;即进动角&#xff09;ψ和自转角φ组成&#xff0c;为欧拉首先提出而得名。 通俗来讲的话有&#xff1a; eg&#xff1a;你去问路得到了两种回答 1 往东经…

欧拉角,轴角,四元数与旋转矩阵详解

入门小菜鸟&#xff0c;希望像做笔记记录自己学的东西&#xff0c;也希望能帮助到同样入门的人&#xff0c;更希望大佬们帮忙纠错啦~侵权立删。 目录 一、欧拉角 1、静态定义 2、欧拉角的表示 3、欧拉角表示的优缺点 4、欧拉角的万向节死锁&#xff08;静态不存在万向锁的问…

三星SAMSUNG CLP-320N 驱动

三星SAMSUNG CLP-320N 驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。有需…

三星Samsung ML-3470D 打印机驱动

三星Samsung ML-3470D 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统…

三星Samsung ML-2950ND 驱动

三星Samsung ML-2950ND 驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。有需…

救砖用三星i9300官方4.1.2固件刷机包下载港版和国行版 手机天堂-软件世界 | 手机天堂-软件世界...

说明&#xff1a;这些固件包是官方的4.1.2版本的固件线刷包&#xff0c;都是五件套系列&#xff0c;如果有需要五件套系列的可以下载下来备用了&#xff0c;包内有详细的刷机教程和root教程&#xff0c;下载下来解压出来&#xff0c;然后采用odin工具刷入即可。 一&#xff1a…

三星 linux 电视软件下载中心,三星 SF-565P 多功能一体机驱动下载(ver.1.0.156) 版For Linux...

三星 SF-565P 多功能一体机驱动下载(ver.1.0.156) 版For Linux (2012-07-11 16:09:05) 标签&#xff1a; 12.04 ubuntu 三星 打印机 驱动 it 这是一篇之前收藏的文章&#xff0c;是关于安装三星打印机驱动程序的问题&#xff0c;有使用三星打印机的可以参考一下 安装三星 SF-56…

三星Samsung CLP-325W 驱动

三星Samsung CLP-325W 驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。有需…

关于stm32推挽带有上下拉电阻的思考、IO口驱动能力是什么

1、发现推挽带有上下拉电阻 1.1、stm32手册 记忆中推挽是不需要上下拉的&#xff0c;没关注过&#xff0c;但是我真的理解上下拉吗&#xff0c;下图来自stm32f4的中文版和英文版的数据手册&#xff0c;没有翻译错&#xff0c;就是“推挽带有上下拉的能力”。 1.2、查找相关信…