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

习题集

原书第 3 章共 22 道习题(Problems 3.1–3.22,p.159–161)。本编按 A(概念判断 4)、B(分析证明 6)、C(计算编程 6)、D(开放研讨 4)分层收录 20 框,全部附解答(默认折叠);标「原书 3.x」者与原书逐条对照,作业题(3.3、3.7)另见作业三的完整版。代码题给验收标准;数值题均可用 tools/verify_ch03_jac.py(make verify)的方法复核。

A / B 组的自评标准(C / D 组另给验收标准)
  • A 组(概念判断):达标要求是「判对 + 说得出依据」。本编 A 组的核心是「矩阵形状 → 工具选型」这条判断链,答对选型还要答对适用条件。
  • B 组(分析证明):按「思路 → 关键步 → 结论」三步自评。本章证明题的判分点集中在:是否用对了 JJ 的分块结构、是否交代了满秩 / 可逆前提、行列式展开时有没有漏掉符号。
  • 通用扣分点:把 JTJ^{\mathrm T} 写成 J−1J^{-1};用解耦矩阵做逆解;ωe\omega_e 与 φ˙e\dot{\boldsymbol\varphi}_e 混用;忘了「zi−1z_{i-1} 表示在基坐标系下」。

A 组 · 概念判断

A1 · 雅可比的行与列各代表什么

(a) 几何雅可比 J∈R6×nJ\in\mathbb R^{6\times n} 的行对应什么物理量?列呢?(b) 第 ii 列 JiJ_i 的物理含义是什么(用「锁死其他关节」的语言说一遍)?(c) 为什么说「雅可比是位形的函数」?

解答

(a) 行 ↔\leftrightarrow 操作空间速度的六个分量(vx,vy,vz,ωx,ωy,ωzv_x,v_y,v_z,\omega_x,\omega_y,\omega_z,前 3 行 JPJ_P 线速度、后 3 行 JOJ_O 角速度);列 ↔\leftrightarrow 关节(第 ii 列 = 关节 ii 的单位速度作用)(录播 0:21:46)。(b) 其余关节全部锁死、只以单位速度驱动关节 ii 时,末端产生的六维速度——ve=Jq˙v_e=J\dot q 展开后 Jiq˙iJ_i\dot q_i 即该项贡献(1:00:52)。(c) JJ 的每一列由 zi−1,pi−1,pez_{i-1},p_{i-1},p_e 组成,这些量全从 Ti0(q)T_i^0(q) 读取——qq 变则 JJ 变(定义 3.1.1)。

A2 · 三种「不方阵」与三味药

把 JJ 的方阵满秩 / 行满秩长方 / 不满秩三种情形与 J−1J^{-1}、J†J^\dagger、J∗J^* 对号,并各说一句「什么时候用、解的性质」。

解答
JJ 的情形 工具 使用条件与解的性质
方阵、满秩(n=rn=r,无奇异) J−1J^{-1} q˙=J−1ve\dot q=J^{-1}v_e 唯一解;配数值积分(定义 3.5.1 前的 3.5.0)
长方、行满秩(r<nr&lt;n,冗余) J†=JT(JJT)−1J^\dagger=J^{\mathrm T}(JJ^{\mathrm T})^{-1} 解最小范数(W=IW=I);加零空间项 (I−J†J)q˙0(I-J^\dagger J)\dot q_0 做内部运动(定义 3.5.1)
退化 / 邻域(奇异) J∗=W−1JT(JW−1JT+K−1)−1J^*=W^{-1}J^{\mathrm T}(JW^{-1}J^{\mathrm T}+K^{-1})^{-1} 容许末端速度误差 δ\delta;KK 大治奇点、K→0K\to0 退回伪逆(定义 3.5.2)

一句话:方阵求逆、矮胖求伪逆、退化加阻尼。

A3 · 几何 / 分析雅可比之差

(a) JJ 与 JAJ_A 的前三行(线速度部分)是否相同?(b) 后三行为何不同?(c) TAT_A 的两块分别是什么,JAJ_A 何时退化?

