想象一个清晨:你双手轻轻捧起一颗刚从冰箱取出的鸡蛋。攥得太紧,蛋壳立刻裂开;攥得太松,鸡蛋滑落摔碎。你几乎没经过思考,指尖就自动调整力度——拇指、食指、中指分摊重量,手腕微微放松,鸡蛋在掌心安稳如山。这看似平常的动作,背后是一场涉及二十多个关节、十几条肌肉、无数神经回路的“控制交响乐”。更奇妙的是,你的手指关节数量远多于能独立发力的肌肉数量——这正是一个天然的“高自由度欠驱动系统”。 灵巧手控制这门技术,就是要让机器人的机械手复制人类捧鸡蛋的本领:在关节空间或指尖笛卡尔空间设计算法,用阻抗控制拿捏“软硬适中”的力道,用自适应抓取应对不同形状的物体,甚至通过强化学习让机器像婴儿学步一样练习指尖力分配。本文就从一次“捧鸡蛋”出发,带你逐步拆解灵巧手控制的核心原理、数学工具与工程实践。

岗位关联

对 AI 从业者:灵巧手控制是机器人“手脑融合”的试金石,掌握它能打通力控、感知与学习三条技术主线,为具身智能与精密操作系统的设计与集成奠定核心功底。

目录
  1. 可视化演示
  2. 系统认知基础
  3. 关节空间控制
  4. 笛卡尔空间控制
  5. 阻抗控制策略
  6. 自适应抓取
  7. 学习型力分配
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示灵巧手关节空间PD控制、指尖笛卡尔空间逆运动学轨迹规划,以及阻抗控制柔顺接触策略,揭示高自由度系统协调控制原理。

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

'+_captions.joint+'

系统认知基础

捧起鸡蛋时,你的食指、中指、无名指一共有十多个关节在动,可真正拉扯它们的肌肉只有几根肌腱。这就像一台提线木偶:三五根细线要牵动十根手指,老师傅必须精确算计每一段线的松紧,稍有不慎木偶就歪七扭八——这就是灵巧手面临的第一道坎:高自由度欠驱动。

机器灵巧手通常有 10 到 24 个自由度,但受限于手掌内部空间和重量,能装下的电机或气动肌肉往往只有 6 到 12 个。自由度数量 n 与驱动器数量 m 之差,就刻画出系统的“欠驱动度 δ”。差值越大,手越轻巧灵活,但每个驱动器要“兼职”带动多个关节,控制难度随之陡增。

高自由度带来的不只是麻烦,还有冗余——同一个指尖位置可以由许多组关节角度实现,这为避障、省力提供了选择空间,也让“该选哪一组角度”成为求解难题;再加上关节之间通过腱绳耦合、接触时摩擦呈现强非线性,单一数学模型很难精确刻画。看清这一点,是后续选择控制路线的出发原点。

δ=n−m\displaystyle \delta = n - m

1. 关节自由度 n:灵巧手全部可动关节的独立运动维度数量,人手约有 21 个。

n=∑i=1Nfingerdi\displaystyle n = \sum_{i=1}^{N_{\text{finger}}} d_i

2. 驱动器数量 m:实际能独立输出的电机或气动肌肉数目。

m=Nactuators\displaystyle m = N_{\text{actuators}}

3. 欠驱动度 δ:两者之差,差值越大,手指越“心有余而力不足”。

δ=n−m\displaystyle \delta = n - m

回到鸡蛋的比喻:你的大脑并不逐一指挥每个关节,而是总结出几条“用力原则”让手指自组织。灵巧手控制同样如此——先认清欠驱动的“紧箍咒”,才能设计出聪明的“提线手法”。

关节空间控制

如果你第一次学操控机械手,最直接的想法可能是:让每个指节弯多少度,我就发多大指令——盯着关节角度做文章,这就是关节空间控制。好比木偶师傅把每一根线的长度都标在刻度尺上,按谱子精确牵引,每个关节都是棋盘上的一个格子。

