本文最后更新于:2026年8月5日 中午

本文整理机械臂的基础:坐标系体系、位姿与旋转表示、正/逆运动学、雅可比、奇异与冗余、动力学与力控,以及 TCP 与坐标系标定,作为后续雷达—机械臂手眼标定的前置准备。属 Robotics 笔记系列,另两篇为《齐次变换矩阵与 SE(3)》与《万向节死锁》。

本文脉络:几何与表示(§1–§3)→ 运动学(§4–§7,雅可比 §5 是主线)→ 控制与动力学(§8–§10)→ 标定(§11)。雅可比(§5)同时支撑逆运动学(§6)、奇异与冗余(§7)与力控(§10),是后文反复回指的核心。

1. 机器人、关节与自由度

工业机械臂通常由基座、若干连杆(link)和连接连杆的关节(joint)串联而成,末端安装末端执行器(end-effector)或工具。每个关节提供一个自由度(degree of freedom, DoF):

  • 旋转关节(revolute joint):绕一根轴转动,变量是角度;
  • 移动关节(prismatic joint):沿一根轴伸缩,变量是位移。

一个机械臂的"几轴"通常指旋转关节数。常见的六轴(6-DoF)工业机器人之所以是主流,是因为在三维空间中完整确定一个刚体的位姿(position + orientation)恰好需要 6 个自由度——3 个位置 + 3 个姿态。少于 6 个自由度的机械臂无法在任意位姿下定位末端;多于 6 个则称为冗余机械臂(见第 7 节)。

末端位姿是关节变量的函数,这个"关节 → 末端"的映射由**运动学(kinematics)**描述。运动学不涉及力,只关心几何关系。

机械臂的基本结构:基座、连杆、关节与末端执行器,旋转关节与移动关节,6 自由度对应 3 位置 + 3 姿态

2. 坐标系体系

机器人用一组分层的(parent-child)坐标系来描述自身与工件。这一套坐标系由国际标准 ISO 8373(术语) 与 ISO 9787(坐标系与命名) 规范。常用的有以下几个:

坐标系 说明
基座坐标系(Base) 固结在机器人基座上,是机器人自身的参考系。
世界坐标系(World) 描述整个工作站/单元的最高层参考系。当机器人底座固定安装且未做偏移时,World 与 Base 重合。倒装或重新定位底座时,二者会分离。
关节坐标系(Joint) 以各关节角度(°)描述位姿,而非笛卡尔坐标。
法兰坐标系(Flange / tool0) 机械接口(mechanical interface)即臂端安装工具的法兰盘。"机械接口坐标系"相对法兰定义。未定义工具时,控制器的默认工具坐标系原点就在法兰中心,各厂商称其为 tool0
工具坐标系(Tool) 原点在 TCP(Tool Center Point),随机器人运动。一台机器人可定义多个工具坐标系。
用户/工件坐标系(User Frame) 为工件或作业区(夹具、托盘、传送带)定义,相对 World 系。其价值在于:工件到位有偏差时,只需调整 User Frame,无需重新示教每个点。

ISO 8373 对 TCP 的定义原文是:“tool centre point (TCP): point defined for a given application with regard to the mechanical interface coordinate system”。换句话说,TCP 是相对法兰定义的功能工作点——焊枪的焊嘴尖、夹爪的抓取中心、钻头的尖端,而不是法兰安装面本身。这一点在第 11 节还会展开。

需要区分的一个细节:World 与 Base 不是天然相同的两个概念,但在最常见的"机器人用螺栓固定在地面、不做底座偏移"的安装下,二者数值上重合。在本文以及后续标定文档中,只要底座固定,用 World 还是 Base 指代同一个固定参考系都成立

机器人坐标系体系:World / Base / Joint / Flange(tool0) / Tool(TCP) / User Frame 的分层关系

3. 位姿与旋转的数学表示

一个刚体在三维空间中的位姿由位置(3 个量)和姿态/朝向(3 个自由度)组成。姿态的表示方式有多种,各有取舍。这一节先建立数学对象,再给出工程选型建议。

3.1 旋转矩阵与 SO(3)

一个 3×3 矩阵 $R$ 是旋转矩阵,当且仅当它是行列式为 +1 的正交矩阵:

$$R^\top R = I, \quad \det R = +1$$

所有这样的矩阵构成特殊正交群 SO(3)。SO(3) 对三维旋转不满足交换律($R_1 R_2 \neq R_2 R_1$),这是旋转与平移的一个重要区别。

由旋转轴(单位向量 $\hat{u}$)和旋转角 $\theta$ 构造旋转矩阵,用 Rodrigues 公式:

$$R = (\cos\theta)\, I + (\sin\theta)\,[\hat{u}]_\times + (1-\cos\theta)\,(\hat{u}\otimes\hat{u})$$

其中 $[\hat{u}]_\times$ 是 $\hat{u}$ 的 3×3 反对称矩阵(skew-symmetric matrix)。反之,由 $R$ 可经 $\mathrm{tr}®=1+2\cos\theta$ 提取旋转角,由 $R-R^\top$ 的反对称部分提取旋转轴。

3.2 齐次变换矩阵与 SE(3)

把旋转 $R$ 和平移 $\mathbf{p}$ 嵌入 4×4 矩阵得齐次变换 $T=\begin{bmatrix}R&\mathbf{p}\\\mathbf{0}^\top&1\end{bmatrix}$,构成特殊欧氏群 SE(3),使位姿描述与复合变换都化为矩阵乘法($T_{ac}=T_{ab}\,T_{bc}$)。本文记号 ${}^{A}T_B$ 同时表示"把 $B$ 系坐标变到 $A$ 系"和"$B$ 在 $A$ 系下的位姿";第 4 节 DH 连乘 ${}^{0}T_n=A_1A_2\cdots A_n$ 就是右乘复合的典型例子。

