连杆、关节与自由度
机器人是一张图:节点是刚体(连杆),边是关节。动手写任何运动学公式之前,先学会数数:一个刚体有几个自由度,一个关节拿走几个,整台机器人还剩几个。这个数字决定了要装几台电机、末端能够到达怎样的位姿,也决定了一个多杆机构到底能不能动。
1为什么机器人需要它
拿到一台新机器人,第一个问题常常是:它有几个自由度?UR5 是 6,Franka 是 7,SCARA 通常是 4,Delta 并联机器人是 3,Stewart 平台是 6,一只灵巧手有二十来个,一台人形机器人再加上"浮动基座"的 6 个,超过三十。这个数字背后是三个很实际的问题。
末端需要几个?空间里一个刚体的位姿有 6 个数(5.3 节的 \(\SE\) 是 6 维的)。要让手爪到达任意位姿,至少需要 6 个互相独立的关节;只要把零件放到桌面上并转一个角度,4 个就够(这正是 SCARA 的设计理由)。要装几台电机?每个主动关节一台,被动关节没有。数少了,机器人会有一部分在晃动、不受控;数多了,白白增加重量和成本。这个机构能不能动?并联机器人和各种闭链机构,光看图常常分不出它是刚性的结构还是可以运动的机构,必须数。
这一课没有重的公式。我们先在图上数,再把"数数"写成 Grübler 公式,把它理解成"每个关节从自由刚体手里扣掉一部分自由度"。接着你会看到这条公式在哪里会失灵,以及更诚实的定义:局部自由度就是关节螺旋轴矩阵的秩(接上 5.10 节的螺旋轴和 1.6 节的秩)。
2直觉:关节是一条"允许与禁止"的规则
先固定一个物体 A(地面,或者上一节连杆)。一个自由的刚体 B 在平面里有 3 个自由度 \((x,y,\theta)\),在空间里有 6 个:3 个平移加 3 个转动,也就是 \(\SE\) 的 6 个维度。把 B 用一个关节连到 A 上,就是给 B 的运动立一条规则:这几个方向允许,其余方向禁止。允许的相对自由度个数记作 \(f\),被禁止的个数就是约束数 \(c = 6 - f\)(平面里是 \(3-f\))。
工程里常见的关节只有六种。转动关节 R(铰链)与移动关节 P(滑轨)\(f=1\);螺旋关节 H(螺母沿螺杆)也是 \(f=1\),转角和平移被螺距 \(h\) 绑在一起;圆柱关节 C(转动加沿同一根轴的移动)和万向节 U(两根相交的垂直转轴)\(f=2\);球关节 S(肩、髋、球头)\(f=3\)。下面的实验让 B 在每种关节的规则下运动。每个关节的运动都可以写成 5.10 节的螺旋轴 \(S_i\) 和指数映射 \(T=\Exp(S_1\theta_1)\Exp(S_2\theta_2)\cdots\),图中紫色虚线就是此刻这些轴的位置。
- 选螺旋关节,把螺距设为 \(h=0.5\),再把 \(\theta\) 转满一圈(\(360^\circ\))。B 沿轴前进了多少?它与读数里的 \(h\theta\) 一致吗?为什么只有一个滑块就够了?
- 选球关节,把中间的角 \(\theta_2\) 设为 \(90^\circ\)。三根轴的秩掉到了 2,可是球关节的 \(f\) 仍然是 3,B 依然能转到任何朝向。这是怎么回事?(提示:5.2 节的万向锁。)
| 关节 | \(f\) | \(c\) | 等价的 1 自由度链 | 例子 |
|---|---|---|---|---|
| 转动 R | 1 | 5 | — | 机械臂肘部、门铰链 |
| 移动 P | 1 | 5 | — | 直线电机、龙门架、Stewart 的电动缸 |
| 螺旋 H | 1 | 5 | — | 丝杠与螺母、螺栓 |
| 圆柱 C | 2 | 4 | R + P (同轴) | 能转的伸缩杆 |
| 万向节 U | 2 | 4 | R + R (轴相交且垂直) | 传动轴十字节、云台 |
| 球 S | 3 | 3 | R + R + R (轴交于一点) | 髋、肩、球头拉杆 |
表的第四列是一个重要的简化:任何多自由度关节都可以看成零长度连杆连起来的 1 自由度关节串。万向节是两个轴相交的转动关节,球关节是三个。所以机器人里真正需要的零件只有 R 和 P(有时再加 H):电机驱动的几乎都是 1 自由度关节。这也是机器人描述文件 URDF 只提供 revolute、continuous、prismatic、fixed、floating、planar 几种关节的原因:万向节和球关节要写成带"零质量连杆"的转动关节链。平面机构里只剩 R 和 P,每个 \(f=1\)、\(c=2\)。
3动手玩:数自由度
把机构画成一张图:每个刚体是一个节点(地面也是一个节点,并且要算进去),每个关节是连接两个节点的边。数出节点数 \(N\)、边数 \(J\),再把每条边的 \(f_i\) 加起来。道理一句话就说完:除去地面,有 \(N-1\) 个活动刚体,各自有 \(\lambda\) 个自由度(空间 \(\lambda=6\),平面 \(\lambda=3\));每个关节扣掉 \(c_i=\lambda-f_i\) 个。剩下的就是机构的活动度 (mobility):
这就是 Grübler–Kutzbach 公式(推导在第 5 节)。FIG 2 左边是机构的图(边上标着关节类型),右边是"预算表":从 \(\lambda(N-1)\) 的总自由度出发,各类关节依次扣掉约束,剩下的绿柱是 \(m\)。点击预设,先在心里算一遍再看答案。
- 先自己算 6-UPS Stewart 平台:\(N=14\)(地面、平台、6 条腿各 2 节),\(J=18\),\(\sum f_i=6\cdot2+6\cdot1+6\cdot3=36\)。再点预设对答案。6 个自由度,由 6 个移动关节驱动,一一对应。
- 依次打开 6-SPS Stewart 与 Delta。Grübler 给出 12 和 9,大于平台真正能做的 6 和 3。多出来的是什么?(读数里的"被动/空转"一行。)
- 打开 Bennett、Sarrus 或 双平行四边形 之一:公式给出 \(m\le0\),似乎是刚性结构,可是"实际活动度"是 1。数出了错吗?(第 4 节解释。)
闭链:一根曲柄带动整个机构
串联机械臂的图是一条链,\(m=\sum f_i\),没什么好数的。有意思的是闭链:图里有环。每多一个独立的环,就多一组闭合条件,吃掉 \(\lambda\) 个自由度。平面四连杆 (four-bar) 是最小的例子:\(N=4\),\(J=4\),4 个转动关节,\(m=3(4-1-4)+4=1\)。一个自由度,所以转动曲柄,其余的杆都跟着确定地运动。FIG 3 里拖动曲柄末端的紫色圆圈,机构的两种"装配方式"(对应回路方程两个解)可以用按钮切换。
四连杆的 4 根杆长决定它的"性格"。Grashof 条件:最短杆 \(s\) 加最长杆 \(l\) 不超过另两根之和 \(p+q\) 时,至少有一根杆可以相对邻杆整圈转动;否则每一根都只能摆动(三摇杆)。再看最短杆是哪一根,就能区分曲柄摇杆、双曲柄、双摇杆。切换"五连杆":把地面到末端的回路再加一根杆,\(m=2\),需要两台电机,末端 E 扫出的就不再是一条曲线,而是一块面积。
- 在"曲柄摇杆"预设上,把曲柄长度 \(a\) 的滑块慢慢拉大,直到 Grashof 判定从"是"变成"否"。此时曲柄还能整圈转动吗?数值扫描与判据一致吗?
- 选"三摇杆",拖动曲柄直到它被卡住。这时 \(\sin\mu\approx0\),速度比 \(\mathrm d\chi/\mathrm d\varphi\) 发生了什么?再选"平行四边形",转到 \(\varphi=0^\circ\) 附近,观察"环路秩"。
- 切换到"五连杆",把两个曲柄都拖一拖。只拖一个,末端 E 走出一条曲线;两个一起拖,E 能去哪些地方?需要几台电机?
4第二、第三视角:秩,以及公式的盲区
自由度 = 秩
数数是粗糙的,它假设每个约束都管用。更可靠的定义是局部的、线性代数的:在位形 \(\boldsymbol\theta\) 处,让每个关节单独转一点,末端的位姿各自朝哪个方向变化?这就是 5.10 节空间雅可比的各列 \(\operatorname{Ad}_{\Exp(S_1\theta_1)\cdots}S_i\)(当前位形下各关节轴的样子)。末端能朝多少个独立方向运动,就是这些列的秩。关节有 \(n\) 个,秩是 \(r\),那么 \(n-r\) 个关节方向的运动是"白费力气"(1.6 节的零空间)。
FIG 4 让你自己搭一条链:点击每个关节按钮,在转动/移动、三个方向之间循环,或设为"—"(拿掉)。矩阵是当前的 \(J_s\),右图是它的奇异值。试试看:六个关节是不是总给你六个自由度?
- 载入"六个同向转轴"。六个关节,为什么秩只有 3?把关节按钮改成别的方向,看看秩怎样变化。
- 载入"一般 6R 臂",把第 6 个关节(腕部中间的 \(R_y\);这个预设去掉了第 3 个)拖到 \(0^\circ\):两根腕轴重合,秩从 6 掉到 5。把它稍微转开,秩立刻恢复。这是奇异位形(见 7.4)。再载入"7R 臂":7 个关节,秩仍是 6,多出来的 1 个是什么?
Grübler 的盲区:当约束并不独立
公式假定每个关节拿走的自由度是"新的"。如果有些约束其实是同一个约束的重复,公式就会少数。最简单的例子是"双平行四边形":两根等长的平行曲柄,上面装一根与地面平行的连杆,再在曲柄中间加第二根平行于地面的杆 CD。\(N=5\),\(J=6\),\(m=3(5-1-6)+6=0\):公式说这是一个刚性结构。可是只要杆 CD 的长度恰好等于地面长度,CD 就始终与地面平行,没有给机构增加任何新约束,整个机构依然是 1 自由度。这就是过约束 (overconstrained) 机构。FIG 5 里把 CD 的长度偏差 \(\varepsilon\) 从 0 拉开一点,看会发生什么。
- 把 \(\varepsilon\) 从 0 拉到 \(|\varepsilon|\ge0.1\)(\(g=2\),只有 5%),读出杆内的应变。再拖曲柄,应变变化吗?现实中的机构靠什么容忍这样的误差?
记账:\(m=\lambda(N-1-J)+\sum f_i\),只看节点数、边数和关节类型,不管几何尺寸,所以算得快,也会算错。数环:\(m=\sum f_i-\lambda L\),其中 \(L=J-N+1\) 是图里独立环的个数,每个环吃掉 \(\lambda\) 个自由度;这和记账是同一个公式换了说法。算秩:\(m_{\text{local}}=n-\operatorname{rank}(A(\boldsymbol\theta))\),\(A\) 是闭环约束的雅可比矩阵(对串联链,螺旋轴矩阵 \(J_s\) 的秩数的是末端能动的方向数,\(n-\operatorname{rank}J_s\) 是零空间维数,见 FIG 4)。它看的是真实的几何,所以不会被特殊尺寸骗到,也会如实反映奇异位形里"瞬时自由度"的变化。前两种是估计,第三种才是定义。
5再看数学
提示:把鼠标悬停在公式中带底色的符号上,FIG 2 中对应的部分会被高亮。
自由度与约束
自由度 (degree of freedom, DoF) 是完全确定机构位形所需的最少独立坐标个数。一个自由刚体:平面 \(\lambda=3\)(\(\mathrm{SE}(2)\)),空间 \(\lambda=6\)(\(\SE\),5.3 节)。\(f\) 自由度的关节在 B 的位形空间里切出一个 \(f\) 维的子集,等价于 \(c=\lambda-f\) 个独立的位形约束。
Grübler–Kutzbach 公式的推导
地面固定,\(N-1\) 个活动刚体在不受约束时共有 \(\lambda(N-1)\) 个自由度。每个关节 \(i\) 带来 \(c_i=\lambda-f_i\) 个约束方程。若所有方程相互独立,则每个方程恰好消去一个自由度:
图的独立环个数是 \(L=J-N+1\)(圈秩,cyclomatic number),代入得 \(m=\sum f_i-\lambda L\):每个独立回路吃掉 \(\lambda\) 个自由度。树形结构(\(L=0\),所有串联臂、人形机器人去掉浮动基座后的树)没有环,\(m=\sum f_i\),关节自由度直接相加。公式还有一个常被忽略的性质:方程之间若有依赖,真正独立的约束更少,解集的维数不会低于"未知数减去方程数"。所以只要机构能够装配起来,真实活动度\(\ge\)公式的值;公式给出 0 或负数,并不意味着机构一定动不了(FIG 5)。
两个手算例子
Stewart 平台:地面 + 平台 + 6 条腿 \(\times\) 2 节(缸筒与活塞杆)= 14 个刚体;每条腿 3 个关节(地面端 U,缸筒与活塞杆之间 P,平台端 S),共 18 个。把地面端的 U 换成 S(6-SPS,两端都是球关节)则 \(\sum f_i=6\cdot(3+1+3)=42\)、\(m=12\):多出的 6 是每条腿绕自身轴线的空转,对平台的位姿毫无影响。
活动度的局部定义:秩
设位形用 \(n\) 个坐标 \(\mathbf q\) 描述,闭环等约束写成 \(g(\mathbf q)=0\)(这样的约束叫完整约束,holonomic,它们能积分成位形之间的代数关系)。在一点 \(\mathbf q\) 处,允许的速度满足 \(A(\mathbf q)\dot{\mathbf q}=0\),\(A=\partial g/\partial\mathbf q\)。于是
秩在特殊位形处下降,\(m_{\text{local}}\) 就在那里变大:这就是 FIG 3 里平行四边形折叠位置的"瞬时多出的自由度"(环路秩从 2 降到 1,3 个坐标减去秩,\(3-1=2\))。串联臂也一样:\(\boldsymbol\theta\) 处末端能动的方向数是 \(\operatorname{rank}J_s(\boldsymbol\theta)\)(FIG 4),它在奇异位形处变小。两者方向相反,是因为一个数的是"约束掉多少",另一个数的是"还能走多少"。形如 \(A(\mathbf q)\dot{\mathbf q}=0\) 的速度约束(例如冰刀、轮子不能侧滑)如果不能积分成位形约束,就是非完整约束 (nonholonomic):它们减少可用的速度方向,却不减少可达位形的维数,这是 9.1 节的主题。
关节自由度、任务自由度、冗余与欠驱动
要区分三个数:机构的活动度 \(m\)(也就是需要几个独立坐标),任务的维数 \(d\)(末端要控制几个量:只定位是 3,定位加朝向是 6,平面里 3),主动关节数 \(n_a\)(几台电机)。它们的大小关系给出常见的几类机器人:
| 条件 | 名称 | 例子与后果 |
|---|---|---|
| \(n_a=m\) | 全驱动 | 工业机械臂:每个自由度都有电机,可以直接指令加速度(Part IV 的计算力矩控制) |
| \(n_a<m\) | 欠驱动 | 带浮动基座的人形与足式机器人(6 个自由度没有电机)、四旋翼(6 自由度,4 个旋翼)、Acrobot。必须借助动力学和接触力来"间接驱动" |
| \(n_a>m\) | 冗余驱动 | 多腿并联机器人(3 自由度用 4 条腿):可以消除奇异位形、产生内部预紧力,代价是电机之间必须协调 |
| \(m>d\) | 运动学冗余 | 7R 臂做 6 维任务:同一个末端位姿对应一条 \(m-d=1\) 维的关节位形曲线(自运动),3.4 节的零空间 |
| \(m<d\) | 任务无法完全控制 | 5 自由度机械臂做 6 维位姿:只能到达位姿集合里一个"零测度"的子集 |
为什么是 6,为什么是 7
串联臂的正运动学是一个光滑映射 \(F:\mathbb R^n\to\SE\),\(\SE\) 是 6 维的。若 \(n<6\),像集的维数不超过 \(n\),在 \(\SE\) 里测度为 0(Sard 定理):绝大多数位姿够不到。\(n=6\) 时,在秩为 6 的位形附近 \(F\) 是局部的满射,每个位姿有有限个原像,也就是有限个逆运动学解(一般的 6R 最多 16 个,7.5 节)。\(n=7\) 时每个位姿的原像是一条一维曲线,即上表中的运动学冗余。6 是"够用的最小值",7 是"多出一个可调节的维度",代价是更多的关节与更复杂的控制。
浮动基座
足式机器人和人形机器人没有固定在地面上。把"世界"当作地面,机身通过一个自由关节 (free joint,\(f=6\),\(c=0\)) 连到世界:FIG 2 里的"人形"预设就是这样,\(m=6+30=36\),但只有 30 台电机。这 6 个无电机的自由度正是欠驱动:机身的运动完全由腿与地面的接触力决定(9.2 节)。MuJoCo 和 Pinocchio 都用 7 个数描述自由关节的位形(位置加单位四元数),速度只有 6 维:位形坐标的个数不等于自由度,这正是下一课 7.2 节的内容。
6机器人中的它:架构怎么选
每一种常见的机器人构型,都是对"数出来的自由度"的一个回答:任务需要几个自由度,就给几个,再用构型换取速度、刚度、负载或成本。
| 机器人 | 结构 | 自由度 | 为什么这样设计 |
|---|---|---|---|
| 工业 6R 臂(UR5e、ABB IRB、KUKA KR) | 6 个转动关节 | 6 | 恰好够到达任意位姿;许多型号的腕部三轴相交(球腕),使逆运动学有解析解 |
| 7R 协作臂(Franka Panda、KUKA LBR iiwa) | 7 个转动关节 | 7 | 任务 6 维,多 1 个自运动维度:躲障碍、避开关节极限和奇异位形 |
| SCARA | R-R-P-R | 4 | 装配、搬运只需要 \((x,y,z,\text{yaw})\);水平方向柔顺、竖直方向刚硬,速度快、便宜(FIG 4 里的预设,秩为 4) |
| Delta(Clavel 1988;ABB FlexPicker) | 3 个基座电机 + 3 组平行四边形杆 | 3(平移) | 电机都在底座,运动部分极轻,每分钟可抓取上百次;平行四边形使平台始终不转。工业型号常再加一根伸缩中轴给出第 4 个转动自由度 |
| Stewart–Gough 平台 | 6-UPS | 6 | 六条腿共同承载,刚度和负载比串联臂高得多,用于飞行模拟器和精密定位台;代价是工作空间小 |
| 四足机器人(如 Boston Dynamics Spot) | 每腿 3 个电机,浮动基座 | 12 个驱动 + 6 个无驱动 | 三个关节足以把脚放到腿部工作空间内的任意点;机身的 6 个自由度靠足底接触力控制 |
| 全尺寸人形(如 Unitree H1) | 19 个驱动关节,浮动基座 | 19 个驱动 + 6 个无驱动 | 每条腿 5 个、每条手臂 4 个、腰部 1 个;手臂自由度少于人类的 7,是成本与任务需要之间的折衷 |
| 灵巧手(Shadow Hand、Allegro Hand) | 多指,每指 3–4 个关节 | Shadow:24 个关节中 20 个有独立驱动;Allegro:16 | 操作一个自由物体(6 维位姿)需要的接触与关节远多于 6,且指尖之间形成闭链(9.3 节) |
| 人的手臂 | 肩 3 + 肘 1 + 前臂旋转 1 + 腕 2 | 7 | 与 7R 协作臂同样的冗余:手固定不动,肘部仍能画圆 |
URDF 描述的是一棵树:每个关节有一个父连杆和一个子连杆,所以闭链机构(四连杆、Delta、Stewart、手加物体)无法直接表达。仿真器的通行做法是把环"剪开",再加一个约束把断口接回去:MuJoCo 的 equality 里的 connect 去掉 3 个自由度(球关节的闭合),weld 去掉 6 个,这正是上面"每个环吃掉 \(\lambda\) 个自由度"的数值实现。Pinocchio 和 MuJoCo 的浮动基座都是 7 维位形、6 维速度的自由关节;URDF 用 floating 关节类型,SDF(Gazebo)还提供 ball、universal、screw 等多自由度关节类型。并联机器人和串联臂的难易正好相反:Stewart 平台由位姿求六条腿的长度有闭式解(逆运动学很容易),而由腿长求位姿(正运动学)是一个多项式方程组,一般的 Stewart 平台最多有 40 组解,只能数值求解。这就是闭环的代价。
7常见误区
\(N\) 里必须算上地面:四连杆是 4 个刚体,不是 3 个。被动关节(没有电机的铰点)和主动关节一样占约束、占自由度,也要进 \(\sum f_i\);它们的运动是机构自己"决定"的,不需要电机,但仍然是活动度的一部分。反过来,连杆两端都是球关节时,杆绕自身轴线的空转也是一个自由度,公式会如实数出来(6-SPS 给 12,Delta 给 9)。数出的 \(m\) 要拿去和"平台真正有几个自由度"、"需要几台电机"分开对照,两者不一定相等。
它只是依赖"约束独立"这一假设的估计,是活动度的下界。Bennett 四杆机构(1903)是 4 个转动关节的空间闭环,公式给 \(6(4-1-4)+4=-2\),它却能运动,活动度为 1,条件是杆长和扭角满足 \(a_{12}=a_{34}\)、\(a_{23}=a_{41}\)、\(\alpha_{12}=\alpha_{34}\)、\(\alpha_{23}=\alpha_{41}\) 并且 \(a_{12}/\sin\alpha_{12}=a_{23}/\sin\alpha_{23}\);Sarrus 机构(6 个转动关节,两条腿)公式为 0,实际为 1,可以让平台沿一条直线平移。这些都是过约束机构:特殊尺寸使一部分约束重复了。它们在工程里真的用,但对加工精度极其敏感:尺寸偏一点(FIG 5 的 \(\varepsilon\)),机构就卡死。
六个关节可以只给末端 3 个自由度:六个转轴全部平行时(FIG 4 的预设),末端只能在一个平面内平移并绕垂直轴转动,秩为 3。关节轴重合、共线、平行都会制造这样的"重复"。反过来,SCARA 只用 4 个关节就给出 \((x,y,z,\text{yaw})\) 这 4 个对装配最有用的自由度。7R 臂的末端自由度仍是 6,而不是 7。设计时要数的是末端能向多少个独立方向运动,也就是秩,而不是关节的个数。
活动度是一个维数,不是大小和形状。6 自由度臂的可达工作空间(5.10 节用采样画过)仍然受杆长、关节限位和自碰撞限制;一个 6R 臂也不能把手爪放到每一个想要的位姿上,更不能在所有位置上都灵巧。反过来,两个同样是 6 自由度的机器人(串联臂与 Stewart 平台)工作空间的大小、刚度与负载能力可以差几个数量级。同一个位姿对应多少个逆运动学解,也不能从自由度读出来,那要看具体的几何(7.5 节)。
机构的活动度 \(m\) 是整体的、通用的数;局部自由度 \(m_{\text{local}}\) 会随位形而变。6R 臂的腕部奇异位形里 \(\operatorname{rank}J_s=5\):此刻有一个方向动不了,而你说"这是 6 自由度臂"仍然是对的。四连杆在折叠位置反过来,瞬时多出一个自由度,控制器不再能确定下一步往哪里走。另外要分清位形坐标的个数与自由度:四元数用 4 个数表示 3 维的转动,关节角相差 \(2\pi\) 是同一个位形,浮动基座是 7 个数 6 个自由度,这些在 7.2 节处理。
8小练习
9延伸阅读
- K. Lynch & F. Park, Modern Robotics, Ch. 2 (Configuration Space) — 刚体与机器人的自由度、关节类型、Grübler 公式、完整与非完整约束;本课的记号与之一致
- B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, Robotics: Modelling, Planning and Control, Ch. 1–2 — 机械结构、关节与自由度、工作空间、运动学冗余
- R. Murray, Z. Li, S. Sastry, A Mathematical Introduction to Robotic Manipulation, Ch. 3 — 机械臂运动学,包括冗余臂与并联机构(Stewart 平台)的活动度
- G. Gogu, "Mobility of mechanisms: a critical review", Mechanism and Machine Theory 40(9), 2005 — 对各种活动度公式及其例外(过约束机构)的综述
- R. Clavel, "Delta, a fast robot with parallel geometry", Proc. 18th Int. Symp. on Industrial Robots, Lausanne, 1988 — Delta 机器人的出处
- D. Stewart, "A platform with six degrees of freedom", Proc. Institution of Mechanical Engineers 180(1), 1965 — Stewart 平台的出处
- C. Gosselin & J. Angeles, "Singularity analysis of closed-loop kinematic chains", IEEE Trans. Robotics and Automation 6(3), 1990 — 闭链的三类奇异位形(FIG 3 的"死点"是其中之一)
- R. Norton, Design of Machinery, Ch. 2 — 四连杆、Grashof 条件、传动角与死点的教科书讲法
下一课 7.2 构型空间 会处理"位形坐标的个数 ≠ 自由度";7.3 正运动学 与 7.4 速度运动学 把本课的螺旋轴矩阵变成雅可比;足式与人形的浮动基座见 9.2,灵巧手见 9.3。