专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
巴比特资讯  ·  你还在付费求DeepSeek部署教程?来来来 ... ·  22 小时前  
巴比特资讯  ·  千亿美元收购,马斯克是给OpenAI送财还是送灾? ·  22 小时前  
巴比特资讯  ·  两极反转,外国人开始在X上卖中国AI的课了? ·  昨天  
巴比特资讯  ·  为什么中国只有一个 DeepSeek? ·  2 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

Corki:具身 AI 机器人的软硬件协同设计

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2025-01-25 00:06

正文

24年11月来自中科院大学、美团、深圳AI机器人研究院、天津大学和中科院计算所的论文“Software-Hardware Co-Design For Embodied AI Robots”。

具身 AI 机器人有可能从根本上改善人类的生活和生产方式。使用大语言模型控制机器人这一新兴领域的持续进步关键取决于高效的计算基础。特别是,当今具身 AI 机器人的计算系统纯粹基于算法开发人员的兴趣而设计,其中机器人动作被划分为一个离散的帧基。这样的执行流水线会产生高延迟和能耗。本文提出 Corki,一种用于实时具身 AI 机器人控制的算法架构协同设计框架。其想法是将具身 AI 机器人计算流水线中的 LLM 推理、机器人控制和数据通信解耦。Corki 不是预测单个帧的动作,而是预测近期的轨迹,以减少 LLM 推理的频率。该算法与硬件相结合,加速将轨迹转换为用于控制机器人的实际扭矩信号,以及并行数据通信和计算的执行管道。Corki 大大降低 LLM 推理频率,最高可达 8.0 倍,从而将速度提高 3.6 倍。成功率可提高高达 17.3%。

如图所示:(a)当前具身 AI 系统的离散执行流水线,每次预测下一步动作,并且每一帧都会发生所有三个阶段,即LLM 推理、机器人控制和通信。(b)所提议的具身 AI 系统连续执行流水线,其中模型预测近期轨迹并将通信延迟与机器人执行延迟联系起来。



具身智能的计算系统 。具身人工智能 (EAI) 与语义 AI 不同,它强调与环境交互并执行长期任务的智体(通常是机器人)。最近,随着大语言模型 (LLM) 作为规划器的成功,该领域的研究不断加强,旨在开发高度智能的机器人 [10, 34–38]。

机器人应用加速器 。随着人们对将机器人视为新计算平台的兴趣日益浓厚,社区越来越关注机器人计算的专用加速器。这些加速器被设计用于定位 [39–42, 44–47]、运动规划 [43, 48–54]、控制 [55–61, 68] 等 [62–64, 69– 71]。然而,大多数加速器专注于传统基于规则的机器人计算系统中的一个或多个模块。

传统机器人通常依靠基于规则的算法进行决策和任务规划,其效用仅限于简单和预定的场景。相比之下,大语言模型 (LLM) 的成功促使人们努力为机器人配备先进的推理和长期规划能力。这种成功推动使用 LLM 进行机器人控制的应用程序出现,这已显示出显着的进步,特别是在提高机器人在动态场景中执行复杂任务的成功率方面 [12, 13, 22, 23]。

具身人工智能系统代表一类系统,它们利用大语言模型 (LLM) 的推理能力来指导机器人完成复杂的现实世界任务,包括但不限于家务和工业制造,目的是减少人类的努力。通常,这些系统由两个不可或缺的组件组成:配备 GPU 的高端服务器,用于 LLM 推理;以及机器人主体,负责执行并与物理环境交互。

具身 AI 系统通常采用多模态大语言模型 [14–17] 作为规划模块。该 LLM 将语言指令输入(例如“把蓝色杯子放在桌子上,把红色的拿给我”)与机器人流水线中的传统传感器输入(包括连续视频、IMU 信号和点云 [18– 20])无缝集成。LLM 推理将根据当前和最近的观察结果以及指令生成机器人主体要执行的下一步动作。