这个矩阵同时是坐标变换、位姿描述、相对运动;而"作用于点 vs 作用于坐标系"“先转后移 vs 先移后转”“旋转轴过不过原点”“内/外旋”"左乘/右乘"等几组概念容易混淆,已配数值算例与示意图整理到专门文档:

→ 详见 《齐次变换矩阵与 SE(3)》(homogeneous-transform.md)。

3.3 欧拉角与万向节死锁

欧拉角用三个角(如 yaw-pitch-roll)表示姿态,直观且最小参数,但有两个工程问题:

  1. 约定不统一:12 种轴序加上"固定轴(外旋)/动轴(内旋)"之分,各厂商不同(FANUC/KUKA 固定轴 XYZ、ABB 动轴 ZYX 等),比较位姿数据前须先确认约定。
  2. 万向节死锁:中间角达到 ±90° 时三角度退化为两自由度,出现奇异。

死锁的本质(是嵌套万向节环的轴承轴重合、而非物体自身轴重合)、飞机比喻、数学机理与规避方案,已配 3D 嵌套环图、飞机示意图与动画整理到专门文档:

→ 详见 《万向节死锁》(gimbal-lock.md)。

工程上的通常做法:内部计算与姿态解算用四元数或旋转矩阵避开奇点,需要给人看时再转欧拉角显示(四元数/旋转矩阵见 3.4–3.6)。另需区分:表示奇异(欧拉角的数学奇点,换表示即消失)与机构奇异(机械臂特定构型下物理丧失运动能力,见第 7 节)是两回事,只是都叫"奇异"。

3.4 轴角与旋转向量

由欧拉旋转定理,任意绕固定点的刚体位移等价于绕某单一轴的一次旋转,可用旋转轴 $\hat{u}$(2 个参数)+ 旋转角 $\theta$(1 个参数)表示;也可合并为旋转向量(3 个标量):

$$ \mathbf{r}=\theta\hat{u} $$

优点是最小参数、几何直观;缺点是 $\theta=0$ 时轴不确定,且两次旋转不能像向量那样直接相加。

3.5 单位四元数

绕单位轴 $\hat{u}$ 旋转角 $\theta$ 对应单位四元数:

$$q = \cos(\theta/2) + \sin(\theta/2)\,(u_x\mathbf{i}+u_y\mathbf{j}+u_z\mathbf{k})$$

旋转通过共轭实现 $\mathbf{p}' = q\,\mathbf{p}\,q^{-1}$,旋转复合是四元数乘法。它有一个双覆盖性质:$q$ 与 $-q$ 表示同一个物理旋转(SU(2) → SO(3) 的二对一映射)。

四元数的工程价值在于:比旋转矩阵更紧凑(4 个参数 vs 9 个)、数值上更稳定、组合更简单、避免万向节死锁,且支持平滑的球面线性插值(Slerp)。代价是不如欧拉角直观,且带一个模长约束。

3.6 工程选型

综合多方资料,工程中常见的分工是:

表示 适用场景 主要缺点
欧拉角 人机交互、结果显示、小角度 万向锁、约定不统一
旋转矩阵 变换向量/点、复合变换、通用运算 9 参数冗余、正交性漂移、难插值
轴角/旋转向量 理论分析、最小参数场合 $\theta=0$ 轴不定、组合困难
单位四元数 插值、滤波、控制器内部、仿真 不直观、双覆盖

一句话:控制器内部与插值用四元数,变换与运算用旋转矩阵,与用户交流用欧拉角。

四种旋转表示的对比:欧拉角、旋转矩阵、轴角/旋转向量、单位四元数,各自的参数数与适用场景

3.7 伴随(Adjoint)矩阵

在更现代的几何框架(如 Lynch & Park《Modern Robotics》)中,刚体瞬时速度用 6 维旋量(twist)表示(3 维角速度 + 3 维线速度)。一个 SE(3) 变换 $T$(旋转 $R$、平移 $\mathbf{p}$)的伴随矩阵用于在坐标系之间变换旋量与力旋量:

$$[\mathrm{Ad}_T] = \begin{bmatrix} R & \mathbf{0} \\ [\mathbf{p}]_\times R & R \end{bmatrix}$$

其中 $[\mathbf{p}]_\times$ 是 $\mathbf{p}$ 的反对称矩阵。这个 6×6 矩阵在后文手眼标定的可观测性分析中会再次出现,届时它的具体形式是推导的关键。

4. 正运动学与 DH 参数

4.1 正运动学(Forward Kinematics, FK)

正运动学研究:已知各关节变量,求末端执行器的位姿。它实现的是从关节空间笛卡尔/任务空间的映射:

$$\text{关节变量 } (q_1,\dots,q_n) \;\longrightarrow\; \text{末端位姿 } T$$

FK 是机器人学最基础的映射,用于碰撞检测、工作空间分析、可视化,以及作为逆运动学/动力学求解器的正向模型。

4.2 DH 参数法

由 Denavit 与 Hartenberg 于 1955 年提出的 DH 参数法,用四个参数描述相邻两个关节坐标系之间的刚体变换,是串联机械臂最通用的建模约定。四个参数的几何含义如下:

参数 名称 几何含义
$a_i$ (又称 $r_i$) 连杆长度 $z_{i-1}$ 与 $z_i$ 两轴的公垂线长度(沿 $x_i$ 量)
$\alpha_i$ 连杆扭角 绕 $x_i$ 轴,从 $z_{i-1}$ 转到 $z_i$ 的角度
$d_i$ 偏距 / 连杆偏移 沿 $z_{i-1}$ 轴,从 $x_{i-1}$ 量到 $x_i$ 的距离
$\theta_i$ 关节角 绕 $z_{i-1}$ 轴,从 $x_{i-1}$ 转到 $x_i$ 的角度

每个关节的四个参数中只有一个是变量:旋转关节为 $\theta_i$,移动关节为 $d_i$;其余三个是结构常量。

坐标系分配的规则是:$z_i$ 轴对齐关节轴线;$x_i$ 轴沿 $z_{i-1}$ 与 $z_i$ 的公垂线(公法线),指向从 $z_{i-1}$ 到 $z_i$;$y_i$ 由右手定则确定。当相邻两 $z$ 轴平行时公垂线不唯一($d_i$ 有任意性),相交时 $x_i$ 取两轴所在平面的法线($a_i=0$)——这导致 DH 参数并非唯一,同一台机器人可有多组等价参数表,比较不同教材/软件的参数时须先确认约定。

DH 四参数的几何含义:连杆长度 a、扭角 α、偏距 d、关节角 θ,以及 z 轴对齐关节轴线、x 轴沿公垂线的坐标系分配

4.3 标准 DH 与修正 DH

这是最常见的混淆点。两种约定的差异体现在三处:

区别维度 标准 DH(classic / distal) 修正 DH(modified / proximal,Craig)
坐标系 $\{i\}$ 固连位置 关节轴 $i+1$(连杆远端) 关节轴 $i$(连杆近端)
变换顺序 先 $z$ 轴操作,后 $x$ 轴:$\mathrm{Trans}_z(d_i)\,\mathrm{Rot}_z(\theta_i)\,\mathrm{Trans}_x(a_i)\,\mathrm{Rot}_x(\alpha_i)$ 先 $x$ 轴,后 $z$ 轴:$\mathrm{Rot}_x(\alpha_{i-1})\,\mathrm{Trans}_x(a_{i-1})\,\mathrm{Rot}_z(\theta_i)\,\mathrm{Trans}_z(d_i)$
下标约定 四个参数统一下标 $i$ $\alpha$、$a$ 下标为 $i-1$;$\theta$、$d$ 下标为 $i$

标准 DH 的变换矩阵 $A_i$(记 $c_\theta=\cos\theta_i$、$s_\theta=\sin\theta_i$、$c_\alpha=\cos\alpha_i$、$s_\alpha=\sin\alpha_i$):

$$A_i = \begin{bmatrix} c_\theta & -s_\theta c_\alpha & s_\theta s_\alpha & a_i c_\theta \\ s_\theta & c_\theta c_\alpha & -c_\theta s_\alpha & a_i s_\theta \\ 0 & s_\alpha & c_\alpha & d_i \\ 0 & 0 & 0 & 1 \end{bmatrix}$$

此矩阵经 Wikipedia 与 Spong《Robot Modeling and Control》 双重核对一致。

作为对照,修正 DH(Craig)的变换矩阵(注意 $\alpha$、$a$ 下标为 $i-1$):

$${}^{i-1}T_i = \begin{bmatrix} c_\theta & -s_\theta & 0 & a_{i-1} \\ s_\theta c_{\alpha^*} & c_\theta c_{\alpha^*} & -s_{\alpha^*} & -d_i s_{\alpha^*} \\ s_\theta s_{\alpha^*} & c_\theta s_{\alpha^*} & c_{\alpha^*} & d_i c_{\alpha^*} \\ 0 & 0 & 0 & 1 \end{bmatrix}, \quad \alpha^*=\alpha_{i-1}$$

两种矩阵结构明显不同,不可混用。一个易错细节:沿同一根轴的平移与旋转可交换($\mathrm{Trans}_z$ 与 $\mathrm{Rot}_z$ 互换、$\mathrm{Trans}_x$ 与 $\mathrm{Rot}_x$ 互换),所以同一约定内组内顺序可调,但"先 $z$ 组后 $x$ 组"或反之的组间顺序不可打乱

4.4 FK 连乘

$n$ 关节串联机械臂末端(相对基座)的位姿,等于各连杆变换矩阵的依次乘积:

$$T_n^0 = A_1(q_1)\, A_2(q_2)\, \cdots\, A_n(q_n)$$

其中每个 $A_i$ 仅是单个关节变量 $q_i$ 的函数。结果的左上 3×3 子矩阵是末端姿态,右上 3×1 列向量是末端位置。这条连乘关系是后续一切(逆运动学、控制、标定)的出发点。

正运动学连乘:各连杆变换矩阵 A₁·A₂·…·Aₙ 依次相乘,把关节变量映射为末端位姿

4.5 DH 数值算例

三个典型机型可对照"标准 DH vs 修正 DH"与不同自由度。

Universal Robots UR5(标准 DH)。 UR 官方公布的标准 DH 参数:

关节 $a$ [m] $d$ [m] $\alpha$ [rad]
1 0 0.089159 $\pi/2$
2 −0.425 0 0
3 −0.39225 0 0
4 0 0.10915 $\pi/2$
5 0 0.09465 $-\pi/2$
6 0 0.0823 0

