CoRL 2018 · Robotics

Inferring geometric constraints in human demonstrations

从人类演示中推断几何约束——运动学 + 力/力矩,同时定类型与定参数
Guru Subramani, Michael Zinn, Michael Gleicher · University of Wisconsin – Madison · 2nd Conference on Robot Learning (CoRL 2018)

演示中蕴含大量几何约束(门的铰链、抽屉的滑轨、笔尖贴着纸面)。本文构建一个约束模型库,先用运动学信息拟合每种约束,再用力/力矩信息在运动学难以区分的歧义情形下做裁决,从而在不知道工具接触几何的前提下,同时判定约束类型并估计其几何参数。

Learning by DemonstrationForce/Torque 消歧Instrumented Tongs / Constraint Sabre 📄 arXiv:1810.00140 PMLR v87 Code (GitHub)
learning by demonstrationgeometric constraintsconstraint inferenceforce/torquevirtual workSE(3) rigid bodyprogramming by demonstration力矩消歧约束识别

01 Motivation

几何约束是物理任务的核心:它们限定了物体在环境中如何运动。知道约束的几何,交互就会容易得多——正如论文所举的例子:"opening a door is easier if one knows that the door is attached to a hinge and where the axis of the hinge is." 在 programming by demonstration 中,这类约束通常靠人工指定;若能从演示中自动推断,就能简化编程,并为 hybrid force-position control 自动提供参数。

但已有方法受限:C-Learn、CHAMP、null-space 学习等只能识别线、面、弧等简单约束,且大多不使用 reaction force/moment 信息,需要预先指定工具几何。本文指出三条关键洞见——(1) 受约束的运动可建模为刚体上的几何约束方程;(2) 仅凭 kinematic information(位置与朝向)不足以确定约束类型;(3) force/moment 信息可用来区分这些类型。

"Our approach does not require information about the constraint type or contact geometry; it can determine both simultaneously."
teaser: point-on-plane 约束推断
Figure 1. 演示者用 instrumented tongs 抓着一支钢尖 stylus 贴着平面移动(a)。算法从单次演示中同时估计出平面在全局坐标系中的位置笔尖相对刚体坐标系的位置(b,绿色为轨迹)。(c) 估计平面与 ground truth 之差在动捕系统的容差内(sub-mm,图注标 0.0005 m),且全程不需要已知 stylus 的几何。
6约束模型库中的类型
sub-mm平面估计 vs. ground truth 误差
98Instrumented Tongs 试验次数(去掉 2 次损坏)
0 先验无需已知接触几何/工具几何

02 Method

输入是一段已分段的演示(每段只含单一约束,分段沿用 [11] 的 force action recognition),记录了位置、朝向、线速度、角速度、力、力矩。对每一段:先把库中所有约束模型都拟合一遍,再用运动学 + 力 + 力矩三重判据逐样本打分,最后通过投票选出符合样本最多的约束类型并输出其参数 α。

六种几何约束及其物理对应
Figure 2. 约束模型库中的六种几何约束及其物理对应:(1) Fixed Point(球窝关节)、(2) Point on Plane(笔尖贴纸)、(3) Concentric Cylinder(轴上滑套)、(4) Planar(黑板擦贴板)、(5) Prismatic(拉抽屉)、(6) Axial Rotation(门把手/铰链门)。可按需扩充其它约束。

约束建模:从虚位移到许可力/力矩

把受约束物体建模为 SE(3) 中的刚体,配置 p = (r, q),受 k 个约束方程 Φ(p) = 0。许可的虚位移须满足 δΦ = Φ_r δr + Φ_π δπ = 0;再由虚功原理(约束反力/反力矩不做功)δr·f + δπ·n = 0,联立得到 Φ_rᵀλ + f = 0Φ_πᵀλ + n = 0(λ 为 Lagrange 乘子)。这套推导是 multi-body dynamics 中的标准做法,把几何约束方程直接联系到许可的 reaction force/moment——正是后续用力信息消歧的理论基础。每种约束(如 point-on-plane 用两个 exponential coordinates 表示平面法向、Rodrigues 公式生成旋转)都有一组参数 α 刻画其几何。

第 1 步:用运动学拟合各模型

对每一种约束模型,把 δp、δπ 换成实测线速度 v、角速度 ω,在所有样本上做非线性最小二乘回归,最小化 Σ ΦᵀΦ + δΦᵀδΦ,用 BFGS 求解,得到该模型的参数 α。

第 2 步:运动学判据(不能只看拟合误差)

不能简单挑"拟合误差最小"的模型——不同约束方程量纲不同、不可比。改为逐模型独立评估:用运动学误差判据(Table 1,量纲为距离,如"prismatic 用估计直线到坐标原点的距离"、"axial rotation 用刚体上转点到转轴的距离")对每个样本判断是否许可,设阈值得到布尔表 L_k。

第 3 步:力/力矩判据来消歧

很多情况下运动学之后仍有歧义(例如 fixed point 的运动同时很符合更一般的 point-on-plane 模型)。用实测力/力矩反解 Lagrange 乘子 λ(式 31,最小二乘),据此算出估计反力 f_react = Φ_rᵀλ、反力矩 n_react = Φ_πᵀλ;扣除反力/反力矩得残差,再沿运动方向扣除摩擦 f_μ、n_μ,最终得力误差 f_error、力矩误差 n_error(式 38–39),阈值化得到布尔表 L_f、L_n。论文强调:必须先扣反力再扣摩擦,因为虚功方程中力与力矩耦合,二者做的功可能相互抵消。此处未补偿惯性力与重力,前提是加速度小、或运动方向垂直于重力(如拉抽屉、擦黑板)。

