☰
现代机器人学课后答案:Grübler公式与自由度验算方法
2026/10/11 15:04:27 网站建设 项目流程

简介:《现代机器人学》(Modern Robotics: Mechanics, Planning, and Control)官方配套课后习题答案,内容覆盖第2至第13章,涵盖自由度计算、运动学、动力学、路径规划与控制理论等核心主题。资源为单个PDF文件,压缩包约13.97MB,现有1243人学习下载。习题解答注重推导细节与几何直觉,例如第2章从多点定位系统出发,利用组合求和得到自由度总数为n(n+1)/2,并指出解空间拓扑为Rn × Sn−1 × Sn−2 × … × S1;又以典型上肢机器人模型分析肩部球形关节、肘部、腕部与前臂旋转构成的七自由度机构,讨论固定手部位姿后肘尖沿圆弧运动的剩余自由度。同时,第2章还通过前臂尺骨与桡骨构成的闭合链,讨论关节数量对自由度的影响,延伸至人体解剖结构。第3至13章继续覆盖运动学表示、动力学建模、轨迹规划、运动控制与机器人系统集成等进阶内容,适合机器人专业学生对照自学,也有助于工程师梳理机械臂设计中的约束分析与控制方案。资源以PDF单文件打包,便于打印与检索,可作为系统掌握现代机器人学核心概念的重要参考资料。

1. 现代机器人学课后答案:自由度怎么验算、构型怎么拆、答案怎么用

现代机器人学(Modern Robotics: Mechanics, Planning, and Control)是机器人方向公认的系统教材,配套的习题答案覆盖第 2 章到第 13 章,而第 2 章这十几道自由度题,几乎把配置空间、Grübler 公式、开链与闭链机构的典型考法一次性讲透。这份资源适合两类人:一类是正在跟教材的学生,做完题需要对答案、对比标准解题路径;另一类是做机构方案和结构校核的工程师,想把“几个电机能产生几个独立运动”从拍脑袋变成可推算的判断。这篇笔记把第 2 章答案里的核心方法拆开,讲哪些地方可以直接抄作业,哪些地方容易算对了结果却在拓扑上翻车。

2. 用 Grübler 公式拆自由度:参数定义、适用边界与验算流程

2.1 自由度与 C-space:为什么自由度是“总维度减约束”

自由度描述的是机构能独立变化的参数个数。在《现代机器人学》里,这个概念被还原成配置空间(C-space)的维度:一个刚体在三维空间里最多有 6 个自由度,对应三个平移和三个旋转;如果它通过一个转动关节连到地面,配置空间就退化成一条圆周 S¹,维度为 1。n 个转动关节串联的机械臂,C-space 可以写成 n 个 S¹ 的乘积,也就是 n 维环面 Tⁿ。答案在第 2 章几乎每道题后面都在验证这个维度,而不是只报一个数字。

Exercise 2.1 是这套思路的起点。它讨论在空间里依次放置 n 个点时自由度如何变化:第一个点没有任何约束,有 n 个自由度;放第二个点时受到一个距离约束,剩 n−1 个;放第三个点时受到两个约束,再减一个。把一串加起来得到 n(n+1)/2,其中 n 个是第一个点的平移自由度,剩下 n(n−1)/2 是逐点累积出来的旋转自由度。最终这个配置空间的拓扑是 Rⁿ × Sⁿ⁻¹ × Sⁿ⁻² × … × S¹。第一次看这道题觉得它不像机器人,但它恰恰解释了为什么自由度不是“数出来的”,而是“总维度减掉约束数量之后剩下的”。

这个思路能直接迁移到机械臂分析上。后面 Exercise 2.2 到 2.17 里反复出现的套路,本质上都是同一件事:先把机构拆成连杆和关节,再把约束逐条放进去,看最后还剩几个独立运动。Grübler 公式只是把这个过程压缩成一行算式,但公式背后“维度减约束”的逻辑才是理解的关键。

2.2 平面版与空间版 Grübler 公式:先选对版本再代入

公式本身不长。平面机构用:

dof = 3(N − 1 − J) + Σfi

空间机构用:

dof = 6(N − 1 − J) + Σfi

N 是连杆总数,必须把地面算进去;J 是关节数;fi 是第 i 个关节的自由度。关节自由度的常见取值直接查表:

关节类型符号自由度典型场景
转动关节R1电机直驱旋转轴
移动关节P1直线模组、液压缸
圆柱关节C2同轴旋转 + 移动
万向节U2传动轴、并联机构支腿
球关节S3肩关节、球铰

