想象一位厨师双脚钉在灶台前不许移动:他伸平手臂能碰到台面最远处的盐罐,踮脚能摸到顶柜的酱油瓶,弯腰能够到底层抽屉的锅铲——把所有能碰到的点画在图纸上,得到的区域就是这位厨师的“工作空间”。机器人学里的工作空间分析,研究的正是机械臂末端执行器在物理约束下能到达的所有位置的集合,它直接决定了机器人“够不够得着”。本文将从定义、形状、算法、指标到优化策略,层层拆解这一概念,让你既能看懂教科书上的公式,也能理解产线上机器人为什么摆在那里。

岗位关联

工作空间分析是机器人选型、布局设计与轨迹规划的地基。掌握它,你就能从“会算正逆解”进阶到“能判断一台机器人到底适不适合某个任务”,这是机器人工程师的核心判断力。

目录
  1. 可视化演示
  2. 工作空间定义
  3. 结构类型与形状
  4. 分析方法与采样
  5. 边界求解与奇异
  6. 性能评价指标
  7. 设计优化策略
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示二连杆机械臂工作空间边界扫描、关节极限对工作空间的影响以及蒙特卡洛采样估计方法,三种模式可切换。

本节配有交互动效(进入视口后自动加载,约 3KB)。

工作空间边界扫描 机械臂扫过关节范围,末端轨迹包围工作空间 红色虚线为最大臂展圆L1+L2 r_max=L1+L2, r_min=|L1-L2| 工作空间由关节极限决定

工作空间定义

想象一位厨师双脚钉在灶台前:伸平手臂能碰到台面最远处的盐罐,踮脚能摸到顶柜的酱油瓶,弯腰能捞到底层抽屉的锅铲。把所有能碰到的位置画在图纸上,得到的那片区域就是这位厨师的工作空间。机器人学里的工作空间分析,就是回答“末端执行器到底能到哪些点”这个问题——它直接决定了机械臂能不能完成某个工序,也是选型和布局的第一道门槛。

从数学上看,工作空间是正运动学映射的像集。机械臂每个关节都有一个角度值,所有关节角度组合成的空间叫关节空间;末端位置所在的三维空间叫任务空间。正运动学把关节角度换算成末端坐标,工作空间正是这个换算关系能够覆盖到的所有末端位置的集合。

W={p∈R3∣p=f(q),  q∈Q}\displaystyle W = \{ p \in \mathbb{R}^{3} \mid p = f(q),\; q \in Q \}

1. 工作空间符号:大写 W 代表工作空间(Workspace),它是末端所有可能到达位置的集合。

W={p∈R3∣⋯ }W = \{ p \in \mathbb{R}^{3} \mid \cdots \}

2. 末端位置变量:p 表示末端执行器在任务空间中的位置,通常用三维坐标描述,所以写作 p ∈ ℝ³。

p∈R3p \in \mathbb{R}^{3}

3. 正运动学映射:p = f(q) 表示关节角度到末端位置的正运动学函数,相当于“肩肘角度→手心位置”的换算。

p=f(q)p = f(q)

4. 关节可行域:q ∈ Q 表示关节角度必须在物理限位允许的范围 Q 内,超出限位的角度在真实机器人上不存在。

q∈Qq \in Q

回到厨房语境:Q 是厨师每个关节允许摆动的角度范围,f(q) 是“肩、肘、腕角度→手心位置”的关系式。工作空间不是某一个点,而是一整片区域——它把“底座放哪”和“手臂够不够长”这两个工程问题,变成了可以计算和比较的数学对象。接下来我们会看到,不同结构、不同算法会给出完全不同的工作空间形态。

结构类型与形状

不同厨师有不同体型:高个子手臂长,覆盖范围像大圆盘;矮个子虽然够得远,但低矮橱柜前反而吃亏。机器人同样分体型——串联机械臂像一节节手臂串起来,工作空间大而灵活;并联机械臂像几根撑杆共同托着一个平台,工作空间小而刚硬。这个结构性差异,是工作空间形状的第一决定因素。