解答

(a) 相同——p˙e\dot p_e 对 qq 直接求偏导与几何法逐列给出的 JPJ_P 一致(定义 3.6.1)。(b) 后三行描述的是同一个角速度在不同基下的读数:JJ 用基系正交轴(ω\omega 分量有物理意义),JAJ_A 用欧拉角三根非正交瞬时轴(φ˙\dot\varphi)——二者差一个换基 TT(定理 3.6.A)。(c) TA=diag⁡{I3,T(φ)}T_A=\operatorname{diag}\{I_3,T(\varphi)\},左上 I3I_3、右下 T(φ)T(\varphi)(ZYZ 显式见 3.6.2);sϑ=0s_\vartheta=0(ϑ=0,π\vartheta=0,\pi)时 TT 奇异 ⇒ JAJ_A 退化,与 ZYZ 表示歧义同源。

A4 · 静力对偶三问

(a) 写出 τ=JTFe\tau=J^{\mathrm T}F_e 并说明 FeF_e 的六个分量。(b) 为什么力映射用 JTJ^{\mathrm T} 而不是 J−1J^{-1}?(c) 长方阵(冗余)时该式还成立吗?

解答

(a) Fe=[fe;μe]F_e=[f_e;\mu_e]:3 个平动力 + 3 个转动力矩;τ\tau 为 nn 个关节力矩(移动关节为力)(定义 3.8.1)。(b) 功率守恒:q˙Tτ=veTFe=(Jq˙)TFe\dot q^{\mathrm T}\tau=v_e^{\mathrm T}F_e=(J\dot q)^{\mathrm T}F_e 对任意 q˙\dot q 成立 ⇒ τ=JTFe\tau=J^{\mathrm T}F_e——速度变换的转置就是力变换(对偶),无需方阵、无需满秩(定义 3.8.1 证明框)。(c) 成立——与 JJ 的形状无关。

B 组 · 分析证明

B1 · 证明 RS(ω)RT=S(Rω)RS(\omega)R^{\mathrm T}=S(R\omega)(原书 3.1,即式 3.11)

按其物理含义(「先叉乘再旋转 = 先旋转再叉乘」)给出证明,并说明它在角速度递推中的用处。

解答

对任意向量 pp,用旋转不改变模长与夹角(或直接展开 SS 与 RR 的元素)验证 R(ω×(RTp))=Rω×pR(\omega\times(R^{\mathrm T}p))=R\omega\times p… 更简的路线:∀p\forall p,

RS(ω)RTp=R (ω×RTp)=Rω×p=S(Rω)p,RS(\omega)R^{\mathrm T}p=R\,(\omega\times R^{\mathrm T}p)=R\omega\times p=S(R\omega)p,

最后一步用了「旋转与叉乘可交换」:R(a×b)=Ra×RbR(a\times b)=Ra\times Rb(在 RR 的行列式为 +1+1 时成立)。对任意 pp 成立即得 (3.11)。用处:R˙i=S(ωi)Ri\dot R_i=S(\omega_i)R_i 的递推里把 Ri−1S(ωi−1,ii−1)Rii−1R_{i-1}S(\omega_{i-1,i}^{i-1})R_i^{i-1} 化为 S(Ri−1ωi−1,ii−1)RiS(R_{i-1}\omega_{i-1,i}^{i-1})R_i,三个算子便能对同一矩阵比较(3.1.2(d))。

B2 · 拟人臂雅可比与两类臂奇点(原书 3.5 相关)

由 JPJ_P(3.2.2)证明 det⁡JP=−a2a3s3(a2c2+a3c23)\det J_P=-a_2a_3s_3(a_2c_2+a_3c_{23}),并解释两个因子的几何意义。

解答

记 P=a2c2+a3c23P=a_2c_2+a_3c_{23}、Q=a2s2+a3s23Q=a_2s_2+a_3s_{23}、R=a3s23R=a_3s_{23}、S=a3c23S=a_3c_{23},则