第 4 步:投票选型

每个模型有 L_p、L_f、L_n 三张布尔表,取交集得到该约束的合格样本数;合格样本最多的约束即为选中类型,并输出其几何参数。

03 Experiments

在一个自制 testbed 上评测,用两种手持工具采集人类演示:Instrumented Tongs(模拟机器人夹爪,Optitrack 动捕 + 两个 ATIMini40 力矩传感器,因夹爪与物体非刚接需在物体上另贴 marker)和 Constraint Sabre(用 hex key 刚性接到被约束物体,工具自身运动即可作为物体运动的代理)。每种约束由两名演示者(其中一人非作者)各做约 10 次试验,试验间重新摆放 testbed 以增加位置变化。

Instrumented Tongs、Constraint Sabre 与推断出的约束运动
Figure 3. (a) Instrumented tongs(含 motion capture markers 与 force-torque sensors);(b) Constraint Sabre(顶部为 hex key);(c) 一段典型演示被正确分段为 free space motion(灰)与 constrained motion(彩色),并识别出 planar、rotation-about-axis、concentric cylinder、linear motion 等约束。

Instrumented Tongs:分类与拟合精度(Table 3)

用 tongs 交互 5 种约束,共 98 次试验(去掉 2 次动捕损坏)。分类准确率如下(fit error 为假设约束推断正确后、按运动学判据算出的拟合误差,单位 m):

ConstraintClassification AccuracyFit Error MeanS.D.MinMax
Prismatic100%0.0001041.99e-056.58e-050.00014
Axial Rotation100%0.001060.0002470.0004490.00148
Fixed Point75%0.0007710.0001770.0005730.00135
Point on Plane100%0.0001664.26e-050.0001100.000248
Planar Motion100%0.0008940.0004450.0004400.00249

Fixed Point 只有 75%:它被误判为 rotational constraint(5%)和 point-on-plane constraint(20%),因为这三种约束的反力/反力矩彼此耦合(见式 40),且大力矩会使式 31 估计的 Lagrange 乘子出现偏差。关键对照:若不做 force/moment 阈值化,整体准确率仅 57%——证明力/力矩信息对区分歧义约束确实有用。

Constraint Sabre:整段连续演示

两名演示者(一人非作者)用 sabre 对 linear、axial rotation、concentric cylinder、planar motion 四种约束做 10 与 13 次交互,全部在同一段演示内完成(约束之间夹着 free space motion,见 Figure 3)。整体预测准确率分别为 linear 87% / axial rotation 96% / concentric cylinder 91% / planar 100%。误判多因 planar 是更一般的模型(linear、rotational 分别有 9%、4% 被误判为 planar,尤其当施加的力/力矩很小、力判据失效时);concentric cylinder 偶尔(5%)被判为 axial rotation。sabre 整体拟合精度低于 tongs,主要来自 hex key 配合处的机械间隙——若能直接测量被约束物体的刚体运动,精度可望与 tongs 相当。

为何需要力/力矩信息(Figure 4)

力信息消歧:axial rotation vs planar
Figure 4. 一段与 axial rotation 约束交互的运动,planar 与 axial rotation 两种几何都能拟合。右图:两者的 position error 相近(上,Kinematic error),但 planar 的 force error 显著(下,绿色),据此可判定 axial rotation 才是正确模型。论文强调这不是启发式——它利用了交互的物理本质。

信息质量的重要性(Figure 5)

自由度多的约束(如 point on plane)需要足够多样、distinct 的样本才能可靠估参。论文示例:对 point-on-plane,用连续时间样本拟合时,直到累积约 1 秒运动 fit error 才降到可接受水平;而从整段演示中随机采样,样本更 distinct、信息更丰富,误差随样本数更快下降。启示:直线平移且不改变朝向的运动无法确定平面位置——演示需带足够的姿态/位置变化。

04 Limitations

Note: 以下前三条为论文 Conclusion 中作者明确陈述(stated)的局限与未来方向;后两条为依据方法设计推断(inferred)
不估计惯性力与重力(stated)

方法不补偿被约束物体的惯性与重力效应,在某些情形下这些效应显著——作者举例"interacting with constrained exercise equipment"。当前假设加速度小、或运动方向垂直于重力(拉抽屉、擦轻质黑板擦)时可忽略。

拟合过程未纳入力/力矩信息(stated)

力/力矩目前只用于第 3 步的评估/消歧,没有进入第 1 步的模型拟合;作者认为把它纳入拟合可能进一步提升性能。

尚未集成进完整的示教系统(stated)

论文希望看到该方法嵌入一个完整的 teaching-by-demonstration 系统中,并将其列为有趣的未来工作。

依赖预先的单约束分段(inferred)

方法假定输入已被分段为"每段单一约束",分段由外部方法 [11] 完成;分段质量会直接影响后续识别。

力矩反解对大力矩敏感、模型库固定(inferred)

式 31 在测到大力矩时不可靠(会使 Lagrange 乘子有偏,导致 Fixed Point 掉到 75%);此外识别范围受限于预先构建的六类约束库,库外约束需另行加入。阈值也需按约束尺度与仪器精度调(Table 2 给出实验用值)。