最经典的简化模型是平面两连杆机械臂,简称 2R 臂。当两个关节都能整周旋转时,它的工作空间是一个圆环带:外半径是两杆长度之和,内半径是两杆长度之差的绝对值。中间那个永远够不着的圆洞,就是工作空间“空洞”的典型例子。若关节有角度限位,圆环还会被切掉一部分,变成扇形甚至不规则区域。

A=π(l1+l2)2−π∣l1−l2∣2\displaystyle A = \pi (l_1 + l_2)^{2} - \pi \left| l_1 - l_2 \right|^{2}

1. 外圆半径:l₁ + l₂ 是两杆完全伸直时末端到基座的最远距离,对应大圆半径。

l1+l2l_1 + l_2

2. 外圆面积:π(l₁ + l₂)² 是所有“伸直手臂”能扫出的最大圆面积。

π(l1+l2)2\pi (l_1 + l_2)^{2}

3. 内圆半径:|l₁ − l₂| 是两杆完全折叠时末端距基座的最短距离,对应内圆半径。

∣l1−l2∣\left| l_1 - l_2 \right|

4. 环形面积差:大圆面积减小圆面积,剩下的圆环带才是真正可达的区域。

π(l1+l2)2−π∣l1−l2∣2\pi (l_1 + l_2)^{2} - \pi \left| l_1 - l_2 \right|^{2}

可以这样理解:厨师拿着一柄可折叠的长柄勺,勺柄长 l₁、勺头长 l₂。手臂伸直时勺尖扫出大圆;但勺头永远无法弯回到身体正下方半径 |l₁ − l₂| 以内的区域,于是形成了中央空洞。这个“够得着外面、够不着贴身”的反直觉现象,正是工作空间分析要揭示的核心几何特征。

分析方法与采样

想画出厨师的整个可触碰范围,最笨但最可靠的办法,是让他蒙上眼睛随机往各个方向伸无数次手,每碰到一个位置就画一个点。点越密,可触碰区域的轮廓就越清晰。这种“乱伸手”的思路,在机器人学里就是大名鼎鼎的蒙特卡洛法。

蒙特卡洛法属于数值法,核心思想是用随机采样代替解析推导。具体做法是:先找一个能罩住整个工作空间的方形盒子,在盒子里均匀随机撒点;然后统计有多少点落进了工作空间;最后用这个比例乘以盒子体积,就得到了工作空间体积的估计值。相比解析法需要解复杂方程组、几何法需要手工拼凑圆弧平面,蒙特卡洛法对任意复杂的机器人构型都通用。

V≈Vbox×NinNtotal\displaystyle V \approx V_{\text{box}} \times \frac{N_{\text{in}}}{N_{\text{total}}}

1. 包围盒体积:V_box 是刚好包住整个工作空间的方形盒子体积,是已知的几何量。

VboxV_{\text{box}}

2. 命中计数:N_in 是随机撒下的点中落在工作空间内部的数量,N_total 是撒点总数。

NinNtotal\frac{N_{\text{in}}}{N_{\text{total}}}

3. 比例放大:用命中比例乘包围盒体积,就把“随机命中频率”换算成了“真实空间体积”。

Vbox×NinNtotalV_{\text{box}} \times \frac{N_{\text{in}}}{N_{\text{total}}}

4. 近似记号:≈ 表示这是统计估计而非精确值,样本量越大越接近真实工作空间体积。

V≈⋯V \approx \cdots

蒙眼厨师虽然“不聪明”,却是唯一能在任何复杂厨房里都适用的办法——不管灶台多乱、橱柜多高,只要撒点足够多,工作空间的边界和空洞都会清清楚楚地浮现出来。这就是为什么工程上面对六自由度甚至七自由度机械臂时,数值法尤其是蒙特卡洛法几乎是标配。

边界求解与奇异

