Home / 机器人经典基础 / 手部 CIO:把何时接触、在哪里施力一起优化

072|手部 CIO:把何时接触、在哪里施力一起优化

系列首页 · 时间线总览

论文:Igor Mordatch、Zoran Popović、Emanuel Todorov,Contact-Invariant Optimization for Hand Manipulation,SCA 2012。原始书目链接;作者存档全文。本文依据八页正文的方法、实验和讨论,不与同年 SIGGRAPH 的全身 CIO 论文混同;未独立复现动画优化。

先接住前作的问题

抓取质量评估既定接触,本篇还要同时寻找手怎样移动、何时接触。CIO用连续辅助变量打开优化通道;Posa方法是直接施加互补约束的平行路线,物理残差边界不同。

五个前置概念

五个前置概念:轨迹优化直接调整一段运动;接触模式描述哪些表面正在作用;软约束用代价惩罚而非严格禁止违反;continuation逐渐改变问题难度;摩擦锥限定接触力允许的方向与大小关系。

一、问题设定:接触顺序未知时怎样同时寻找手部运动和作用点

让手把笔从桌上拿起来,可以先规定“拇指先碰、食指再夹、然后抬起”,再优化动作。但灵巧操作的难处恰恰在于不知道应该采用哪种接触顺序。CIO 把接触是否活跃、接触点位置、接触力与物体轨迹一同放进连续优化,让目标运动反过来引导手指寻找合适作用方式。

背景与问题边界

输入包括初始手—物状态、几何和高层任务目标;输出是固定时间区间内的状态轨迹。目标可以是物体末端位置,也可以是笔尖经过若干位置。它属于模型驱动的轨迹优化,成本函数不是从交互数据学习出来的奖励模型。

原始全身 CIO 偏向平行接触面片,不适合指尖曲面和滚动接触。本篇允许接触点在曲面上改变。不过必须细读 §5.1:实现仍要求活跃接触的相对速度为零,即限制无滑动。曲面接触不等于已完整处理任意库仑滑动。

另一个重要假设来自 §5.2:肩部固定,手被视为完全驱动,运动学可行的手姿态被假定为动力学可行。物体则未驱动,必须由接触力解释其运动。因此,优化中认真检查了物体的牛顿—欧拉关系,却没有同等严格地限制手部电机力矩和执行器带宽。

二、用连续辅助变量连接接触活动与力

方法:给接触一个可优化的中间表示

每个候选接触有活动变量 cj∈[0,1]c_j\in[0,1]、力 fjf_j 和作用点 rjr_j。cjc_j 是连续优化辅助量,作者非正式地把它比作接触概率;它不是通过观测校准得到的概率模型。候选接触集合仍然由建模者预先确定,算法不会凭空发现没有放进模型的接触表面。

为了方便理解,可以把核心代价整理为

L=Ltask+wCLC+wPLP+wFLcone+Lkin+Lpad.L=L_{task}+w_C L_C+w_P L_P+w_F L_{cone}+L_{kin}+L_{pad}.

LtaskL_{task} 追求高层目标,LCL_C 要求活跃接触处几何重合且相对速度为零,LPL_P 衡量物体动力学残差,LconeL_{cone} 惩罚不合理受力方向,LkinL_{kin} 处理关节范围与碰撞,LpadL_{pad} 表达指腹接触偏好。每项都承担特定建模责任,不是一个通用“物理真实度”分数。

例如令 ejOe_j^O 和 ejHe_j^H 分别是作用点到物体表面、手表面的投影残差,则接触项具有

LC=∑jcj(∥ejO∥2+∥ejH∥2+∥e˙jO∥2+∥e˙jH∥2)L_C=\sum_j c_j\left(\|e_j^O\|^2+\|e_j^H\|^2+ \|\dot e_j^O\|^2+\|\dot e_j^H\|^2\right)

这样的结构。当 cjc_j 大时,手必须真正靠近物体;当 cjc_j 小时,不要求该接触满足重合。与此同时,物体获得的实际接触作用通过 cjfjc_jf_j 进入动力学。把两个部分结合,才能防止“一边没有接触、一边仍然获得足够推力”的假解。

以常用力矩约定重新记号,物体残差可理解为

mx¨−∑jcjfj−fext,H˙−∑j(rj−x)×(cjfj)−τext.m\ddot x-\sum_j c_j f_j-f_{ext},\qquad \dot H-\sum_j(r_j-x)\times(c_jf_j)-\tau_{ext}.

位置 xx 指物体质心,HH 是角动量。这里使用标准力臂叉乘力的记号,教学实现要统一参考系、法向和力的方向。不能只抄符号不检查约定。额外的力平方惩罚会抑制不必要的大力,也倾向于让多个接触分担载荷。

为什么先允许违反物理?若初始手离物体很远,直接要求精确接触和动力学,优化可能看不到通向成功动作的局部方向。第一阶段降低物理与接触代价,让轨迹先朝任务目标移动;第二阶段恢复权重,把手、力和物体运动协调起来。这是 continuation 思想,不是允许最终解任意违背物理。

连续接触变量提供优化通道,也引入“隔空受力”的检查责任

教学静态例:1千克物体需向上9.8牛支持。若活动变量 c=0.5c=0.5且力变量 f=19.6f=19.6牛,乘积 cf=9.8cf=9.8牛已经满足净力平衡。假如手仍离物体2厘米,有限权重的接触几何罚项只是正数,并非绝对禁止;优化器可能以残余不物理性换取更低任务代价。增大几何权重和力代价能改变这种折中,却不等价于精确可行性证明。

因此输出评估至少需要分别检查间隙、活动接触滑移、动力学残差和摩擦违规;一个总损失无法告诉我们哪项被牺牲。将 cc叫作“概率”也不能让这些残差自动获得统计置信度。

本篇直接扩展同作者全身CIO,使曲面接触的作用点和力进入联合变量;与本系列Posa接触轨迹优化是平行方法,后者以直接互补约束强调物理可行性。原稿第3.1节明确软约束、取消内层QP与变量数增加的交换。手操作动画效果不能直接当作真实机械手的接触精度。

连续辅助变量让接触可被优化,也引入物理残差必须检查。下面把动作目标与这些残差一起追踪,再读手部合成动作的证据范围。

三、联合优化轨迹和接触,检查残差

输入:初态、手与物体几何、候选接触集合、任务目标
重复初态生成静止轨迹;加小扰动打破对称
初始化所有接触活动c=0.5
为位置和速度设样条关键帧;为力、作用点和c设对应插值
for 阶段 in [弱物理约束, 正常物理权重]:
    在更密时间点重建轨迹
    计算接触投影、物体动力学、摩擦、运动学及任务残差
    有限差分求梯度
    用有界L-BFGS联合更新全部关键帧变量
输出轨迹,并单独检查任务误差与物理残差

四、读抓取、转动与画图的合成案例

Fig. 2:左右对照接触活动变量与手、物体几何位置是否一致
原论文方法图摘引:Igor Mordatch、Zoran Popović、Emanuel Todorov(2012),Fig. 2,PDF 第 4 页;核对原文。原版权保留。

读图:左右对照接触活动变量与手、物体几何位置是否一致。把活动设为开启还不够,接触力与距离残差必须共同收敛;图中的可行姿态不是全部优化实例的成功率。

Fig. 1:抓握、持笔绘图与双手操作等不同任务的合成结果
原图摘引:Mordatch、Popović、Todorov(2012),Fig. 1,PDF 第 1 页;核对原文。原版权保留。

读图:这些是不同操作任务的合成结果选图,包括抓握、持笔绘图和双手操作,并非同一次运动的连续帧。动作看起来可行支持任务合成能力,但渲染姿态不能量化接触残差,更不能充当实机执行证据。

实验如何验证

