| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【Matlab 六自由度机器人】关于旋转的参数化(欧拉角、姿态角、四元数)的相关问题 -> 正文阅读 |
|
[数据结构与算法]【Matlab 六自由度机器人】关于旋转的参数化(欧拉角、姿态角、四元数)的相关问题 |
【Matlab 六自由度机器人】关于旋转的参数化的相关问题往期回顾【主线】 【补充说明】 前言在本文中,将推导三种方式来表达任意旋转,其中每种方式仅需三个独立变量:欧拉角表示法、姿态角表示法(滚动-俯仰-偏航)及四元数表示法(转轴/角度)。 以下是本篇文章正文内容,包含对欧拉角表示法、滚动-俯仰-偏航表示法及转轴/角度表示法定义的理解和相关代码的分步解析。 正文一、欧拉角(Euler-angle)表示法1. 定义表示旋转矩阵的一种常用方法是使用欧拉角,其中有三个独立变量。考虑固定坐标系
o
0
x
0
y
0
z
0
o_0x_0y_0z_0
o0?x0?y0?z0?,以及旋转后的坐标系
o
1
x
1
y
1
z
1
o_1x_1y_1z_1
o1?x1?y1?z1?。 2. 代码解析(含实例)代码如下:
由于需要使用
t
r
p
l
o
t
trplot
trplot 函数来将旋转可视化,因此在这里设欧拉角
?
θ
ψ
\phi\theta\psi
?θψ的角度均为
p
i
/
6
pi/6
pi/6。
得到结果如下: 二、姿态角(RPY)表示法滚动(roll)-俯仰(pitch)-偏航(yaw)表示法 1. 定义旋转矩阵 R R R也可以被描述为按特定次序进行的一系列关于主坐标轴 x 0 、 y 0 和 z 0 x_0、y_0和z_0 x0?、y0?和z0?轴旋转的产物。这些旋转决定了滚动(roll)、俯仰(pitch)、偏航(yaw) 角度,在这里我们将定义以下规则。
我们指定旋转按照
x
?
y
?
z
x-y-z
x?y?z的顺序进行,换言之,首先绕
x
0
x_0
x0?轴旋转角度
ψ
\psi
ψ,然后绕
y
0
y_0
y0? 轴旋转角度
θ
\theta
θ。最后,绕
z
0
z_0
z0? 轴旋转角度
?
\phi
?。 2. 代码解析(含实例)代码如下:
三、四元数(axis/angle)表示法(未完待续)转轴/角度(axis/angle)表示法 1. 定义旋转并不总是关于主坐标轴而进行的。我们通常感兴趣的是关于空间中某任意轴线的旋转,这不仅提供了一种描述旋转的简便方法,并且提供了对于旋转矩阵的另一种参数化方法。 2. 代码解析(含实例)在MATLAB中使用
q
u
a
t
e
r
n
i
o
n
quaternion
quaternion 函数来实现坐标系绕任意轴线旋转。 总结以上就是关于旋转的参数化(欧拉角、姿态角、四元数)的内容,本文详细介绍了如何理解欧拉角、姿态角、四元数,提供了代码辅助理解旋转的参数化的特性。 参考文献 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:53:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |