机器人理论(1)旋转矩阵:物体的三维空间信息描述

145
0
2020年11月9日 09时20分

导言

本人第一次接触这个!有很多专业名词的确未曾了解到,如果有错误请指出,感谢!

仅仅当作学习笔记在此记录,有不严谨的地方请见谅。会将自己觉得有代表性的课后习题放上来。

博客PPT来自Coursera上的《机器人学》课程资源!!!博客是我自己整理的上课笔记。

博客内容跟着林沛群教授的视频教程,分为三大部分:

描述刚体的空间信息:描述刚体的位置、姿态信息,基础中的基础

顺逆运动学:详解机械臂关节间的互相影响,即解释如何由已知角度得出位置信息,以及如何已知目标反推角度

轨迹规划:知道关节的空间信息后取到目标物体的移动路径规划(连续值的处理)

 

知识前提:略懂线性代数、力学(略懂就行/doge),在此仅讨论“运动学”(即获得物体的运动状态,速度,加速度等物理量),而不讨论“动力学”(力如何产生运动)

学习目的:机械臂取杯子

 

注:由于教授讲授过程中多次对核心名词使用英文,没有中翻,以及本人并不十分了解有关国内的专业名词翻译,故关于部分英文(例如world frame)的翻译都是我个人的理解,尽量保留了英文。

 

目录

导言

(1)位置信息

(2)姿态信息

旋转矩阵(Rotation Matrix):描述坐标系{B}相对于{A}的姿态

旋转矩阵的特性和作用


三维空间下如何描述刚体的状态?

(1)位置信息

都知道能使用三轴坐标系表述刚体的位置状态,即我们说刚体在移动方向上有三个自由度

自由度(DOF):能沿着一个坐标轴移动或者能围绕一个坐标轴旋转即称一个自由度

 

1

 

2

 

 统一符号

{A}代表坐标系A,{B}代表坐标系B

\large _{ }^{A}\textrm{P}代表的是P向量以{A}为原点的向量表达,\large _{ }^{B}\textrm{P}代表相同的向量P以{B}为原点的表达

\small \large _{ }^{A}\textrm{P}_{B}^{}\textrm{} (\large _{ }^{A}\textrm{P}_{B org}^{}\textrm{})代表的就是{B}的原点在{A}上的向量表达

例题:(P1代表\small \large _{ }^{A}\textrm{P}_{B}^{}\textrm{},P2代表\large _{ }^{A}\textrm{P},P3代表\large _{ }^{B}\textrm{P}

 

3

 

(2)姿态信息

但是需要注意的是,单个坐标系难以记录刚体的姿态信息,于是需要引用一个参考坐标系,记录刚体在转动方向上的三个自由度

使用两个坐标系,一个称为world frame,一个称为body frame,构建旋转矩阵描述刚体姿态信息。

world frame(参考坐标系):用于辅助记录刚体姿态信息的参考坐标系

body frame(刚体坐标系):原点一般以刚体的质点为准

 

4

 

如何描述刚体的运动状态?对红色虚线进行单位时间的微分即可求解出速度、加速度等值

 

旋转矩阵(Rotation Matrix):描述坐标系{B}相对于{A}的姿态

 

5

 

可以看到该旋转矩阵内有三列九个数字,第一列代表的是坐标系{B}的x轴相对于{A}的三轴的向量分量,第二列代表y轴,第三列z轴。

 

举例1:

6

 

举例2:

 

7

 

旋转矩阵的特性和作用

 

(1)可以描述坐标系{B}相对于{A}的姿态,即物体的转动状态的姿态信息:\large _{B}^{A}\textrm{R}

上文写了,不多叙述。

 

值得一提的是,旋转矩阵有个特性:\small _{B}^{A}\textrm{R}^{^{T}}=\small _{B}^{A}\textrm{R}^{^{-1}}=\small _{A}^{B}\textrm{R}

          这样就不用费尽心力计算逆矩阵了,直接算出转置就行

 

(2)可以将某刚体在坐标系{B}上的位置信息转换到{A}上:\large _{}^{A}\textrm{P} = _{B}^{A}\textrm{R}_{ }^{B}\textrm{P} (Mapping)

\large _{}^{A}\textrm{P} = _{B}^{A}\textrm{R}_{ }^{B}\textrm{P}  or  \large \large _{}^{0}\textrm{P} _{4 org}= _{3}^{0}\textrm{R}_{ }^{3}\textrm{P}_{4 org}

证明:

 

8

 

举例:

 

9

 

(3)可以得出同一个坐标系{A}中的某向量P旋转某角度θ后的坐标:\large _{}^{A}\textrm{P'} = R\left ( \Theta \right )_{ }^{A}\textrm{P} (operator)

 

注:旋转时一般以 “从负轴看向正轴” 的逆向为正方向

以围绕z轴旋转为例子,方向是逆时针正方向,旋转θ°后得到了新的坐标系{B},它相对于原坐标系{A}的旋转矩阵如图示:

 

10

 

同理有定式:

 

11

 

举例:

 

12

发表评论

后才能评论