项目 原文设置
任务 §7:抓取、周期转动、画方形、按手机、不同形态与双手操作
数据来源 人工指定模型与高层目标,不依赖动作捕捉数据
几何 接触体使用胶囊体,便于表面投影与距离计算
离散化 §4、§6:关键帧间隔 0.5 秒,代价检查间隔 0.05 秒
优化预算 10–20 阶段;典型 1030–2060 变量;每个优化阶段 500–1500 次迭代
运行资源 四核 2.4 GHz,报告 2–6 分钟
重复与统计 每个展示例子一次优化;未给多种子成功率或置信区间
对比与消融 未系统比较显式力变量和逆动力学隐式力方案

这些是动作合成案例和运行统计,不能当作大规模任务分布上的泛化评估。形态改变后重新优化仍能合成动作,说明方法可复用;不是一个已经训练好的策略零样本迁移。

证据:自动化到了哪一步

证据 1|图 2、式 4–9:活动变量连接几何与力。图示对比有接触活动却未重合的不可行状态与协调后的状态。这支持方法表示上的解释,不能替代最终残差统计。只看渲染图很难判断细小穿透或力的偏差。

证据 2|§7 抓取与绘图:高层目标确实能诱发中间动作。绘图指定笔尖到方形角点,拾笔作为中间行为出现;抓取姿态随目标方向改变。这支持减少局部动作脚本,但任务特征、模型和成本权重仍是人工提供的。

证据 3|§7 双手抛接:不是完全没有接触时序提示。该示例限制前半段与后半段分别使用不同手,并在中间阶段惩罚双方接触。这是明确的时序结构信息。它仍需要优化动作细节,但不宜被用来证明自由发现所有抛接模式。

证据 4|§8:作者承认缺少关键系统对照。显式优化力和作用点是否优于隐式逆动力学,尚未进行系统比较。初步感觉收敛更快不能被改写为已经通过消融证明。相关证据见原文。

五、保留软约束、手部简化与实际执行差距

真正值得记住的是“让接触活动协调用力与几何”的中间表示,以及从平面面片走向曲面作用点。软代价改善可优化性,但最终可行程度依赖权重、离散化与局部解。论文关于大多数局部极小值对应成功动作的解释,是从展示案例作出的推测,不能视为优化景观定理。

自构例子,未运行。两根手指从小球左右接近,目标是把球抬高。若所有 c=0c=0,物体向上加速无法由接触力解释,动力学残差变大;若把 cc 提高却让手指留在远处,几何残差变大。联合优化有机会同时把指尖移近、建立向上的摩擦作用和合理夹紧力。

但若手部没有力矩上限,算法可能给出真实电机无法产生的夹紧动作。这是模型层面的可执行性缺口,不是把优化器运行更久就一定能解决。更进一步的实验应加入执行器约束,在独立前向仿真中回放,并报告扰动成功率和残差。

六、追问:减小动作目标误差却增大物理约束残差,应怎样解释这条轨迹?

减小动作目标误差却增大物理约束残差,应怎样解释这条轨迹?

参考答案:它说明优化在当前软约束或罚项下作了权衡,不能只用目标成功宣称物理可行。应同时报告接触活动、力和相应物理残差,并核对手部动力学简化。本文动作合成结果不等于真实执行器已能稳定跟踪。

教学参照:Underactuated Robotics: Planning and Control through Contact。这里借用其分开连续运动、接触事件与数值实现的讲法。

七、对照硬互补约束的接触规划

八、自测与参考答案

1. 把接触活动设为零,能否直接消除所有约束从而完成任务?

不能。这样虽然降低接触几何代价,却同时去掉传给未驱动物体的接触作用。物体若仍按目标运动,会产生动力学残差。需要联合理解几何项与力项。

2. 允许曲面接触,为什么还不能说论文解决了任意滑动操作?

因为表面形状与相对运动约束是两件事。正文 §5.1 要求活跃接触相对速度为零;曲面上改变接触位置可以描述一些滚动,但不能据此宣称一般滑动都已处理。

3. 为什么演示成功仍不足以证明真实机器人能执行?

手部被假定运动学可行即可动力学可行,且物理关系以软代价实现。实际电机力矩、带宽、传感误差和反馈稳定性还需要额外建模与验证。