最近,具身人工智能系统已显示出在各种任务中取代人类的巨大潜力。谷歌的机器人Transformer [5,6]在家庭环境中的“拾起物体”、“打开抽屉”和“将物体放入指定位置”等任务中取得了75.0%以上的成功率。最近提出的具身人工智能框架RoboFlamingo [12]将单个任务的成功率进一步提高到89.5%以上。

以 RoboFlamingo 为例介绍具身 AI 系统。RoboFlamingo 利用视觉语言模型 (VLM) 来控制带有平行夹持器的 Franka Emika Panda 机械臂 [21],该机械臂总共具有七个自由度。RoboFlamingo 接受两种输入形式:语言指令和包含 12 张图像的视频序列。该模型将预测机械臂末端执行器在下一步中的动作。第 𝑡 帧的 LLM 推理过程,输入是 𝐹/𝑡,表示视频序列中的单个帧,和 𝑖 ,表示语言指令。输出是 Δ𝑥,Δ𝑦,Δ𝑧,为三维位置变化,Δ𝛼,Δ𝛽,Δ𝛾 ,为三维旋转变化,另外 𝑔 为一维夹持器状态,表示打开或关闭。

模型预测动作后,机械臂将执行动作,将自身移动到新位置。机器人上的控制过程将末端执行器的运动信息转换为放置在机械臂关节上每个电机的实际扭矩。机器人上的摄像头(通常放置在夹持器上)将捕获新帧 𝐹/𝑡+1 并将其发送回模型以更新输入帧。然后下一个推理将发生在(𝐹/𝑡−10,𝐹/𝑡−9,...,𝐹/𝑡+1,𝑖)。

具体来说,通过分解执行延迟来分析和描述 RoboFlamingo 的执行流水线,并在图中显示结果。为了获得结果,在 Nvidia V100 GPU 上运行 LLM 推理,在英特尔第 13 代 i7-13700 CPU 上运行机器人控制,并使用 Wi-Fi 模块收集数据通信数据。


图 a 显示,即使使用相对较小的 LLM(30 亿个参数)和高端 GPU,具身 AI 系统的端到端帧延迟也可能高达 249.4 毫秒,这直接导致非常低的帧速率,无法满足实时约束。在这三个阶段中,LLM 推理占用 76.9% 的执行时间,机器人控制占用 4.1%,数据通信占用 19.0%。图 b 显示能量分解。LLM 推理仍然占主导地位,占总能量的 98.0%,而机器人控制和数据通信仅占 2.0%。注:由于控制频率设置为与 30 Hz 前端帧速率相匹配,因此基线系统中控制所花费的延迟较低。然而,在实际的机器人系统中,控制通常具有更高的速率。对于每一帧,为了获得平滑的轨迹,相应的控制延迟可能占总延迟的 13.9%。

详细的特性数据表明,导致具身人工智能机器人执行缓慢的原因主要有两个方面。首先,逐帧顺序执行流水线迫使机器人的每一个动作都要经历三个阶段:LLM 推理、机器人控制和通信,并且延迟会累积。其次,即使使用高端 GPU 加速,LLM 推理仍然非常缓慢。

从机器人系统设计师的角度来看,规划和决策模块不需要与控制模块的高频率相匹配。轨迹通常被用作消除频率不匹配的桥梁。


Corki 算法创新的关键见解是将每帧机器人动作预测转变为机器人轨迹预测。

RoboFlamingo 由两个主要组件组成:视觉语言模型 (VLM) [24] 和名为策略头的 LSTM 网络 [25]。在每个时间步骤 𝑡,VLM 将视觉观察 𝐹/𝑡 和语言指令 𝑖 作为输入,并输出视觉语言 tokens 𝑋/𝑡。机器人动作 𝑎/𝑡 由策略头使用给定的 𝑋/𝑡 [12] 生成。

如图详细说明动作生成过程。在每个时间步骤 𝑡,策略头将 LLM 生成的视觉语言tokens 𝑋/𝑡 作为输入并通过 LSTM 网络。然后,隐状态 h/𝑡 通过两个 MLP 头映射到 7-DoF 的动作。