要在关节空间设计控制器,必须先知道手指的“受力账本”。动力学方程记录着四笔账:加速关节所需的惯性力、转动时产生的科氏力与离心力、对抗重力的力矩,以及电机输出与指尖外力折算回来的等价力矩。力矩传感器测出接触力后,控制器就能在关节层给出精确补偿,让手指按期望轨迹运动。

工程上常在此基础上叠加“关节阻抗”——给每个关节设定目标刚度和阻尼,像给每个指节装了一个小弹簧,使手指碰到物体时自动“让一步”。关节空间的优点是每个自由度直接可控、建模直观;缺点是注意力全在“中间变量”上,指尖最终指向哪里,需要额外做正运动学换算才能知道。

M(q)q¨+C(q,q˙)q˙+G(q)=τ+JT(q)Fext\displaystyle M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) = \tau + J^{\mathsf{T}}(q)F_{\text{ext}}

1. 关节角加速度:q̈ 表示每个关节的角加速度,是整个方程左边的“加速度来源”。

q¨=d2qdt2\displaystyle \ddot{q} = \frac{d^2 q}{dt^2}

2. 惯性项:质量矩阵 M(q) 乘以加速度,得到推动关节运动所需的惯性力。

Finertia=M(q)q¨\displaystyle F_{\text{inertia}} = M(q)\ddot{q}

3. 科氏力与离心力:手指转动时像“甩毛巾”一样产生的耦合力,速度越快越明显。

Fcoriolis=C(q,q˙)q˙\displaystyle F_{\text{coriolis}} = C(q,\dot{q})\dot{q}

4. 重力项:补偿重力造成的下垂,让手指在任意姿态都不往下坠。

G(q)=∂V(q)∂q\displaystyle G(q) = \frac{\partial V(q)}{\partial q}

5. 驱动与外力:τ 是电机力矩,JᵀF_ext 把指尖外力折算到关节上的等效阻力。

τequiv=τ+JT(q)Fext\displaystyle \tau_{\text{equiv}} = \tau + J^{\mathsf{T}}(q)F_{\text{ext}}

好比练钢琴时先练“每根手指独立抬起”:关节空间控制就是把单指动作练扎实,至于指尖能否精准落在琴键上,那是下一步笛卡尔空间要解决的事。

笛卡尔空间控制

可是弹钢琴时你从不看自己手肘弯了多少度,你只看指尖落在哪个琴键上。笛卡尔空间控制就是“眼睛盯着指尖”——直接用指尖在三维空间里的位置和姿态作为控制目标。鸡蛋就摆在那里,手伸过去,目标坐标是世界坐标系中的 x、y、z。

连接关节世界与指尖世界的桥梁是雅可比矩阵 J(q):关节速度 q̇ 乘以 J 就得到指尖速度 ẋ。反过来,要把关节力矩 τ 折算成指尖力 F_tip,需要使用 J 的转置逆矩阵 J⁻ᵀ。这种“速度用矩阵正向映射、力用矩阵反向映射”的对偶关系,是操作空间控制的理论基石。相比关节空间,笛卡尔空间更贴近任务,但 J 会随姿态变化出现奇异位形,需要小心规避。

在实践中常采用分层结构:笛卡尔阻抗作为外环,根据指尖与目标的偏差生成期望关节轨迹;关节空间作为内环,负责精确跟踪。这就像“大脑规划”与“肌肉执行”的分工——上层关心碰哪里,下层关心怎么弯。

x˙=J(q)q˙,Ftip=J−T(q)τ\displaystyle \dot{x} = J(q)\dot{q}, \qquad F_{\text{tip}} = J^{-\mathsf{T}}(q)\tau

1. 关节速度:所有关节角速度组成的向量,描述手指当前“弯动的快慢”。

