机器人-数理基础(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_23320955/article/details/86425403

机器人学基础(第2版)

2.1位置和姿态的表示

位置描述: 一旦建立了坐标系,就可以用一个3×1的位置矢量对世界坐标系中的任何点进行定位。因为在世界坐标系中还有其他坐标系,因此必须在位置矢量上附加信息,表明是在哪个坐标被定义的。位置矢量用一个前置的上标来表明其参考坐标系。例如: A P ^AP 。表明 A P ^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} ​
姿态描述:物体的姿态(orientation)。物体的姿态可由某个固接于此物体的坐标系描述。为了规定空间某刚体B的姿态,设置直角坐标系{B}与此刚体固接。用坐标系{B}的三个单位主矢量 x B y B z B x_B,y_B,z_B 相对于参考坐标系{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} B A R ^A_{B}R 称为旋转矩阵 B A R ^A_{B}R 记作(矩阵{B}相对于矩阵{A}的表达),且满足条件 B A R 1 = B A R T ^A_{B}R^{-1} = {^A_{B}R^T} B A R = 1 \left| ^A_{B}R\right| =1

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

(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}

对应于轴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}
(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}
(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}
s表示sin,c表示cos

现在以三个欧拉角中的Rot(X)为例(其余两个欧拉角以此类推),验证一下以上说的结论。
由于 B A R ^A_{B}R 的的三个列向量 A X B ^AX_B A Y B ^AY_B A Z B ^AZ_B 都是单位矢量,且两两相互垂直,因而满足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
  (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
由于绕x轴旋转,所以我们观察 Y B Y_B Z B Z_B 分别在 Y A Y_A Z A Z_A 上的投影情况,如下图所示。
在这里插入图片描述

(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}


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

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

猜你喜欢

转载自blog.csdn.net/qq_23320955/article/details/86425403