选平面版还是空间版,判断标准只有一个:机构的所有运动是不是被约束在同一个平面或同心球面内。Exercise 2.16 是个标准陷阱:所有连杆被约束在一个球面上运动,答案明确说必须用二维版本的 Grübler 公式,算出来自由度是 1;如果拿三维空间公式硬套,结果是 −2,直接得出“机构不可能运动”的荒谬结论。平面机构里还有一个细节容易错:球关节在平面运动中只有一个转动自由度,等效于 R 关节,按 1 算,不能照搬空间里的 3。

另一个容易忽略的点是 N−1−J 经常为负。并联机构里闭链带来的约束让连杆数比关节数少,公式靠 Σfi 把自由度“救”回来。所以中间结果出现负数不用慌,先确认 N 和 J 数对了再继续。

2.3 从 Exercise 2.5 到 2.9:两个标准验算流程

Exercise 2.5 的机构是 6 个连杆加 1 个地面,含 5 个 R 关节和 2 个 S 关节。按标准流程,四步走:先画机构简图,把连杆和地面全部标出来;再数关节,这里 5 个转动关节加 2 个球关节,J=7;接着查表累加自由度,Σfi = 5×1 + 2×3 = 11;最后代入空间公式:

N = 6 + 1 = 7 J = 5 + 2 = 7 Σfi = 5×1 + 2×3 = 11 dof = 6×(7 − 1 − 7) + 11 = 5

提示:数 N 的时候地面一定要算进去。把“6 个连杆”直接当成 N=6,代入后是 6×(6−1−7)+11 = −1,跟正确答案差一个量级。地面被省略时,J 里对应那个接地关节也容易漏掉,两个错叠在一起,结果根本没法看。

Exercise 2.9 展示了另一种常见考法:复合关节要不要合并。把机构里的 R 和 P 全部单独数,得到 N=13+1=14、J=16+2=18、Σfi=18,平面公式算出 3 个自由度。而把同轴的 R+P 合并成一个圆柱关节 C 再数,N=7+1=8、J=7+1+2=10、Σfi=7×1+1×1+2×2=12,平面公式结果也是 3。两种数法结果一致,但 N、J、Σfi 三个数字完全不同。这里有一条很实用的自查规则:换了数法,最终自由度必须保持一致;如果对不上,一定是某个关节或某个连杆在两次数法里没对齐。

第 2 章后面的习题基本都能用同一个模板复现,我把关键题目的数字整理成了速查表,做题时可以直接对照:

习题NJΣfi公式版本dof
2.57711空间5
2.6(b)777空间1
2.9(a)81012平面3
2.9(b)141818平面3
2.1381236空间6
2.14(a)8915空间3
2.15(a)666平面3

这张表也是很好的自测工具:遮住 dof 列,只留 N、J、Σfi,自己代公式算一遍,再对照答案。第 2 章全部过完之后,就可以确定自己的问题出在数 N 还是选公式上。

3. 上肢与闭链机构:开链自由度分解与约束倒推

3.1 七自由度上肢:肩 4、肘 1、腕 2、前臂 1 的建模由来

Exercise 2.2 (a) 的结论是人的上肢有七个自由度:肩部按球关节建模,答案直接给了 4 个自由度;肘部 1 个;腕部 2 个;前臂绕自身轴线旋转再算 1 个,加起来正好 7。这里最容易让人疑惑的是“肩为什么是 4”,因为从教材的关节表里查,球关节明明是 3。我的理解是,答案把广义肩膀拆成了球窝旋转 3 度,再加肩胛骨沿胸廓的复合滑动 1 度,合起来是 4。

这个区别在实际项目里会直接影响选型。做 6 轴工业臂,肩部就是 3 自由度的球关节结构,腕部 2 自由度,总共 6,末端刚好能到达工作空间里的任意位姿。但人形机器人或仿生上肢,因为要模拟肩胛运动,往往会在肩部多留一个自由度,变成 7 轴。教材答案选 7 不是随意给的,它是为了让后面的闭链分析成立。

3.2 闭链前臂的两种建模:六个关节 25 自由度与四个关节 10 自由度

Exercise 2.3 比 2.2 更进一步,开始分析前臂的闭链结构。前臂有桡骨和尺骨两根骨头,它们各自在肘端和腕端都有关节,加上肱骨和腕骨,形成一个闭合链。题目问这个闭链能按多少自由度建模,答案给了两种极端假设。