q˙=[q˙1,q˙2,…,q˙n]T\displaystyle \dot{q} = [\dot{q}_1, \dot{q}_2, \dots, \dot{q}_n]^{\mathsf{T}}

2. 雅可比矩阵:对正运动学取偏导得到,是随姿态变化的“翻译表”。

J(q)=∂x∂q\displaystyle J(q) = \frac{\partial x}{\partial q}

3. 指尖速度:合成后得到操作空间中指尖的线速度与角速度。

x˙=[vx,vy,ωz]T\displaystyle \dot{x} = [v_x, v_y, \omega_z]^{\mathsf{T}}

4. 力的对偶映射:速度用雅可比正向映射,力则用转置逆矩阵反向映射。

Ftip=J−T(q)τ\displaystyle F_{\text{tip}} = J^{-\mathsf{T}}(q)\tau

回到鸡蛋:你看到的是“指尖轻轻压住蛋壳”,而不是“食指中节弯曲 25°”。笛卡尔空间控制让你把注意力集中在与物体的交互上,这正是抓取、插拔等任务需要的表达方式。

阻抗控制策略

捧鸡蛋的诀窍是“软硬适中”:手指太硬,蛋壳被顶碎;太软,鸡蛋溜走。阻抗控制(Impedance Control)就是给机械手设定一套“脾气”——当指尖偏离期望位置时,希望它以怎样的方式反抗。它不直接控制位置或力,而是定义“位置偏差与接触力之间的动态关系”。

这套关系理想化为一个二阶动力学系统:M_d 是目标惯性,决定手的“沉重感”;B_d 是阻尼,负责“刹车”防止振荡;K_d 是刚度,负责“往回拽”。三个参数一旦确定,手对外界扰动的反应就像弹簧-阻尼-质量组成的哑铃模型一样可预期。想让手指既精准又温柔,就在于调好这三个旋钮。

实践中,刚度 K_d 大适合精确定位(如拧螺丝),K_d 小适合柔顺接触(如碰玻璃杯);阻尼 B_d 要配合刚度取到临界阻尼,才能既不振荡又不拖沓。过阻尼让人感觉“动作黏糊”,欠阻尼则让指尖来回抖动——这正是可视化演示里三条曲线展示的道理。

Mde¨+Bde˙+Kde=Fext,e=xd−x\displaystyle M_d\ddot{e} + B_d\dot{e} + K_d e = F_{\text{ext}}, \qquad e = x_d - x

1. 位置偏差:e 是期望位置与实际位置的差值,像弹簧被拉开的距离。

e=xd−x\displaystyle e = x_d - x

2. 惯性参数:目标惯性 M_d 设定“质量感”,决定手受外力时多容易被推动。

a=Md−1Fext\displaystyle a = M_d^{-1}F_{\text{ext}}

3. 阻尼参数:目标阻尼 B_d 像刹车,把速度能量耗散掉以防振荡。

Fdamp=Bde˙\displaystyle F_{\text{damp}} = B_d\dot{e}

4. 刚度参数:目标刚度 K_d 是“回拉力”,偏差越大越想把指尖拉回目标。

Fspring=Kde\displaystyle F_{\text{spring}} = K_d e

只要把阻抗参数调成“临界阻尼”,机械手就像一位小心翼翼的侍者,稳稳托住鸡蛋而不捏碎它——这就是阻抗控制在柔顺交互中不可替代的原因。

自适应抓取

换一颗鹌鹑蛋或一枚鹅蛋,你的手会自动调整张开幅度、贴合曲面——这种不靠事先编程、而根据接触反馈调整抓取方式的能力,就是自适应抓取。机械手面对的物体千差万别,不可能为每个物体预写一套关节轨迹。

自适应抓取依赖两层反馈:一是关节力矩与指尖触觉感知接触力,二是视觉信息判断物体形貌。抓得稳不稳,由摩擦锥决定——若切向力 f_t 超过法向力 f_n 乘以摩擦系数 μ,手指就会打滑。因此控制器不断微调姿态与握力,让每个接触点都“压得牢、滑不动”。

