这一节给正运动学两端的空间命名,并刻画它们的维数关系与边界——它是任务指定(第 4 章)、冗余分析(第 3 章)与性能指标共同的骨架。录播 1:35:10–1:49:32(1:37–1:42 为课堂练习段)。
给末端指定任务,就是指定它位置和方向的轨迹。如果用旋转矩阵直接指定方向,每时每刻都要满足 9 个分量的正交归一约束,太笨拙(录播 1:42:51:「写成 T 不直观……自然想到用欧拉角」)。于是自然改用最简表示:
定义 2.10.1 · 操作空间与关节空间
操作空间(operational space):末端执行器位姿向量
xe=[peϕe]∈Rm(原书式 2.80)
其中 ϕe 是选定的欧拉角(m≤n)。关节空间(joint space,位形空间):关节变量向量
q=[q1 ⋯ qn]T∈Rn(原书式 2.81)
(转动关节 qi=ϑi,移动关节 qi=di)。正运动学写成(原书式 2.82)
xe=k(q),
k(⋅) 一般是非线性向量函数。
解析式一般写不出(原书;录播 1:45:18–1:46:51)
k(q) 的位置分量好办(Teb 第 4 列),方向分量 ϕe(q) 在 m=6 的一般情形没有封闭形式——只能先算 ne,se,ae,再用 2.4.4 的 Atan2 公式反解。「可不可以写成 xe=k(q)?可以……但解析的本来式写不出来,写成 T 的就可以。」只有最简单的结构是例外,见下例。
例 2.5(原书)· 三连杆平面臂的显式 k(q)
平面臂任务只需 [px py ϕ]T(m=3=n),由 2.9.1 式 2.63 直接读出:
xe=k(q)=a1c1+a2c12+a3c123a1s1+a2s12+a3s123ϑ1+ϑ2+ϑ3.
三个关节变量至多能指定 3 个独立操作变量;若任务只要位置 xe=[px py]T,就出现自由度的运动学冗余(下一小节)。
定义 2.10.2 · 可达工作空间与灵活工作空间
工作空间:所有关节做一切可能运动时,末端执行器坐标系原点扫过的区域。
- 可达工作空间(reachable):至少能从一个方向到达的点的集合;
- 灵活工作空间(dexterous):能从任意方向到达的点的集合。
显然有灵活工作空间 ⊆ 可达工作空间。自由度小于 6 的机械手,无法在空间中任意地定位 + 定向(原书)。
从数学上看,可达工作空间是 pe(q) 在关节限位盒子 qim≤qi≤qiM 下的像。作为连续函数的像,它有界、闭合、连通;边界曲面则由平面、球形、环形、圆柱形的曲面元素拼成,这些形状正是转动 / 移动关节的产物。厂商数据手册上的俯视图 + 侧视图,画的就是它(不含末端执行器)。
例 2.6(原书)· 两连杆平面臂的工作空间作图法
关节空间是矩形 [q1m,q1M]×[q2m,q2M](原书图 2.29)。可达工作空间则是该矩形周界在臂平面中的像,作法是沿矩形边界的线段 ab,bc,cd,da,ae,ef,fd 逐段作图(原书图 2.30)。其中 da 是对角线(把矩形分成两半),沿它臂与前臂共线(q2=0),运动性能同样会损失——这正是后文(第 3 章)要讲的运动学奇异。每条线段扫出一段圆弧,共得弧 AB,BC,CD,DA,AE,EF,FD;外轮廓 CDAEFHC 围出可达工作空间。区域 BCDAB 对应肘朝下姿态、DAEFD 对应肘朝上姿态,两者之交(区域 BADHB)是两种姿态都能到达的部分。点 a、d 处臂的姿态发生切换(q2>0 肘朝下、q2<0 肘朝上),这也是 2.12.1 逆解双支的几何根源。
例 2.6 的作图法可以浓缩成一张「左右对照」图:左边的关节空间矩形逐段扫出右边工作空间的边界弧。其中 q2=0 的对角线对应外轮廓(两杆共线伸直),而肘上 / 肘下两支解对应同一点的两条到达路径。
关节空间 → 工作空间(本教程绘):左边矩形的边界逐段映射为右边圆环的边界弧;q2=0 对角线对应外边界(也是第 3 章的运动学奇异),肘上 / 肘下两支解在边界点 a、d 处切换(例 2.6)。
精度 vs 重复定位精度(原书;录播 1:47:40 老师:「这些你了解就行了」)
- 精度(accuracy):指令位姿与实际到达位姿之差,源于 DH 参数与真实机械尺寸的偏差——量级一般小于 1 mm,并随工作空间位置变化(2.11 节的标定就是为压缩它);
- 重复定位精度(repeatability):回到先前到过的位置的能力,取决于机械 + 传感器 + 控制器,通常比精度更小。以行程 1.5 m 的机械手为例:精度 0.2–1 mm,重复定位精度 0.02–0.2 mm。它是示教再现(第 6 章)的关键参数。
定义 2.10.3 · 冗余的两种用法
- 本质冗余(kinematically redundant):m<n——关节空间维数超过任务位形空间维数;
- 功能冗余:即便 m=n,特定任务只用 r<m 个操作分量时也出现冗余。
关键在于,冗余是相对任务而言的:同一台机械手可能对此任务冗余、对彼任务却不冗余。它带来的工程红利是(原书):当冗余机械手的某个关节到达机械限位时,其余关节可以「顶替」它继续完成同一末端运动——非冗余机械手则做不到。
原书给了三个实例,正好覆盖两种冗余。三连杆平面臂只指定位置时是功能冗余(n=m=3,r=2),一旦加上方向,冗余随即消失;四自由度平面臂是本质冗余(n=4,m=3);6 自由度机器人用于激光切割时,绕接近轴的自转与任务无关,于是 r=5,构成功能冗余。
为什么要故意造冗余机械手(原书 + 录播 1:48:01–1:49:32)
人臂就是 7 自由度(肩 3 + 肘 1 + 腕 3):基座与手都固定之后,肘还能动——这份冗余可以用来避障、绕开奇异、优化姿态。老师举的实例是:空间站机械臂就是七自由度,「可以求最小范数、最小能量的解,甚至避障」。这套系统性的处理方法放在第 3 章。
默写点 · 合上书再写(主动回忆)
先不看正文与速查卡,把下面几条默写出来,再展开核对。写不出来,就说明这一节还没真正「拿走」。
- 写出 xe=k(q),并说明为什么方向分量一般写不出解析式。
- 可达工作空间与灵活工作空间是什么关系?
- 精度与重复定位精度分别是什么?哪个能靠标定改善?
核对
xe=k(q):位置分量就是 Teb 的第 4 列(好办);方向分量在 m=6 的一般情形没有封闭形式——只能先算 ne,se,ae,再用 Atan2 反解欧拉角。
灵活工作空间 ⊆ 可达工作空间:前者要求任意方向都能到达。
精度 = 指令位姿与真实位姿之差(可标定改善);重复精度 = 多次回访同一点的散布(示教再现的命根,主要取决于机械重复性与编码器分辨率)。
- 一张地图:关节空间 Rn —k(q)→ 操作空间 Rm,而任务只占其中的 r 维;冗余由 m<n(本质)或 r<m(功能)判定。
- 两个工作空间:可达 ⊇ 灵活;边界 = 平面 / 球 / 环 / 柱面拼图;手册视图 = 可达工作空间。
常见错误清单 · 自查三条
- 把「末端原点的工作空间」当成「带姿态的工作空间」——定义 2.10.2 只看原点,只有灵活工作空间才涉及任意方向到达;
- 认为 6 自由度机械手对任何任务都「刚好」——激光切割(r=5)就是功能冗余的日常反例;
- 混淆精度与重复定位精度——前者对标称参数的偏差(可标定改善),后者对回访一致性(示教再现的命根)。