第一种假设是最大数量关节:肘部有三个(肱桡、肱尺、近侧桡尺关节),腕部也有三个(桡腕、尺腕、远侧桡尺关节),加上肩部的 3 自由度球关节,J=7,N=5(地面、肱骨、尺骨、桡骨、腕骨)。代入空间 Grübler 公式,已知手臂总自由度是 7:

7 = 6×(5 − 1 − 7) + 3 + Σfi(前臂关节)

解出来 Σfi = 25。也就是说,如果前臂闭链里有 6 个关节,它们加起来要有 25 个自由度,平均每个关节超过 4 度。这不是教材里讨论过的标准关节,答案说这些自由度由关节周围的韧带复合体来稳定——说白了,人体关节不是教科书里的理想运动副。

第二种假设是最小数量关节:肘部用 2 个万向节(4 自由度),腕部用 2 个球关节(6 自由度),J=5,N=5,代入公式:

7 = 6×(5 − 1 − 5) + 3 + Σfi

解出来 Σfi = 10。这时肘、腕四个关节刚好 10 个自由度,全部落在标准关节 U 和 S 的取值范围内,是可以用教材知识建模的。

这道题最值得抄的不是哪个答案是“对的”,而是它的思路:闭链机构的自由度,可以先假设关节数量,再用总体自由度反推每个关节应该有多少自由度;如果反推结果离谱,就换一种关节组合再试。我在做并联机构初步方案时也经常这么干,只不过把“人体韧带”换成了“柔性铰链的等效自由度”。

3.3 约束倒推:固定手掌位姿,剩余自由度怎么算

Exercise 2.2 (b) 里有一个非常实用的验证习惯:算完自由度之后,把手掌的位姿固定住,再看还剩几个自由度。手掌固定,等于施加了 6 个约束;答案说,肩关节中心也固定后,肘尖只能沿一个圆弧移动,剩下这个自由度恰好证明原始自由度是 7。这种验证方式的价值在于,它把数字和物理运动对应起来了,而不只是停留在公式层面。

这个思路可以迁移到末端执行器设计上。算完机构的自由度,先想一个最关键的“固定需求”,看机构还剩下什么运动。比如设计夹爪定位机构,固定夹持点位置后,机构至少还要保留 1 个自由度让手指完成闭合动作,否则整套机构就是个结构体。这个“先固定、再数剩余”的方法,就是 Exercise 2.2 (b) 的思路,只是换了个场景。

3.4 非标准结果处理:先复查建模,而不是先怀疑公式

3.2 里 Σfi=25 那种结果,很多人第一次算出来会以为自己公式代错了。实际上这是建模假设的问题,不是计算问题。遇到这种“非标准”结果,我的做法是退回原点:把关节类型换成标准关节(R、P、C、U、S)重新组合,看能不能得到一组合理的自由度分布。如果重新组合之后还是得到奇怪的数字,再检查是不是有的关节在闭链中重复计入了。这个排查顺序能省下大量时间,因为 Grübler 公式本身几乎没有算错的可能,出错基本都在建模环节。

4. 并联机构与移动平台:Grübler 公式的典型应用与边界

4.1 Stewart 平台与 3-UPS:并联机构自由度怎么拆

Exercise 2.13 是经典的 Stewart 平台构型:6 条腿,每条腿两端都是球关节。答案拆法是 N=6(腿)+1(上平台)+1(地面)=8,J=12(每条腿 2 个 S 关节),Σfi=12×3=36,代入空间公式得 6。也就是说,上平台具备完整的 6 个自由度,可以同时平移和绕竖直轴旋转,还能在水平面内移动。

注意每条腿的中间如果是可伸缩的直线驱动器,还要加上 1 个移动自由度;如果腿是固定长度的连杆,则只有两端球关节的 6 个自由度。多数教材题把每条腿简化成“两端球铰+中间移动副”,本质上和这里的结果一样,只是 J 和 Σfi 的拆法不同。

Exercise 2.14 (a) 是另一种常见构型:3 个 P 关节加 6 个 U 关节,N=6+1+1=8,J=3+6=9,Σfi=3×1+6×2=15,空间公式得 3。这种平台只能实现三个平动,姿态固定,适合做纯平移的定位台。(b) 问如果把三个 P 关节全部锁住,机构应该变成结构体(自由度 0),但实际上它还能动。这就是一个典型的 Grübler 公式盲区:公式给出的是在一般几何条件下的自由度,特殊几何会改变实际运动能力。

4.2 移动底座加机械臂:C-space 写成 R²×T⁸ 的价值

