机器人-数理基础(一)

机器人学基础(第2版)

2.1位置和姿态的表示

位置描述: 一旦建立了坐标系,就可以用一个3×1的位置矢量对世界坐标系中的任何点进行定位。因为在世界坐标系中还有其他坐标系,因此必须在位置矢量上附加信息,表明是在哪个坐标被定义的。位置矢量用一个前置的上标来表明其参考坐标系。例如: A P ^AP AP。表明 A P ^AP AP的数值是在坐标系{A}中的表示。矢量中的各个元素用下标x,y,z来表示:

(2.1) A P = [ p x p y p z ] ​ ^AP=\begin{bmatrix} p_{x} \\ p_{y} \\ p_{z} \end{bmatrix} \tag{2.1} ​ AP=pxpypz(2.1)
姿态描述:物体的姿态(orientation)。物体的姿态可由某个固接于此物体的坐标系描述。为了规定空间某刚体B的姿态,设置直角坐标系{B}与此刚体固接。用坐标系{B}的三个单位主矢量 x B , y B , z B x_B,y_B,z_B xByBzB相对于参考坐标系{A}的方向余弦组成的3X3矩阵。

(2.2) B A R = [ A x B A y B A z B ] = [ r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 23 r 33 ] ^A_{B}R=\begin{bmatrix} ^A{x_{B}} & ^A{y_{B}} & ^A{z_{B}} \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{23} & r_{33} \end{bmatrix} \tag {2.2} BAR=[AxBAyBAzB]=r11r21r31r12r22r23r13r23r33(2.2) B A R ^A_{B}R BAR称为旋转矩阵 B A R ^A_{B}R BAR记作(矩阵{B}相对于矩阵{A}的表达),且满足条件 B A R − 1 = B A R T ^A_{B}R^{-1} = {^A_{B}R^T} BAR1=BART ∣ B A R ∣ = 1 \left| ^A_{B}R\right| =1 BAR=1

于是,点的位置可用一个矢量来表示,物体的姿态可用一个矩阵来表示,上式中 r i j r_{ij} rij可用每个矢量在其参考坐标系中的单位方向上投影的分量来表示。于是 B A R {^A_B}R BAR 的各个分量可用一对单位矢量的点积来表示:

(2.3) 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 ] ^A_{B}R = \begin{bmatrix} ^A{x_{B}} & ^A{y_{B}} & ^A{z_{B}} \end{bmatrix} = \begin{bmatrix} 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\end{bmatrix} \tag {2.3} BAR=[AxBAyBAzB]=XBXAXBYAXBZAYBXAYBYAYBZAZBXAZBYAZBZA(2.3)

对应于轴x,y,z作转角为 θ \theta θ的旋转变换,其旋转矩阵分别为:
(2.4) R ( x , θ ) = [ 1 0 0 0 c θ − s θ 0 s θ c θ ] R\left( x,\theta \right) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & c\theta & -s\theta \\ 0 & s\theta & c\theta \end{bmatrix} \tag {2.4} R(x,θ)=1000cθsθ0sθcθ(2.4)
(2.5) R ( y , θ ) = [ c θ 0 s θ 0 1 0 − s θ 0 c θ ] R\left( y,\theta \right) = \begin{bmatrix} c\theta & 0 & s\theta \\ 0 & 1 & 0 \\ -s\theta & 0 & c\theta \end{bmatrix} \tag {2.5} R(y,θ)=cθ0sθ010sθ0cθ(2.5)
(2.6) R ( z , θ ) = [ c θ − s θ 0 s θ c θ 0 0 0 1 ] R\left( z,\theta \right) = \begin{bmatrix} c\theta & -s\theta & 0 \\ s\theta & c\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \tag {2.6} R(z,θ)=cθsθ0sθcθ0001(2.6)
s表示sin,c表示cos

现在以三个欧拉角中的Rot(X)为例(其余两个欧拉角以此类推),验证一下以上说的结论。
由于 B A R ^A_{B}R BAR 的的三个列向量 A X B ^AX_B AXB A Y B ^AY_B AYB A Z B ^AZ_B AZB都是单位矢量,且两两相互垂直,因而满足6个约束条件:
  (1) A X B ⋅ A X B = A Y B ⋅ A Y B = A Z B ⋅ A Z B = 1 {^AX_B} ⋅ {^AX_B} = {^AY_B} ⋅ {^AY_B} = {^AZ_B} ⋅ {^AZ_B} = 1 AXBAXB=AYBAYB=AZBAZB=1
  (2) A X B ⋅ A Y B = A Y B ⋅ A Z B = A Z B ⋅ A X B = 0 {^AX_B} ⋅ {^AY_B} = {^AY_B} ⋅ {^AZ_B} = {^AZ_B} ⋅ {^AX_B} = 0 AXBAYB=AYBAZB=AZBAXB=0
由于绕x轴旋转,所以我们观察 Y B Y_B YB Z B Z_B ZB 分别在 Y A Y_A YA Z A Z_A ZA 上的投影情况,如下图所示。
在这里插入图片描述

(2.7) R ( x , θ ) = [ 1 0 0 0 c θ − s θ 0 s θ c θ ] R\left( x,\theta \right) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & c\theta & -s\theta \\ 0 & s\theta & c\theta \end{bmatrix} \tag {2.7} R(x,θ)=1000cθsθ0sθcθ(2.7)


位姿描述:我们采用位置矢量描述点的位置,而用旋转矩阵描述物体的姿态。相对于参考系{A},坐标系{B}的原点位置和坐标轴的姿态,分别由位置矢量 A P B o ^AP_{B_o} APBo和旋转矩阵 B A R {^A_B}R BAR 描述。这样,刚体B的位姿可由坐标系{B}描述,即有
(2.8) B = { B A R ,   A P B o } {B}=\left\{{^A_B}R , \ ^AP_{B_o}\right\} { }\tag {2.8} B={BAR, APBo}(2.8) 当表示位置时,式(2.8)中的旋转矩阵 B A R = I {^A_B}R=I BAR=I (单位矩阵);当表示姿态时,式(2.8)中位置矢量 A P B o = o ^AP_{B_o} = o APBo=o

参考文章:https://blog.csdn.net/qq_21834027/article/details/85041809

posted @ 2019-01-13 21:25  红豆の布丁  阅读(84)  评论(0编辑  收藏  举报