厨师的手臂完全伸直时,指尖划出的弧线就是工作空间的外边界;手臂完全折叠时,指尖贴着的那个内圆就是内边界。边界还有一个隐蔽身份:它恰好是机械臂陷入奇异位形的地方。理解边界,就同时理解了可达性的极限和运动学的奇异性。

求解工作空间边界的常用思路有三种。极值搜索法沿径向方向不断试探最大可达距离,像拿着卷尺向每个方向量最远点;网格采样法把空间切成小格子逐一测试边界格子,像用方格纸描出地图轮廓;包络拟合法则把边界点用曲线连成光滑轮廓,像把描点连成地形线。这三种方法的共同数学特征,是边界处雅可比矩阵不再满秩。

det⁡J(q)=l1l2sin⁡q2=0\displaystyle \det J(q) = l_1 l_2 \sin q_2 = 0

1. 雅可比矩阵:J(q) 是末端速度到关节速度的线性变换矩阵,反映了关节运动与末端运动之间的传动关系。

J(q)J(q)

2. 行列式为零:det 表示行列式,行列式为零意味着变换降秩,某些方向的末端运动无法由关节运动产生。

det⁡J(q)=0\det J(q) = 0

3. 2R 臂展开式:对平面两连杆臂,det J = l₁l₂ sin q₂,它只与第二关节角有关。

det⁡J(q)=l1l2sin⁡q2\det J(q) = l_1 l_2 \sin q_2

4. 奇异条件:sin q₂ = 0 即 q₂ = 0(完全伸直)或 q₂ = π(完全折叠),对应工作空间的外边界和内边界。

sin⁡q2=0\sin q_2 = 0

所以工作空间边界上的点虽然“可达”,却并不“好用”:厨师手臂伸直时不敢再往前推,折叠时又使不上力,末端在边界附近会失去某些方向的运动能力。这也是为什么工程师绝不会把关键作业点布置在边界上,而会留出安全裕度。

性能评价指标

评估一个厨房好不好用,不能只看面积,还要看有没有死角、台面好不好转身、够东西顺不顺手。机器人评价也类似:光有工作空间体积远远不够,还要看形状规则度、空洞与奇异区占比,以及内部运动的灵巧性。这些指标共同决定了一台机器人“好不好用”。

工作空间体积可以用三重积分 V=∭WdVV = \iiint_{W} \mathrm{d}V 精确计算,但工程上更常用蒙特卡洛估计。形状规则度衡量工作空间接近球形的程度——越规则,越容易规划轨迹;空洞和奇异区占比则直接反映“看得见却够不着”或“够得着却动不了”的坏区域有多大。真正体现灵活性的指标是灵巧度,最经典的度量叫可操作度。

w=∣det⁡J(q)∣\displaystyle w = \left| \det J(q) \right|

1. 雅可比行列式:det J(q) 是当前位形 q 下雅可比矩阵的行列式,综合反映了各关节对末端速度的贡献。

det⁡J(q)\det J(q)

2. 取绝对值:行列式可能为负,取绝对值后 w 始终非负,便于比较大小。

∣det⁡J(q)∣\left| \det J(q) \right|

3. 几何含义:w 在二维情况下等于末端速度椭圆的面积,面积越大说明末端在该位形下越灵活。

w=∣det⁡J(q)∣w = \left| \det J(q) \right|

在厨房语境里,w 就像厨师手腕的活动余量:离奇异位形越远,w 越大,动作越流畅;一旦 w 趋近零,手腕就像被锁住一样僵硬。因此,好的工作空间不只要“大”,还要“圆”、要“没有洞”、要“处处灵巧”。评价指标就是把这些感性认知变成可以用数值比较的工程语言。

设计优化策略

设计机器人的过程,就像给厨师定制手臂:臂长比例、关节限位、安装位置都要反复权衡。臂太长,工作空间大但惯量大、刚度差、精度下降;臂太短,又怕关键作业点够不到。于是工程师把需求写成优化目标函数,用数值方法寻找最佳参数组合。

