目录

  • 1. 引言
  • 2. 齐次坐标系变换
    • 2.1 坐标系之间的位姿关系
    • 2.2 齐次变换矩阵
    • 2.3 齐次变换矩阵的逆
  • 4. 总结

1. 引言

  前面的文章中我们分别讨论了坐标系及其平移,旋转两种变换。但是到目前为止我们一直都在分开讨论平移和旋转,而在实际应用中两个坐标系之间的关系往往既有平移又有旋转,因此这篇文章我们将讨论一下如何以一种更为紧凑的方式来表达两个坐标系之间的位置及姿态关系。

2. 齐次坐标系变换

  我们可以把这个问题分解开来看,详细说来就是当我们无法一下看出两个坐标系{A}和{B}的变换关系时,可以尝试在这两个坐标系之间插入一个中间坐标系{C},只要我们找到了坐标系{A}和{C}的关系,然后又找到了坐标系{C}和{B}的关系,那么我们就可以间接确定{A}和{B}之间的关系。

2.1 坐标系之间的位姿关系

  如下图所示,坐标系{A}经过平移变换可以得到坐标系{C},坐标系{C}绕其自身z轴旋转可以得到坐标系{B}。根据我们在机器人正运动学(3)—— 坐标系及其变换中提到的方法,我们可以很容易的确定坐标系{A}与{C}之间的关系可以表达为: p M A = p M C + p C o r g A ( 1 ) p_{M}^{A}=p_{M}^{C}+p_{Corg}^{A} (1) pMA​=pMC​+pCorgA​(1)

  我们来解释一下这个等式的含义。等式的左侧是空间中任意一点M在坐标系{A}中的坐标;等式右侧 p M C p_{M}^{C} pMC​ 代表点M在坐标系{C}中的坐标; p C o r g A p_{Corg}^{A} pCorgA​代表坐标系C的原点Corg(the origin of axis {C})在坐标系{A}中的坐标。

  考虑完了坐标系{A}和{C}之间的平移关系,接下来我们讨论坐标系{B}和{C}之间的旋转关系,前面我们已经叙述了坐标系{B}的由来,它是坐标系{C}沿着其z轴旋转一个角度 θ \theta θ 而来。因此,按照上一篇文章机器人正运动学(4)—— 理解变换矩阵中提到的方法,将坐标系{B}的各轴单位矢量在坐标系{C}下投影即可得到坐标系{B}与坐标系{C}的姿态变换关系,如下式所示: p M C = C R B ⋅ P M B ( 2 ) p_{M}^{C}= ^{C}\textrm{R}_{B} \cdot P_{M}^{B} (2) pMC​=CRB​⋅PMB​(2)

C R B = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] ^{C}\textrm{R}_{B}=\begin{bmatrix} cos\theta & -sin\theta & 0\\ sin\theta & cos\theta & 0\\ 0 & 0 & 1 \end{bmatrix} CRB​=⎣⎡​cosθsinθ0​−sinθcosθ0​001​⎦⎤​

  旋转矩阵 C R B ^{C}\textrm{R}_{B} CRB​ 的各列分别是坐标系{B}三个坐标轴单位矢量在坐标系{C}三个轴上的投影。我们再来解释一下上述坐标变换等式的含义,左侧代表空间点M在坐标系{C}中的坐标;等式右侧 C R B ^{C}\textrm{R}_{B} CRB​ 为坐标系{B}和{C}之间的变换关系; p M B p_{M}^{B} pMB​ 代表点M在坐标系{B}中的坐标。

  接下来问题来了,有了坐标系{A}和{C}的关系,也有了坐标系{B}和{C}的关系,我们如何得到坐标系{A}和{B}之间的变换呢?其实很简单,可以从两种角度去思考,第一个是从变换的角度,假设空间一点M在坐标系{B}中坐标已知,为 p M B p_{M}^{B} pMB​。那么通过坐标系{B}和{C}的变换关系(等式(2)),我们就可以得到点M在坐标系{C}下的坐标为 p M C p_{M}^{C} pMC​,而我们又知道坐标系{A}和坐标系{C}之间的关系(等式(1)),因此我们可以最终得到点M在坐标系{A}中的坐标 p M A p_{M}^{A} pMA​。第二个是从数学的角度,说白了就是将等式(2)代入到等式(1)就可以得到坐标系{A}和{B}之间的关系。这个关系可以用下式表示: p M A = A R B ⋅ P M B + p B o r g A ( 3 ) p_{M}^{A}=^{A}\textrm{R}_{B} \cdot P_{M}^{B}+p_{Borg}^{A} (3) pMA​=ARB​⋅PMB​+pBorgA​(3)

  注意由于坐标系{B}和{C}原点是重合的,因此 p B o r g A = p C o r g A p_{Borg}^{A}=p_{Corg}^{A} pBorgA​=pCorgA​,又因为坐标系{A}和{C}各个轴分别平行,因此 A R B = C R B ^{A}\textrm{R}_{B}=^{C}\textrm{R}_{B} ARB​=CRB​。