训练损失包含两部分,使用均方误差 (MSE) 损失监督位姿估计,而使用二元交叉熵 (BCE) 损失监督夹持器状态。权重 𝜆 用于平衡这两部分。

在推理过程中,策略头维护一个长度为 12 的队列。如果队列未满,策略头将预测动作 𝑎^pose/t、𝑎^gripper/t,并更新隐藏状态 h/𝑡 以进行下一步预测;一旦队列达到其最大容量,最早进入队列的token将被最新 token替换,然后,与训练过程一致,当前步骤 𝑎/𝑡 的动作将基于最后 12 个视觉语言tokens 𝑋/𝑡 −11 ∼ 𝑋/𝑡 给出。

当前具身 AI 算法的基本设计原则,是更好地监督每一帧的输出。然而,逐帧监督违背机器人系统的理念。因此,引入预测轨迹,描述相应的训练修改,并通过运行时自适应轨迹长度决策进一步改进设计。

轨迹预测 。预测最近未来的连续轨迹,而不是离散动作。用三阶函数来拟合机械臂的运动轨迹。对于需要预测的所有七个变量,为前六个变量(𝑟/𝑥(𝑡)、𝑟/𝑦(𝑡)、𝑟/𝑧(𝑡)、𝑟/𝛼(𝑡)、𝑟/𝛽(𝑡)、𝑟/𝛾(𝑡))中的每一个输出一条轨迹,夹子 𝑔 仍然是一个二进制值。

损失设计 。改变模型输出后,有两种设计损失的方法。第一种是直接监督三阶函数的参数 𝑎,𝑏,𝑐,𝑑。第二种是用真值来监督轨迹。这里选择第二种方法有两个原因。第一个原因是通常没有数据集提供 𝑎,𝑏,𝑐,𝑑 的真值,这意味着需要先从轨迹真值中提取它,这会积累错误。其次,这些参数变化很大,不利于神经网络的学习。

以变量𝑟/𝑥(𝑡)为例。使用 MSE 监督训练集中的轨迹动作 𝑇/𝑥 和预测轨迹 𝑟/𝑥。 然后,通过反向传播(BP)更新轨迹参数。这样,不再需要先获得 30 Hz 的离散动作,而可以直接监控轨迹以获得更强大的模型。

如图所示,从 𝑡 = 2 到 𝑡 = 4 的视觉语言 tokens 通过掩码嵌入脱落,类似于 BERT [27] 等研究。


在基本的 Corki 算法中,轨迹的长度始终是固定的。假设预测间隔设置为 16.5 毫秒。不能采用更短或更长的轨迹。然而,机器人应用的最重要特征之一是它们通常会遇到突然的环境变化。

提前终止 。因此,在所采用的轨迹长度方面提供灵活性。预测长度将用作实际所采用轨迹长度的上限,并允许提前终止。同样,假设预测间隔为 16.5 毫秒,实际轨迹可以是 3.3 毫秒到 16.5 毫秒,步幅为 Δ𝑡(假设摄像头传感器以 30 Hz 频率工作,则为 3.3 毫秒)。机器人提前终止后,模型将预测 16.5 毫秒的另一条轨迹。

提前终止,提供一定的灵活性,但这可能还不够。原因是当实际轨迹长度在训练和推理之间保持一致时,准确率会更高。如果训练中的实际轨迹长度为 6.6 毫秒,则推理期间应采用相同的长度。假设用户想要更改实际轨迹长度。在这种情况下,唯一的方法是训练两个模型,一个为 6.6 毫秒,一个为 9.9 毫秒,并在推理期间切换,这对于几乎所有机器人应用来说都是不方便的。

自适应轨迹长度 。该方法是通过经验方法允许自适应轨迹长度,从而提高灵活性。其见解来自轨迹的曲率。当曲率较低时,动作不会发生显着变化,这表明较长的轨迹是可以接受的。但是,当曲率较高时,通常的情况是机器人遇到突然变化,此时较短的轨迹更好。

