想象这样一个未来: 一个机器人正在帮助一位卧床不起的病人进行擦身。为了有效地完成这项工作,机器人不能仅仅使用它的“手” (末端执行器) ;它必须使用整个手臂环绕病人,也许还要将前臂轻轻靠在病人的肩膀上以擦拭背部。

现在,想象一下病人的肩膀上有淤青。机器人的任务是擦拭背部,但病人的首要任务是“别弄疼我的肩膀”。如果机器人将擦拭动作的优先级置于接触力之上,病人就会受伤。如果它过分优先考虑肩膀,它可能根本够不到背部。

这个场景凸显了辅助机器人技术中最困难的挑战之一: 物理人机交互 (pHRI) 。 这不仅仅是从 A 点移动到 B 点;它是关于在整个手臂上进行物理接触 (全臂操作,即 Whole-Arm Manipulation,简称 WAM) ,同时尊重人类用户独特的、通常不可见的疼痛阈值和偏好。

在这篇文章中,我们将深入探讨 PrioriTouch , 这是一个由康奈尔大学和丰田研究所的研究人员开发的新框架。该系统允许机器人实时学习用户的接触偏好,并调整其控制策略,在不牺牲手头任务的前提下最大化舒适度和安全性。

PrioriTouch 概述: 一个分层控制器结合环中仿真 (simulation-in-the-loop) 在线接触偏好学习,有助于个性化多接触物理人机交互,实现安全舒适的全臂操作。

挑战: 当接触变得个性化

在机器人护理中——例如穿衣、洗澡或转移病人——接触是不可避免的。与在围栏内作业的工业机器人不同,护理机器人必须与人亲密接触。

问题在于,“舒适”并不是一个普遍的常数。它因情况而异:

  1. 因人而异: 一个人可能觉得紧紧的抓握让人安心,而另一个人则觉得痛苦。
  2. 因身体部位而异: 你可能能忍受背部较大的压力,但你的小腿或腹部要敏感得多。
  3. 随时间变化: 受伤、衣物的变化或仅仅是疲劳,都可能让偏好在瞬间发生改变。

传统的控制方法通常依赖于“一刀切”的方式或保守的安全边际,这使得机器人变得无用地缓慢或胆怯。另一方面,试图通过在真人身上进行试错来学习这些偏好是危险的。绝不能允许机器人通过实际伤害某人来“探索”多大的力是过大的。

解决方案: PrioriTouch

研究人员提出了 PrioriTouch , 这是一个不仅将舒适度视为约束,更将其视为排序问题的框架。

核心见解是,机器人控制通常涉及多个相互竞争的目标。例如:

  1. 将手移动到毛巾的位置。
  2. 保持肩膀上的力低于 5 牛顿。
  3. 保持躯干上的力低于 2 牛顿。

当这些目标发生冲突时 (例如,为了够到毛巾,机器人必须压在肩膀上) ,机器人需要一个层级结构。它需要知道该打破哪条规则,该严格遵守哪条规则。PrioriTouch 根据用户反馈动态地学习这种层级结构。

该系统有三大支柱:

  1. 分层操作空间控制 (H-OSC) : 基于严格优先级执行任务的底层数学引擎。
  2. LinUCB-Rank: 一种机器学习算法 (上下文多臂老虎机) ,用于计算最佳的优先级顺序。
  3. 环中仿真 (Simulation-in-the-Loop) : 一个“数字孪生”安全网,允许机器人在再次接触人类之前虚拟地练习新的优先级。

让我们逐一拆解。

核心方法: 它是如何工作的

1. 分层操作空间控制 (H-OSC)

要理解机器人是如何运动的,我们需要看看控制理论。机器人是由关节组成的铰接链。该机器人的动力学由以下运动方程控制:

机器人动力学运动方程。

这里:

  • \(\mathbf{M}(\mathbf{q}_t)\) 是质量/惯性矩阵 (手臂有多重) 。
  • \(\mathbf{C}\) 和 \(\mathbf{g}\) 代表科里奥利力、离心力和重力。
  • \(\boldsymbol{\tau}_t\) 是施加在关节上的扭矩 (旋转力) 。

