机器人学笔记之——空间描述和变换:姿态的其他描述方法
0.姿态的其他描述方法
如果你也有看机器人学导论的原书的话,可能会看到这样一个东西:正交矩阵的凯莱公式。不知道你是怎么样的,反正我是一脸懵逼,有这么个东西吗?百度好像也找不到呀,最后还是靠谷歌和原书的参考文献才找到这么个东西的。
正交矩阵的凯莱公式
0.0 X-Y-Z固定角坐标系
下面介绍一种描述坐标系{B}
姿态的方法:
我们发现每个旋转都是围绕着坐标系{A}
的轴在进行的,我们称这种姿态的变换方式叫做X-Y-Z固定角坐标系
既然整个旋转变换都是在一个固定的坐标系下进行的,那么我们就可以直接来推导该旋转的等价旋转矩阵:
tip:表达式中出现的‘c’和‘s’其实是“cos”和“sin”的缩写
将上式进一步化简得到:
有了这些还不够,我们可能对如何求出一个旋转矩阵等价的X-Y-Z固定角坐标系。
这时候我们可以列出九个方程,但其实我们只有3个未知量,那么解方程就变得轻松起来了
其中的Atan2(x,y)
是一个双参数的反正切函数
很明显,β
的值是±90
,那么在这种情况下,我们只能求出α
和γ
的和或者差,所以我们一般取α = 0
0.1 Z-Y-X欧拉角
第二种{B}
表示方法:
与上一个表示法不同的是:
(1)顺序不同:上一个是XYZ,这个是ZYX
(2)旋转轴不同:上一个是绕固定的旋转轴,这次是绕运动的旋转轴
如果把这些旋转的过程看成坐标系的描述,那么我们可以写成下面这种形式:
对上式进行展开:
最终我们得到:
你是否发现,这个结果好眼熟啊,没错这跟上一个的结果是一样的。
这是一个比较隐晦的、不直观的结果:三次绕固定轴旋转和按照相反顺序绕运动轴旋转得到的最终姿态是相同的。
0.2 Z-Y-Z欧拉角
类似之前的操作,我们可以得到下式:
那我们照常要来讨论一下如何从旋转矩阵得到Z-Y-Z欧拉角
:
0.3 其他角坐标系表示法
以上讲了三种表示姿态的常见表示法,每个表示法都需要按照一定的顺序进行三次绕主轴的旋转,这些表示法是24种表示法中的典型方法,且都被称为角坐标系表示法。】
0.4 等效轴角坐标表示法
如果给你一个符号Rx(30.0)
,你应该知道这是要绕X
轴旋转30度,这就是一个等效轴角坐标表示法的例子。但是如果我们不是要绕某一主轴旋转,而是在空间中找一个一般的矢量作为旋转轴来旋转那该怎么办呢?
这就可以衍生出一个新的表示法了:
当旋转轴是一般矢量时,其等效旋转矩阵为:
0.5 欧拉参数
另一种姿态表示法是通过四个数值来表示的,称为欧拉参数
机器人学笔记之——空间描述和变换:姿态的其他描述方法相关推荐
- 机器人学笔记之——空间描述和变换:算子
0. 算子:平移.旋转和变换 用于坐标系间点的映射的通用数学表达式称为算子,包括点的平移算子.旋转算子和平移加旋转算子. 0.0 平移算子 平移将空间中的一个点沿着一个已知的矢量方向移动一定距离.对空 ...
- 机器人学导论(一)——空间描述和变换
本着看书一定要写出来才能理解的心态,我开设了这个专栏,目的有两个:一是督促自己看书学习:二是与大家一起分享自己的读书感悟,在大家的批评中成长. 这篇博文我们主要介绍空间描述和变换,相信大家对于其重要性 ...
- 《机器人学导论》学习-01空间描述与变换
<机器人学导论>学习-01空间描述与变换 一.描述:位置.姿态与坐标系 1.位置描述 2.姿态描述 3.坐标系的描述 二.映射:坐标系到坐标系的变换 1.关于平移坐标系的映射 2.关于旋转 ...
- 实例8:机器人的空间描述和变换仿真
实例8:机器人的空间描述和变换仿真 实验目的 通过刚体与刚体的平动.转动基础知识的学习,熟悉位姿的描述 通过Python编程实践,可视化学习向量在坐标系中的变换,了解空间变换 实验要求 通过pytho ...
- 1.1 机器人学之空间描述和变换
文章目录 参考博文 描述位置 描述姿态 位姿描述 映射:不同坐标系变换 齐次变换矩阵 算子 平移算子 旋转算子 变换算子 小结 变换的计算 其他姿态描述方法 X-Y-Z固定角 Z-Y-X欧拉角 Z-Y ...
- 【机器人基础】机器人学精简笔记-空间描述和变换
- 机械臂学习笔记01-位姿描述和坐标变换
前言:导师主要是做图像处理方面的,然后接了一个与机械臂相关的项目,然后让我学习机械臂,我从去年寒假开始,自己搜集资料,看了零星一些文章,感觉自己学的不是很深入,学的也比较零碎,我希望能通过写博客的方式 ...
- 中正平和的机器人学笔记——1. 机械臂正运动学(附MATLAB代码)
中正平和的机器人学笔记--1.正运动学 0. 何为运动学?何为正运动学? 运动学主要研究的就是机械臂的运动特性(位置.速度.加速度等),但是不考虑使机械臂产生运动时施加的力和力矩(这部分是动力学).而 ...
- OPENCV学习笔记 - SIFT 尺度不变特征变换 Python
OPENCV学习笔记 - SIFT 尺度不变特征变换 Python 为什么我们需要SIFT尺度不变特征变换? 第一,建立高斯差分金字塔 第二,极值点的精确定位 第三,确定关键点的主方向 第四,构建关键 ...
最新文章
- C++11中rvalue references的使用
- 从构建分布式秒杀系统聊聊线程池
- Orchard 的项目结构-解决方案文件夹的原理与使用
- POJ1178枚举三个地方(所有点都去同一个点)
- Dbvis数据库连接工具将查询出数据转化为sql插入语句方法
- jqgrid学习(2)搜索
- 【lua学习】3.字符串
- 嘉年华回顾丨 樊文凯分享Oracle 数据库异构上云最佳实践
- arduino安卓手机版_剥离安卓!华为鸿蒙系统手机版正式发布:这两大机型率先升级...
- Maven是个什么鬼?,没办法起床排bug...
- linux文件监控和同步,(转)Linux下经过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步...
- 《MapReduce 2.0源码分析与编程实战》一1.2 大数据分析时代
- docker tomcat 多开 实例_Docker快速验证tomcat单机多实例方案
- aspcms系统加密后https后台无法登录解决办法
- abaqus中六面体单元对比四面体
- 计算一个数的二进制中一的个数(三种方法)
- 录音文件的比特率的计算方法
- 浅谈数仓建模及其方法论
- 一文搞定Pandas中的数据合并
- iphone开发起步