JP=[−s1P−c1Q−c1Rc1P−s1Q−s1R0PS].J_P=\begin{bmatrix}-s_1P&amp;-c_1Q&amp;-c_1R\\ c_1P&amp;-s_1Q&amp;-s_1R\\ 0&amp;P&amp;S\end{bmatrix}.

按第三行展开(第一项系数为零):

det⁡JP=−P∣−s1P−c1Rc1P−s1R∣+S∣−s1P−c1Qc1P−s1Q∣=−P (PR)+S (PQ)=P (SQ−PR)\det J_P=-P\begin{vmatrix}-s_1P&amp;-c_1R\\ c_1P&amp;-s_1R\end{vmatrix}+S\begin{vmatrix}-s_1P&amp;-c_1Q\\ c_1P&amp;-s_1Q\end{vmatrix} =-P\,(PR)+S\,(PQ)=P\,(SQ-PR)

(两个二阶行列式分别用了 s12+c12=1s_1^2+c_1^2=1)。再算

SQ−PR=(a2s2+a3s23)(a3c23)−(a2c2+a3c23)(a3s23)=a2a3(s2c23−c2s23)=−a2a3 s3.SQ-PR=(a_2s_2+a_3s_{23})(a_3c_{23})-(a_2c_2+a_3c_{23})(a_3s_{23})=a_2a_3(s_2c_{23}-c_2s_{23})=-a_2a_3\,s_3 .

故

det⁡JP=−a2a3 s3 (a2c2+a3c23).\det J_P=-a_2a_3\,s_3\,(a_2c_2+a_3c_{23}).

两个因子:s3=0s_3=0(ϑ3=0,π\vartheta_3=0,\pi)为肘奇点——臂伸直 / 折回,与两连杆平面臂 例 3.2 概念等价;a2c2+a3c23=0a_2c_2+a_3c_{23}=0 为肩奇点——腕点坐标 px=py=0p_x=p_y=0(落在 z0z_0 轴上),JPJ_P 第一列恒为零(定理 3.3.A 后)。与第一个关节变量无关(ϑ1\vartheta_1 被消去,教材原文即指出)。

B3 · 奇点解耦的合法性(原书 3.5 / 3.44)

(a) 说明为什么「奇点是结构固有属性」允许把参考点挪到腕中心。(b) 写出解耦后的行列式关系。(c) 这个下三角 JJ 能不能拿去做速度控制?为什么?

解答

(a) JJ 不满秩 ⇔ 各列(关节轴方向与其矩的叉乘)线性相关;参考点选取只改变每列的表示(pe−pi−1p_e-p_{i-1} 换成 pw−pi−1p_w-p_{i-1}),不改变「轴的共线 / 平行关系」这一结构事实(1:32:40)。(b) det⁡J=det⁡J11det⁡J22\det J=\det J_{11}\det J_{22},其中 J12=0J_{12}=0(因 pw−pi∥zip_w-p_i \parallel z_i,i=3,4,5i=3,4,5,叉乘为零)。(c) 不能——参考点已不是末端,该矩阵不再表示「关节速度 → 末端速度」的映射;它只用于奇点分析(教材 §3.3.1 原文同样强调)。

B4 · 零空间解族(原书 3.46)

证明:若 q˙∗\dot q^* 满足 Jq˙=veJ\dot q=v_e,P=NNTP=NN^{\mathrm T}(NN 为零空间基),则 q˙∗+Pq˙0\dot q^*+P\dot q_0 仍是解;并说明 I−J†JI-J^\dagger J 与 NNTNN^{\mathrm T} 的关系。

解答

J(q˙∗+Pq˙0)=ve+JNNTq˙0=ve+0=veJ(\dot q^*+P\dot q_0)=v_e+JNN^{\mathrm T}\dot q_0=v_e+0=v_e——用了 JN=0JN=0(定理 3.4.B)。两者都是到 N(J)\mathcal N(J) 的投影:I−J†JI-J^\dagger J 是伪逆诱导的正交投影(W=IW=I 时按欧氏内积正交),NNTNN^{\mathrm T} 是给定基 NN 的(非正交)投影;当 NN 的列标准正交时两者一致。作用相同:不惊动末端的内部运动。