代入 §4.3 的 $A_i$ 连乘 $T_0^6=A_1\cdots A_6$。零位($\theta_i=0$)时各 $d_i$ 沿 $z$ 向累加,末端约在基座上方 0.817 m(各 $d$ 之和),体现其球形工作空间;$a_2,a_3<0$ 表示肘部向后弯折。UR 同时公布各连杆质量、质心与惯性张量,可直接用于动力学仿真。

PUMA 560(修正 DH / Craig 记法)。 采用 Craig 修正 DH($\alpha_{i-1},a_{i-1},d_i,\theta_i$),其球腕(关节 4/5/6 轴交汇)参数是动力学验证的经典基准:

连杆 $\alpha_{i-1}$ $a_{i-1}$ [m] $d_i$ [m] $\theta_i$
1 0 0 0 $\theta_1$
2 −90° 0 0.2435 $\theta_2$
3 0 0.4318 0.15005 $\theta_3$
4 −90° 0.0203 0.4331 $\theta_4$
5 90° 0 0 $\theta_5$
6 −90° 0 0 $\theta_6$

其球腕部分 $T_4T_5T_6$ 的旋转子矩阵恰为关于 $\{\theta_4,\theta_5,\theta_6\}$ 的 ZYZ 欧拉角分解,这正是 Pieper 准则下解析 IK 可解的根源(见 §6.4)。

SCARA(RRP + 工具回转,4-DoF)。 Spong 教材的 AdeptOne 类 SCARA 连乘末端为:

$$T_0^4=\begin{bmatrix} c_{12}c_4+s_{12}s_4 & -c_{12}s_4+s_{12}c_4 & 0 & a_1c_1+a_2c_{12}\\ s_{12}c_4-c_{12}s_4 & -s_{12}s_4-c_{12}c_4 & 0 & a_1s_1+a_2s_{12}\\ 0&0&-1&-d_3-d_4\\0&0&0&1\end{bmatrix}$$

末端 $z$ 向位姿仅由 $d_3+d_4$ 决定(垂直运动与平面运动解耦),$xy$ 由平面 2R 决定,$\theta_4$ 为工具回转——对应 SCARA “平面 + 垂直” 的结构特点。

5. 雅可比矩阵:速度、力与秩的统一工具

雅可比 $J$ 是 6×n 矩阵($n$ 为关节数),承担两项映射:

速度映射把关节速度映射为末端螺旋速度(3 线速度 + 3 角速度):

$$ \mathcal{V} = J(\boldsymbol{\theta})\,\dot{\boldsymbol{\theta}} $$

其逆 $\dot{\mathbf{q}}=J^{-1}\mathbf{v}$ 是笛卡尔速度控制的核心。力映射则经虚功原理把末端力旋量映射为关节力矩:

$$ \boldsymbol{\tau} = J^\top \mathbf{f}_{\text{tip}} $$

同一个 $J$,正用映射速度、转置映射力,构成"速度—力"对偶,这是力控与阻抗控制的理论基础。雅可比是贯穿后文的统一工具:其伪逆 $J^+$ 支撑逆运动学(§6)与冗余分辨率,其秩的下降定义奇异(§7)。

6. 逆运动学

6.1 定义

逆运动学(Inverse Kinematics, IK)是 FK 的逆问题:给定末端期望位姿,求所需的各关节变量。任务在笛卡尔空间定义,而控制施加在关节上,IK 就是两者之间的桥梁。

6.2 解析解与数值解

维度 解析解(闭式) 数值解
原理 代数/几何推导得闭式表达式 迭代优化逼近
速度 快,适合实时控制 慢,需多次迭代
解的数量 有限个,可全部枚举 每个初值收敛到一个解
适用范围 仅特定几何结构(见 6.4) 通用,任意构型

工业控制器做笛卡尔实时控制时优先用解析解;无闭式解的构型(许多协作臂)只能用数值法,并配合阻尼最小二乘等方法避免奇异附近的数值爆炸。

6.3 数值法:雅可比迭代

把 FK 写成 $\mathbf{x}=f(\boldsymbol{\theta})$,在当前估计 $\boldsymbol{\theta}_k$ 处一阶泰勒展开线性化,得到更新公式:

$$\boldsymbol{\theta}_{k+1} = \boldsymbol{\theta}_k + J^{+}(\boldsymbol{\theta}_k)\,(\mathbf{x}_d - f(\boldsymbol{\theta}_k))$$

其中 $J^+$ 是雅可比矩阵的 Moore-Penrose 伪逆($J$ 可逆时即 $J^{-1}$)。Buss(2009)的综述系统比较了雅可比转置、伪逆、阻尼最小二乘(DLS)三种变体:伪逆在非奇异点附近二次收敛,奇异附近需 DLS 保证数值稳定。

6.4 PIEPER 准则与球腕

一般 6 自由度机械臂的 IK 方程高度非线性,难以直接求得闭式解。Pieper(1968)在其斯坦福博士论文中证明了一个关键结论:

若三个连续的关节轴线交于一点(三个平行轴视为在无穷远处相交),则逆运动学存在解析解。

工业上最常见的满足方式是球腕(spherical wrist):最后三个关节轴线交于一点(腕心)。这带来位置与姿态的解耦——前三个关节控制腕心位置(纯位置问题),后三个关节控制末端姿态(纯姿态问题),从而把一个耦合的 6 维问题拆成两个 3 维问题分别求解。这类机器人通常可用 Paden-Kahan 子问题分解,可达至多 8 组解。

若无球腕(如某些轻量协作臂构型),PIEPER 方法不直接适用,只能退回数值解。

6.5 多解性

