欧拉角表示的旋转相乘计算

在Eigen中用欧拉角表示旋转时,单次旋转多个角度和多次旋转单个角度的结果是不同的。具体试验如下:

在VS2017中用Eigen分别初始化两个欧拉角旋转:

第一个:欧拉角旋转为(M_PI / 2, 0, M_PI / 4)

Eigen::Vector3d rotation_eulerAngle1(M_PI / 2, 0, M_PI / 4);    // 欧拉角	ZYX
Eigen::AngleAxisd rollAngle1(Eigen::AngleAxisd(rotation_eulerAngle1(2), Eigen::Vector3d::UnitX()));	// X
Eigen::AngleAxisd pitchAngle1(Eigen::AngleAxisd(rotation_eulerAngle1(1), Eigen::Vector3d::UnitY()));	// Y
Eigen::AngleAxisd yawAngle1(Eigen::AngleAxisd(rotation_eulerAngle1(0), Eigen::Vector3d::UnitZ()));	// Z

第二个:欧拉角旋转为(M_PI / 2, 0, 0)和(0, 0, M_PI / 4)相乘,相乘结果用旋转向量表示(这里无所谓,因为后面我要用到旋转向量)

Eigen::Vector3d rotation_eulerAngle1(M_PI / 2, 0, M_PI / 4);    // 欧拉角	ZYX
Eigen::AngleAxisd rollAngle1(Eigen::AngleAxisd(rotation_eulerAngle1(2), Eigen::Vector3d::UnitX()));	// X
Eigen::AngleAxisd pitchAngle1(Eigen::AngleAxisd(rotation_eulerAngle1(1), Eigen::Vector3d::UnitY()));	// Y
Eigen::AngleAxisd yawAngle1(Eigen::AngleAxisd(rotation_eulerAngle1(0), Eigen::Vector3d::UnitZ()));	// ZEigen::Vector3d rotation_eulerAngle2(0, 0, 0);    // 欧拉角	ZYX
Eigen::AngleAxisd rollAngle2(Eigen::AngleAxisd(rotation_eulerAngle2(2), Eigen::Vector3d::UnitX()));	// X
Eigen::AngleAxisd pitchAngle2(Eigen::AngleAxisd(rotation_eulerAngle2(1), Eigen::Vector3d::UnitY()));	// Y
Eigen::AngleAxisd yawAngle2(Eigen::AngleAxisd(rotation_eulerAngle2(0), Eigen::Vector3d::UnitZ()));	// ZEigen::Matrix3d rotation_mat1; 
rotation_mat1 = rollAngle1 * pitchAngle1 * yawAngle1;Eigen::Matrix3d rotation_mat2;
rotation_mat2 = rollAngle2 * pitchAngle2 * yawAngle2;Eigen::AngleAxisd vec;  // 旋转向量
vec = rotation_mat1 * rotation_mat2;

旋转结果使用opencv的aruco.hpp模块,首先将相机坐标系沿z轴平移1m,再分别经过上面两个旋转后使用cv::aruco::drawAxis()函数显示在图像中。

aruco模块的相机坐标系如图所示:

在上述两种欧拉角下,相机坐标系的变换结果分别如下(其中红色是x轴,绿色是y轴,蓝色是z轴):

  

分析结果可以看出,

当欧拉角为(M_PI / 2, 0, M_PI / 4)时,旋转轴分别为相机坐标系的轴;

而当欧拉角为(M_PI / 2, 0, 0)和(0, 0, M_PI / 4)时,旋转轴分别是每次旋转之后的坐标系对应的轴。

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

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

相关文章

动态欧拉角与静态欧拉角的区别

看了网上好多的讲解,讲的都不是特别清晰,让人有一种很懵懵的感觉,感觉懂了,又貌似没懂的奇怪感觉,读了那么多的水文,大多都是内容差不多,好多文章之中错误百出,都是稍微提了一点,没有详细对比二者的区别,很难让人从心里真正明白其中含义.由于项目需要,这里对于动态欧拉角和静态…

旋转矩阵、欧拉角

旋转矩阵、欧拉角 注:下面为学习空间机器人技术系列课程笔记,加上一些自己的整理,方便复习。 一、旋转矩阵的引出 下面坐标系0的基向量为 ( x 0 , y 0 ) (x_{0},y_{0}) (x0​,y0​),坐标系1的基…

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

文章目录 一、正反欧拉角定义二、相关文献阐述三、对正反欧拉角的思考四、参考代码五、参考文献 最近看到有人讨论“双欧拉角”或者“正反欧拉角”的问题,因为自己之前没听说过这个概念,为了避免无知,因此找了一些文献进行学习和理解。不过基…

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…