B5 · DLS 的极限行为(原书 3.59 / 3.10)

对 J∗=JT(JJT+k2I)−1J^*=J^{\mathrm T}(JJ^{\mathrm T}+k^2I)^{-1}(r≤nr\le n 行满秩):(a) k→0k\to0 且 JJ 行满秩时趋于什么?(b) 在奇异位形(JJTJJ^{\mathrm T} 奇异)时 k>0k&gt;0 的作用是什么?

解答

(a) k→0k\to0 得 JT(JJT)−1=J†J^{\mathrm T}(JJ^{\mathrm T})^{-1}=J^\dagger(右伪逆)——3.5.2 的「远离奇点取小、甚至趋 0」。(b) 对 JJTJJ^{\mathrm T} 做特征分解,特征值 σi2\sigma_i^2,则 J∗J^* 的第 ii 个奇异方向增益为 σi/(σi2+k2)≤1/(2k)\sigma_i/(\sigma_i^2+k^2)\le 1/(2k)——有界:σi→0\sigma_i\to0 时增益不再发散(σi/k2\sigma_i/k^2 与 kk 同阶),这就是「容许误差换关节速度有界」;代价是末端速度有小偏差 δ\delta(教材 §3.5.2)。

B6 · 速度 / 力变换的转置对偶(原书 3.16 / 3.112–3.116)

设坐标系 1 与基系 0 之间旋转 R10R_1^0、位置 p~\tilde p,写出速度与力的变换矩阵,并说明二者互为转置的理由。

解答

[p˙10ω10]=[R−RS(p~)0R][v1ω1],[f10μ10]=[R0RS(p~)R][f1μ1]\begin{bmatrix}\dot p_1^0\\ \omega_1^0\end{bmatrix}=\begin{bmatrix}R&amp;-RS(\tilde p)\\ 0&amp;R\end{bmatrix}\begin{bmatrix}v_1\\ \omega_1\end{bmatrix}, \qquad \begin{bmatrix}f_1^0\\ \mu_1^0\end{bmatrix}=\begin{bmatrix}R&amp;0\\ RS(\tilde p)&amp;R\end{bmatrix}\begin{bmatrix}f_1\\ \mu_1\end{bmatrix}

理由:虚功率不变(q˙Tτ\dot q^{\mathrm T}\tau 的对偶推广)——两坐标系里算出的功率必须相等:(v0)Tf0=vTf(v^0)^{\mathrm T}f^0=v^{\mathrm T}f 对任意 vv 成立 ⇒ f0=(Jv)Tff^0=(J_v)^{\mathrm T}f,即力变换矩阵 = 速度变换矩阵的转置(教材式 3.113–3.115 的 v22=J21v11⇒γ11=(J21)Tγ22v_2^2=J_2^1v_1^1\Rightarrow\gamma_1^1=(J_2^1)^{\mathrm T}\gamma_2^2)。

C 组 · 计算编程

C1 · 数值雅可比校验器(自编)

写一个函数 jac_check(fk, q, eps=1e-6):给定正运动学 fk(q)(返回 4×44\times4 齐次矩阵)与位形 q,用中心差分算 (3×n)(3\times n) 的线速度雅可比 JPJ_P,与解析 JPJ_P 比对。用它验证 3.2.1 三连杆平面臂的 Jˉ\bar J(前两行)。

解答(验收标准)