IK 的非线性导致同一末端位姿可能对应多个关节构型(flip/no-flip、elbow-up/down、front/back)。具备球腕的 6-DoF 机器人对给定位置姿态最多可有 8 组独立解。还需注意:在不同解(臂构型)之间切换,必须经过奇异位形

6.6 Paden-Kahan 子问题

基于旋量/指数积(PoE)的解析 IK 方法,把结构方程 $e^{\hat\xi_1\theta_1}\cdots e^{\hat\xi_n\theta_n}=g$ 分解为若干规范几何子问题,逐个求闭合解,无需 DH 代数消元。三个经典子问题:

  • PK1(绕单轴 $\omega$ 旋转使点 $p\to q$):
$$ \theta=\mathrm{atan2}\big(\omega^\top(p'\times q'),\,p'^\top q'\big) $$

其中 $p'=p-r-\omega\omega^\top(p-r)$ 为去掉轴向分量后的部分,$r$ 为轴上任一点。

  • PK2(绕两相交轴依次旋转)——中间结果:
$$ p=\alpha\omega_1+\beta\omega_2+\gamma(\omega_1\times\omega_2) $$

系数由范数约束 $\|p\|=\|u\|$ 等解出,可得 0/1/2 个解。

  • PK3(绕轴旋转至给定距离 $\delta$):
$$ \theta=\theta_0\pm\cos^{-1}\!\big(\frac{\|p'\|^2+\|q'\|^2-\delta^2}{2\|p'\|\|q'\|}\big) $$

化简策略:取轴上点(对绕该轴的旋转不变)消去未知关节,或取范数消去平移。对满足 Pieper 准则(腕部三轴汇交)的 6R 臂,该方法可给出全部 8 组闭合解,是 §6.4 球腕解析解的现代几何语言。Elias & Wen(2022)将子问题统一扩展为 6 个规范形式。

7. 奇异点、工作空间与冗余度

7.1 奇异点

奇异位形的严格定义建立在雅可比矩阵秩下降之上:某构型 $\boldsymbol{\theta}^*$ 处的雅可比秩低于其能达到的最大秩。对 6×6 的方阵雅可比,这等价于 $\det(J)=0$。

物理含义是:在该构型下,机器人丧失沿一个或多个方向运动的能力。奇异点附近会出现以下现象:雅可比行列式趋零,逆速度方程 $\dot{\mathbf{q}}=J^{-1}\mathbf{v}$ 等效于"除以一个非常小的数",关节速度趋于无穷,数值上 IK 不稳定,笛卡尔路径精度显著恶化。多数工业机器人在笛卡尔模式下无法穿越腕部奇异

对常见的腕部分离式垂直关节型 6 轴臂(如 PUMA 型:关节 2、3 轴线平行;4、5、6 轴线交于一点),奇异点分三类:

类型 几何条件 表现
腕部奇异(Wrist) 关节 4 与 6 轴线重合(常对应 $\theta_5=0°$) 末端可静止而关节 4、6 高速对旋;IK 有无穷多解
肘部奇异(Elbow) 腕心位于过关节 2、3 轴线的平面(臂完全伸直) 两组逆位置解退化为一个;最易规避
肩部奇异(Shoulder) 腕心位于过关节 1、2 轴线的平面内 无法沿关节 2 轴线方向运动;处理上更复杂

协作臂(如 UR,关节 2/3/4 平行)的奇异条件与 PUMA 型不同:腕部奇异为关节 4、6 平行,肘部为关节 2/3/4 共面,肩部为关节 5、6 交点在关节 1、2 轴线平面内。

工程启示:采集标定数据时应主动避开奇异位姿,否则即使能运动,IK 的数值误差也会污染位姿读数。

6 轴臂的三类奇异:腕部奇异(关节 4、6 轴线重合)、肘部奇异(臂完全伸直)、肩部奇异(腕心在关节 1、2 轴线平面内)

7.2 工作空间

Modern Robotics 区分几个相关概念:

  • 任务空间(task space):任务可自然表达的空间,只取决于任务、与机器人无关
  • 工作空间(workspace):末端执行器所能到达构型的描述,与任务无关,通常用末端能到达的笛卡尔点集(仅位置)定义。
  • 灵巧工作空间(dexterous workspace):能以所有姿态到达的位置集合。

核心区别:可达工作空间只要求至少一种姿态能到达;灵巧工作空间要求任意姿态都能到达,条件严格得多,是前者的子集。

7.3 冗余度

当自由度数 $n$ 大于任务维数 $m$ 时,机械臂是冗余的。此时雅可比是 $m\times n$ 的"胖"矩阵,存在零空间(null space)——满足 $J\dot{\mathbf{q}}=\mathbf{0}$ 的关节速度子空间。零空间内的关节运动称为自运动(self-motion):末端保持静止,而机器人内部构型改变。

冗余分辨率的公式是:

$$\dot{\mathbf{q}} = J^{+}\mathbf{v} + (I - J^{+}J)\,\dot{\mathbf{z}}$$

第一项完成主任务(末端轨迹),第二项利用冗余自由度优化次要目标 $\dot{\mathbf{z}}$。零空间的工程用途包括避奇异(沿降低可操作度的梯度投影)、避障、避关节极限、故障容忍。

7.4 操作度椭球与可操作度

§7.1 用"雅可比是否降秩"定性判断奇异,这里补充定量度量。对雅可比 $J$,$JJ^\top$ 的特征值 $\sigma_1^2\ge\dots\ge\sigma_m^2$($\sigma_i$ 为奇异值)定义操作度椭球(manipulability ellipsoid):主轴方向是末端最易运动的方向,主轴长度为 $\sigma_i$。常用标量指标:

  • Yoshikawa 操作度(椭球体积,$w=0$ 即奇异):
