这页不是摘要,而是一组检索练习 。先只看问题,必须开口说或落笔写;「看着熟」不算会。每张卡答完再展开核对。全章共 30 张卡(定义 7 / 结论 8 / 公式 8 / 陷阱 7),一轮约 40 分钟。
用法 :遮住答案,在空白纸 上写;写完再展开对照。标记号:✓ 能完整写出 / △ 有关键词但缺条件 / × 完全想不起。下一轮只重做 △ 与 ×。本章按老师的考试权重分为两块——雅可比(3.1–3.2)与静力学(3.8)是必考 ,其余各节按「精读 / 浏览」区分投入。
写出六维速度向量的构成与方程,并说明 ω e \boldsymbol\omega_e ω e 的分量相对哪个坐标系。
A1 核对
末端执行器速度取六维堆叠 v e = [ p ˙ e ω e ] \boldsymbol v_e=\begin{bmatrix}\dot{\boldsymbol p}_e\\ \boldsymbol\omega_e\end{bmatrix} v e = [ p ˙ e ω e ] (3 平动 + 3 转动),微分运动学方程为
[ p ˙ e ω e ] = J ( q ) q ˙ = [ J P J O ] q ˙ , J ∈ R 6 × n . \begin{bmatrix}\dot{\boldsymbol p}_e\\ \boldsymbol\omega_e\end{bmatrix}=J(\boldsymbol q)\dot{\boldsymbol q}=\begin{bmatrix}J_P\\ J_O\end{bmatrix}\dot{\boldsymbol q},\qquad J\in\mathbb R^{6\times n}. [ p ˙ e ω e ] = J ( q ) q ˙ = [ J P J O ] q ˙ , J ∈ R 6 × n .
J J J 称几何雅可比矩阵 ,是位形 q \boldsymbol q q 的函数;J P J_P J P 对应线速度、J O J_O J O 对应角速度,各 3 × n 3\times n 3 × n 。ω e \boldsymbol\omega_e ω e 的三个分量是末端角速度在基坐标系三根轴上的投影 ——这句话是几何 / 分析雅可比分歧的根源。(定义 3.1.1 )
写出方阵情形的判据,并说出它在本章出现两次的两种后果类别。
A2 核对
使雅可比矩阵 J ( q ) J(\boldsymbol q) J ( q ) 不满秩 的位形 q \boldsymbol q q 称为运动学奇点 ;方阵情形的判据为 det J ( q ) = 0 \det J(\boldsymbol q)=0 det J ( q ) = 0 。开课引子 (老师原话思路):「雅可比矩阵其中有两列线性相关 ,那么它就退化了、就奇异了。对机器人来说,两列线性相关就说明这两个关节轴平行了 。」按出现位置分类 :边界奇点 (臂完全伸出 / 缩回,抵达工作空间边界,「不表示真正的缺陷」,避开边界即可)与内部奇点 (出现在可达工作空间内部 ,产生条件是两个或以上运动轴线共线 ,「比较严重」,轨迹规划时一定要避开)。(定义 3.3.1 )
写出冗余的判据,并指出两个子空间各回答什么问题。
A3 核对
当机械手自由度个数 n n n 大于 描述给定任务所必需的变量个数 r r r 时,称该机械手对给定任务冗余 。操作空间维度 m < n m<n m < n 时一定冗余;任务维度恒有 r ≤ m ≤ 6 r\le m\le6 r ≤ m ≤ 6 。冗余是任务相关的概念 :同一台机械手对某任务冗余、对另一任务可能非冗余(例 3.4.A 的三连杆平面臂即此)。两个子空间 :值域空间 R ( J ) \mathcal R(J) R ( J ) 回答「哪些末端速度能做到」(不在其中的速度不可能 用关节速度线性表出,方程无解);零空间 N ( J ) \mathcal N(J) N ( J ) 回答「哪些关节速度不惊动末端」——冗余时 N ( J ) \mathcal N(J) N ( J ) 必非空,存在 n × ( n − r ) n\times(n-r) n × ( n − r ) 的列满秩矩阵 N N N 使 J N = 0 JN=0 J N = 0 。(定义 3.4.1 )
写出 P P P 的定义、秩与解族,以及证明只差哪一步。
A4 核对
取 P = N N T \boldsymbol P=NN^{\mathrm T} P = N N T (秩 n − r n-r n − r )。若 q ˙ ∗ \dot{\boldsymbol q}^* q ˙ ∗ 是 v e = J q ˙ v_e=J\dot{\boldsymbol q} v e = J q ˙ 的一个特解、q ˙ 0 \dot{\boldsymbol q}_0 q ˙ 0 是任意 向量,则 q ˙ ∗ + P q ˙ 0 \dot{\boldsymbol q}^*+\boldsymbol P\dot{\boldsymbol q}_0 q ˙ ∗ + P q ˙ 0 仍是方程的解 。证明只有一步 :验证 J P q ˙ 0 = J N N T q ˙ 0 = ( J N ) N T q ˙ 0 = 0 J\boldsymbol P\dot{\boldsymbol q}_0=JNN^{\mathrm T}\dot{\boldsymbol q}_0=(JN)N^{\mathrm T}\dot{\boldsymbol q}_0=0 J P q ˙ 0 = J N N T q ˙ 0 = ( J N ) N T q ˙ 0 = 0 ——故 P q ˙ 0 \boldsymbol P\dot{\boldsymbol q}_0 P q ˙ 0 落在 N ( J ) \mathcal N(J) N ( J ) 里,对末端速度的贡献恒为零 。用途 :让机械手在执行任务的同时重新配置 自身(提升灵巧性、避障、回避奇异、远离关节极限)。(定理 3.4.B )
写出 J † J^\dagger J † 的表达式、它的性质,以及它与 J − 1 J^{-1} J − 1 的分工。
A5 核对
q ˙ = J T ( J J T ) − 1 v e = J † v e , J † ≜ J T ( J J T ) − 1 ( r × n ) . \dot{\boldsymbol q}=J^{\mathrm T}(JJ^{\mathrm T})^{-1}\boldsymbol v_e=J^\dagger\boldsymbol v_e,\qquad J^\dagger\triangleq J^{\mathrm T}(JJ^{\mathrm T})^{-1}\ (r\times n). q ˙ = J T ( J J T ) − 1 v e = J † v e , J † ≜ J T ( J J T ) − 1 ( r × n ) .
它就是右广义逆 / 伪逆 。验证 J J † v e = ( J J T ) ( J J T ) − 1 v e = v e JJ^\dagger\boldsymbol v_e=(JJ^{\mathrm T})(JJ^{\mathrm T})^{-1}\boldsymbol v_e=\boldsymbol v_e J J † v e = ( J J T ) ( J J T ) − 1 v e = v e ——确实满足约束 ;而单权情形下的解又使关节速度范数局部最小 ,因此称为最小范数解 。三种处境的药 :方阵满秩 → J − 1 J^{-1} J − 1 (配数值积分);长方冗余 → J † J^\dagger J † (+ 零空间项);退化奇异 → J ∗ J^* J ∗ (阻尼)。口诀:方阵求逆、矮胖求伪逆、退化加阻尼 。(定义 3.5.1 )
写出 J ∗ J^* J ∗ 的表达式与经典阻尼形式,并说明 K K K 的取法。
A6 核对
q ˙ = J ∗ v e , J ∗ = W − 1 J T ( J W − 1 J T + K − 1 ) − 1 . \dot{\boldsymbol q}=J^{*}\boldsymbol v_e,\qquad J^{*}=W^{-1}J^{\mathrm T}\big(JW^{-1}J^{\mathrm T}+K^{-1}\big)^{-1}. q ˙ = J ∗ v e , J ∗ = W − 1 J T ( J W − 1 J T + K − 1 ) − 1 .
W = I W=I W = I 、K = k 2 I K=k^2I K = k 2 I 加权时即经典的阻尼形式 J ∗ = J T ( J J T + k 2 I ) − 1 J^{*}=J^{\mathrm T}(JJ^{\mathrm T}+k^2I)^{-1} J ∗ = J T ( J J T + k 2 I ) − 1 。K K K 的取法 :奇点邻域内取足够大 ——K − 1 K^{-1} K − 1 项占主导,把 det J → 0 \det J\to0 det J → 0 引起的发散压住,奇异就变得可以容忍;远离奇点则取小、甚至趋于 0 0 0 ——此时公式退回 J T ( J J T ) − 1 J^{\mathrm T}(JJ^{\mathrm T})^{-1} J T ( J J T ) − 1 ,而远离奇点处 J J T JJ^{\mathrm T} J J T 可逆。思路 :不再要求微分运动方程严格成立,而是容许 v e \boldsymbol v_e v e 带一个小的误差 δ \delta δ (v e − J q ˙ = δ \boldsymbol v_e-J\dot{\boldsymbol q}=\delta v e − J q ˙ = δ ),用增广变量法 化为同型问题。(定义 3.5.2 )
写出定义与它和几何雅可比的关系,并说明 T T T 的三列是什么。
A7 核对
几何雅可比 (J J J ):逐列给出每个关节速度对末端线速度与角速度 的贡献,角速度部分 ω e \boldsymbol\omega_e ω e 是末端角速度在基坐标系 三根轴上的分量。分析雅可比 J A J_A J A :把正运动学对关节变量直接微分,姿态部分改用欧拉角 φ e = [ φ ϑ ψ ] T \boldsymbol\varphi_e=[\varphi\ \vartheta\ \psi]^{\mathrm T} φ e = [ φ ϑ ψ ] T (ZYZ)的时间导数 φ ˙ e \dot{\boldsymbol\varphi}_e φ ˙ e ——绕欧拉角所定义转轴的旋转速度 。关系:J A = T A − 1 ( φ e ) J J_A=T_A^{-1}(\boldsymbol\varphi_e)J J A = T A − 1 ( φ e ) J ,T A = [ I 3 0 0 T ( φ e ) ] T_A=\begin{bmatrix}I_3&0\\0&T(\boldsymbol\varphi_e)\end{bmatrix} T A = [ I 3 0 0 T ( φ e ) ] ,其中 T T T 的三列就是三根瞬时转轴在基系中的方向 (z z z 、转 φ \varphi φ 后的 y ′ y' y ′ 、再转 ϑ \vartheta ϑ 后的 z ′ ′ z'' z ′′ ),未必正交 。(定义 3.6.1 、定理 3.6.A )
分别说明行、列的含义,并由此解释「为什么平面臂可以只取有效行」。
B1 核对
行对应操作空间的速度分量,列对应关节 。所以 J J J 的每一列可以单独理解(其余关节锁死、只驱动第 i i i 个关节时末端的贡献),秩最多等于列数(自由度个数)。推论 :只有 3 个自由度的拟人臂在 6 维操作空间里至多张出 3 维子空间,因此丢掉相关的行不损失信息 ——保留下来的三行(v x , v y , v z v_x,v_y,v_z v x , v y , v z )恰好构成「臂部」的有效映射。这一「按任务取行 」的思想在 3.4 的冗余分析里就是正式工具(r r r 就是取的行数)。(3.2.2 、3.3.1 )
写出三类后果,并按危险程度排序说明理由。
B2 核对
① 运动退化 :处于奇点时无法让末端朝任意方向运动——两关节轴平行(两列线性相关)时,垂直于该平面的方向的速度分量「造不出来」;② 解不唯一 :逆解可能存在无穷多组 (拟人臂的腕点落在肩轴线上时,无论肩关节角怎么转该点都不动);③ 邻域放大 (三类中最危险 ):奇点邻域内 ,操作空间里很小的速度可能要求关节空间给出极高的速度 。定量说法:J − 1 = adj J / det J J^{-1}=\operatorname{adj}J/\det J J − 1 = adj J / det J ,det J → 0 \det J\to0 det J → 0 时逆矩阵元素整体趋于无穷。(3.3.1 )
写出行列式拆解式与三个具体条件,并说清适用边界。
B3 核对
对「臂(关节 1 … n − 3 1\dots n-3 1 … n − 3 )+ 球形腕(n − 2 … n n-2\dots n n − 2 … n )」构型,把参考点从末端挪到腕心 p w \boldsymbol p_w p w ,雅可比分块为下三角:
[ p ˙ w ω e ] = [ J 11 0 J 21 J 22 ] [ q ˙ a q ˙ w ] , det J = det J 11 ⋅ det J 22 . \begin{bmatrix}\dot{\boldsymbol p}_w\\ \boldsymbol\omega_e\end{bmatrix}=\begin{bmatrix}J_{11}&0\\ J_{21}&J_{22}\end{bmatrix}\begin{bmatrix}\dot{\boldsymbol q}_a\\ \dot{\boldsymbol q}_w\end{bmatrix},\qquad \det J=\det J_{11}\cdot\det J_{22}. [ p ˙ w ω e ] = [ J 11 J 21 0 J 22 ] [ q ˙ a q ˙ w ] , det J = det J 11 ⋅ det J 22 .
三个条件 :腕奇点 det J 22 = ( z n − 2 × z n − 1 ) ⋅ z n ∝ s 5 \det J_{22}=(z_{n-2}\times z_{n-1})\cdot z_n\propto s_5 det J 22 = ( z n − 2 × z n − 1 ) ⋅ z n ∝ s 5 ⇒ s 5 = 0 s_5=0 s 5 = 0 (ϑ 5 = 0 , π \vartheta_5=0,\pi ϑ 5 = 0 , π ,腕 4、6 轴共线,属内部奇点 );肘奇点 s 3 = 0 s_3=0 s 3 = 0 (ϑ 3 = 0 \vartheta_3=0 ϑ 3 = 0 伸直 / π \pi π 折回,属边界奇点 );肩奇点 a 2 c 2 + a 3 c 23 = 0 a_2c_2+a_3c_{23}=0 a 2 c 2 + a 3 c 23 = 0 (腕中心落在 z 0 z_0 z 0 轴上,J J J 第一列 z 0 × p w = 0 z_0\times\boldsymbol p_w=\boldsymbol 0 z 0 × p w = 0 整列为零、逆解无穷多解)。适用边界 :下三角矩阵只保行列式 ,用于奇点分析——不能 拿去做逆解或速度控制(不保「末端」语义)。(定理 3.3.A )
按 J J J 的形状列出三套答案,并各说一句适用理由。
B4 核对
J J J 的形状
工具
适用理由
方阵满秩(r = n r=n r = n )
J − 1 J^{-1} J − 1 + 数值积分 q ( t k + 1 ) ≈ q ( t k ) + J − 1 v e Δ t \boldsymbol q(t_{k+1})\approx\boldsymbol q(t_k)+J^{-1}\boldsymbol v_e\Delta t q ( t k + 1 ) ≈ q ( t k ) + J − 1 v e Δ t
「不受方程结构是否可解的影响,没有解析解也能解」
长方矮胖(r < n r<n r < n ,冗余)
J † = J T ( J J T ) − 1 J^\dagger=J^{\mathrm T}(JJ^{\mathrm T})^{-1} J † = J T ( J J T ) − 1 + 零空间项 P q ˙ 0 \boldsymbol P\dot{\boldsymbol q}_0 P q ˙ 0
一次给出最小范数 解;第二项管内部姿态
退化(奇异)
J ∗ = J T ( J J T + k 2 I ) − 1 J^{*}=J^{\mathrm T}(JJ^{\mathrm T}+k^2I)^{-1} J ∗ = J T ( J J T + k 2 I ) − 1 (DLS)
容许小误差换回可解性 ,把 det J → 0 \det J\to0 det J → 0 的发散压住
一个共同前提 :J W − 1 J T JW^{-1}J^{\mathrm T} J W − 1 J T 可逆 ⇔ J J J 行满秩 (无奇异);到奇点情形老配方失效,必须换 DLS——而 DLS 的 J W − 1 J T + K − 1 JW^{-1}J^{\mathrm T}+K^{-1} J W − 1 J T + K − 1 因 K − 1 K^{-1} K − 1 项在奇异时仍可逆 ,这正是它治奇点的机制。(3.5.0 –3.5.2 )
写出换基矩阵与两句口诀,并说明 J J J 与 J A J_A J A 在哪几行必然相同。
B5 核对
ω e = T ( φ ) φ ˙ e , T ( φ ) = [ 0 − s φ s ϑ c φ 0 c φ s ϑ s φ 1 0 c ϑ ] ( ZYZ ) , J A = T A − 1 J . \boldsymbol\omega_e=T(\boldsymbol\varphi)\dot{\boldsymbol\varphi}_e,\qquad T(\boldsymbol\varphi)=\begin{bmatrix}0&-s_\varphi&s_\vartheta c_\varphi\\ 0&c_\varphi&s_\vartheta s_\varphi\\ 1&0&c_\vartheta\end{bmatrix}\ (\text{ZYZ}),\qquad J_A=T_A^{-1}J . ω e = T ( φ ) φ ˙ e , T ( φ ) = 0 0 1 − s φ c φ 0 s ϑ c φ s ϑ s φ c ϑ ( ZYZ ) , J A = T A − 1 J .
诀窍 :把 T T T 读作「三根瞬时转轴在基系中的方向排成的矩阵 」——一个向量(角速度)、两组「坐标」:在正交基里读数得几何雅可比的后三行,在非正交基(z , y ′ , z ′ ′ z,y',z'' z , y ′ , z ′′ )里读数得 φ ˙ \dot{\boldsymbol\varphi} φ ˙ 。口诀 :位置部分同、姿态部分异;几何看得见(ω \boldsymbol\omega ω 有分量)、分析可积分(φ ˙ \dot{\boldsymbol\varphi} φ ˙ 可积分) 。必然相同的部分 :前三行(线速度)——p ˙ e \dot{\boldsymbol p}_e p ˙ e 对 q \boldsymbol q q 直接求偏导的结果与逐列构造的结果一致。一致的特例 :平面臂(欧拉角轴与固定轴重合,不存在换基问题)。(定理 3.6.A 、3.6.3 )
写出两式,并说明为什么转置方案不能按“完全线性化“设计增益。
B6 核对
逆雅可比方案 :q ˙ = J A − 1 ( q ) ( x ˙ d + K e ) \dot{\boldsymbol q}=J_A^{-1}(\boldsymbol q)\big(\dot{\boldsymbol x}_d+K\boldsymbol e\big) q ˙ = J A − 1 ( q ) ( x ˙ d + K e ) ,代入得 e ˙ = x ˙ d − J A q ˙ = − K e \dot{\boldsymbol e}=\dot{\boldsymbol x}_d-J_A\dot{\boldsymbol q}=-K\boldsymbol e e ˙ = x ˙ d − J A q ˙ = − K e ⇒ 误差动态被化成一阶线性系统 ,K K K 正定即指数收敛(完全线性化 ,代价是每次要求逆、计算贵)。
雅可比转置方案 :q ˙ = J T K e \dot{\boldsymbol q}=J^{\mathrm T}K\boldsymbol e q ˙ = J T K e ,省去求逆(「J − 1 J^{-1} J − 1 很花时间;用 J T J^{\mathrm T} J T 直接调换一下元素位置就可以了」),但误差动态是非线性 的——多出含 J J J 随位形变化的项,稳定性只能借助 Lyapunov 函数 分析,收敛只是局部 的。二阶算法 :e ¨ + K D e ˙ + K P e = 0 \ddot{\boldsymbol e}+K_D\dot{\boldsymbol e}+K_P\boldsymbol e=0 e ¨ + K D e ˙ + K P e = 0 ,把加速度也纳入,误差方程里出现 J ˙ ( q ) \dot J(\boldsymbol q) J ˙ ( q ) 项。(3.7.1 –3.7.3 )
给出两条机制说明,并列出工程上已有的两类规避手段。
B7 核对
两条机制 :① det J → 0 \det J\to0 det J → 0 时 J − 1 = adj J / det J J^{-1}=\operatorname{adj}J/\det J J − 1 = adj J / det J 的元素整体趋于无穷——反解出来的关节速度也趋近无穷大 ;② 奇点邻域同样危险——det J ≠ 0 \det J\neq0 det J = 0 但很小时,逆矩阵元素已经巨大,「离奇点多远」要按 det J \det J det J 的大小判断,不是按是否等于零 。两类工程手段 (课堂视频):变速度 (在奇点附近自动降速)与自动规避 (不严格遵循设定轨迹,在奇点附近容忍较大的轨迹跟踪误差);算法层面还可用 DLS 换回可解性。根本原因 :奇点是结构的几何属性 (轴共线 / 腕点落轴),换算法、换精度都躲不掉,只有规划绕开或结构上避免。(3.3.1 )
写出可操作度的定义、它与奇点的关系,以及 q ˙ 0 \dot{\boldsymbol q}_0 q ˙ 0 的三种取法。
B8 核对
先定义标量函数 g ( q ) g(\boldsymbol q) g ( q ) ,再取 q ˙ 0 = k 0 ( ∂ g ( q ) ∂ q ) T \dot{\boldsymbol q}_0=k_0\left(\dfrac{\partial g(\boldsymbol q)}{\partial\boldsymbol q}\right)^{\mathrm T} q ˙ 0 = k 0 ( ∂ q ∂ g ( q ) ) T (沿梯度方向)。三种取法即三个 g g g :① 可操作度 (最大化)g = w ( q ) = det ( J J T ) g=w(\boldsymbol q)=\sqrt{\det(JJ^{\mathrm T})} g = w ( q ) = det ( J J T ) ——w w w 在奇点位形处为零,方阵情形直接算 det J \det J det J 、长方阵则算 det ( J J T ) \det(JJ^{\mathrm T}) det ( J J T ) 再开方,「离零越远离奇点越远」,最大化 w w w 就是远离奇异 ;② 与关节极限的距离 (最大化,让各关节角靠近行程中点);③ 与障碍物的距离 (最大化,取机械臂上所有点与障碍物距离的最小值 )。这套做法成立的根据 :「为什么能优化?因为冗余——不是一个解,有很多个解,可以把目标转化成优化问题」。(3.5.1 )
写出 R ˙ \dot R R ˙ 的推导两步、S S S 的识别过程与共轭恒等式。
C1 核对
推导 :由 R R T = I RR^{\mathrm T}=I R R T = I 两边求导 ⇒ R ˙ R T + R R ˙ T = 0 \dot RR^{\mathrm T}+R\dot R^{\mathrm T}=0 R ˙ R T + R R ˙ T = 0 ;记 S ≜ R ˙ R T S\triangleq\dot RR^{\mathrm T} S ≜ R ˙ R T 则 S + S T = 0 S+S^{\mathrm T}=0 S + S T = 0 (反对称);两边右乘 R R R 得 R ˙ = S R \dot R=S\,R R ˙ = S R 。识别 S S S :对常模向量取 p ( t ) = R ( t ) p ′ \boldsymbol p(t)=R(t)\boldsymbol p' p ( t ) = R ( t ) p ′ ,一方面 p ˙ = S R p ′ \dot{\boldsymbol p}=S R\boldsymbol p' p ˙ = SR p ′ ,另一方面力学给 p ˙ = ω × p = ω × R p ′ \dot{\boldsymbol p}=\boldsymbol\omega\times\boldsymbol p=\boldsymbol\omega\times R\boldsymbol p' p ˙ = ω × p = ω × R p ′ ;两式对任意 p ′ \boldsymbol p' p ′ 成立 ⇒ S = S ( ω ) S=S(\boldsymbol\omega) S = S ( ω ) 。共轭恒等式 :R S ( ω ) R T = S ( R ω ) R\,S(\boldsymbol\omega)\,R^{\mathrm T}=S(R\boldsymbol\omega) R S ( ω ) R T = S ( R ω ) ——「先叉乘再旋转 = 先旋转再叉乘」(3.1.2 的角速度递推立刻用到它)。两个摘帽结果 :ω = ( R ˙ R T ) ∨ \boldsymbol\omega=(\dot RR^{\mathrm T})^\vee ω = ( R ˙ R T ) ∨ (基系读数)、ω ′ = R T ω = ( R T R ˙ ) ∨ \boldsymbol\omega'=R^{\mathrm T}\boldsymbol\omega=(R^{\mathrm T}\dot R)^\vee ω ′ = R T ω = ( R T R ˙ ) ∨ (刚体系读数)。(定理 3.1.A 、定理 3.1.B )
写出转动关节列与移动关节列,并说明 z i − 1 , p i − 1 z_{i-1},p_{i-1} z i − 1 , p i − 1 从哪里读。
C2 核对
J = [ J 1 ⋯ J n ] , J i = [ J P i J O i ] , { 关节 i 转动: J P i = z i − 1 × ( p e − p i − 1 ) , J O i = z i − 1 关节 i 移动: J P i = z i − 1 , J O i = 0 J=\begin{bmatrix}J_1&\cdots&J_n\end{bmatrix},\qquad J_i=\begin{bmatrix}J_{P_i}\\ J_{O_i}\end{bmatrix},\qquad \begin{cases}\text{关节 } i \text{ 转动:}& J_{P_i}=z_{i-1}\times(\boldsymbol p_e-\boldsymbol p_{i-1}),\quad J_{O_i}=z_{i-1}\\[1mm] \text{关节 } i \text{ 移动:}& J_{P_i}=z_{i-1},\quad J_{O_i}=\boldsymbol 0\end{cases} J = [ J 1 ⋯ J n ] , J i = [ J P i J O i ] , { 关节 i 转动: 关节 i 移动: J P i = z i − 1 × ( p e − p i − 1 ) , J O i = z i − 1 J P i = z i − 1 , J O i = 0
物理解读 (写这条公式时脑子里要有的画面):其余关节全部锁死、只以单位速度驱动第 i i i 个关节 ,末端产生的速度就是第 i i i 列。所需量的出处全部在正运动学 :z i − 1 = R i − 1 z_{i-1}=R_{i-1} z i − 1 = R i − 1 (即 T i − 1 0 T_{i-1}^0 T i − 1 0 左上 3 × 3 3\times3 3 × 3 块)的第三列 ;p i − 1 p_{i-1} p i − 1 = T i − 1 0 T_{i-1}^0 T i − 1 0 第四列前三行;p e \boldsymbol p_e p e = T n 0 T_n^0 T n 0 第四列前三行。坐标变换 :J u = [ R u 0 0 R u ] J J^u=\begin{bmatrix}R^u&0\\0&R^u\end{bmatrix}J J u = [ R u 0 0 R u ] J 。(定理 3.1.C )
写出 J ˉ \bar J J ˉ 与 det J ˉ \det\bar J det J ˉ ,并写出拟人臂的三行版本。
C3 核对
平面两连杆 :
J ˉ = [ − a 1 s 1 − a 2 s 12 − a 2 s 12 a 1 c 1 + a 2 c 12 a 2 c 12 ] , det J ˉ = a 1 a 2 sin ϑ 2 . \bar J=\begin{bmatrix}-a_1s_1-a_2s_{12}&-a_2s_{12}\\ a_1c_1+a_2c_{12}&a_2c_{12}\end{bmatrix},\qquad \det\bar J=a_1a_2\sin\vartheta_2 . J ˉ = [ − a 1 s 1 − a 2 s 12 a 1 c 1 + a 2 c 12 − a 2 s 12 a 2 c 12 ] , det J ˉ = a 1 a 2 sin ϑ 2 .
三连杆平面臂 (3 × 3 3\times3 3 × 3 有效块):前三行的形式逐列递推,第三行为 [ 1 1 1 ] [1\ 1\ 1] [ 1 1 1 ] 。拟人臂 (3 × 3 3\times3 3 × 3 ,力矩有效块):
J ˉ = [ − s 1 ( a 2 c 2 + a 3 c 23 ) − c 1 ( a 2 s 2 + a 3 s 23 ) − c 1 a 3 s 23 c 1 ( a 2 c 2 + a 3 c 23 ) − s 1 ( a 2 s 2 + a 3 s 23 ) − s 1 a 3 s 23 0 a 2 c 2 + a 3 c 23 a 3 c 23 ] , det J ˉ = − a 2 a 3 s 3 ( a 2 c 2 + a 3 c 23 ) . \bar J=\begin{bmatrix}-s_1(a_2c_2+a_3c_{23})&-c_1(a_2s_2+a_3s_{23})&-c_1a_3s_{23}\\ c_1(a_2c_2+a_3c_{23})&-s_1(a_2s_2+a_3s_{23})&-s_1a_3s_{23}\\ 0&a_2c_2+a_3c_{23}&a_3c_{23}\end{bmatrix},\qquad \det\bar J=-a_2a_3\,s_3\,(a_2c_2+a_3c_{23}). J ˉ = − s 1 ( a 2 c 2 + a 3 c 23 ) c 1 ( a 2 c 2 + a 3 c 23 ) 0 − c 1 ( a 2 s 2 + a 3 s 23 ) − s 1 ( a 2 s 2 + a 3 s 23 ) a 2 c 2 + a 3 c 23 − c 1 a 3 s 23 − s 1 a 3 s 23 a 3 c 23 , det J ˉ = − a 2 a 3 s 3 ( a 2 c 2 + a 3 c 23 ) .
两个因子各自为零,正对应拟人臂的两类奇点 :s 3 = 0 s_3=0 s 3 = 0 (肘伸直 / 折回,边界奇点)与 a 2 c 2 + a 3 c 23 = 0 a_2c_2+a_3c_{23}=0 a 2 c 2 + a 3 c 23 = 0 (腕点落到 z 0 z_0 z 0 轴上,肩奇点)。第三行是余弦组合 ——这一处的正余弦在转写中一度被读错,本编按课件绿框、教材式 (3.37)–(3.38) 与数值差分三源核对后采用余弦。(勘误 E3.1 )
写出定义、用虚功原理推一遍,并说明为什么是转置而不是逆。
C4 核对
F e = [ f e μ e ] ∈ R 6 , τ = J T ( q ) F e . F_e=\begin{bmatrix}\boldsymbol f_e\\ \boldsymbol\mu_e\end{bmatrix}\in\mathbb R^6,\qquad \boldsymbol\tau=J^{\mathrm T}(\boldsymbol q)\,F_e . F e = [ f e μ e ] ∈ R 6 , τ = J T ( q ) F e .
虚功推导 :设关节虚位移 d q \mathrm d\boldsymbol q d q ,末端虚位移 d x e = J d q \mathrm d\boldsymbol x_e=J\,\mathrm d\boldsymbol q d x e = J d q 。关节端做功 d W τ = τ T d q \mathrm dW_\tau=\boldsymbol\tau^{\mathrm T}\mathrm d\boldsymbol q d W τ = τ T d q ,末端处外力做功 − F e T J d q -\boldsymbol F_e^{\mathrm T}J\,\mathrm d\boldsymbol q − F e T J d q ;静态平衡时系统总虚功为零 ⇒ τ T = − F e T J \boldsymbol\tau^{\mathrm T}=-\boldsymbol F_e^{\mathrm T}J τ T = − F e T J ,取转置即得。为什么是转置 :能量必须守恒——q ˙ T τ = v e T F e = ( J q ˙ ) T F e = q ˙ T J T F e \dot{\boldsymbol q}^{\mathrm T}\boldsymbol\tau=\boldsymbol v_e^{\mathrm T}F_e=(J\dot{\boldsymbol q})^{\mathrm T}F_e=\dot{\boldsymbol q}^{\mathrm T}J^{\mathrm T}F_e q ˙ T τ = v e T F e = ( J q ˙ ) T F e = q ˙ T J T F e ,对任意 q ˙ \dot{\boldsymbol q} q ˙ 成立。这就是「速度与力的变换互为转置(对偶)」 ;J J J 是长方阵时也照样成立(无需方阵、无需满秩 )。(定义 3.8.1 )
写出速度变换与力变换两式,并指出对偶体现在哪里。
C5 核对
[ p ˙ 1 0 ω 1 0 ] = [ R 1 0 − R 1 0 S ( p ~ ) 0 R 1 0 ] [ v 1 ω 1 ] , [ f 1 0 μ 1 0 ] = [ R 1 0 0 R 1 0 S ( p ~ ) R 1 0 ] [ f 1 μ 1 ] . \begin{bmatrix}\dot{\boldsymbol p}_1^0\\ \boldsymbol\omega_1^0\end{bmatrix}=\begin{bmatrix}R_1^0&-R_1^0S(\tilde{\boldsymbol p})\\ 0&R_1^0\end{bmatrix}\begin{bmatrix}\boldsymbol v_1\\ \boldsymbol\omega_1\end{bmatrix},\qquad \begin{bmatrix}\boldsymbol f_1^0\\ \boldsymbol\mu_1^0\end{bmatrix}=\begin{bmatrix}R_1^0&0\\ R_1^0S(\tilde{\boldsymbol p})&R_1^0\end{bmatrix}\begin{bmatrix}\boldsymbol f_1\\ \boldsymbol\mu_1\end{bmatrix}. [ p ˙ 1 0 ω 1 0 ] = [ R 1 0 0 − R 1 0 S ( p ~ ) R 1 0 ] [ v 1 ω 1 ] , [ f 1 0 μ 1 0 ] = [ R 1 0 R 1 0 S ( p ~ ) 0 R 1 0 ] [ f 1 μ 1 ] .
力的变换矩阵恰是速度变换矩阵的转置 。对偶的具体体现 :平移耦合项 S ( p ~ ) S(\tilde{\boldsymbol p}) S ( p ~ ) 在速度 块里带负号 、在力 块里不带负号并移位 。与 J u J^u J u 的分工 :J u J^u J u 只改旋转块;这里还含平移的耦合 。使用纪律 :传感器、工件、工具各自的坐标系都不一样,要先把力 / 速度统一到同一个坐标系,再谈平衡 。(3.8.2 )
写出腕奇点的行列式判据与两个典型式。
C6 核对
det J 22 = ( z n − 2 × z n − 1 ) ⋅ z n ∝ s 5 ⟹ s 5 = 0 ⟺ ϑ 5 = 0 或 π . \det J_{22}=(z_{n-2}\times z_{n-1})\cdot z_n\propto s_5\qquad\Longrightarrow\qquad s_5=0\iff\vartheta_5=0\ \text{或}\ \pi . det J 22 = ( z n − 2 × z n − 1 ) ⋅ z n ∝ s 5 ⟹ s 5 = 0 ⟺ ϑ 5 = 0 或 π .
几何含义 :ϑ 5 = 0 \vartheta_5=0 ϑ 5 = 0 时腕关节 4 与 6 的轴共线 ——转 ϑ 4 \vartheta_4 ϑ 4 与转 ϑ 6 \vartheta_6 ϑ 6 效果相同,绕垂直于该轴方向的角速度自由度丢失 (典型的内部奇点 )。配套的臂侧判据 :det J 11 = det J P = − a 2 a 3 s 3 ( a 2 c 2 + a 3 c 23 ) \det J_{11}=\det J_P=-a_2a_3s_3(a_2c_2+a_3c_{23}) det J 11 = det J P = − a 2 a 3 s 3 ( a 2 c 2 + a 3 c 23 ) (与 ϑ 1 \vartheta_1 ϑ 1 无关 )。(3.3.3 )
写出 q ˙ = J † v e + ( I − J † J ) q ˙ 0 \dot{\boldsymbol q}=J^\dagger\boldsymbol v_e+(I-J^\dagger J)\dot{\boldsymbol q}_0 q ˙ = J † v e + ( I − J † J ) q ˙ 0 里两项的角色,以及 DLS 增益。
C7 核对
两项各是什么 :第一项 J † v e J^\dagger\boldsymbol v_e J † v e 是满足任务的最小范数特解(「干活用的 」);第二项 ( I − J † J ) q ˙ 0 (I-J^\dagger J)\dot{\boldsymbol q}_0 ( I − J † J ) q ˙ 0 是齐次解 ——P = I − J † J P=I-J^\dagger J P = I − J † J 是零空间投影矩阵,J P q ˙ 0 = ( J − J ) q ˙ 0 = 0 JP\dot{\boldsymbol q}_0=(J-J)\dot{\boldsymbol q}_0=0 J P q ˙ 0 = ( J − J ) q ˙ 0 = 0 ,故不惊动末端 ,内部运动 正是由它描述(与 定理 3.4.B 的 P = N N T P=NN^{\mathrm T} P = N N T 同一角色、两种写法)。DLS 增益 :横轴为奇异值 σ \sigma σ ,伪逆的增益 1 / σ 1/\sigma 1/ σ 在奇点处发散 ;DLS 的增益 σ σ 2 + k 2 \dfrac{\sigma}{\sigma^2+k^2} σ 2 + k 2 σ 处处有界 ,峰值只有 1 / ( 2 k ) 1/(2k) 1/ ( 2 k ) 。(3.5.1 、3.5.2 )
用一条链写出本章与前后章的两个接口。
C8 核对
v e = J ( q ) q ˙ ⏟ 微分运动学 = J ⟷ τ = J T ( q ) F e ⏟ 静力学 = J T (同一个 J ,一个正用、一个转置用) . \underbrace{\boldsymbol v_e=J(\boldsymbol q)\dot{\boldsymbol q}}_{\text{微分运动学}=J}\ \longleftrightarrow\ \underbrace{\boldsymbol\tau=J^{\mathrm T}(\boldsymbol q)F_e}_{\text{静力学}=J^{\mathrm T}}\qquad\text{(同一个 }J\text{,一个正用、一个转置用)}. 微分运动学 = J v e = J ( q ) q ˙ ⟷ 静力学 = J T τ = J T ( q ) F e (同一个 J ,一个正用、一个转置用) .
与第 2 章的接口 :J J J 的每一列所需的 z i − 1 , p i − 1 z_{i-1},p_{i-1} z i − 1 , p i − 1 全部来自第 2 章正运动学的 T T T 矩阵连乘 ——「只要正运动学得到(对每个关节的),几何雅可比矩阵就都得到了」。与第 4 章的接口 :q ˙ \dot{\boldsymbol q} q ˙ 的两种用法——逆方案 / 转置方案分别对应后面对轨迹跟踪(要求线性化)与对力控制(J T J^{\mathrm T} J T 传力)的需求。与第 7、8 章的接口 :τ = J T F e \tau=J^{\mathrm T}F_e τ = J T F e 是静力 平衡式,一旦含惯性、科氏力就必须回到动力学方程。(3.1.3 、3.8 )
D1 核对
错。 z i − 1 z_{i-1} z i − 1 表示在基坐标系 下,只有 z 0 z_0 z 0 才是 [ 0 , 0 , 1 ] T [0,0,1]^{\mathrm T} [ 0 , 0 , 1 ] T ;表示在它自己的坐标系下才是 [ 0 , 0 , 1 ] [0,0,1] [ 0 , 0 , 1 ] ,表示在基坐标系下要乘很复杂的旋转矩阵。正确做法 :z i − 1 = R i − 1 z_{i-1}=R_{i-1} z i − 1 = R i − 1 (T i − 1 0 T_{i-1}^0 T i − 1 0 左上 3 × 3 3\times3 3 × 3 块)的第三列 ,随位形变化。(3.1.3 )
D2 核对
错,方向写反差一个负号。 转动关节列是 J P i = z i − 1 × ( p e − p i − 1 ) J_{P_i}=z_{i-1}\times(\boldsymbol p_e-\boldsymbol p_{i-1}) J P i = z i − 1 × ( p e − p i − 1 ) ——矢径必须从关节轴上的点 p i − 1 p_{i-1} p i − 1 指向末端 p e p_e p e 。物理图像:锁死其余关节、只驱动第 i i i 个,则 i ∼ n i\sim n i ∼ n 段连成一个刚体绕轴 z i − 1 z_{i-1} z i − 1 定轴转动,末端速度方向垂直于矢径 、由右手准则定符号。顺手的自由自查 :J J J 的每一列要么形如 [ z i − 1 × ( ⋅ ) z i − 1 ] \begin{bmatrix}z_{i-1}\times(\cdot)\\ z_{i-1}\end{bmatrix} [ z i − 1 × ( ⋅ ) z i − 1 ] (转动)、要么形如 [ z i − 1 0 ] \begin{bmatrix}z_{i-1}\\ \boldsymbol 0\end{bmatrix} [ z i − 1 0 ] (移动),形状不对就说明组装错了;数值上可用中心差分 p ˙ e ≈ ( p e ( q + δ q ) − p e ( q − δ q ) ) / 2 δ \dot{\boldsymbol p}_e\approx(\boldsymbol p_e(\boldsymbol q+\delta\boldsymbol q)-\boldsymbol p_e(\boldsymbol q-\delta\boldsymbol q))/2\delta p ˙ e ≈ ( p e ( q + δ q ) − p e ( q − δ q )) /2 δ 抽查任一列。(3.1.3 )
D3 核对
错。 奇点是结构的几何属性 ——由「两列线性相关 ⇔ 两个关节轴平行 / 共线」或「腕点落在第一关节轴上」这类几何事实决定,换算法、换精度都躲不掉 ;只有规划绕开(变速度 / 自动规避)或结构上避免。还要注意「邻域」二字 :det J ≠ 0 \det J\neq0 det J = 0 但很小时 J − 1 J^{-1} J − 1 元素已经巨大,边界奇点附近的关节速度放大同样要规划规避 。(3.3 常见错误 1、3)
D4 核对
错。 把参考点从末端挪到腕心后得到的下三角矩阵只保行列式 ,用于奇点分析;它不再是「关节速度 → 末端执行器速度」的映射 ,所以不能 用来表示末端的位姿与速度、也不能拿去做逆解或速度控制。合法性来源 :运动学奇点是机械结构固有特性、与坐标系建在哪里无关 ,故可为简化计算而重选参考系;但做完判断必须换回末端参考 再谈速度传递。(定理 3.3.A 的适用边界)
D5 核对
错,三者对应三种处境。 J − 1 J^{-1} J − 1 只对方阵满秩 有意义(r × n r\times n r × n 的长方阵根本没有逆 ——「不存在逆,就要用广义逆,这是线代 / 矩阵论的基础」);J † = J T ( J J T ) − 1 J^\dagger=J^{\mathrm T}(JJ^{\mathrm T})^{-1} J † = J T ( J J T ) − 1 要求 J J J 行满秩 (无奇异);J ∗ J^{*} J ∗ (DLS)才是奇点邻域的工具。最容易犯的一条 :对冗余臂硬求 J − 1 J^{-1} J − 1 ,或忘了 J W − 1 J T JW^{-1}J^{\mathrm T} J W − 1 J T 可逆的前提是 J J J 行满秩——一到奇点情形老配方就失效。(3.5 常见错误 1、2)
D6 核对
错。 力变换是 J T J^{\mathrm T} J T (对偶 ),不是求逆:τ = J T F e \boldsymbol\tau=J^{\mathrm T}F_e τ = J T F e ,来自虚功原理 / 功率守恒,J J J 是长方阵时同样成立 。连带的两条纪律 :① F e F_e F e 与 J J J 必须在同一坐标系 下——传感器测得的力要先用 3.8.2 的转置对偶关系变换到基系;② 它只是静力 平衡式——一旦含惯性、科氏力,就必须回到动力学方程。(3.8 常见错误 1、2、3)
D7 核对
错。 转置方案 q ˙ = J T K e \dot{\boldsymbol q}=J^{\mathrm T}K\boldsymbol e q ˙ = J T K e 的误差动态是非线性 的(多出含 J J J 随位形变化的项),K K K 取大不一定更好;稳定性只能借助 Lyapunov 函数 分析,收敛只是局部 的。只有逆方案 q ˙ = J A − 1 ( x ˙ d + K e ) \dot{\boldsymbol q}=J_A^{-1}(\dot{\boldsymbol x}_d+K\boldsymbol e) q ˙ = J A − 1 ( x ˙ d + K e ) 才把误差动态化成 e ˙ = − K e \dot{\boldsymbol e}=-K\boldsymbol e e ˙ = − K e 那样的一阶线性系统(代价是每次求逆更贵)。怎么记 :逆方案能完全线性化,转置方案省计算但只局部收敛 。(3.7.2 )
建卡组与录入 :Anki → 新建卡组「ROBOT-第 3 章」(与「ROBOT-全书」并列,勿混入默认卡组);正面放「编号 + 题干」、背面放「核对答案 + 依据([@def-…] / 章节链接)」,纯文本导入用 Tab 分隔正反面、一行一张(本页 30 张按 A1–A7 / B1–B8 / C1–C8 / D1–D7 顺序录入)。
复习节点(1 / 3 / 7 天) :当天 → 第 1 天(隔天)→ 第 3 天 → 第 7 天 ,共四轮,每轮只重做标 △ 与 × 的卡;四轮后仍未「✓」的卡,抄进 errata.md 的待核实条目或自己的薄弱点清单单独跟踪。
加一道保险 :C2(逐列构造)与 C4(静力对偶)必须能默写 ——老师明说这两处「肯定是要考的」(1:05:52)与「主要是记住这个公式就可以」(0:25:53)。默写完请配一个两自由度的实例 (随手写一组 a i , ϑ i a_i,\vartheta_i a i , ϑ i )把 J J J 组装一遍,并代入 τ = J T F e \tau=J^{\mathrm T}F_e τ = J T F e 算一遍量纲。