杆长比是最核心的设计参数。以 2R 臂为例,杆长比直接影响圆环带的宽窄与灵巧区域的分布。优化目标通常是一个加权函数:既要工作空间体积尽量大,又要奇异区面积尽量小,还要形状尽量规则。关节限位调优、基座布局优化(把机器人底座摆到工作包络的中心位置)也都是同一框架下的设计变量。

ρ∗=arg⁡max⁡ρ[V(ρ)−λ1S(ρ)−λ2I(ρ)]\displaystyle \rho^{*} = \arg\max_{\rho} \left[ V(\rho) - \lambda_1 S(\rho) - \lambda_2 I(\rho) \right]

1. 杆长比变量:ρ = l₂ / l₁ 是第二杆与第一杆的长度比,是优化要决定的设计参数。

ρ=l2/l1\rho = l_2 / l_1

2. 体积收益项:V(ρ) 是当前杆长比下的工作空间体积,越大越好。

V(ρ)V(\rho)

3. 惩罚项:S(ρ) 是奇异区或空洞的度量,I(ρ) 是形状不规则度度量,它们越小越好,所以前面带负号和权重 λ。

λ1S(ρ)+λ2I(ρ)\lambda_1 S(\rho) + \lambda_2 I(\rho)

4. 最优解符号:arg max 表示“使方括号内表达式取得最大值的那个 ρ”,即最优杆长比。

ρ∗=arg⁡max⁡ρ[⋯ ]\rho^{*} = \arg\max_{\rho} \left[ \cdots \right]

厨房里最终选用多长的手臂,还要看灶台怎么摆、周围有没有柱子。若条件苛刻,工程师还会引入冗余自由度设计——相当于给厨师多加一个肘关节,同一个点可以换好几种姿势去够,绕开障碍物和奇异位形。工作空间分析的价值在于:它让这些设计权衡从“凭感觉”变成了“可计算、可优化”。

AI 应用场景

焊接机器人工作站布局

阶段:机器人选型与工艺布局设计

解决的问题:传统布局靠工程师经验反复试摆,焊点够不到就换机型、挪工位,周期长且容易遗漏深腔焊缝。利用工作空间分析与逆解可行性检测,可以提前判断所有焊点是否落在可达范围内,并以热力图标注裕度最低的焊点位置。

具体案例:汽车底盘焊接线上,工程师把 3D CAD 工件的所有焊点导出,用蒙特卡洛点云配合逆运动学求解器,逐一检查六轴机器人每个焊点的可达性与关节限位余量,再自动优化机器人基座位置,使其落在整个焊点包络的中心。

手术机器人术前规划

阶段:术前路径规划与安全性验证

解决的问题:穿刺针和器械要避开血管与骨骼,同时必须在患者体表切口角度限制内到达病灶,纯手工很难衡量“能不能到、好不好到”。工作空间分析能把解剖约束转化为可达性检查。

具体案例:骨科手术机器人术前从 CT 重建解剖模型,计算器械尖端相对患者坐标系的工作空间,结合骨骼障碍物约束,用边界分析找出最优进针通道,确保整条路径都落在边界内部的安全裕度区。

喷涂产线离线编程

阶段:离线轨迹规划与仿真验证

解决的问题:喷枪轨迹需要覆盖复杂曲面,人工示教耗时且工件深处容易产生喷涂盲区。通过工作空间切片分析,可以自动发现盲区并调整机器人站位。

具体案例:汽车喷涂机器人把车身曲面离散成网格点,逐一验证每个曲面点在机器人工作空间内是否可达,并检查喷枪姿态是否满足油漆入射角要求,最终生成无盲区的自动喷涂轨迹。

Python 演示