$$ w=\sqrt{\det(JJ^\top)}=\sigma_1\cdots\sigma_m $$
  • 条件数 $\kappa=\sigma_1/\sigma_m$(各向同性度,$\kappa=1$ 最优);
  • 最小奇异值 $\sigma_m$:最差方向的运动能力。

冗余臂可在 §7.3 的零空间项里取 $\dot{\mathbf{z}}=\nabla f(\mathbf{q})$,$f=-\log w$ 以最大化操作度、主动规避奇异;或与阻尼最小二乘(DLS)$\dot{\mathbf{q}}=J^\top(JJ^\top+\lambda^2 I)^{-1}\dot{\mathbf{x}}$ 结合,$\lambda$ 随 $\sigma_m$ 减小而增大。

操作度椭球:雅可比奇异值 σᵢ 为各主轴长度,椭球越接近球则各向同性越好、越扁则该方向运动能力越差,塌缩即奇异

8. 关节空间与笛卡尔空间控制

8.1 两种控制空间

机器人可以在两个空间中受控:

  • 关节空间控制:直接指定各关节角度/速度。不经过坐标变换,TCP 在笛卡尔空间走出的路径不可控(是各关节协调运动的副产物)。
  • 笛卡尔/任务空间控制:指定末端(TCP)在直角坐标系下的位姿。控制器必须把每一个目标位姿通过 IK 换算成关节角才能驱动。

二者的本质区别:

维度 关节空间 笛卡尔空间
指令对象 各关节角度/速度 末端位姿
TCP 路径 不可控、不可预测 精确可控(直线/圆弧)
需要 IK 是,须实时
奇异风险 可能遇到奇异
计算成本

适用场景的分界很自然:只关心到达终点、不关心中间路径的任务(点焊、上下料、码垛)用关节空间;必须沿指定路径走的工艺(焊接、涂胶、打磨、激光切割)用笛卡尔空间。

8.2 轨迹插补:PTP / LIN / CIRC

  • PTP(point-to-point,关节空间插补):各轴以最大加速度和速度同步运动到目标,TCP 空间路径是关节协调的副产物。时间最优。
  • LIN(笛卡尔直线):TCP 在两点间走直线,须沿直线逐点 IK。
  • CIRC(笛卡尔圆弧):TCP 沿起点、经过点、终点定义的圆弧运动(“三点定圆弧”)。

时间标度(time scaling)。 上述指令给定路径的几何形状,而路径参数 $s\in[0,1]$ 随时间的演化(时间标度)决定速度/加速度/加加速度(jerk)的平滑度,直接影响机械冲击与残余振动:

  • 五次多项式($\tau=t/T$,边界速度/加速度均为零,$C^2$ 光滑、jerk 有限,是光顺性与计算量的良好折衷):
$$ s(t)=10\tau^3-15\tau^4+6\tau^5 $$
  • 梯形:匀加速→匀速→匀减速分段,$C^1$ 但切换点 jerk 无穷,有机械冲击;
  • S 曲线:7 段式,jerk 限幅分段恒定,适合高速精密作业,但参数整定复杂。

给定几何路径 $\mathbf{q}(s)$ 与关节力矩界 $|\tau_i|\le\tau_i^{\max}$,时间最优可用相平面法求最短时间:把动力学(见 §9)沿路径参数化为关于 $\ddot s$ 的仿射约束,求最大允许速度曲线 $\dot s_{\max}(s)$,在其上以最大加/减速积分。过多个路径点(via-point)的关节空间轨迹常用三次/五次样条插值(段间位置、速度、加速度连续)。

8.3 工业机器人运动指令

各厂商命名不同,但底层二分法一致——关节插补 vs 笛卡尔插补:

指令(示例) 控制空间
MoveJ / PTP / MoveAbsJ 关节空间
MoveL / LIN 笛卡尔直线
MoveC / CIRC 笛卡尔圆弧

例如 UR 的 MoveJ/MoveL/MoveC、ABB RAPID 的 MoveJ/MoveL/MoveC(及只关轴角的 MoveAbsJ)、KUKA 的 PTP/LIN/CIRC。其中 ABB 的 robtarget 数据用四元数编码姿态,jointtarget 编码关节角。

8.4 控制器分层与轨迹前瞻

工业控制器通常分三层,运行周期不同:

控制层 典型周期
电流(力矩)环 ~125 µs(8 kHz)
速度(伺服)环 ≤ 1 ms(1 kHz)
插补/轨迹生成 ≤ 4 ms

笛卡尔直线/圆弧插补要求每个插补周期完成一次 IK。当路径由大量小线段组成时,常规逐点启停会降精度、损机构,因此现代控制器用轨迹前瞻(look-ahead):在相邻线段尖角处插入平滑曲线(如五次贝塞尔,实现 G² 连续),并通过双向扫描在满足加速度/加加速度约束下规划速度,实现高速且平滑的运动。

8.5 优缺点权衡

  • 关节空间规划:优点是无奇异、计算简单、时间最优;缺点是 TCP 笛卡尔路径不可控。
  • 笛卡尔空间规划:优点是路径精确可控、编程直观;缺点是会遇到奇异、需实时 IK、接近奇异时关节速度飙升。