数值列 ii:JP[:,i]≈pe(q+ϵei)−pe(q−ϵei)2ϵJ_P[:,i]\approx\frac{p_e(q+\epsilon e_i)-p_e(q-\epsilon e_i)}{2\epsilon},误差 O(ϵ2)O(\epsilon^2);与解析式比对,最大绝对误差 <10−7&lt;10^{-7}(ϵ=10−6\epsilon=10^{-6} 时)。三连杆平面臂取 q=(0.3,−0.7,1.1)q=(0.3,-0.7,1.1)、a=(1,0.8,0.6)a=(1,0.8,0.6),本编脚本实测线速度部分偏差 1.6×10−101.6\times10^{-10}(ϵ=10−6\epsilon=10^{-6} 的中心差分理论误差量级)。注意角速度行不能用位置差分得到——需用 S=R˙RTS=\dot RR^{\mathrm T} 的差分 R˙≈(R(q+ϵei)−R(q−ϵei))/2ϵ\dot R\approx(R(q+\epsilon e_i)-R(q-\epsilon e_i))/2\epsilon 提取(tools/verify_ch03_jac.py 即此法)。

C2 · 三连杆平面臂:有效行与秩

对 3.2.1 的三连杆平面臂:(a) 写出 3×33\times3 任务雅可比 Jˉ\bar J;(b) 求 det⁡Jˉ\det\bar J;(c) 判奇点;与两连杆(例 3.2)对比哪些位形更危险。

解答

(a) 见 3.2.1。(b) 记第 jj 列为 CjC_j,按第三行(全 11)展开:det⁡Jˉ=M31+M32+M33\det\bar J=M_{31}+M_{32}+M_{33}(M3jM_{3j} 为对应代数余子式),代入并整理(s1c1s_1c_1、s123c123s_{123}c_{123} 型项逐一抵消)得

det⁡Jˉ=a1a2 s2.\det\bar J=a_1a_2\,s_2 .

与两连杆平面臂(例 3.2)同构:末行 [1,1,1][1,1,1] 把三根杆的「臂展常数」压成同一个 s2s_2 因子。(c) 奇点 s2=0s_2=0(ϑ2=0,π\vartheta_2=0,\pi)——与 ϑ1,ϑ3\vartheta_1,\vartheta_3 无关,仍是边界型(臂伸直 / 折回);差异在于三连杆多一个「臂展分层」自由度,ϑ3\vartheta_3 可把末端放回同一半径,因此部分可达边界不再同时是奇异边界(工作空间是二维区域而非环带),但 ϑ2=0,π\vartheta_2=0,\pi 本身仍是不可逆位形。

C3 · 斯坦福机械手的第 3 列

对 3.2.3 的斯坦福机械手:(a) 写出 JJ 的第 3 列;(b) 说明它为什么与转动列形状不同;(c) 若要用它做「沿 z2z_2 方向进给」,q˙\dot q 应怎么给?

解答

(a) J3=[z20]J_3=\begin{bmatrix}z_2\\ 0\end{bmatrix}(z2=R20z_2=R_2^0 第三列 =[c1s2,s1s2,c2]T=[c_1s_2,s_1s_2,c_2]^{\mathrm T})。(b) 关节 3 是移动关节——只产生沿轴的平移、不产生角速度(JO3=0J_{O_3}=0)(定理 3.1.C)。(c) 取 q˙=[0,0,d˙3,0,0,0]T\dot q=[0,0,\dot d_3,0,0,0]^{\mathrm T},末端线速度 =z2d˙3=z_2\dot d_3(纯沿伸缩轴);若方向不符,用 J−1J^{-1}/伪逆解 q˙\dot q——斯坦福满秩时直接逆。

C4 · SCARA 的雅可比与秩(原书 3.3 预热,完整版见作业三)

用第 2 章 C3 的 DH 表(2.9),按五步流水线写出 SCARA 的几何雅可比 J∈R6×4J\in\mathbb R^{6\times4},并指出哪些行恒为零、JJ 的秩最大为多少。

解答