python76 行
# -*- coding: utf-8 -*-"""二维两连杆机械臂工作空间分析(蒙特卡洛法)"""import mathimport random import matplotlib.pyplot as plt  class TwoLinkArm:    """平面两连杆机械臂模型"""     def __init__(self, l1=1.0, l2=0.6):        self.l1 = l1        self.l2 = l2        self.q1_range = (-math.pi, math.pi)        self.q2_range = (-math.pi, math.pi)     def forward_kinematics(self, q1, q2):        """正运动学: 关节角 -> 末端坐标"""        x = self.l1 * math.cos(q1) + self.l2 * math.cos(q1 + q2)        y = self.l1 * math.sin(q1) + self.l2 * math.sin(q1 + q2)        return x, y     def sample_endpoints(self, n):        """在关节空间随机采样, 得到末端点云"""        pts = []        for _ in range(n):            q1 = random.uniform(*self.q1_range)            q2 = random.uniform(*self.q2_range)            pts.append(self.forward_kinematics(q1, q2))        return pts     def inside(self, x, y):        """判断点是否落在可达圆环内"""        r = math.hypot(x, y)        return abs(self.l1 - self.l2) - 1e-9 <= r <= self.l1 + self.l2  def estimate_area(arm, box_samples=40000):    """蒙特卡洛估算工作空间面积"""    xmin, xmax = -(arm.l1 + arm.l2), arm.l1 + arm.l2    ymin, ymax = xmin, xmax    box_area = (xmax - xmin) * (ymax - ymin)    hit = 0    for _ in range(box_samples):        px = random.uniform(xmin, xmax)        py = random.uniform(ymin, ymax)        if arm.inside(px, py):            hit += 1    return box_area * hit / box_samples  def main():    arm = TwoLinkArm(l1=1.0, l2=0.6)    est = estimate_area(arm)    exact = math.pi * ((arm.l1 + arm.l2) ** 2 - (arm.l1 - arm.l2) ** 2)    print("估算面积: {:.4f}".format(est))    print("理论面积: {:.4f}".format(exact))    print("相对误差: {:.2%}".format(abs(est - exact) / exact))     pts = arm.sample_endpoints(3000)    xs, ys = zip(*pts)    plt.figure(figsize=(5, 5))    plt.scatter(xs, ys, s=0.5, alpha=0.4, color="#818CF8")    plt.gca().add_patch(plt.Circle((0, 0), arm.l1 + arm.l2,                                    fill=False, color="#F43F5E"))    plt.gca().add_patch(plt.Circle((0, 0), abs(arm.l1 - arm.l2),                                    fill=False, color="#10B981"))    plt.axis("equal")    plt.title("2R 机械臂工作空间点云")    plt.savefig("workspace.png", dpi=120)    print("已保存 workspace.png")  if __name__ == "__main__":    main()
目的:用蒙特卡洛法估算平面两连杆机械臂的工作空间面积,并与理论解析值对比,同时生成工作空间点云图。
  1. x = self.l1 * math.cos(q1) + self.l2 * math.cos(q1 + q2)正运动学公式:由两个关节角算出末端坐标,这是工作空间采样的基础。
  2. for _ in range(box_samples):在包围盒内大量随机撒点,是蒙特卡洛法的核心循环。
  3. if arm.inside(px, py): hit += 1判断随机点是否落在可达圆环内并计数。
  4. return box_area * hit / box_samples用命中比例乘包围盒面积,得到工作空间面积的估计值。
  5. exact = math.pi * ((arm.l1 + arm.l2) ** 2 - (arm.l1 - arm.l2) ** 2)圆环面积的理论精确值,用于对比验证蒙特卡洛估计的误差。
  6. plt.scatter(xs, ys, s=0.5, alpha=0.4, color="#818CF8")把采样得到的末端点云画出来,直观呈现圆环带形状。

常见误区

误区机械臂能到达的范围应该是一个圆鼓鼓的实心球,球里每个点都能随便够到。既然手臂能伸到最远,那中间的每一个点应该都不成问题。

正解大多数关节有旋转限位,而且多连杆结构会在中间区域产生“空洞”。像厨师手臂伸直能碰到远处,但肘部折叠到极限时,身体正下方附近某些位置反而够不到。2R 臂满行程的工作空间是圆环带而非实心圆盘,中间那个洞就是工作空间空洞。