抓取稳定性还要求所有接触点能共同封锁物体自由度,即满足力闭合条件。工程上用抓取矩阵 G 把所有指尖力合成物体所受合力矩,检查是否存在一组满足摩擦锥的力来平衡任意外力。“形状自适应 + 力感知 + 稳定性校验”构成一套稳健的抓取闭环。

ft≤μfn,fn≥0\displaystyle f_t \le \mu f_n, \qquad f_n \ge 0

1. 法向力:指尖垂直于物体表面的压力,必须始终指向物体内部,不能离开表面。

fn=nTf\displaystyle f_n = n^{\mathsf{T}} f

2. 切向力:平行于表面的摩擦力分量,提供抓握时抵抗滑落的力。

ft=∥ f−fnn ∥\displaystyle f_t = \|\, f - f_n n \,\|

3. 摩擦锥约束:切向力不得超过法向力乘摩擦系数,否则指尖在表面滑动。

ft≤μfn\displaystyle f_t \le \mu f_n

就像握鸡蛋时指腹自动贴合弧形蛋壳,自适应抓取让机械手不再“刻舟求剑”,而是边摸边抓、越抓越稳。

学习型力分配

婴儿第一次捧鸡蛋,五根手指不知轻重,蛋总从指缝滑走;练过几十次后,他“学会”了让拇指多出力、小指轻轻扶——这就是学习型力分配:从数据中学会“哪根手指该使多大劲”。

如果把力分配看作优化问题,目标是让各指尖力尽量小且均衡,同时必须满足平衡约束和摩擦锥约束。传统方法用二次规划求解,但物体形状、表面摩擦、握持姿态一变,约束就要重新建模。学习型方法用强化学习或模仿学习,在仿真中大规模试错,学习“状态到力权重”的映射策略,把经验沉淀进网络参数。

学到的力权重并不直接替换底层控制器,而是作为阻抗控制器的参考输入——上层“决定该出多大力”,下层“用柔顺方式把力气使出来”。这种分层架构融合了传统控制的可解释性与数据驱动方法的泛化能力,是当前具身智能系统的主流设计。

min⁡f∑i=1n∥fi∥2s.t.Gf=−Fext,fi∈Ci\displaystyle \min_{f} \sum_{i=1}^{n} \| f_i \|^2 \quad \mathrm{s.t.} \quad Gf = -F_{\text{ext}}, \quad f_i \in \mathcal{C}_i

1. 指尖力向量:每个指尖的接触力 fᵢ 是待求解的决策变量。

f=[f1T,f2T,…,fnT]T\displaystyle f = [f_1^{\mathsf{T}}, f_2^{\mathsf{T}}, \dots, f_n^{\mathsf{T}}]^{\mathsf{T}}

2. 目标函数:对力取平方和,体现“能省力就省力”,既省能量又不伤物体。

min⁡  ∑i=1n∥fi∥2\displaystyle \min \; \sum_{i=1}^{n} \| f_i \|^2

3. 平衡约束:所有指尖力合成后必须恰好抵消物体受到的外部合力。

Gf=−Fext\displaystyle Gf = -F_{\text{ext}}

4. 摩擦锥约束:每个指尖力还必须落在对应摩擦锥内,确保接触不打滑。

fi∈Ci={ f:ft≤μfn }\displaystyle f_i \in \mathcal{C}_i = \{\, f : f_t \le \mu f_n \,\}

婴儿成长为大人,靠的是反复练习形成的肌肉记忆;学习型力分配让机械手也能积累“指尖经验”,从“只会被设定”进化为“会自己拿捏分寸”。

AI 应用场景

医疗假肢与康复训练

阶段:规划与控制(力控系统部署)