在标准控制器中,你计算移动手所需的扭矩。但在全臂操作中,我们同时激活了多个目标。我们既想控制手的姿态,又想控制手臂上各个接触点的力。

H-OSC 通过使用零空间投影 (Null Space Projection) 来管理这一点。想象一下你有 100 美元的预算。你的首要任务是房租 (60 美元) 。你先付了房租。你还剩 40 美元 (你的“零空间”) 。你的下一个优先级是食物 (30 美元) 。你从剩余预算中支付。你还剩 10 美元。如果你的第三个优先级是电子游戏 (50 美元) ,你只能花 10 美元在上面。你不能挪用房租的钱去玩游戏。

在机器人技术中,“预算”是机器人的自由度 (运动能力) 。控制器将扭矩计算为优先任务的总和:

显示通过零空间投影器进行扭矩求和的方程。

在这里,\(\mathbf{N}_{j,t}\) 是零空间投影器 。 它确保任务 \(j\) 的扭矩 (\(\boldsymbol{\tau}_{j,t}\)) 不会干扰排在它前面的任务 (\(1\) 到 \(j-1\)) 。

投影器是递归计算的。第一个任务获得整个机器人。第二个任务获得对第一个任务来说“不可见”的任何运动,依此类推:

显示零空间投影器递归计算的方程。

动态一致广义逆矩阵 (一种在尊重机器人质量的同时对雅可比矩阵求逆的高级方法) 计算如下:

动态一致广义逆雅可比矩阵的方程。

最后,对于每个特定任务 (比如“不要推躯干”) ,我们计算在“操作空间” (世界坐标,而非关节角度) 中所需的力:

操作空间动力学方程。

这种数学结构保证了如果“保护肩膀”是第 1 级,而“移动手”是第 2 级,如果这是保护肩膀的唯一方法,机器人将停止移动手。

2. 使用 LinUCB-Rank 学习层级

H-OSC 很棒,但它要求我们知道排名。现在哪个更重要?肩膀还是躯干?任务还是接触?

这就是 LinUCB-Rank 发挥作用的地方。它是上下文多臂老虎机 (Contextual Bandit) 算法的一种变体。

  • 上下文: 它观察当前的情况 (机器人姿态、当前的力) 。
  • 老虎机 (Bandit) : 它选择一个动作 (目标的排名) 以最大化奖励。

我们实现了 H-OSC,它使用学习到的优先级排名在 WAM 期间调节多个接触。我们提出了 LinUCB-Rank,这是一种学习排名的上下文多臂老虎机算法。

标准的老虎机算法会选择一个最好的“拉杆”。但在这里,机器人需要构建一个序列。研究人员修改了算法,以便逐一填充优先级槽位。

  1. 槽位 1: 查看所有活动的接触和任务。哪一个拥有最高的置信度分数能成为“老大”?选中它。
  2. 槽位 2: 查看剩余的目标。选择次好的。
  3. 重复 直到所有目标都排好序。

“奖励”来自用户。如果用户说“哎哟,我的胳膊!”,算法就会对任何将任务优先于胳膊的排名给予负面奖励。随着时间的推移,它会学到当胳膊处于接触状态时,“保护胳膊”应该是第 1 级。

3. 环中仿真: 安全层

学习通常需要犯错。如果机器人在优先级排序上犯了错,它可能会在疼痛点上按得太重。为了防止这种情况反复发生,PrioriTouch 使用了数字孪生 (Digital Twin)

当用户提供反馈 (例如,“胳膊上的力太大了”) 时,机器人会:

  1. 撤回 到安全姿态。
  2. 生成数字孪生: 一个处于当前确切状态的机器人和人类的模拟。
  3. 虚拟学习: 它在模拟中运行 LinUCB-Rank 算法。它尝试不同的排名,模拟交互。因为它知道用户刚刚抱怨了胳膊,它会更新虚拟用户的舒适阈值。
  4. 收敛: 一旦算法在模拟中找到一个有效的排名 (满足新的阈值) ,它将该策略传回给真实机器人。
  5. 恢复: 机器人使用新的、更智能的优先级继续任务。