为何常见:直觉上认为“能伸到的地方=所有中间点都能到”,忽略了多连杆在中间区域存在的几何约束与关节限位。

误区只要末端能到达某个点,就能以任意角度去操作它。工作空间内的点都是一视同仁的。

正解可达空间是“摸得到”,灵巧空间是“能以任意姿态摸到”。厨师能碰到盐罐,但手腕被橱柜挡着只能以一个别扭姿势碰到,这个点就不属于灵巧工作空间。所以评估机器人时,要分别计算可达空间和灵巧空间,后者通常小得多。

为何常见:画工作空间时只画点云轮廓,没有考虑末端姿态自由度,把“位置可达”和“姿态可达”混为一谈。

误区仿真软件里机械臂关节能转 360 度,工作空间就应该按整周旋转来计算,看起来又大又漂亮。

正解实际机械臂有机械限位、线缆约束和自身碰撞限制。就像厨房里的厨师虽然肩关节理论上能转一圈,但身后有墙挡着、前面有台面拦着。工程上必须把真实限位和碰撞模型代入分析,否则算出的工作空间会严重偏大。

为何常见:教材和示意图常画理想化模型,工程中的限位参数与碰撞约束容易被初学者忽略。

误区工作空间边界上的点既然可达,那就在边界附近加工好了,反正能碰到。

正解边界处雅可比矩阵奇异,det J = 0,机械臂处于奇异位形,关节速度可能趋于无穷、末端运动在某些方向会“锁死”。就像厨师手臂完全伸直时,手腕几乎无法再向远处施力。实际工程中要在工作空间边界内部留出安全裕度,避免把关键作业点放在边界上。

为何常见:只看几何可达性,没有考虑运动学奇异带来的速度传递与可控性问题。

误区工作空间越大,机器人就越优秀。选机器人时优先挑臂展最大的那款。

正解大工作空间往往伴随更大惯量、更低刚度与更低精度;并联机器人工作空间小而刚度大,反而在高速高精度场景更吃香。像大个子厨师伸手范围大,但在狭小厨房里反而处处碍事。正确的做法是按任务需求匹配工作空间,而不是盲目追求大。

为何常见:容易把“范围大”等同于“性能好”,忽略了刚度、精度、惯量等工作空间之外的权衡维度。

面试题

Q1. 关于机器人工作空间的定义,下列说法正确的是?

单选题 · easy

  • A.末端执行器可达位置的集合← 正确答案
  • B.关节电机输出扭矩的集合
  • C.减速器传动比取值的集合
  • D.控制器采样频率的集合

答案:A。工作空间是正运动学映射的像集,即末端执行器在关节空间可行域内所有可达位置的集合。选项 B、C、D 分别描述的是驱动、传动和控制参数,与末端空间位置无关。类比厨师能碰到的“地点集合”而非“肌肉力量集合”。

Q2. 平面两连杆机械臂两个关节均可整周旋转时,其工作空间形状为?

单选题 · easy

  • A.实心圆盘状区域
  • B.圆环带状区域← 正确答案
  • C.椭圆形状区域
  • D.不规则多边形区域

答案:B。2R 臂外边界半径为两杆长度之和,内边界半径为两杆长度之差的绝对值,中间存在空洞,因此是圆环带。实心圆盘忽略了折叠时的近端空洞;椭圆和多边形则不符合旋转对称的几何特征。

Q3. 蒙特卡洛法估算工作空间体积时,最关键的操作是?

单选题 · mid

  • A.解析求解雅可比矩阵
  • B.在包围盒内随机撒点← 正确答案
  • C.对关节角求偏导数
  • D.对轨迹进行数值积分

答案:B。蒙特卡洛法的核心是“撒点—判断命中—按比例估算”。解析法和偏导数属于解析法范畴;数值积分用于确定性数值法。撒点策略的随机性和均匀性决定了估计精度,就像蒙眼厨师伸手采样的密度决定轮廓清晰度。

