波士顿动力机器狗Spot运动控制系统:深度学习+强化学习-深度强化学习
深度学习和强化学习是人工智能领域两个非常重要但维度不同的概念。
-
深度学习是一种技术/工具,主要用于感知和理解。
-
强化学习是一种学习范式/框架,主要用于决策和行动。

核心目标与思想
-
深度学习:
-
目标: 从高维、复杂的数据(如图像、声音、文本)中学习特征表示和函数映射。
-
思想: 通过构建多层的神经网络,模拟人脑处理信息的方式,从大量标注的(监督学习)或未标注的(无监督学习)数据中学习一个从输入到输出的复杂映射关系。核心是拟合和泛化。
-
-
强化学习:
-
目标: 让一个智能体 学会在未知环境中通过试错来做出最优决策,以最大化长期累积奖励。
-
思想: 智能体通过与环境交互,根据环境反馈的奖励(或惩罚) 来调整自己的行为策略。它处理的核心问题是在探索(尝试新动作)和利用(使用已知有效动作)之间取得平衡。
-
数据与交互方式
-
深度学习:
-
数据: 通常是静态的、预先收集好的数据集。数据之间独立同分布(例如,一张猫的图片和下一张狗的图片通常没有顺序依赖关系)。
-
交互: 离线、被动学习。模型从给定的数据中学习规律,学习过程不需要与环境持续交互。
-
-
强化学习:
-
数据: 动态的、通过交互实时产生的序列数据。数据(状态、动作、奖励)之间存在强烈的时间依赖和因果关系。
-
交互: 在线、主动学习。智能体的动作会改变环境的状态,进而影响后续接收到的数据和奖励,形成一个闭环。
-
-
深度学习:
-
输入数据(如图像像素、文本向量)
-
网络架构(如CNN、RNN、Transformer)
-
损失函数(如交叉熵、均方误差)
-
优化器(如SGD、Adam)
-
-
强化学习:
-
智能体:做决策的主体。
-
环境:智能体交互的外部世界。
-
状态:环境在某一时刻的描述。
-
动作:智能体可以做出的行为。
-
奖励:环境对智能体动作的即时反馈信号。
-
策略:智能体在给定状态下选择动作的规则。
-
典型应用场景
-
深度学习:
-
图像识别:人脸识别、物体检测。
-
自然语言处理:机器翻译、聊天机器人、情感分析。
-
语音识别:将语音转为文字。
-
推荐系统:商品、视频推荐。
-
-
强化学习:
-
游戏:AlphaGo、AlphaStar、玩Atari游戏的智能体。
-
机器人控制:让机器人学会行走、抓取。
-
自动驾驶:车辆在复杂路况下的决策。
-
资源管理:数据中心冷却、电网调度。
-
金融交易:自动化交易策略。
-
迈出正确的第一步,从强化学习开始
为了设计出能够随着时间推移而扩展以应对越来越多实际应用场景的控制软件,我们将强化学习集成到了 Spot 的运动控制系统中。