Exercise 2.6 (a) 把轮式移动底座和 6R 机械臂组合在一起分析。轮式底盘的 C-space 是 R²×T²:底盘在平面上有两个平移自由度,加上两个轮子各自的滚动角。6R 机械臂的 C-space 是 6 个 S¹ 的乘积,也就是 T⁶。合起来是 R²×T²×T⁶ = R²×T⁸。这种写法在运动规划阶段非常有用:路径规划器要在 10 维空间里搜路径,其中 2 维是无界的平动,8 维是环面上的角度。

很多人在这一步只记住了“10 个自由度”这个数字,却没写 C-space 的结构,结果后面做采样规划时不知道怎么设边界条件。其实答案里用 R²×T⁸ 就已经暗示了两件事:平动维度没有边界,需要靠场地约束收住;8 个角度维度都是周期的,规划器必须处理环绕(wrap-around)问题。自由度数字只是维度,拓扑结构决定了规划器怎么写。

4.3 双机械臂协同抓刚体:为什么自由度不是 12

Exercise 2.6 (b) 和 (c) 是机械臂协作场景。第一个 6R 机械臂抓冰箱门,门本身绕铰链转,把门作为最后一个连杆连到地面,N=6+1=7,J=7(全是 R 关节),Σfi=7,dof=1。第二个 6R 机械臂也抓住同一个门时,N=11+1=12(包含地面),J=13,Σfi=13,dof 还是 1。这个结果反直觉:两台六轴臂协作抓一个物体,系统自由度没有变成 6+6=12,而是 1。原因很简单,两台臂和门构成了一个闭合链,冗余自由度被约束消化掉了。

这个结论对实际工程非常重要。多机器人协同搬运时,如果两个机械臂都刚性抓取同一个刚体,系统的自由度主要由被搬运物体的运动决定,而不是两台臂自由度之和;强行让两台臂各自按单独规划运动,很容易在约束方向产生内力。设计协作任务时,要么加柔顺控制吸收约束误差,要么用闭链模型重新规划,不能直接把两个独立机械臂的规划结果叠加。

4.4 Grübler 的边界:公式算不对时的三种常见几何

Exercise 2.15 是五个等尺寸正方形首尾相连的机构。平面版公式算出 3 个自由度,空间版公式算出 0,但答案明确说,如果所有正方形尺寸相同,机构实际能作 1 自由度的运动。这类“公式结果为 0 但机构能动”的情况,根源是特殊几何(等长杆、平行四边形、同尺寸闭合链)额外引入了公式没有捕捉到的运动模式。

Exercise 2.16 和 2.17 则展示了另一类边界:机构被约束在球面上运动时,要用二维 Grübler 而不是三维公式;手术工具被限制穿过固定点 A 时,可以把约束等价成一个 4 自由度的球-移动副(SP),再代入空间公式。这些题反复提醒一件事:Grübler 公式给的是必要条件,不是充分条件。拿到公式结果后,一定要回到物理机构上验证“这个自由度对应的运动到底是什么、能不能动得起来”,而不是直接当成金科玉律。

5. 避坑:自由度题最常见的五个翻车点

5.1 翻车点一:N 没把地面算进去,公式结果直接变负数

现象:按“几个连杆”直接代入公式,算出负自由度,或者和答案相差 6 的整数倍。

原因:N 的定义是连杆总数加地面。地面在公式里承担了“固定参考系”的角色,少了它,J 数里接地关节也跟着少一个,N−1−J 这一项被整体拉偏。

解决:数 N 之前先在机构简图上把地标出来,数完 J 再回头数一遍。我现在做机械臂机构校核时,拿到图第一步永远是找哪个构件是固定的机架,机架算一个连杆,它上面的连接点算一个关节,然后再进入正式计数。

5.2 翻车点二:平面或球面机构硬套空间公式

现象:题目里机构明显在平面内运动,但自由度算出来是 0 或负数;把公式换成平面版之后立刻得到合理结果。

原因:选错了公式版本。平面版 3(N−1−J)+Σfi 与空间版 6(N−1−J)+Σfi 的“基”不同,平面机构在空间公式下会被当成严重欠约束系统。

解决:先判断运动是否被约束在一个平面或同心球面内。是,用 3 的版本;否,用 6 的版本。Exercise 2.16 就是标准陷阱,球面机构用空间公式算出来 −2,直接翻车。另外注意平面机构里的球关节只算 1 个自由度,和转动关节等效。

5.3 翻车点三:复合关节合并时,连杆数没有跟着合并