四轴全平行(αi=0\alpha_i=0)⇒ z0=z1=z2=z3=[0,0,1]Tz_0=z_1=z_2=z_3=[0,0,1]^{\mathrm T};p0=p1=[0,0,0]Tp_0=p_1=[0,0,0]^{\mathrm T}、p2=[a1c1, a1s1, 0]Tp_2=[a_1c_1,\ a_1s_1,\ 0]^{\mathrm T}、p3=p2+[a2c12,a2s12,0]Tp_3=p_2+[a_2c_{12},a_2s_{12},0]^{\mathrm T}、p4p_4 同 p3p_3(d3d_3 沿 z3z_3 平移同一 zz 坐标)。逐列:

J=[−[a1s1+a2s12]−a2s1200a1c1+a2c12a2c12000010000000001101]J=\begin{bmatrix} -[a_1s_1+a_2s_{12}] &amp; -a_2s_{12} &amp; 0 &amp; 0\\ a_1c_1+a_2c_{12} &amp; a_2c_{12} &amp; 0 &amp; 0\\ 0&amp;0&amp;1&amp;0\\ 0&amp;0&amp;0&amp;0\\ 0&amp;0&amp;0&amp;0\\ 1&amp;1&amp;0&amp;1 \end{bmatrix}

第 4、5 行恒为零(末端绕 x,yx,y 转动自由度根本不存在);秩 ≤min⁡(6,4)\le\min(6,4),实际最大 4(前三行 2×22\times2 块 det⁡=a1a2s2\det=a_1a_2s_2 + 第三、六行)。完整推导与奇点分析见作业三。

C5 · 可操作度在奇点的行为(原书 3.8 相关)

对两连杆平面臂(a1=a2=0.5a_1=a_2=0.5)算 w(q)=det⁡(JJT)w(q)=\sqrt{\det(JJ^{\mathrm T})},取 ϑ2∈{90°,30°,5°,0.1°}\vartheta_2\in\{90°,30°,5°,0.1°\}、ϑ1=0\vartheta_1=0,列表并解释趋势。

解答(验收标准)

JPJ_P(前两行):det⁡JP=a1a2s2=0.25s2\det J_P=a_1a_2s_2=0.25s_2,w=∣det⁡JP∣=0.25∣sin⁡ϑ2∣w=|\det J_P|=0.25|\sin\vartheta_2|:90°90° 时 0.25000.2500、30°30° 时 0.12500.1250、5°5° 时 0.02180.0218、0.1°0.1° 时 4.36×10−44.36\times10^{-4}——趋于 0 的速度与 ϑ2\vartheta_2 同阶,正是 3.5.1 用 max⁡w\max w 远离奇异的依据;也说明奇点邻域「det⁡J\det J 小、J−1J^{-1} 大」的放大机制(2:11:18)。

C6 · DLS 增益曲线(原书 3.10 相关)

对 J=[σ]J=[\sigma](单自由度):画 ∣q˙/ve∣=σ/(σ2+k2)|\dot q/v_e|=\sigma/(\sigma^2+k^2) 随 σ\sigma 的曲线(σ∈[0,2]\sigma\in[0,2],k=0.1,0.5k=0.1,0.5),标出峰值点并与伪逆(σ→0\sigma\to0 时发散)对照。

解答(验收标准)

增益 g(σ)=σ/(σ2+k2)g(\sigma)=\sigma/(\sigma^2+k^2),g′=0⇒σ=kg&#x27;=0\Rightarrow\sigma=k,峰值 gmax⁡=1/(2k)g_{\max}=1/(2k)。k=0.1k=0.1 时峰值 55(在 σ=0.1\sigma=0.1);k=0.5k=0.5 时峰值 11(在 σ=0.5\sigma=0.5)。伪逆增益 1/σ1/\sigma 在 0+0^+ 无界。曲线族说明:kk 是「增益上限」的旋钮——1/(2k)1/(2k) 即 J∗J^* 各方向增益的界;k→0k\to0 全曲线回到 1/σ1/\sigma。

D 组 · 开放研讨

D1 · 「奇点不可避免吗」