Spot 的腿式移动能力使其能够在各种结构化和非结构化环境中实现先进的感知和操控。在客户手中,Spot 可以执行多层工厂巡检、在核电站退役过程中克服灰尘和碎屑的阻碍,以及在冰封的北极矿井中穿行,等等。Spot 机器人已在全球部署,累计行走里程超过 25 万公里,并且仍在以每三个月绕地球近一圈的速度昼夜不停地运行。
但Spot的行走控制系统究竟是如何工作的呢?波士顿动力公司以往研发的腿式机器人一直采用模型预测控制(MPC)技术。这种控制策略能够预测并优化机器人的未来状态,从而决定当下应该采取的行动。当控制器模型的行为与物理系统的行为相似,并且机器人的状态、环境和目标能够很好地转化为优化问题中的目标和约束条件时,这些策略就能发挥良好的作用。这些系统通常直观易用、易于调试,并且允许我们调整机器人的行为,以实现实用性和美观性兼具的目标。
然而,在实际环境中,有些情况难以观察和精确建模。例如,在某客户工厂进行例行检查时,Spot 机器人需要越过盛装液体的容器边缘。此时,机器人必须小心翼翼地越过障碍物,避免在可能湿滑或油腻的地面上绊倒或滑倒。类似的例子还有很多,真实环境的特殊布局和条件都会给机器人的控制系统带来压力。这就引出了一个问题:我们如何设计一种控制软件,使其能够随着时间的推移不断扩展,以应对越来越多的此类情况,同时又不降低在其他情况下的性能?
原地运动控制
腿式机器人的控制系统需要在多个时间尺度上做出决策。它们决定机器人应该走哪条路径,应该采用怎样的步态模式来沿着这条路径移动,以及如何快速调整姿态和步频以保持平衡。例如,在楼梯上精心安排步态顺序,可以让机器人平稳地移动,同时与楼梯边缘保持足够的安全距离,以便在遇到不稳定性时进行恢复。又比如,当机器人滑倒时,快速的步态恢复动作对于恢复稳定的运动状态至关重要。
Spot的生产控制器通过同时评估多个模型预测控制(MPC)控制器来实现这种多尺度决策。在不到一毫秒的时间内,Spot即可评估数十个独立的预测时域,每个时域都有其独特的步长轨迹参考,该参考同时考虑了机器人和环境状态(例如,地形粗糙度、障碍物的存在)。为了从众多解决方案中进行选择,我们开发了一个系统,该系统可以对每个控制器的输出进行“评分”,选择评分最高的控制器,并使用该控制器的输出来控制机器人。

这种方法实现了数百小时的平均跌落间隔时间,但它也存在一些缺点。首先,需要并行评估多个模型预测控制(MPC)实例会消耗大量的机载计算资源,从而耗费额外的时间和能源。其次,为了应对新的故障模式而修改选择函数可能并非易事,并且有可能在其他情况下无意中降低性能。为了解决这两个挑战,我们最近采用了一种称为强化学习的数据驱动型机器人控制设计方法。
用于运动的强化学习
传统的机器人控制器开发方法要求工程师仔细思考要解决的问题,设计详细的机器人解决方案(例如用 C++ 编写源代码),然后在机器人上运行编译后的代码来评估性能。这种方法的主要挑战在于,程序员必须提出解决问题的策略,而对于复杂问题(例如让机器人可靠地环游世界),这可能非常困难。
强化学习 (RL) 是一种机器人编程的替代方法,它通过在模拟器中进行反复试验来优化策略(即控制器或策略)。在这种方法中,策略不再以人类可读的源代码编写,而是实现在一个神经网络中,其参数由强化学习算法进行优化。这显著改变了控制器的编程过程,因为工程师只需能够模拟感兴趣的场景并定义一个待优化的性能目标(称为奖励函数)。当问题条件易于模拟但有效的策略难以描述时,这种方法具有优势。例如,下图展示了我们可以通过编程生成的模拟场景,这些场景涵盖了 Spot 机器人日常遇到的各种运动情况。

为了将强化学习应用于 Spot 的运动控制栈,我们按如下方式定义了策略的输入和输出:

这种架构方式有多重优势。首先,它使我们能够利用现有的基于模型的运动控制器来解决它擅长的部分问题,同时将学习重点放在策略中更难编程的部分。其次,它无需并行运行多个MPC实例,从而降低了生产控制器的计算复杂度。
我们通过在计算集群上运行超过一百万次模拟来训练策略,并利用这些模拟数据来更新策略参数。模拟环境是随机生成的,具有不同的物理属性(例如,楼梯尺寸、地形粗糙度、地面摩擦力),强化学习算法最大化的目标函数包含不同的项,这些项反映了机器人在不跌倒或碰撞环境部件的情况下执行导航指令的能力。这一过程的结果是,该策略在学习过程中经历的各种模拟环境中平均表现更佳,但我们如何知道该策略能否提升实际机器人的性能呢?
利用鲁棒性测试评估学习到的策略
我们多年前就认识到,为了确保机器人软件变更的可靠性,必须进行具有代表性的规模测试。为此,我们结合仿真和硬件测试,在软件交付给客户之前对其进行全面评估。我们将同样的流程应用于学习型运动策略的评估。
我们利用多个并行仿真,在难度递增的一系列场景中对机器人性能进行基准测试。例如,降低摩擦系数,以模拟机器人能够可靠通过的最滑环境。我们收集统计数据,验证学习到的策略在特定场景中提升了机器人性能,同时在数百个其他场景中保持了现有生产系统良好的性能。
一旦仿真结果符合我们的标准,我们就将该策略部署到我们内部的Spot机器人稳健性测试集群中。这些机器人每周7天、每天24小时不间断运行,累计运行时间超过2000小时,测试环境包括室内、室外、各种楼梯、地面材质以及模拟天气条件。我们利用系统在数字仪表盘上跟踪该集群的性能指标,并将日志上传供工程师审核。
为了增强我们根据收集的数据学习到的策略的稳健性,我们会重现物理模拟中可复现的跌倒和一般移动问题,并将这些情况纳入训练集或评估集。这样,重新训练策略就能有效地增强其对已出现故障模式的鲁棒性。
经过数千小时在各种配置和地形上的模拟和机器人实际运行测试,该策略已准备好部署到客户机器人上。
使用强化学习获得的结果
无论是在我们自己的可靠性测试车队还是客户的车队中,我们都看到了这些升级带来的益处。Spot 现在更不容易跌倒——即使在极其光滑或不平整的表面上也是如此。这种改进的行驶性能意味着客户可以更轻松地将 Spot 部署到原本难以到达的设施区域,并从可靠性的提高中获得其他后续效益。例如,降低跌倒的可能性也降低了操作员干预或因跌倒造成的损坏的可能性。
现有 Spot 用户将在最近一次软件更新后自动受益于此强化学习策略带来的性能提升。同时,我们也在持续收集数据并进行迭代,以进一步完善该策略并扩展其功能。
接下来是什么?
虽然结合模型预测控制器和学习策略的混合控制策略在扩展和增强机器人能力方面已被证明是有效的,但它在很大程度上将模型的局限性强加于整个控制系统。为了解锁全新的能力或在严重违反模型假设的场景中保持容错性,我们正在积极探索和测试完全不同的架构。

结合基于模型的控制器(该控制器不局限于步进控制器的周期性步态假设),学习到的策略能够使机器人爬上高度超过70厘米的箱子。
除了我们自身的研发项目之外,我们也十分乐意为更广泛的机器人研究社区提供支持。现实世界中的强化学习需要三个关键组件:具备关节级控制功能的机器人硬件、高性能人工智能计算机以及用于训练机器人的仿真器。在 NVIDIA GTC 大会上,我们与 NVIDIA 和人工智能研究院合作,发布了全新的 Spot 强化学习研究套件,将这些组件整合在一个软件包中。该套件包含关节级控制 API 的许可、基于NVIDIA Jetson AGX Orin 的有效载荷(用于部署强化学习策略)以及基于 NVIDIA Isaac Lab 的GPU 加速Spot 仿真环境。
这款全新的研究套件使开发者能够为 Spot 机器人创建高级技能。例如,我们的首家客户——人工智能研究所(AI Institute)——就利用这些工具为 Spot 开发了新的步态,使其行走速度远超标准版本。感兴趣的开发者可以联系我们,开始使用Spot RL 研究套件。
随着我们的机器人不断扩展到新的环境并执行更多类型的工作,我们预计机器学习将在我们机器人行为开发中发挥越来越重要的作用,我们将继续利用我们生成的流程、经验和独特数据,使我们的机器人走得更远,做得更多。
836

被折叠的 条评论
为什么被折叠?