2.2 齐次变换矩阵

  在2.1节我们得出了任意两个坐标系之间的位姿关系描述,但是这种描述其实是不够紧凑的,特别是当我们面对多重连续变换时,等式会变得很臃肿。为了解决这个问题,我们在原有旋转矩阵的基础上扩展一维用于容纳平移关系。得到最终的齐次变换矩阵,这样任意两个坐标系{A}和{B}的位姿关系可以重新形式化为: [ p M A 1 ] = A T B ⋅ [ P M B 1 ] ( 4 ) \begin{bmatrix} p_{M}^{A}\\ 1 \end{bmatrix}=^{A}\textrm{T}_{B} \cdot \begin{bmatrix} P_{M}^{B}\\ 1 \end{bmatrix} (4) [pMA​1​]=ATB​⋅[PMB​1​](4)

  其中,

A T B = [ A R B p B o r g A 0 1 ] ^{A}\textrm{T}_{B}=\begin{bmatrix} ^{A}\textrm{R}_{B} & p_{Borg}^{A}\\ 0 & 1 \end{bmatrix} ATB​=[ARB​0​pBorgA​1​]

  如果你大致理解什么是分块矩阵就会发现其实等式(4)和等式(3)是完全等价的。

2.3 齐次变换矩阵的逆

  齐次变换矩阵的逆表达式为: B T A = [ B R A − B R A ⋅ p B o r g A 0 1 ] ^{B}\textrm{T}_{A}=\begin{bmatrix} ^{B}\textrm{R}_{A} & -^{B}\textrm{R}_{A}\cdot p_{Borg}^{A}\\ 0 & 1 \end{bmatrix} BTA​=[BRA​0​−BRA​⋅pBorgA​1​]

  当你充分理解了齐次变换矩阵的本质后,它的逆是可以直接写出来的,无需特别记忆,但是在本篇文章我们暂不讨论它的由来,而是把它留到下一篇文章和齐次变换矩阵的用途一起讨论,因为他们之间的关系才更密切一些。

4. 总结

  这篇文章主要介绍了齐次变换的由来,下一篇文章我们将讨论齐次变换矩阵的几个用途,这样你就不会为变换矩阵乘的顺序等一系列问题而感到烦恼了。由于个人能力有限,所述内容难免存在疏漏,欢迎指出,欢迎讨论。

下一篇:机器人正运动学(6)——齐次变换矩阵的三种解读
————————————————
版权声明:本文为CSDN博主「hitgavin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hitgavin/article/details/103572013