工业实践通常是:关节空间做大范围转移(MoveJ/PTP),笛卡尔空间做局部工艺(MoveL/LIN),并配合 zone/blending 实现段间平滑过渡。一句话权衡——要路径精度选笛卡尔,要速度与稳健选关节

9. 机器人动力学

前几节是运动学(只关几何)。动力学(dynamics)研究力/力矩与运动的关系,是力控、仿真与高性能轨迹跟踪的基础。

9.1 Euler-Lagrange 方程

把机械臂视为串联刚体系统,其封闭运动方程为:

$$M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}$$

其中 $M(\mathbf{q})\in\mathbb{R}^{n\times n}$ 为对称正定的惯性(质量)矩阵;$C(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}}$ 为科氏与离心项($C$ 可由 Christoffel 符号 $c_{ijk}=\tfrac12(\partial M_{ij}/\partial q_k+\partial M_{ik}/\partial q_j-\partial M_{jk}/\partial q_i)$ 构造);$\mathbf{g}(\mathbf{q})=\partial U/\partial\mathbf{q}$ 为重力项;$\boldsymbol\tau$ 为关节力矩。该结构保证能量守恒:$\dot M-2C$ 反对称。$M,C,\mathbf{g}$ 均可由各连杆的质量、一阶矩(质心)、惯性张量经运动学递推得到。

9.2 递归 Newton-Euler 算法

Euler-Lagrange 适合理论分析,实时控制则用 $O(n)$ 的**递归 Newton-Euler 算法(RNEA)**计算逆动力学(已知 $\mathbf{q},\dot{\mathbf{q}},\ddot{\mathbf{q}}$ 求 $\boldsymbol\tau$),分两步:

  1. 前向迭代(基座→末端):由关节变量递推各连杆的速度旋量 $\mathcal{V}_i$ 与加速度 $\dot{\mathcal{V}}_i$;
  2. 后向迭代(末端→基座):由牛顿/欧拉方程递推各连杆的力旋量 $\mathcal{F}_i$,投影到关节轴得 $\tau_i=\mathcal{A}_i^\top\mathcal{F}_i$。

重力通过令基座线加速度为 $-\mathbf{g}$ 引入。该算法无符号微分、计算高效,与 Euler-Lagrange 在数学上等价,是实时力矩计算的标准选择。

9.3 动力学参数的线性参数化与辨识

一个关键性质:动力学方程可恒等改写为对参数的线性形式:

$$M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = Y(\mathbf{q},\dot{\mathbf{q}},\ddot{\mathbf{q}})\,\mathbf{a} = \boldsymbol{\tau}$$

其中 $Y\in\mathbb{R}^{n\times p}$ 为回归矩阵(仅依赖运动学量),$\mathbf{a}\in\mathbb{R}^p$ 为基参数(base parameters)。每个连杆有 10 个标准参数(质量 $m$、一阶矩 $m\mathbf{r}_c$、惯性张量 $\mathbf{I}$),但经分组后 $p\ll 10n$。辨识流程:设计充分激励的周期轨迹 → 采集 $\{\mathbf{q},\dot{\mathbf{q}},\ddot{\mathbf{q}},\boldsymbol\tau\}$ → 堆叠 $\bar Y\mathbf{a}=\bar{\boldsymbol\tau}$ → 最小二乘 $\mathbf{a}=(\bar Y^\top\bar Y)^{-1}\bar Y^\top\bar{\boldsymbol\tau}$,要求 $\mathrm{rank}(\bar Y)=p$。摩擦(粘滞、库仑)可作为额外参数加入。这是 §11.6 几何标定之外的动力学参数标定,用于前馈控制与仿真保真度。

10. 力控与柔顺控制

§8 的关节/笛卡尔控制是位姿控制(让末端到达指定位姿)。接触式作业(装配、打磨、拖拽示教)需要控制柔顺度

10.1 阻抗控制

Hogan(1985)提出不直接控位姿或力,而是控制机械臂末端的动态阻抗,使其呈现为目标二阶系统:

$$M_d\ddot{\mathbf{x}} + B_d\dot{\mathbf{x}} + K_d(\mathbf{x}-\mathbf{x}_d) = \mathbf{F}_{\text{ext}}$$

其中 $M_d,B_d,K_d$ 分别为期望(虚拟)惯量、阻尼、刚度,$\mathbf{x}_d$ 为期望平衡位姿,$\mathbf{F}_{\text{ext}}$ 为与环境的作用力。调 $K_d$ 控柔顺度、$B_d$ 抑制振荡、$M_d$ 影响瞬态。适合背驱性好的低减速比关节,是协作机器人"柔顺接触"的理论基础。

10.2 导纳控制

导纳控制是阻抗控制的对偶:测外部力 $\mathbf{F}_{\text{ext}}$ → 代入目标阻抗方程解出期望位置偏移 → 由高刚度位置内环跟踪。因工业机器人(高减速比、位置内环刚性)本质是位置源,导纳结构能保证稳定性,故协作机器人(KUKA iiwa、Franka Panda、UR)的拖拽示教与安全接触几乎都采用导纳架构。

10.3 混合位置/力控制

Raibert & Craig(1981)用对角选择矩阵 $S=\mathrm{diag}(s_1,\dots,s_6)$($s_i\in\{0,1\}$)把任务空间正交分解:$S$ 方向做位置控制,$I-S$ 方向做力控制。典型场景:沿表面滑动(切向位置控 + 法向恒力控)。实现时需正确处理 $S$ 是笛卡尔空间的变换(投影到关节空间时用雅可比 $J$ 换算)。

11. TCP 与坐标系标定

11.1 TCP 与为何需要标定