现象:同一道题,分开数关节得到自由度 A,合并关节后得到自由度 B,两个结果对不上。

原因:把同轴的 R+P 合并成 C 关节后,J 减少,但同时原本被这两个关节分隔的连杆也应该合并成同一个刚体,N 也要相应减少。只动一边必然出矛盾。

解决:按“合并关节时同时合并连杆”的原则做,或者干脆始终用最细粒度数法,最后再用合并法交叉验证。Exercise 2.9 的两种数法就是一个标准参考,两套参数完全不同,但自由度必须都是 3。

5.4 翻车点四:公式说 0 自由度,机构却明显能动

现象:Grübler 公式算出 dof=0,但实物模型能转动。

原因:多半是特殊几何,比如等尺寸正方形链、平行四边形机构、对称布置的并联腿。公式默认几何是一般位置,特殊几何会引入额外的瞬时运动。

解决:把公式结果当上限而不是定值。如果实物能动能公式说不能动,优先检查几何约束是否有冗余,再决定是否要用运动学求解器算瞬时自由度。工业现场遇到这类情况,我一般直接放弃手算,用 CAD 装配体的运动仿真拉一遍轨迹,看实际能动几个方向。

5.5 翻车点五:只写自由度数字,不写 C-space 拓扑

现象:自由度算对了,但后面做路径规划或控制时,发现状态变量的边界条件不知道怎么设。

原因:把“自由度”当成标量记下来了,忽略了它背后的拓扑。R²×T⁸ 和 R¹⁰ 维度虽然相同,但一个是无界平动加周期角度,一个是全无界空间,规划器的采样方式完全不一样。

解决:每次算完自由度顺手把 C-space 写成拓扑表达式。串联关节写 S¹ 或 Tⁿ,移动底座写 R²,固定姿态的并联平台写 R³。这些标注在文档里比一句“6 自由度”有用得多,尤其是对接运动规划算法时。

6. 把答案变成自测台:13 章回溯清单与三道变体题

6.1 先做题再对答案:回溯清单怎么用

这套答案覆盖第 2 章到第 13 章,我的建议用法不是从头到尾看一遍,而是做一遍再对答案。具体做法是:不看答案先写 N、J、Σfi 三行草稿,再代入对应公式,最后看答案里 Exercise 编号下的数字。如果结果一致,说明这套题过关;如果差在中间某一步,往回查是 N 数错、J 数错还是公式版本错了。第 2 章全部过完之后,把错过的题号记下来,回头统一再做一次。这个闭环比单纯背诵答案有效得多。

对已经工作的人,我的额外建议是:把第 2 章刷题的结果和手头项目对应起来。比如你正在做一台 6 轴协作臂的选型,就去找答案里机械臂结构相关的题,把公式算出的自由度和实际电机数量对比;如果电机数比自由度多,说明有冗余驱动,控制上要考虑协调问题;如果电机数少,说明机构欠驱动,末端轨迹能力受限。

6.2 三道变体题:快速检验公式理解

我把第 2 章答案里反复出现的模式抽成三道快速自测题,适合在任何场合检验自己是否真的理解了公式:

题目关键参数答案
平面四杆机构,全部转动副N=4, J=4, Σfi=4dof = 3(4−1−4)+4 = 1
6R 机械臂抓固定刚体,末端刚性焊接N=6+1=7, J=7, Σfi=7dof = 6(7−1−7)+7 = 1
3 条 UPS 支腿并联平台N=3+1+1=5, J=3+6=9, Σfi=3+12=15dof = 6(5−1−9)+15 = 3

第三题和 Stewart 平台的区别在于腿数:3 条腿的 UPS 平台实现三自由度平动,6 条腿的 Stewart 平台实现六自由度全位姿。把腿数和关节类型换一下,就能组合出一系列考题。这三道题我经常在面试时拿来考候选人,能快速判断对方是真正理解了 Grübler 公式,还是只会背答案。

6.3 我固定的“三行草稿+一行拓扑”习惯

现在我拿到任何机构图,第一件事永远是三行草稿加一行公式:N 写几、J 写几、Σfi 写几,然后代 Grübler。算完之后再补一行 C-space 拓扑,串联臂写 Tⁿ,带移动底座写 Rᵐ×Tⁿ,并联平台写清楚平动和姿态各占几个自由度。这个习惯是当初反复翻车练出来的,尤其在双机械臂协作场景里,只写自由度数字根本不够用。从那以后,每道自由度题我都强制走一遍“草稿三行+拓扑一行”的流程,先写完再对答案,希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询