作业信息(据录播)
- 题号:教材第 3 章习题 3.3、3.7(录播 2:28:00「最后咱们有两道作业的习题,就是一周的时间,3.3 和 3.7」;课件末页同为「作业:习题 3.3,3.7」);
- 原文(教材 p.159):
3.3 Compute the Jacobian of the SCARA manipulator in Fig. 2.36.
3.7 Find the singularities of the SCARA manipulator in Fig. 2.36.
- 提交:一周内。
两题是同一条链的两环:3.3 求雅可比 → 3.7 让它退化(detJ=0 解奇点位形)。SCARA 是四轴全平行(αi≡0)的「平面臂 + 竖直伸缩 + 腕转」结构,正好把 3.1 的绿框公式、3.2 的流水线与 3.3 的判据一次串完。
| 连杆 i | ai | αi | di | ϑi |
| 1 | a1 | 0 | 0 | ϑ1 |
| 2 | a2 | 0 | 0 | ϑ2 |
| 3 | 0 | 0 | d3(移动) | 0 |
| 4 | 0 | 0 | 0 | ϑ4 |
(本作业按教材 Fig. 2.36 的标准 SCARA:4 关节 = 2 转动臂 + 1 移动 + 1 腕转。教材 2.13 用同一张图。)
Aii−1=cisi00−sici000010aiciaisi01 (i=1,2),A32=10000100001000d31,A43=c4s400−s4c40000100001
连乘得(c12=cos(ϑ1+ϑ2);高度坐标符号随 z 轴向上 / 向下约定,本编取 z 向上、d3 向下伸缩):
T40=c124s12400−s124c124000010a1c1+a2c12a1s1+a2s12−d31
动笔前先看一眼这道题的全部几何(下图):四根轴竖直平行意味着雅可比没有「空间项」,四个列在俯视图里就能画出来——右下的两个小图就是 3.7 要解的两个奇异位形。
SCARA 雅可比与奇点的全部几何(本教程绘,对照原书图 2.36):左——四轴平行使每一列都能在俯视图中画出,第 4 列位置部分为零是「腕轴过腕点」的直接结果;右——伸直与折回两支 ϑ2 使 detJ(2)=a1a2sinϑ2=0,两列共线、径向速度不可产生(例 3.2 的 SCARA 版)。
按「五步流水线」(方法 3.2.A):四轴全平行 ⇒ 所有 zi−1 相同、所有转动列都是竖直叉乘;只需从各中间 T 读出 pi−1,逐列套绿框(定理 3.1.C)。
z0=z1=z2=z3=z0base=[0,0,1]T(四轴竖直平行)
p0=p1=[0,0,0]T,p2=[a1c1, a1s1, 0]T,p3=p4=[a1c1+a2c12, a1s1+a2s12, −d3]T
(p4=p3:腕转不改变腕心位置。)末端 pe=p4。
转动列 JPi=zi−1×(pe−pi−1),用 [0,0,1]×[X,Y,Z]=[−Y,X,0]:
- 第 1 列(ϑ1,转动):pe−p1=[a1c1+a2c12, a1s1+a2s12, −d3]T,
z0×(pe−p1)=[−(a1s1+a2s12), a1c1+a2c12, 0]T;
- 第 2 列(ϑ2,转动):z1×(pe−p2)=[−a2s12, a2c12, 0]T;
- 第 3 列(d3,移动):z2=[0,0,1]T,角速度行取 0;
- 第 4 列(ϑ4,转动):pe−p3=0 ⇒ JP4=z3×0=0,JO4=z3=[0,0,1]T。
(第 4 列提示结构真相:腕转不移动末端点——它只改姿态。这正是图 2.36 上腕轴与末端点重合的几何事实。)
J(q)=−a1s1−a2s12a1c1+a2c120001−a2s12a2c120001001000000001∈R6×4
(第 3 行记号:若取 z 向上、d3 向下,则 d3 增大末端沿 −z 走,第 3 行第 3 列为 −1,其余不变——符号随约定,结构不变。)
tools/verify_ch03_jac.py 用中心差分(位置差分 + S=R˙RT 差分)对随机 20 组 (q,a) 复核全部 24 个元素,最大绝对偏差 ∼4×10−10;秩恒为 4(当 s2=0);det(前两行 2×2 块)=a1a2s2。
与教材答案的一致性
教材官方解答(Solution Manual, Problem 3.3)给出的 SCARA 雅可比与本编逐列结果一致(差异仅在 z 轴方向的整体符号约定)。SCARA 是「四轴全平行」的极端情形:αi≡0 使绿框公式退化为「2×2 位置块 + 竖直行 + 腕行」的稀疏结构——参数表越整齐,雅可比越稀疏,这是 2.9 结构知识在微分层的回报。
「J 不满秩」在 6×4 上不好直接判,但 SCARA 结构只给了受限的任务空间:第 4、5 行恒零,第 3、6 行是「竖直平移 / 绕竖轴转」。因此分别看两块:
- 臂块(第 1、2 行 × 第 1、2 列)——决定水平定位能力;
- 竖直 / 腕块(第 3、6 行)——[1,0] 与 [0,1] 恒满秩。
J(2)=[−a1s1−a2s12a1c1+a2c12−a2s12a2c12],detJ(2)=a1a2s2
奇点条件
detJ(2)=0⟺s2=0⟺ϑ2=0 或 π.
(竖直 / 腕部分永不退化:第 3 列 z2、第 4 列 z3 与第 1、2 列张成的方向整体互补,rankJ 从 4 降到 3。)
- ϑ2=0:臂伸直,工作空间外边界(竖直平面内的圆环外缘);两列共线,比例系数 (a1+a2)/a2——末端沿径向的速度分量不可产生;
- ϑ2=π:臂折回,内边界;同理共线(系数 (a1−a2)/a2,若 a1=a2 则两列反号相加为零,末端退到基座轴线上);
- 与 ϑ1,ϑ3,ϑ4 无关——转肩、升降、转腕都不改变奇异性;
- 类型:边界奇点(3.3.1)——「不表示真正的缺陷」,使用中避开臂展极限即可;SCARA 无球形腕、无内部奇点(竖直轴与水平轴从不共线)。
tools/verify_ch03_jac.py 对 s2=0 的两支(ϑ2=0,π)及随机非奇异位形做奇异值分解:非奇异位形最小奇异值 ≥a1a2∣s2∣/∥J(2)∥ 型下界;ϑ2=0,π 时 rank(J(2))=1、rank(J)=3。
与教材答案的一致性
教材官方解答(Problem 3.7)的结论为 SCARA 的奇点在 ϑ2=0,π(臂伸出 / 折叠),与本编一致;教材指出这些是肩 / 肘型边界奇点、可在轨迹规划阶段规避(对应 3.3.3 末尾「臂奇点在操作空间中被很好地识别、可在规划阶段避开」)。
3.3 把「关节速度 → 末端六维速度」写成一张稀疏矩阵:四轴平行使它只有 4 列非零、2 行有效;3.7 只需让那张矩阵的「臂块」退化——detJ(2)=a1a2s2=0 的两个根,就是 SCARA 手臂伸直与折回的两个位形。
易错点清单:① 把第 3 列当转动列(d3 是移动关节);② 第 4 列忘了 pe−p3=0(腕转不改位置);③ 奇点判定漏掉「与 ϑ1 无关」这一结构特征(对比两连杆 例 3.2 的 detJ=a1a2s2,公式形式相同、含义随结构)。