如第 2 节所述,TCP 是相对法兰定义的功能工作点。机器人默认的控制点是法兰中心(tool0);装上工具后,控制器并不知道工具的几何,若不标定 TCP,笛卡尔规划仍按法兰中心做,工具尖的实际轨迹就会偏。

标定 TCP 就是告诉控制器:法兰坐标系到工具工作点的固定偏移(平移 + 旋转)。之后控制器在笛卡尔模式下跟踪的是 TCP 而非法兰。准确 TCP 的重要性体现在:所有笛卡尔运动都相对 TCP 计算,定义误差会传递到每一次运动;尤其对曲线运动和绕 TCP 的旋转运动,错误的 TCP 相当于绕错了旋转中心,误差会被放大,表现为轨迹畸变——直线运动误差尚可容忍,曲线运动会出现明显偏差。

11.2 四点法(four-point method)

标定 TCP 平移的标准做法是四点法:

  1. 驱动机器人,让工具尖(同一个物理点)从至少 4 个不同姿态去接触空间中同一个固定参考点(标定尖或标定球);
  2. 每次记录法兰位姿(由编码器已知);
  3. 由于 4 次接触时 TCP 在空间中是同一点,而法兰位姿各不相同,控制器据此解算 TCP 相对法兰的偏移。

几何解释:工具尖固定、法兰绕其变换姿态,记录到的多个法兰中心位姿相当于分布在"以 TCP 为球心的球面"上的点,用"弦的垂直平分线交于球心"的性质求 TCP 偏移。

代数表述(更严谨):对每个姿态 $i$ 有:

$$ \mathbf{P}_{\text{world}} = T_i\,\mathbf{t} $$

其中 $T_i$ 是该姿态下法兰到世界的变换(已知),$\mathbf{t}$ 是待求的法兰→TCP 偏移(法兰系下为常量),$\mathbf{P}_{\text{world}}$ 是不变接触点。因 $\mathbf{P}_{\text{world}}$ 各次相同,得 $T_1\mathbf{t}=T_2\mathbf{t}=\dots$,联立即可解 $\mathbf{t}$。实际实现常用 4 点以上的最小二乘球面拟合,配 SVD 提升鲁棒性。

为何要 8 点以上更精:理想机器人单点即可,实际有定位误差,多点取平均/最小二乘能降低随机误差;RoboDK 推荐至少 8 个位姿。KUKA 的 “XYZ 4-point” 只解平移、要求轴 4/5/6 姿态差异尽量大以保证方程良态,误差 <0.3 mm 视为合格;FANUC 的 Six Point 法还含姿态。验证方法:标定后手动 jog 变换多种姿态,工具尖不偏离参考点即为准。

11.3 关节零点标定(mastering)

关节的机械参考点与电子(编码器)参考点必须保持同步,失步则所有路径产生位置误差。触发场景包括编码器电池失电、电机/编码器更换、控制器更换、机械拆装/齿轮维修。标定方法是利用每轴的物理零位刻线/参考标线(witness marks),jog 到刻线对齐后执行零位标定;ABB 区分"转数计数器更新"与"精标定(fine calibration,计入齿轮背隙与机械公差)"两步。

11.4 用户/工件坐标系标定

工件坐标系常用三点法定义(三点确定一个笛卡尔系):精确原点(OO)、+X 方向上一点(XX,离原点越远方向越准)、+Y 半平面侧一点(XY),Z 轴由右手定则自动确定。注意记录前须确认当前工具号正确,否则整个 User Frame 标定作废。

11.5 精度退化与维护

工业机器人的特点是"重复性高、绝对精度低"——能一致地回到同一点,但实际位置与编程的世界坐标并不精确吻合。未标定时误差可达 2–5 mm,仅做 TCP 标定通常可降到 0.25–1 mm。TCP 精度会随时间退化,原因包括:工具磨损、碰撞/法兰变形、热膨胀、换工具、关节零点丢失。因此高精度应用需建立定期重标定流程。

11.6 运动学标定与绝对精度

需区分两个概念:重复精度(同一目标多次到位的散布,工业机器人典型 ±0.02–0.1 mm)与绝对精度(实际位姿与控制器指令位姿之差,未标定时可达 1–10 mm)。§11.5 的 TCP 标定只修正工具偏移;绝对精度的主要误差源是连杆/关节的几何参数偏差($\Delta a,\Delta d,\Delta\alpha$ 及零点偏置),即 DH 参数误差。

运动学标定四阶段:(1) 建立含误差参数的运动学模型;(2) 用激光跟踪仪等测量一组末端位姿;(3) 最小二乘辨识参数误差:

$$ \Delta p=(J_p^\top J_p)^{-1}J_p^\top \mathbf{e} $$

其中 $J_p=\partial\text{位姿}/\partial p$ 是位姿对几何参数的偏置雅可比;(4) 在控制器中补偿。文献报告标定后最大位置误差可降 50–80%。用指数积(PoE)模型代替 DH 建模可避免 DH 在平行轴处的奇异性,在标定中更稳健。注意三个层面的区分:§11.2 TCP 标定修正工具偏移、§11.3 关节零点标定校准编码器参考、本节运动学标定修正连杆几何。

参考资料



文章链接:
https://www.zywvvd.com/notes/3d/robot-arm-fundamentals/robot-arm-fundamentals/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

机械臂技术基础
https://www.zywvvd.com/notes/3d/robot-arm-fundamentals/robot-arm-fundamentals/
作者
Yiwei Zhang
发布于
2026年7月31日
许可协议