解决的问题:传统假肢只有开关式张合,患者无法精细控制力度,拿鸡蛋、纸杯很容易捏碎;而基于阻抗控制与自适应抓取的假手能像健康手一样“软硬适中”,让日常动作自然可靠。

具体案例:截肢患者穿戴灵巧假手,通过表面肌电信号识别握持意图,假手以临界阻尼的阻抗参数平稳合拢,攥住纸杯后力分配算法自动将负载分散到四指,杯身不塌陷。康复训练中,系统还能根据抓握质量评估并调整每指的力权重。

精密电子装配

阶段:运动规划与力反馈控制

解决的问题:微型插接件易损坏、来料形状有公差,闭环力控与自适应抓取能让机械手在不损伤元件的前提下完成高精度插拔。

具体案例:在手机摄像头模组装配线上,灵巧手用两指捏住 0.8mm 的排线接头,笛卡尔空间阻抗控制将接触力限制在 1N 以内,雅可比映射保证指尖以微米级精度对准插槽;抓取矩阵实时校验接触点是否存在滑移,发现异常立即调整姿态。

家庭服务机器人

阶段:学习与决策(强化学习策略部署)

解决的问题:家庭物体千奇百怪,规则式抓取脚本难以覆盖;学习型力分配让机器人在仿真中积累“哪根手指出力”的经验,再迁移到真机,解决端茶倒水、收纳餐具等长尾抓取难题。

具体案例:服务机器人为卧床老人端水杯、收鸡蛋,视觉判定物体形状后,策略网络输出各指尖力权重,底层阻抗控制器负责具体执行,真实场景抓取成功率从 60% 提升到 95%。

Python 演示

python35 行
"""灵巧手力控演示:阻抗响应 + 指尖力分配"""import numpy as np  def step_response(t, wn=2.0, zeta=0.5):    """二阶阻抗系统的阶跃响应位移 (质量=1)"""    wd = wn * np.sqrt(max(0.0, 1.0 - zeta * zeta))    if zeta < 0.999:        return 1.0 - np.exp(-zeta * wn * t) * (np.cos(wd * t) + zeta * wn / wd * np.sin(wd * t))    return 1.0 - np.exp(-wn * t) * (1.0 + wn * t)  def allocate_forces(grasp_mat, ext_wrench, mu=0.8):    """最小范数指尖力分配: min ||f||^2, s.t. G f = -F_ext"""    forces, *_ = np.linalg.lstsq(grasp_mat, -ext_wrench, rcond=None)    f1, f2 = forces[:2], forces[2:]    f1n, f2n = abs(f1[0]), abs(f2[0])    f1t, f2t = abs(f1[1]), abs(f2[1])    if f1t > mu * f1n or f2t > mu * f2n:        print("提示: 摩擦锥超限, 需调整抓取配置")    return forces  if __name__ == "__main__":    t = np.linspace(0.0, 4.0, 41)    pos = step_response(t)    print("t=%.2f s 指尖位移=%.3f (目标位移=1)" % (t[-1], pos[-1]))     # 两指平面抓取: grasp_mat 将指尖力合成到物体所受合力    G = np.array([[1.0, 0.0, 1.0, 0.0],                  [0.0, 1.0, 0.0, 1.0]])    F_ext = np.array([2.0, 1.0])  # 物体受到的外力    f = allocate_forces(G, F_ext)    print("指尖力分配:", np.round(f, 4))    print("校验 G·f + F_ext =", np.round(G @ f + F_ext, 1e-9))
目的:演示了灵巧手控制的两块核心数学——阻抗控制的阶跃响应预测,以及满足力平衡的指尖力最小范数分配。
  1. import numpy as np引入数学工具库,负责矩阵运算与方程求解。
  2. wd = wn * np.sqrt(max(0.0, 1.0 - zeta * zeta))计算欠阻尼系统的阻尼振荡频率,决定响应曲线的抖动节奏。
  3. return 1.0 - np.exp(-zeta * wn * t) * (np.cos(wd * t) + zeta * wn / wd * np.sin(wd * t))欠阻尼二阶系统的解析解,预测指尖受扰后的位移轨迹。
  4. forces, *_ = np.linalg.lstsq(grasp_mat, -ext_wrench, rcond=None)用最小二乘求解欠定方程组,得到一组满足平衡约束的最小范数指尖力。
  5. if f1t > mu * f1n or f2t > mu * f2n:摩擦锥可行性检查,切向力超出摩擦上限时必须重新规划抓取。
  6. print("校验 G·f + F_ext =", np.round(G @ f + F_ext, 1e-9))验证分配结果是否精确满足平衡约束,手算与机器核对一致。

