欧拉角计算旋转矩阵的MATLAB函数——eul2rotm和angle2dcm区别

这篇具有很好参考价值的文章主要介绍了欧拉角计算旋转矩阵的MATLAB函数——eul2rotm和angle2dcm区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


学惯导的人都知道怎么根据欧拉角或者姿态角计算旋转矩阵,直接照着公式两分钟就写好了代码。但是或许你没有注意到MATLAB中 eul2rotmangle2dcm两个函数的定义完全不一样, 两个函数算出来的旋转矩阵互为转置。MATLAB本身并未将两个函数的定义写得很清楚,经过一番搜索,终于搞清楚了原因。

一、eul2rotm和angle2dcm函数区别

参考问题Difference between angle2dcm and eul2rotm (same angle sequence, different result)里的回答:

  • eul2rotm函数来自于 “Robotics System Toolbox”,这个工具箱约定的旋转是矢量旋转或者点旋转(point rotation)
  • angle2dcm函数来自于“Aerospace Toolbox”,这个工具箱约定的旋转是坐标系旋转(frame rotation)

二、矢量旋转和坐标系旋转的区别

参考MATLAB官方文档Orientation, Position, and Coordinate Convention中的解释,两种旋转区别如下:

  • 矢量旋转或者点旋转(Point Rotation): 坐标系不动,但是点或者矢量进行旋转
  • 坐标系旋转(Frame Rotation): 点或者矢量不动,坐标系进行旋转

输入同样的旋转角度,矢量旋转和坐标系旋转结果相反。如下图,经过矢量旋转,坐标变成(a,b,c),而坐标系旋转的结果是(-a,b,c)。

matlab求欧拉角,组合导航,欧拉角,旋转矩阵,MATLAB旋转矩阵

三、MATLAB代码验证

参照上图,设个差不多的坐标,然后绕z轴转 - 45°。注意这两个函数默认都是ZYX的旋转方式,第一个角度是绕Z轴转的角度,以此类推。

test=[0 1 1];
r1 = eul2rotm([-pi/4 0 0]);
r2 = angle2dcm(-pi/4, 0, 0);

r1*test'
r2*test'

第一个结果为[ 0.7071 0.7071 1.0000] 。

第二个结果为[ - 0.7071 0.7071 1.0000],第一个数为负值。

四、参考资料

[1] Difference between angle2dcm and eul2rotm (same angle sequence, different result)
[2] Orientation, Position, and Coordinate Convention文章来源地址https://www.toymoban.com/news/detail-555943.html

到了这里,关于欧拉角计算旋转矩阵的MATLAB函数——eul2rotm和angle2dcm区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 转换矩阵、平移矩阵、旋转矩阵关系以及python实现旋转矩阵、四元数、欧拉角之间转换

    由于在平时总是或多或少的遇到平移旋转的问题,每次都是现查资料,然后查了忘,忘了继续查,这次弄明白之后干脆写一篇文章,给人方便同时于己方便,后续如有扩充或变动也方便添加。 假设有两个向量 a 1 = ( x 1 , y 1 , z 1 ) a_1 = (x_1, y_1, z_1) a 1 ​ = ( x 1 ​ , y 1 ​ , z 1 ​

    2024年02月03日
    浏览(79)
  • 【MATLAB实验】MATLAB矩阵与数组及改变矩阵形状(rot90函数逆时针旋转、矩阵转置)

    目录 Matlab矩阵 矩阵除法 矩阵乘方 数组的乘和除 数组的乘方 数据的输出格式  常用函数的应用  矩阵的建立 冒号表达式 结构矩阵和单元矩阵 结构矩阵: 单元矩阵: 矩阵元素的引用方式 利用冒号表达式来获取子矩阵 利用空矩阵删除矩阵中的元素  改变矩阵的形状(使用

    2024年01月18日
    浏览(50)
  • 数学概率 | 旋转矩阵、欧拉角、四元数

    目录 一,旋转矩阵 二维旋转矩阵 三维旋转矩阵 二,欧拉角 三,四元数 四,矩阵、欧拉角、四元数相互转换 四元数转矩阵 矩阵转四元数 欧拉角转矩阵 矩阵转欧拉角 欧拉角转四元数 四元数转欧拉角 二维旋转矩阵 R() =  推导,以二维平面为例旋转:  = cos( + ) = coscos - si

    2024年02月06日
    浏览(48)
  • 欧拉角和旋转矩阵之间的转换

    在3D 空间中,表示物体的旋转可以由三个欧拉角来表示:  pitch围绕X轴旋转,叫俯仰角。  yaw围绕Y轴旋转,叫偏航角。  roll围绕Z轴旋转,叫翻滚角。  这三个角的顺序对旋转结果有影响。     此处得到结论: 自旋转的“先转的放前面”  将旋转矩阵表示如下:    则可以

    2024年02月13日
    浏览(38)
  • eigen旋转矩阵与欧拉角的转换

    2024年02月11日
    浏览(48)
  • 欧拉角,轴角,四元数与旋转矩阵详解

    入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、欧拉角 1、静态定义 2、欧拉角的表示  3、欧拉角表示的优缺点  4、欧拉角的万向节死锁(静态不存在万向锁的问题) 二、四元数 1、提出意义和定

    2024年01月17日
    浏览(46)
  • 四元数,旋转矩阵,欧拉角互转(python)

    运行代码之前需要安装pyquaternion和scipy。 pip install pyquaternion pip install scipy 代码之前放下面,main函数有使用的方式

    2024年02月12日
    浏览(45)
  • 四元数,欧拉角和旋转矩阵相互转换

    打印输出: 在线转换网站:1、三维在线旋转变换网站 https://www.andre-gaschler.com/rotationconverter/ 2、 Rotation Conversion Tool https://danceswithcode.net/engineeringnotes/quaternions/conversion_tool.html 3、角度、弧度在线转换工具 https://www.osgeo.cn/app/sc210 参考链接:https://www.jianshu.com/p/4fda4c34b829 https://

    2024年02月14日
    浏览(43)
  • 将欧拉角转换为旋转矩阵(手眼标定)python版本

    1、欧拉角版 2、四元数版 3、旋转矩阵版本 4、齐次矩阵

    2024年02月16日
    浏览(43)
  • 【Eigen库使用】角轴、旋转矩阵、欧拉角、四元数转换

    在slam中经常用到的四种描述机器人orientation的变量,他们之间可以相互转化,使用Eigen库可以很容易的做到这一点, 需要特别关注的是:欧拉角与其余量之间的转换关系 : 1)首先要明确的是, 必须要明确欧拉角的旋转次序 ,你可以选择RPY、YPR等方式,在相同的orientation下,

    2024年01月18日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包