Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

2.1 刚体的姿态

要描述机器人,第一步是学会描述一个刚体。刚体在空间中的完整描述 = 位置(参考点坐标)+ 姿态(固连坐标系三根轴的指向),二者合称位姿。本节给出这两半的数学写法——其中姿态那一半,正是 2.2 节旋转矩阵的定义来源。录播对应第 1 周 1:56–2:01(幻灯片 07016 / 07208)。

位姿 = 位置 + 姿态 位置是「在哪里」,姿态是「朝向哪里」;两者合起来才是一个刚体在空间中的完整描述。 ROBOTICS · POSE / 02 ATLAS / R-02 位姿 = 位置 + 姿态 位置是「在哪里」,姿态是「朝向哪里」;两者合起来才是一个刚体在空间中的完整描述。 xyzOx′y′z′O′o′ = [o′ₓ o′ᵧ o′𝓏]ᵀ姿态矩阵 R每列 = 本体轴在参考系中的方向x′·xy′·xz′·x······3 + 3 = 6 DOF位置告诉你「在哪里」;姿态告诉你「朝向哪里」。缺一个,刚体的位姿就还没说完整。
图解读图:左侧是参考系 O–xyz,右侧刚体上固连一个本体坐标系 O′–x′y′z′。位置只给出 O′ 的三个坐标;姿态由三根本体轴在参考系里的 9 个方向余弦给出——单位模长与两两正交把 9 个数压到 3 个独立角,所以「位置 3 + 姿态 3 = 6」。

2.1.1 位姿与位置的描述

定义 2.1.1 · 位姿(pose)

刚体(rigid body)可由其在空间中相对参考坐标系 O-xyzO\text{-}xyz 的位置与方向(orientation,又称姿态)完整描述,二者合称位姿(position and orientation)。位置占 3 个数、姿态需要 3 个独立角度,合起来正是「6 个数」——这一直觉在 1.2.1 的六自由度判据里已经见过。

令 O-xyzO\text{-}xyz 为标准正交参考坐标系,x,y,z\boldsymbol x,\boldsymbol y,\boldsymbol z 为三轴单位向量。刚体上取一点 O′O' 作为参考点(图 2.1),其位置可沿三轴分解:

o′=ox′x+oy′y+oz′z,o′=[ox′oy′oz′]∈R3(原书式 2.1)\boldsymbol o'=o'_x\boldsymbol x+o'_y\boldsymbol y+o'_z\boldsymbol z,\qquad \boldsymbol o'=\begin{bmatrix}o'_x\ o'_y\ o'_z\end{bmatrix}\in\mathbb{R}^3\qquad(\text{原书式 }2.1)

为什么 o′\boldsymbol o' 是「有界向量」

它自带作用点与作用线(从原点 OO 指向 O′O'),因此不同于自由向量——后者只有方向与模长。原书特别点出了这一区别;后续做「向量的坐标变换」时,点与自由向量的区别就体现在要不要叠加平移(这正是 2.7 引入齐次变换的动机)。

2.1.2 姿态与方向余弦

只有位置还不够——刚体绕该点还能任意转向。为描述指向,在刚体上固连一个标准正交坐标系 O′-x′y′z′O'\text{-}x'y'z'(原点取在 O′O'),再把它的三根轴单位向量 x′,y′,z′\boldsymbol x',\boldsymbol y',\boldsymbol z' 用参考系的三轴展开:

x′=xx′x+xy′y+xz′zy′=yx′x+yy′y+yz′zz′=zx′x+zy′y+zz′z(原书式 2.2)\begin{aligned} \boldsymbol x' &= x'_x\boldsymbol x+x'_y\boldsymbol y+x'_z\boldsymbol z\ \boldsymbol y' &= y'_x\boldsymbol x+y'_y\boldsymbol y+y'_z\boldsymbol z\ \boldsymbol z' &= z'_x\boldsymbol x+z'_y\boldsymbol y+z'_z\boldsymbol z \end{aligned}\qquad(\text{原书式 }2.2)

原理 2.1.A · 9 个系数即方向余弦

式 2.2 中的每个系数都是方向余弦:例如 xy′=x′⋅y=cos⁡∠(x′,y)x'_y=\boldsymbol x'\cdot\boldsymbol y=\cos\angle(\boldsymbol x',\boldsymbol y),就是固连系某根轴与参考系某根轴夹角的余弦(录播:「它就是两个单位向量做点积」)。 又因单位向量模长为 1、三轴两两垂直,这 9 个方向余弦并不独立——只有 3 个独立(9 个量、6 个约束、3 个独立参数 的账本,下一节展开)。

看下图,两图对照着看:左图把位置向量 o′\boldsymbol o' 沿三根参考轴拆成 3 个系数;右图对固连系的一根轴 x′\boldsymbol x' 做同样的事——每个系数都是它在某根参考轴上的投影,这正是「方向余弦」的几何来源。

位置分解与方向余弦分解 左图:位置向量 o′ 沿参考系三根轴分解为三个系数,虚线画出分解长方体。右图:固连系单位轴 x′ 同样沿三根参考轴分解,三个系数就是方向余弦;对 y′、z′ 重复同样分解共得 9 个数。 位置:参考点沿三轴分解(式 2.1) 姿态:固连系轴逐一分解(式 2.2) x y z o′x o′y o′z o′ x′ x′x = x′·x x′y = x′·y x′z = x′·z 位置 = 3 个系数(有界向量:有作用点 O) 对 y′、z′ 重复同样分解 → 9 个系数 = 9 个方向余弦
方向余弦的几何来源(本教程绘):固连系每根轴在参考系三轴上的投影给出三个系数,三根轴共 9 个——单位模长与两两垂直把这 9 个数的独立自由度压到 3 个(原理 2.1.A)。

于是,把这 9 个数按列排成(3×3)矩阵,就得到下一节的旋转矩阵 RR(原书式 2.3)——本节只立概念,矩阵的性质与运算全部留给 2.2。

默写点 · 合上书再写(主动回忆)

不看正文与速查卡,先写出下面几条,再展开核对。写不出来就说明这一节还没「拿走」。

  1. 位姿由哪两半组成?各几个独立变量?
  2. 9 个方向余弦为什么只有 3 个独立?
  3. 给出刚体上一点的位置,是否就确定了它的位姿?
核对

位置(3)+ 姿态(3)。

RR 的 9 个元素受正交条件 RTR=IR^{\mathrm T}R=I(6 个独立约束),剩 3 个。

不能。绕该点还剩三个转动自由度,姿态必须另外描述。

2.1 小结与常见错误

  • 一条主线:位姿 = 位置(参考点 3 个坐标,式 2.1)+ 姿态(固连系三轴在参考系中的 9 个方向余弦,式 2.2);后者只有 3 个独立量。
  • 一个区分:o′\boldsymbol o' 是有界向量(点),不是自由向量——涉及不同原点时必须补平移。
常见错误清单 · 自查两条
  1. 以为给出原点位置就等于确定了刚体——绕该点还剩三个转动自由度,姿态必须另外描述;
  2. 把方向余弦说成「夹角」——它是夹角的余弦,取值 [−1,1][-1,1],符号携带朝向信息。