常见误区

误区我总觉得灵巧手自由度越多就越高级,而且自由度多意味着冗余,控制起来应该更灵活、更轻松,出问题还能互相补偿。

正解自由度增多会让欠驱动问题更突出——“肌肉”追不上“骨头”的需求。就像一只木偶的手指从五根加到十根,但提线还是那几根,老师傅反而更难让每根手指各就各位。高自由度带来的是解空间爆炸与建模困难,控制难度通常随之上升。

为何常见:人们容易把“功能强大”和“控制简单”混为一谈,忽略了自由度增加会放大耦合与欠驱动的矛盾。

误区我理解阻抗控制就是让机器人手变“温柔”,那干脆把刚度和阻尼都调得很低,这样碰到什么都不会伤到物体,肯定最安全。

正解阻抗控制是“弹簧+阻尼”的组合,刚度太低时指尖发飘、定位不准、连鸡蛋都托不住;阻尼太低还会持续振荡。正确做法是根据任务调参:精密装配要刚度高些,易碎品抓取要刚度低些,同时把阻尼配到临界附近,做到“该硬就硬、该软就软”。

为何常见:初学者只看到“柔顺”的表象,忽略了阻抗的本质是平衡“响应速度”与“交互安全”。

误区我认为既然笛卡尔空间直接面向任务,关节空间控制就是过时技术,迟早被淘汰,做项目只需要学笛卡尔控制就行。

正解两者是互补关系而非替代关系。笛卡尔空间擅长任务表达,但底层执行仍要转换成关节指令;关节空间建模直观、易处理约束,适合做内环与动力学补偿。实际系统多是“笛卡尔外环 + 关节内环”的分层架构,缺一不可。

为何常见:学习者容易只从“目标描述”的角度看问题,忽略了控制链路上的分工与配合。

误区强化学习这么强大,只要给足数据,机器手就能自己学会抓任何东西,传统的阻抗控制和抓取矩阵分析都不需要了。

正解学习型方法解决的是“该出多大力”的决策问题,而“如何柔顺地把力使出来”仍依赖阻抗控制等底层机制;摩擦锥、抓取矩阵这些物理约束也常作为安全护栏嵌入训练目标。纯端到端方案可解释性差、样本效率低,业界主流是“学习决策 + 传统执行”的分层融合。

为何常见:对数据驱动方法寄予过高期望,忽视了物理世界中的安全边界与可解释性要求。

面试题

Q1. 灵巧手的“高自由度”通常指什么?

单选题 · easy

  • A.关节自由度数量多← 正确答案
  • B.驱动电机数量多
  • C.手指的数量多
  • D.传感器数量多

答案:A。高自由度指关节或运动自由度多,这正是灵巧手灵活性的来源;电机、手指和传感器数量都不是“自由度”的定义。就像人手灵活不是靠肌肉多,而是靠二十多个关节的自由组合。

Q2. “欠驱动系统”是指?

单选题 · easy

  • A.驱动器数少于自由度← 正确答案
  • B.驱动器数多于自由度
  • C.自由度数少于驱动器
  • D.完全不需要驱动器

