SayTap:从语言到四足运动

P)JXJ%LU31F[CT}R$QO6A$Y.png

人与四足机器人之间简单有效的交互为打造智能、能干的助手机器人铺平了道路,开创了一个技术以超乎我们想象的方式改善我们生活的未来。这种人机交互系统的关键是让四足机器人能够响应自然语言指令。大型语言模型(LLM) 的最新发展已证明其具有执行高级规划的潜力。然而,对于 LLM 来说,理解低级命令(例如关节角度目标或电机扭矩)仍然是一个挑战,尤其是对于本质上不稳定的腿式机器人而言,这需要高频控制信号。因此,大多数现有 工作都假定为 LLM 提供高级 API 来指示机器人行为,这从本质上限制了系统的表达能力。

在即将于CoRL 2023上展示的 “ SayTap:从语言到四足运动”中,我们提出了一种方法,该方法使用足部接触模式(指四足智能体在移动时将足部放在地面上的顺序和方式)作为接口,连接自然语言中的人类命令和输出低级命令的运动控制器。这将产生一个交互式四足机器人系统,允许用户灵活地设计各种运动行为(例如,用户可以使用简单的语言让机器人走路、跑步、跳跃或做出其他动作)。我们贡献了一个 LLM 提示设计、一个奖励函数和一种将 SayTap 控制器暴露给可行接触模式分布的方法。我们证明 SayTap 是一种能够实现多种运动模式的控制器,这些运动模式可以转移到真实的机器人硬件上。

SayTap 方法

SayTap 方法使用接触模式模板,该模板是一个由 0 和 1 组成的 4 X T矩阵,其中 0 表示代理的双脚在空中,1 表示双脚着地。从上到下,矩阵中的每一行分别给出前左脚 (FL)、前右脚 (FR)、后左脚 (RL) 和后右脚 (RR) 的脚接触模式。SayTap 的控制频率为 50 Hz,因此每个 0 或 1 持续 0.02 秒。在这项工作中,所需的脚接触模式由大小为 L w、形状为 4 XL w的循环滑动窗口定义。滑动窗口从接触模式模板中提取四个脚地面接触标志,这些标志指示在t + 1 和t + L w之间脚是着地还是在空中。下图概述了 SayTap 方法。

SayTap 将这些所需的脚部接触模式引入到自然语言用户命令和运动控制器之间,作为新接口。运动控制器用于完成主要任务(例如,遵循指定的速度)并在指定的时间将机器人的脚放在地面上,以使实现的脚部接触模式尽可能接近所需的接触模式。为了实现这一点,运动控制器除了机器人的本体感觉数据(例如,关节位置和速度)和任务相关输入(例如,用户指定的速度命令)之外,还将每个时间步骤所需的脚部接触模式作为输入。我们使用深度强化学习来训练运动控制器并将其表示为深度神经网络。在控制器训练期间,随机生成器对所需的脚部接触模式进行采样,然后优化策略以输出低级机器人动作以实现所需的脚部接触模式。然后在测试时,LLM 将用户命令转换为脚部接触模式。

SayTap 方法概述。

SayTap 使用脚部接触模式(例如,插图中每只脚的 0 和 1 序列,其中 0 表示脚在空中,1 表示脚在地面)作为连接自然语言用户命令和低级控制命令的接口。借助经过训练以实现所需接触模式的强化学习运动控制器,SayTap 允许四足机器人接受简单直接的指令(例如,“慢慢向前走。”)以及模糊的用户命令(例如,“好消息,我们这个周末要去野餐!”)并做出相应的反应。

我们证明,在给出正确设计的提示时,LLM 能够准确地将用户命令映射到指定格式的脚接触模式模板中,即使在命令非结构化或模糊的情况下也是如此。在训练中,我们使用随机模式生成器根据给定的步态类型G生成具有各种模式长度T的接触模式模板,即一个周期内的脚与地面接触比,以便运动控制器能够学习广泛的运动分布,从而实现更好的泛化。有关更多详细信息,请参阅论文。

结果

通过一个仅包含三个常见脚部接触模式的上下文示例的简单提示,LLM 可以将各种人类命令准确地转换为接触模式,甚至可以推广到那些没有明确指定机器人应如何反应的命令。