任选一种工业构型(如 6 轴球腕串联臂),检索其手册中的奇异位形说明,讨论:哪些奇点是结构性的(不可避免,只能规划绕开),哪些可以通过冗余 / 变构型(7 轴)消除?结合 3.3 的边界 / 内部分类与 Doosan 两种规避策略(3.3.3 工程注记)写成 300 字小报告。

解答要点
  • 结构性:球腕 s5=0s_5=0(内部)、肘 s3=0s_3=0、肩「腕点落轴」——串联 6 轴无法消除,只能避开(规划 / 变速度 / 自动规避);
  • 可消除:7 轴冗余臂用零空间项 q˙0\dot q_0(定理 3.4.B)在临奇位形前自运动到更灵巧的姿态,或直接解可操作度优化问题(3.5.1);
  • 关键判据:看 w(q)=det⁡(JJT)w(q)=\sqrt{\det(JJ^{\mathrm T})} 是否趋 0;预期结论:「边界奇点廉价可避、内部奇点必须主动管理」。
D2 · 从雅可比到力控制(衔接下一章)

由 τ=JTFe\tau=J^{\mathrm T}F_e 出发,说明:若想让末端沿某方向输出恒定力而对位置不敏感(如打磨、插装),为什么控制律要写成 τ=JT(Fd+K Δx)\tau=J^{\mathrm T}(F_d+K\,\Delta x) 的形式?结合 3.8 与 3.7 的两种算法讨论参数与奇点的关系。

解答要点
  • JTJ^{\mathrm T} 把末端期望广义力映射为关节力矩(3.8)——力的「逆运动学」;
  • Δx\Delta x 项提供柔顺(类似 3.7.1 的误差反馈,但作用于力环);
  • 奇点处 JTJ^{\mathrm T} 降秩:某些方向的力无法输出(JTJ^{\mathrm T} 的值域 = 关节能产生的力矩空间),与 3.4 零空间的「力版本」对偶;
  • 结论:力控制设计必须与前几节的雅可比分析联动。
D3 · 复核本编的一个数值

本编在 E3.1 用「课件绿框 + 教材 (3.37)–(3.38) + 数值差分」三源核对拟人臂雅可比。请你自己独立实现第三源(中心差分),验证 Jˉ\bar J 的三行全部元素(不只第三行),并报告最大误差。

解答要点

用 p3(q)=[c1(a2c2+a3c23), s1(a2c2+a3c23), a2s2+a3s23]p_3(q)=[c_1(a_2c_2+a_3c_{23}),\ s_1(a_2c_2+a_3c_{23}),\ a_2s_2+a_3s_{23}](教材 p.115 给出)做中心差分,与 Jˉ\bar J 全元素比对;本编实测最大偏差 2.0×10−102.0\times10^{-10}(中心差分误差量级;若换用符号工具可到 10−1610^{-16})。方法学要点:任何「三行两块」型公式都应做全元素(非抽样)验证。

D4 · 冗余机械手的运动规划(原书 3.21 精神)

取本编 verify_ch03_jac.py 里的三连杆平面臂,设计一个「笔尖沿直线走、肘部避开圆形障碍」的仿真:状态 q˙=J−1ve+(I−J†J)q˙0\dot q=J^{-1}v_e+(I-J^\dagger J)\dot q_0,q˙0\dot q_0 取障碍距离的梯度(3.5.1 之三),报告:末端轨迹误差、障碍最小距离——并解释「为什么末端完全不受 q˙0\dot q_0 影响」。

解答要点
  • 验收:末端轨迹与期望直线偏差 <10−3&lt;10^{-3}(Δt=1\Delta t=1 ms、欧拉积分);障碍距离随 q˙0\dot q_0 激活而上升;
  • 原因:P=I−J†JP=I-J^\dagger J 的列在 N(J)\mathcal N(J) 内,JPq˙0=0JP\dot q_0=0——3.5.1 与 定理 3.4.B 已证;
  • 陷阱:q˙0\dot q_0 太大会把关节速度推高(总速度 = 特解 + 内运动),实际要限幅 / 加权(W≠IW\neq I)。