机器人正运动学(5)—— 齐次变换矩阵相关推荐

  1. 5. 机器人正运动学---齐次变换矩阵

    目录 1. 引言 2. 齐次坐标系变换 2.1 坐标系之间的位姿关系 2.2 齐次变换矩阵 2.3 齐次变换矩阵的逆 4. 总结 1. 引言 前面的文章中我们分别讨论了坐标系及其平移,旋转两种变换.但 ...

  2. 4. 机器人正运动学---理解变换矩阵

    目录 1. 引言 2. 旋转矩阵的几个性质 2.1 旋转矩阵是坐标轴的投影 2.2 旋转矩阵是正交矩阵 2.3 旋转矩阵的每一列都是单位向量 3. 举例 4. 总结 1. 引言 在上一篇文章中我们介绍 ...

  3. 3. 机器人正运动学---坐标系及其变换

    目录 1. 引言 2. 位姿的描述(位置与姿态) 2.1 平移的描述(位置) 2.2 旋转的描述(姿态) 3. 总结 1. 引言 个人认为机器人运动学是整个机器人学的核心内容.仍然以前面的SCARA机 ...

  4. 【现代机器人学——螺旋理论】UR5机器人正运动学求解

    系列文章目录 [现代机器人学--螺旋理论]UR5机器人正运动学求解 [现代机器人学--螺旋理论]UR5机器人逆运动学求解 提示:本文介绍基于螺旋理论分析的UR5机器人正运动学求解思路,仅供参考. 文章 ...

  5. 机器人正运动学(1)—— 机器人简介

    目录 1. 前言 2. 什么是机器人 3. 为什么要有机器人 4. 机器人分类 5. 机器人研究领域 6. 声明 1. 前言   都说机器人学是一门跨学科的学问,这句话说得一点不错.搞机械的设计了机器 ...

  6. 机器人正运动学(8)—— DH坐标系建立技巧

    目录 1. 引言 2. 建立DH坐标系的技巧 2.1 理清关节和连杆 2.2 画 z 轴 2.3 确定 x 轴 2.3.1 x轴方向 2.3.2 x轴起始点(坐标系原点) 2.4 小结 3. 总结 1 ...

  7. 机器人正运动学(2)—— 自由度

    目录 1. 自由度的定义 2. 自由度的计算 2.1 刚体的自由度 2.2 运动副 2.3 自由度算例 3. 总结 1. 自由度的定义   自由度在很多领域中会出现,对于机器人而言,我们这里谈的也就是 ...

  8. 14. 机器人正运动学---雅克比矩阵(2)

    1. 引言 上一篇文章介绍的是通过几何法求解雅克比矩阵,这篇文章通过较为严格的数学推导求解雅克比矩阵并进一步验证了几何法的适用性.具体内容请参考:14. 机器人正运动学---雅克比矩阵(2)

  9. 【机器人学】3-RUU-delta并联机器人正运动学、逆运动学和微分运动学

    文章目录 串联和并联机器人对比 delta机器人 逆运动学 正运动学 微分运动学 工作空间 串联和并联机器人对比 串联机器人和并联机器人各有优缺点. 串联机器人 优点 工作空间大: 可实现的姿态多: ...

最新文章

  1. Hadoop: MapReduce2多个job串行处理
  2. vector的初始化和遍历
  3. 服务器是什么系统_为什么视频监控系统搭建,要使用流媒体服务器做视频分发?...
  4. 密码学系列之:memory-hard函数
  5. springboot 做表白墙_经贸吐槽墙 |2020.12.13
  6. 3-1机器学习中的分类与回归问题
  7. 深入Java集合学习系列:HashSet的实现原理
  8. 为什么你总感觉情绪低落心情颓废?
  9. C语言在main中输入2个整数ab,请教一个C语言问题。若输入3个整数3,2,1,则以下程序输出的结果是.,c 语言问题 输入三个整数 按从小到大输出...
  10. 如何吧本地仓库提交到github_如何将本地代码提交到github远程仓库(第一次,建立连接并且提交)...
  11. ASP.NET 控件与可访问
  12. 20169217 《Linux内核原理与分析》 第十周作业
  13. 远程桌面/远程登陆中强行登陆(他人退出)与切换回话(登陆后切换到上次别的登陆)3389...
  14. 多媒体互动项目-Unity与继电器数据交互
  15. 手工纸盒子_折纸盒与纸盒子的折法手工制作图解教程大全 - 纸艺网
  16. 如何选择和阅读科技论文
  17. 长春理工大学第八届电子设计大赛 之 开关电源(2)
  18. [艾兰岛]制作传送门之搭建系列——kura酱长期更新
  19. Netezza向GBase 8a迁移总结
  20. ByVal和ByRef区别

热门文章

  1. 2048小游戏及改进
  2. virtualbox 虚拟机右键不能用复制粘贴
  3. python自动化之路-day1
  4. Shareinstall整理
  5. Keras笔记(三):目标函数objectives /loss
  6. 文章伪原创检测在线,黑科技揭秘
  7. 22个最流行的三维重建软件【2022】
  8. java机甲类回合制游戏,2018经典机甲游戏有哪些_好玩的机甲类游戏推荐
  9. DJ6-4 文件存储空间的管理
  10. UVA 438 - The Circumference of the Circle