答案:A。欠驱动即“肌肉不够用”,驱动器数量 m 小于关节自由度 n,差值为欠驱动度 δ=n−m。这正是灵巧手轻量化与可控性之间的根本矛盾。

Q3. 关节空间控制直接控制的对象是?

单选题 · mid

  • A.指尖的笛卡尔坐标
  • B.各关节的角度← 正确答案
  • C.接触力的大小
  • D.抓取矩阵的行列式

答案:B。关节空间控制以关节角度为控制量,动力学方程直接作用在 q 上;指尖坐标属于笛卡尔空间,接触力和抓取矩阵则是交互层面的量,不是关节空间直接操控对象。

Q4. 关节速度与指尖速度之间的映射用哪个矩阵?

单选题 · mid

  • A.惯性矩阵
  • B.科氏力矩阵
  • C.雅可比矩阵← 正确答案
  • D.刚度矩阵

答案:C。雅可比矩阵 J(q) 扮演“翻译表”角色:ẋ=J(q)q̇。惯性矩阵描述动力学、刚度矩阵描述阻抗,都不负责速度映射。

Q5. 阻抗控制中阻尼过小,指尖会出现什么现象?

单选题 · mid

  • A.快速平稳到达目标
  • B.出现持续往复振荡← 正确答案
  • C.指尖完全失去响应
  • D.系统立刻静止不动

答案:B。阻尼是“刹车”,太小则能量耗散不足,系统会像欠阻尼弹簧一样来回振荡;临界阻尼才能又快又稳,过阻尼则变得迟缓。

Q6. 摩擦锥约束说明的是?

单选题 · mid

  • A.法向力必须大于切向力
  • B.切向力不得超过摩擦上限← 正确答案
  • C.切向力必须恒为零
  • D.法向力与切向力相等

答案:B。摩擦锥要求 f_t≤μf_n,即切向力不能超过法向力与摩擦系数的乘积。超出边界意味着打滑,抓取将失去稳定。

Q7. 学习型力分配的优化目标通常是?

单选题 · hard

  • A.最大化每一指的指尖力
  • B.最小化指尖力并满足平衡← 正确答案
  • C.完全随机分配指尖力量
  • D.只优化抓取矩阵本身

答案:B。力分配问题常在 Gf=−F_ext 与摩擦锥约束下最小化各指尖力平方和,既省力又保护物体。最大化力量或随机分配都会破坏抓取安全,抓取矩阵是约束而非优化对象。

Q8. 灵巧手控制的主要难点包括哪些?

多选题 · easy

  • A.关节自由度冗余← 正确答案
  • B.驱动器数量不足← 正确答案
  • C.传感器数量冗余
  • D.多指力量难协调← 正确答案

答案:ABD。自由度冗余带来“多解”难题,驱动器不足造成欠驱动耦合,多指力量协调需要巧妙的力分配;传感器冗余通常是设计上有意为之,不是控制难点。

Q9. 阻抗控制需要设定的参数有哪些?

多选题 · mid

  • A.目标刚度大小← 正确答案
  • B.目标阻尼大小← 正确答案
  • C.目标惯性大小← 正确答案
  • D.通信波特率大小

答案:ABC。阻抗模型 M_d ë+B_d ė+K_d e=F_ext 中包含惯性、阻尼、刚度三个核心参数;通信波特率属于底层传输配置,与阻抗特性无关。

Q10. 关于关节空间与笛卡尔空间控制,正确的说法有?

多选题 · hard

  • A.两者在功能上等同
  • B.映射依赖雅可比矩阵← 正确答案
  • C.笛卡尔空间面向任务← 正确答案
  • D.关节空间对指尖无影响

答案:BC。两者通过雅可比矩阵关联,笛卡尔空间直接表达指尖任务目标,更贴近装配、抓取等应用;但关节空间通过正运动学同样会影响指尖位置,并非“无影响”,二者是分工互补而非等同。