航点提取 。使用称为航点的概念来识别自适应轨迹长度。例如,对于跨度为 16.5 毫秒的给定轨迹,航点定义为每 3.3 毫秒或每个时间步的轨迹上的一个点。如图所示,点 𝐴 是起点,点 𝐵 到 𝐹 是航点,点 𝐹 是终点。航点识别旨在找到机器人运动显著的航点。在本文中,显著的运动被识别为高曲率或夹持器状态的变化。


航点识别 。检查从 𝐵 到 𝐹 的每个航点,并比较两个指标以识别具有高曲率的潜航点。鉴于上图的示例,当前正在检查的航点是 𝐷。对于 [𝐵, 𝐷) 区间中的每个点,将两个指标与相应的阈值进行比较。第一个是 ∠𝐵𝐴𝐷 和 ∠𝐵𝐷𝐴,阈值为 90 度。第二个参数是点 𝐵 到线 𝐴𝐷 或 𝑑(𝐵, 𝐴𝐷) 之间的距离,阈值为 𝑑。如果违反任何阈值,认为 𝐶 和 𝐷 之间某点的曲率很高,因此轨迹应该在 𝐷 而不是预测点 𝐹 处结束。轨迹的长度取决于得到的端点。

为了找到夹持器状态发生变化的潜航点,比较当前航点和下一个航点的夹持器状态。如果这两个航点的夹持器状态不同,则当前航点将被识别为具有移动的航点。

如下在算法 1 中解释这个过程。由于自适应轨迹长度是在运行时确定的,因此延迟很敏感。提出的算法是有效的,并且延迟低。在大多数情况下,算法 1 的总计算成本小于 500 FLOPs。给用户提供算法框架。用户可以决定轨迹预测的长度、是否需要提前终止、提前终止的级别以及是否需要自适应轨迹长度。


到目前为止,Corki 执行开环控制。该算法将产生具有不同长度的轨迹,并且在发生以下推理之前,机器人没有反馈信息。但是,开环控制可能会导致性能下降,因为它很容易累积错误。

修改这个开环特征。在执行每个轨迹期间,会在轨迹终点之前随机发回图像。这些图像使用 ViT [33] 进行编码。通过 LLM 生成的后编码特征和 tokens 被连接起来并用于预测后续轨迹。


在硬件设计中,加速控制过程以实现实时性能。控制模块的输入是 Corki 算法预测的轨迹,输出是将用于机器人每个关节电机的扭矩信号。将控制框架称为 任务空间计算扭矩控制 (TS-CTC)。

任务空间计算扭矩控制 (TS-CTC) 方法因其能够处理任务空间中的参考输入而广泛应用于机器人的精确操作任务 [32]。如图展示该控制框架:


TS-CTC 的输入分为两部分。第一部分是参考轨迹 、参考轨迹的一阶导数 (速度) 和二阶导数  (加速度)。第二部分是来自传感器的机械臂关节角度和关节角速度 。输出是关节扭矩。为了实现平稳的机器人控制,产生扭矩的频率应至少为 100 Hz [56, 66]。

TS-CTC 包含五个关键计算模块,是整个过程中计算最密集的部分。在上图中将它们显示为红色块。正向运动学模块根据关节角度计算任务空间中末端执行器的位姿。雅可比块根据关节角度和速度计算任务空间中末端执行器的雅可比矩阵和速度。任务空间质量矩阵模块,根据关节角度计算任务空间中机械臂的惯性矩阵。任务空间偏置力模块根据关节角度和速度计算在任务空间中施加到机械臂的偏置力。

分析上述控制算法的计算模式,并确定两个关键特征。首先,如图所示,大量中间数据是可重复使用的。例如,雅可比矩阵的计算重用正向运动学的结果。同样,质量矩阵和偏置力的计算重用雅可比矩阵及其转置的结果。其次,所有模块主要由四个基本操作组成:计算每个连杆的姿势、每个连杆的速度、每个连杆的加速度和每个连杆的力。由于物理定律(例如,加速度是速度的导数),这些操作遵循固定的数据依赖性。例如,速度算子使用来自姿势算子的六维矢量来计算表示速度的六维矢量。加速度和力算子之间也存在类似的趋势。







请到「今天看啥」查看全文