实验设置: 我们使用头顶的 RGBD 相机执行姿态估计并生成数字孪生,用于环中仿真偏好学习。

这意味着机器人是在虚拟世界 (类似于《黑客帝国》) 中进行“试错”,而不是在真人身上。

实验与结果

团队通过一系列不断升级的复杂性验证了 PrioriTouch: 仿真、硬件基准测试和人类用户研究。

1. 仿真实验

首先,他们在受控的虚拟环境中测试了数学模型。

  • 球体环境: 多个球体向机械臂移动。每个球体代表一个具有特定力限制的身体部位。
  • 擦身模拟: 模拟机器人擦拭虚拟病人。

仿真环境和硬件测试台,展示了球体环境、擦身模拟和现实世界的迷宫。

结果令人信服。与基线方法 (如固定优先级或启发式方法) 相比,PrioriTouch (LinUCB-Rank) 显著减少了力阈值违规

图表显示 LinUCB-Rank 比基线方法需要更少的反馈信号和更少的违规。

如上图 (右上) 所示,使用 LinUCB-Rank 后,机器人推力过大的次数急剧下降。它也需要更少的用户反馈信号就能“做对” (左上) ,证明了其学习的高效性。

2. 现实世界的迷宫

为了证明这在物理硬件 (Kinova Gen3 手臂) 上有效,他们建立了一个“3D 目标达成迷宫”。机器人必须穿过垂直的圆柱体。每个圆柱体代表一个具有特定敏感度的身体部位 (红色圆柱体是敏感的) 。

PrioriTouch 在 3D 目标达成迷宫中的现实世界演示。

当机器人擦过一个“敏感”圆柱体时,它触发了一个反馈循环。系统暂停,启动模拟 (数字孪生) ,了解到这个特定的圆柱体是高优先级的,调整排名,然后成功地绕过它,且没有再次触发力传感器。

3. 人类用户研究

最后,最重要的测试: 真人。

建立偏好: 在测试机器人之前,研究人员进行了一项广泛的调查 (n=98) ,以了解人们在哪里可以接受被触摸。他们创建了一个“接触热力图”。

人体轮廓分为 37 个区域;颜色越深表示接触接受度越高。

较暗的区域 (如上背部和肩膀) 通常更容易接受辅助性接触。较亮的区域 (胸部、腹部) 则更敏感。这些数据被用来为机器人的初始信念提供种子数据。

反馈机制: 用户如何告诉机器人“停下”?他们测试了两种方法:

  1. 基于幅度的: “减少 5 牛顿的力。” (人类很难估计) 。
  2. 描述性的: “我的腹部有点疼。” (自然) 。

用于比较不同反馈机制的用户研究设置。

不出所料,用户发现描述性反馈更容易使用,认知负荷显著降低。

用户研究结果显示描述性反馈产生的认知负荷较低。

综合测试: 在最终的研究中,8 名参与者体验了机器人对他们的四肢进行擦拭动作。他们将 PrioriTouch 与启发式基线方法进行了比较。

结果压倒性地支持 PrioriTouch。

表格显示用户研究评分。PrioriTouch 在任务性能、安全性和舒适度方面得分更高。

参与者在任务性能安全性舒适度方面给 PrioriTouch 的评分更高。8 名参与者中有 7 名明确表示更喜欢它而不是基线方法。一位参与者指出: “它执行任务非常好,接触感觉无缝且自然。”

结论

PrioriTouch 代表了使机器人能够安全用于亲密护理环境的重要一步。通过承认“安全”不是一个静态规则,而是一种动态偏好,该系统允许机器人适应每个人类个体。

H-OSC (处理优先级的物理机制) 、LinUCB-Rank (学习优先级) 和环中仿真 (安全地学习) 的结合创造了一个稳健的框架。它解决了物理交互中的“金发姑娘问题” (即恰到好处) : 施加的力既不太大,也不太小,而是恰到好处,并且顺序正确。

随着我们迈向一个机器人辅助老年人和行动不便者的世界,像 PrioriTouch 这样的系统将变得至关重要。它们确保机器人不仅仅是盲目遵循代码的机器,而是尊重它所接触的人的帮手。