SayTap 提示简洁明了,由四个部分组成:(1) 描述 LLM 应完成的任务的一般说明;(2) 步态定义,提醒 LLM 有关四足步态的基本知识以及它们如何与情绪相关;(3) 输出格式定义;(4) 示例,让 LLM 有机会在上下文中学习。我们还指定了五种速度,允许机器人向前或向后移动、快速或慢速移动或保持静止。

通用指令块

您是狗足接触模式专家。

您的工作是根据输入给出速度和脚接触模式。

无论输入是什么,您总是会以正确的格式给出输出。

步态定义块

以下是关于步态的描述:

1. 小跑是两条斜腿同时着地的步态。

2. 踱步是身体左、右侧两腿同时着地的步态。

3. 跳跃步态是指两条前腿/后腿同时着地的步态。它具有较长的悬空阶段,例如,所有脚都离地至少占循环长度的 25%。这种步态也给人一种快乐的感觉。

输出格式定义块

以下是描述速度和脚接触模式的规则:

1. 您应该首先输出速度,然后输出脚部接触模式。

2.有五种速度可供选择:[-1.0, -0.5, 0.0, 0.5, 1.0]。

3. 一个形态有4条线,每条线代表一条腿的脚接触形态。

4. 每条线都有一个标签。“FL”表示左前腿,“FR”表示右前腿,“RL”表示左后腿,“RR”表示右后腿。

5. 每行“0”代表脚在空中,“1”代表脚在地上。

示例块

输入:慢慢小跑

输出:0.5

FL: 11111111111111111000000000

法国:000000000111111111111111111

RL:000000000111111111111111111

请求编号:111111111111111110000000000

输入:被束缚在原地

输出:0.0

佛罗里达州: 11111111111100000000000000

法国:11111111111100000000000000

RL:000000111111111111000000000

RR:000000111111111111000000000

输入:快速后退

输出:-1.0

FL: 11111111100001111111110000

法国:00001111111110000111111111

RL:11111111100001111111110000

RR:00001111111110000111111111

输入:

SayTap 提示给 LLM。蓝色文本用于说明,不输入到 LLM。

遵循简单直接的命令

我们在以下视频中演示了 SayTap 系统可以成功执行命令直接明确的任务。虽然这三个上下文示例未涵盖某些命令,但我们能够通过提示中的“步态定义块”(参见上面提示中的第二个块)引导 LLM 表达其来自预训练阶段的内部知识。

遵循非结构化或模糊的命令

但更有趣的是 SayTap 能够处理非结构化和模糊的指令。只需在提示中给出一点提示,将某些步态与一般的情绪印象联系起来,机器人就会在听到令人兴奋的消息时跳上跳下,比如“我们要去野餐!”此外,它还能准确地呈现场景(例如,当被告知地面很热时,它的脚几乎不接触地面,快速移动)。

结论和未来工作

我们推出了 SayTap,这是一种用于四足机器人的交互式系统,它允许用户灵活地设计各种运动行为。SayTap 引入了所需的脚接触模式作为自然语言和低级控制器之间的新接口。这个新界面简单而灵活,此外,它还允许机器人遵循直接指令和未明确说明机器人应如何反应的命令。

未来工作的一个有趣方向是测试暗示特定感觉的命令是否允许 LLM 输出所需的步态。在上面结果部分显示的步态定义块中,我们提供了一个将快乐情绪与跳跃步态联系起来的句子。我们相信提供更多信息可以增强 LLM 的解释(例如,暗示的感觉)。在我们的评估中,快乐感觉和跳跃步态之间的联系使得机器人在遵循模糊的人类命令时表现得生动。未来工作的另一个有趣方向是引入多模态输入,例如视频和音频。从这些信号转换而来的足部接触模式在理论上仍将适用于我们的管道,并将解锁更多有趣的用例。

致谢

Yujin Tang、Wenhao Yu、Jie Tan、Heiga Zen、Aleksandra Faust 和 Tatsuya Harada 进行了这项研究。这项工作是在团队在 Google Research 时构思和进行的,并将在 Google DeepMind 继续进行。作者要感谢 Tingnan Zhang、Linda Luu、Kuang-Huei Lee、Vincent Vanhoucke 和 Douglas Eck 在实验中提供的宝贵讨论和技术支持。


版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论