《机器人学导论》学习-01空间描述与变换

一、描述:位置、姿态与坐标系

1、位置描述

用一个位置矢量来描述空间中一个点的位置。
在这里插入图片描述
位置描述为: A P = [ p x p y p z ] _{}^{A}\textrm{P}=\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\end{bmatrix} AP=pxpypz

2、姿态描述

物体的姿态可以用固定在物体上的坐标系{B}来描述。
在这里插入图片描述
2.1 姿态描述为:
B A R = [ A X ^ B       A Y ^ B       A Z ^ B ] = [ X ^ B ⋅ X ^ A      Y ^ B ⋅ X ^ A      Z ^ B ⋅ X ^ A X ^ B ⋅ Y ^ A      Y ^ B ⋅ Y ^ A      Z ^ B ⋅ Y ^ A X ^ B ⋅ Z ^ A      Y ^ B ⋅ Z ^ A      Z ^ B ⋅ Z ^ A ] _{B}^{A}\textrm{R}=\begin{bmatrix} &_{}^{A}\hat{\textrm{X}}_{B}\,\,\,\, _{}^{A}\hat{\textrm{Y}}_{B}\,\,\,\, _{}^{A}\hat{\textrm{Z}} _{B} & \end{bmatrix}=\begin{bmatrix} &\hat{\textrm{X}}_{B}\cdot\hat{\textrm{X}}_{A} \,\,\,\,\hat{\textrm{Y}}_{B}\cdot\hat{\textrm{X}}_{A}\,\,\,\, \hat{\textrm{Z}}_{B}\cdot\hat{\textrm{X}}_{A} & \\ &\hat{\textrm{X}}_{B}\cdot\hat{\textrm{Y}}_{A}\,\,\,\, \hat{\textrm{Y}}_{B}\cdot\hat{\textrm{Y}}_{A}\,\,\,\, \hat{\textrm{Z}}_{B}\cdot\hat{\textrm{Y}}_{A} & \\ &\hat{\textrm{X}}_{B}\cdot\hat{\textrm{Z}}_{A}\,\,\,\, \hat{\textrm{Y}}_{B}\cdot\hat{\textrm{Z}}_{A}\,\,\,\, \hat{\textrm{Z}}_{B}\cdot\hat{\textrm{Z}}_{A} & \end{bmatrix} BAR=[AX^BAY^BAZ^B]=X^BX^AY^BX^AZ^BX^AX^BY^AY^BY^AZ^BY^AX^BZ^AY^BZ^AZ^BZ^A
2.2 注意:
(1) A X ^ _{}^{A}\hat{\textrm{X}} AX^表示{B}上X轴的单位向量在用{A}表达;
(2) X ^ B ⋅ X ^ A \hat{\textrm{X}}_{B}\cdot\hat{\textrm{X}}_{A} X^BX^A表示{B}上X轴的单位向量在{A}上X轴单位向量上的投影。
2.3 特性:
B A R _{B}^{A}\textrm{R} BAR被称为旋转矩阵,它表示坐标系{B}相对于坐标系{A}的表达。(注意:左上标A表示参考的坐标系;左下标B表示被描述的坐标系)
(1) B A R = A B R T = A B R − 1 ‘ _{B}^{A}\textrm{R}=_{A}^{B}\textrm{R}_{}^{T}=_{A}^{B}\textrm{R}_{}^{-1`} BAR=ABRT=ABR1(旋转矩阵是正交矩阵)
(2) ∣ B A R ∣ = 1 \left | _{B}^{A}\textrm{R} \right |=1 BAR=1

3、坐标系的描述

(1)一个坐标系可以等价于用一个位置矢量和一个旋转矩阵来描述;
(2)用 B A R _{B}^{A}\textrm{R} BAR A P B O R G _{}^{A}\textrm{P}_{BORG} APBORG来描述坐标系{B},其中的 A P B O R G _{}^{A}\textrm{P}_{BORG} APBORG是确定坐标系{B}原点的位置,则:{B}={ B A R _{B}^{A}\textrm{R} BAR A P B O R G _{}^{A}\textrm{P}_{BORG} APBORG}。

二、映射:坐标系到坐标系的变换

1、关于平移坐标系的映射

在这里插入图片描述
{A}和{B}坐标系具有相同的姿态(没有旋转。只有平移),可以用矢量相加的方法求点P在坐标系{A}中的表达:
A P = B P + A P B O R G _{}^{A}\textrm{P}=_{}^{B}\textrm{P}+_{}^{A}\textrm{P}_{BORG} AP=BP+APBORG
注意:不同坐标系的矢量,只有在坐标系姿态相同的情况下才能进行相加

2、关于旋转坐标系的映射

在这里插入图片描述
将空间中某点P相对于坐标系{B}的描述 B P _{}^{B}\textrm{P} BP,转换成该点相对于坐标系[A}的描述 A P _{}^{A}\textrm{P} AP:
A P = B A R ⋅ B P _{}^{A}\textrm{P}=_{B}^{A}\textrm{R}\cdot_{}^{B}\textrm{P} AP=BARBP
注意:从映射的角度来看,原矢量P在空间中的位置没有发生改变,只是换了一种描述方式对其进行表达。

3、关于一般坐标系的映射

在这里插入图片描述
先将 B P _{}^{B}\textrm{P} BP变换到一个中间的坐标系{C}(此时变为 C P _{}^{C}\textrm{P} CP),这个中间坐标系和{A}坐标系的姿态相同、原点和{B}的原点重合,然后用简单的矢量加法,将原点进行平移,得到 A P _{}^{A}\textrm{P} AP B A R = B C R _{B}^{A}\textrm{R}=_{B}^{C}\textrm{R} BAR=BCR
A P B O R G = A P C O R G _{}^{A}\textrm{P}_{BORG}=_{}^{A}\textrm{P}_{CORG} APBORG=APCORG
C P = B C R ⋅ B P _{}^{C}\textrm{P}=_{B}^{C}\textrm{R}\cdot_{}^{B}\textrm{P} CP=BCRBP
A P = C P + A P C O R G _{}^{A}\textrm{P}=_{}^{C}\textrm{P}+_{}^{A}\textrm{P}_{CORG} AP=CP+APCORG
综上: A P = B A R ⋅ B P + A P B O R G _{}^{A}\textrm{P}=_{B}^{A}\textrm{R}\cdot_{}^{B}\textrm{P}+_{}^{A}\textrm{P}_{BORG} AP=BARBP+APBORG
将上式改写成新的形式:
A P = B A T ⋅ B P _{}^{A}\textrm{P}=_{B}^{A}\textrm{T}\cdot_{}^{B}\textrm{P} AP=BATBP
对于一般坐标系的映射:坐标系{B}相对于坐标系{A}的变换描述为 B A T _{B}^{A}\textrm{T} BAT
[ A P 1 ] = [ B A R A P B O R G 0    0    0 1 ] ⋅ [ B P 1 ] ⇒ { A P = B A R ⋅ B P + A P B O R G 1 = 1 \begin{bmatrix} _{}^{A}\textrm{P}\\ 1 \end{bmatrix}=\begin{bmatrix} _{B}^{A}\textrm{R} &_{}^{A}\textrm{P}_{BORG} \\ 0\,\,0\,\,0&1 \end{bmatrix}\cdot\begin{bmatrix} _{}^{B}\textrm{P}\\ 1 \end{bmatrix}\Rightarrow \left\{\begin{matrix} _{}^{A}\textrm{P}=_{B}^{A}\textrm{R}\cdot_{}^{B}\textrm{P}+_{}^{A}\textrm{P}_{BORG}\\ 1=1 \end{matrix}\right. [AP1]=[BAR000APBORG1][BP1]{AP=BARBP+APBORG1=1
式中: B A T = [ B A R A P B O R G 0    0    0 1 ] _{B}^{A}\textrm{T}=\begin{bmatrix} _{B}^{A}\textrm{R} &_{}^{A}\textrm{P}_{BORG} \\ 0\,\,0\,\,0&1 \end{bmatrix} BAT=[BAR000APBORG1],被称为齐次变换矩阵。
齐次变换矩阵左上角表示旋转,右上角表示平移。

三、算子:平移、旋转和变换

用于坐标系间点的映射的通用数学表达式称为算子,包括点的平移算子、矢量旋转算子和平移加旋转的算子。

1、平移算子

在这里插入图片描述
矢量 A P 1 _{}^{A}\textrm{P}_{1} AP1通过矢量 A Q _{}^{A}\textrm{Q} AQ进行了平移,得到新的矢量 A P 2 _{}^{A}\textrm{P}_{2} AP2,表示为:
A P 1 = A Q + A P 2 _{}^{A}\textrm{P}_{1}=_{}^{A}\textrm{Q}+_{}^{A}\textrm{P}_{2} AP1=AQ+AP2
用平移算子表示:
A P 2 = D Q ( q ) ⋅ A P 1 _{}^{A}\textrm{P}_{2}=\textrm{D}_{Q(q)}\cdot_{}^{A}\textrm{P}_{1} AP2=DQ(q)AP1
式中:q是沿矢量 Q ^ \hat{\textrm{Q}} Q^方向平移的距离,其是有符号的;平移算子 D Q ( q ) \textrm{D}_{Q(q)} DQ(q)可以被看成是一种特殊的齐次变换矩阵,其中的旋转矩阵为单位矩阵。
D Q ( q ) = [ 1 0 0 q x 0 1 0 q y 0 0 1 q z 0 0 0 1 ] \textrm{D}_{Q(q)}=\begin{bmatrix} 1 & 0 &0 &\textrm{q}_{x} \\ 0 & 1 & 0 &\textrm{q}_{y} \\ 0& 0& 1 & \textrm{q}_{z}\\ 0&0 &0 &1 \end{bmatrix} DQ(q)=100001000010qxqyqz1
式中, q x 、 q y 和 q z \textrm{q}_{x}、\textrm{q}_{y}和\textrm{q}_{z} qxqyqz是平移矢量 Q ^ \hat{\textrm{Q}} Q^的分量,并且有: q = q x 2 + q y 2 + q z 2 q=\sqrt{\textrm{q}_{x}^{2}+\textrm{q}_{y}^{2}+\textrm{q}_{z}^{2}} q=qx2+qy2+qz2

2、旋转算子

在这里插入图片描述
矢量 A P 1 _{}^{A}\textrm{P}_{1} AP1通过旋转矩阵R变成了一个新的矢量 A P 2 _{}^{A}\textrm{P}_{2} AP2,表示为: A P 2 = R ⋅ A P 1 _{}^{A}\textrm{P}_{2}=R\cdot_{}^{A}\textrm{P}_{1} AP2=RAP1
针对这种情况,一般用下面的形式表达:
A P 2 = R K ( θ ) ⋅ A P 1 _{}^{A}\textrm{P}_{2}=\textrm{R}_{K}\left ( \theta \right )\cdot_{}^{A}\textrm{P}_{1} AP2=RK(θ)AP1
式中的 R K ( θ ) \textrm{R}_{K}\left ( \theta \right ) RK(θ)是一个旋转算子,表示绕 K ^ \hat{K} K^轴旋转了 θ \theta θ角。旋转算子也可以写成齐次变换矩阵其中位置矢量为零。
例如,沿着 Z ^ \hat{Z} Z^轴旋转了 θ \theta θ角度的旋转算子:
R Z ( θ ) = [ c o s ( θ ) − s i n ( θ ) 0 0 s i n ( θ ) c o s ( θ ) 0 0 0 0 1 0 0 0 0 1 ] \textrm{R}_{Z}\left ( \theta \right )=\begin{bmatrix} cos(\theta) &-sin(\theta)& 0 &0 \\ sin(\theta)&cos(\theta) &0 &0 \\ 0 & 0 & 1 &0 \\ 0& 0 &0 &1 \end{bmatrix} RZ(θ)=cos(θ)sin(θ)00sin(θ)cos(θ)0000100001
注意:矢量经过某一旋转R得到的旋转矩阵与一个坐标系相对于参考坐标系经过某一旋转R得到的选转矩阵是相同的。

3、变换算子

算子 T T T将矢量 A  P 1 _{}^{A}\textrm{ P}_{1} A P1平移并旋转得到一个新的矢量 A  P 2 _{}^{A}\textrm{ P}_{2} A P2
A P 2 = T ⋅ A P 1 _{}^{A}\textrm{P}_{2}=T\cdot_{}^{A}\textrm{P}_{1} AP2=TAP1

四、总结和说明

齐次坐标变换矩阵的三种用法(定义):

1、描述一个坐标系(相对于另一个坐标系)的位姿。

B A T _{B}^{A}\textrm{T} BAT表示相对于坐标系{A}的坐标系{B}。

2、将点由一个坐标系的表达,转换到另一个坐标系下的表达(变换映射)。

A P = B A T ⋅ B P _{}^{A}\textrm{P}=_{B}^{A}\textrm{T}\cdot_{}^{B}\textrm{P} AP=BATBP

3、将点(向量)在同一坐标系中进行转动(变换算子)。

A P 2 = T ⋅ A P 1 _{}^{A}\textrm{P}_{2}=T\cdot_{}^{A}\textrm{P}_{1} AP2=TAP1

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值