Q4. 下列哪些因素会缩小机械臂的实际工作空间?

多选题 · mid

  • A.关节转角的机械限位← 正确答案
  • B.连杆长度的缩短← 正确答案
  • C.控制算法的复杂度
  • D.末端负载的颜色

答案:AB。关节限位直接缩小关节空间 Q,连杆缩短会同时缩小内外边界,两者都使工作空间变小。控制算法复杂度影响的是控制性能而非几何可达范围;末端负载的颜色与空间几何完全无关。

Q5. 平面 2R 机械臂位于工作空间边界时,通常满足的条件是?

单选题 · mid

  • A.雅可比行列式为零← 正确答案
  • B.关节角速度保持恒定
  • C.末端加速度恰好为零
  • D.重力势能取得极小值

答案:A。工作空间边界对应手臂完全伸直或折叠,此时 det J = l₁l₂ sin q₂ = 0,处于奇异位形。边界是几何可达的极限,而非运动学或动力学量的极值条件。它解释了“够得着但不好动”的边界特性。

Q6. 关于灵巧工作空间,下列说法正确的有?

多选题 · hard

  • A.末端能以多种姿态到达的区域← 正确答案
  • B.通常大于可达工作空间
  • C.与关节限位完全无关
  • D.是判断灵活度的重要依据← 正确答案

答案:AD。灵巧工作空间是末端能以多种姿态到达的区域,它是可达工作空间的子集,通常更小而非更大。关节限位会显著影响灵巧区域,因此 C 错误。灵巧空间大小是衡量机械臂灵活性的重要指标,对应厨师能以舒服姿势够到的区域。

Q7. 仅缩短第二根连杆的长度,2R 机械臂的工作空间将?

单选题 · mid

  • A.外边界内收且环带变窄← 正确答案
  • B.外边界外扩且环带变宽
  • C.内外边界均保持不变
  • D.环形区域变为实心圆盘

答案:A。外半径 l₁+l₂ 减小使外边界内收,内半径 |l₁−l₂| 增大使内边界外扩,环带宽度 2l₂ 变窄。此消彼长之下工作空间明显缩小。选项 B、C、D 都与杆长参数对边界的直接影响矛盾。

Q8. 关于数值法与解析法求工作空间的对比,正确的有?

多选题 · easy

  • A.数值法实现简单通用← 正确答案
  • B.解析法结果精确直观← 正确答案
  • C.数值法适合任意构型← 正确答案
  • D.解析法需要随机采样

答案:ABC。数值法通过采样逼近,对复杂构型通用且易于编程;解析法通过方程精确描述边界,结果严谨直观。解析法不需要随机采样,随机采样是数值法(尤其蒙特卡洛法)的特征,因此 D 错误。

Q9. 冗余自由度机械臂的工作空间特点是?

单选题 · hard

  • A.空间内部存在更多空腔
  • B.局部可达方式更加丰富← 正确答案
  • C.外边界范围必然扩大
  • D.奇异位形必然全部消失

答案:B。冗余自由度意味着同一末端位置对应多个关节位形,局部可达方式更丰富,避障能力和灵巧性更强。但它不必然扩大外边界,也不保证消灭奇异位形。冗余设计的关键价值在于“同一个点有更多姿势去够”,就像给厨师加了一个肘关节。

Q10. 关于平面 2R 臂的 det J = l₁l₂ sin q₂,下列说法正确的有?

多选题 · extreme

  • A.q₂ 为零或 π 时行列式为零← 正确答案
  • B.对应手臂完全伸直或折叠← 正确答案
  • C.此时末端处于工作空间边界← 正确答案
  • D.此时末端灵巧度达到最大值

答案:ABC。sin q₂ = 0 时 q₂ = 0 或 π,分别对应手臂完全伸直与完全折叠,恰好是工作空间的外边界与内边界,此时机械臂处于奇异位形。奇异位形灵巧度最低而非最高,可操作度 w = |det J| 在边界处为零,因此 D 错误。