什么是机器人学习?

机器人学习是算法和方法的集合,帮助机器人学习新技能,如在模拟或现实世界环境中操控、运动和分类。

机器人学习是如何工作的?

机器人学习是机器人训练过程的重要组成部分。由于训练机器人可能耗费大量时间和资源,因此可以通过在物理 AI 的仿真环境中进行训练来补充物理训练。在仿真环境中应用机器人学习技术可以加快训练并实现可扩展性,因为许多机器人可以同时学习和训练。在仿真中,操作员还可以轻松地为机器人的每个场景添加方差和噪声,从而为其提供更多的经验和学习材料。

有几种学习方法可用于在物理和仿真环境中教授机器人新技能。 

  1. 强化学习:在强化学习中,机器人利用神经网络技术在奖励函数的指导下通过迭代试错进行学习。该函数根据机器人的动作提供奖励或惩罚,帮助它确定最佳的下一步。通过与环境的互动,机器人可以了解哪些行为会得到奖励并相应地更新其模型。强化学习在仿真环境中最有用,在这种环境中,机器人可以安全地探索和学习各种场景,而不会导致现实世界中的不良后果。

    机器人系统中强化学习过程的工作流程遵循以下基本步骤: 

    • 设置训练环境:这是一个定义任务的环境,可以在仿真或现实世界中。记录观察结果并创建一个数学函数,用于计算代理(在本例中为机器人)采取的每个动作的奖励或惩罚。记录的观察结果被放入策略网络中,该网络选择代理要采取的动作。观察结果和奖励都会存储起来以供以后在训练周期中使用。
    • 训练:该动作被发送回模拟器,以便环境的其余部分可以进行响应更新。经过几轮这样的前向传递之后,强化学习模型会回顾一下,评估它选择的动作是否有效。此信息用于更新策略网络,然后使用改进的模型重新开始循环。
    • 部署:经过训练并成功完成其动作后,AI 模型可以部署到现实世界的机器人中。这种转移的成功取决于几个因素,包括虚拟环境和现实环境之间的差距、学习任务的难度以及机器人平台本身的复杂性。
  2. 模仿学习:在模仿学习中,机器人观察并复制专家的演示——人类的真实视频或模拟数据。模仿学习使用标记的数据集,有利于教机器人难以通过编程定义的复杂动作。它对于设计为与人类一起运作和协作的人形机器人特别有用。虽然录制演示视频可能比指定奖励策略更简单——就像在强化学习中一样——但创建一个完美的演示可能具有挑战性,机器人可能会在不可预见的情况下遇到困难。

    模仿学习的关键步骤包括: 

    • 创建演示:专家演示一个任务并进行录制。
    • 策略训练:机器人通常通过两种方法学习模仿专家行为:
      • 行为克隆:算法映射环境和采取的行动之间的关系,然后模仿这些关系。
      • 逆强化学习:算法推断专家正在优化的底层奖励函数并学习相应的策略。
    • 策略提取:训练后,模型创建用于决策的策略。
    • 评估:在目标环境中测试训练好的模型,并将性能与专家的演示进行比较。如有必要,将收集更多数据来调整模型,并重复该过程。
    • 部署:一旦学习到的策略成功执行,就可以将模型部署到预期的应用程序中。  

  3. 扩散策略:扩散模型是一种生成模型,它学习逆转逐渐噪声化的过程以生成新的数据样本。机器人扩散策略是一种使用扩散模型来创建和优化机器人动作以获得期望结果的方法,特别是在复杂的高维动作空间中。 
  4. 该过程涉及在成功的机器人轨迹上训练模型,使其能够从嘈杂的初始状态映射到一系列实现目标的动作。在运行过程中,模型通过在学习到的梯度场的指导下迭代细化噪声状态来生成新的动作序列,从而生成连贯的、以目标为导向的行为。该方法适用于多步骤机器人任务,提供稳健且适应性强的机器人行为和处理各种动作分布模式时的训练稳定性。

机器人学习有什么好处?

传统上,机器人是使用预编程方法来训练的。这些方法在预定义的环境中取得了成功,但在应对新的干扰或变化时会遇到困难,并且缺乏动态现实世界应用所需的稳健性。

使用仿真技术、合成数据和高性能 GPU 显著增强了实时机器人策略训练。它还提供了一种经济高效的机器人训练方法,避免了因前期损坏真实机器人及其环境而产生的硬件成本,同时高效地并行运行多种算法。

通过在训练期间添加噪音和干扰,智能机器人可以学会对意外事件做出良好的反应。这一进步对机器人的运动规划、移动和控制特别有益。通过改进的运动规划,机器人可以更好地在动态环境中导航,实时调整路径以避开障碍物并优化效率。更好的机器人控制系统使机器人能够微调其动作和响应,即使面对意外的变化或干扰也能确保精确稳定的操作。

这些发展使机器人的适应性更强、用途更广泛,并且总体上更有能力应对现实世界的复杂性。

机器人学习在不同行业中发挥什么作用?

制造业
机器人可以通过观察人类工人或通过反复试验来学习执行复杂的装配任务,从而实现复杂制造和装配过程的自动化。强化学习算法可帮助机器人改进其动作,以在焊接、喷漆和零部件组装等任务中实现更高的精度和效率。它们还可以学会适应制造过程中的变化,例如原材料的变化或产品规格的变化。这种适应性对于在动态环境中保持高质量生产至关重要。

零售
在零售环境中,配备计算机视觉模型的自主机器人可以学习如何在商店过道中导航、卸货和卸载库存,甚至将它们重新放到商店中的正确位置。机器人通过强化学习来学习做到这一点,成功完成任务会得到奖励,未完成任务则会受到惩罚。通过模仿学习,机器人可以模仿人类员工执行这些任务的方式,从而进一步完善技能。 

医疗保健
在医疗保健领域,机器人学习可用于教机器人进行专门的操作,例如抓取针头等小物体并精确地将它们从一个地方传递到另一个地方。这可以增强手术团队的微创手术技能,同时减少外科医生的认知负荷。机器人学习还可用于训练机器人完成患者康复任务,例如协助进行物理治疗练习并适应每个患者的独特需求。

如何开始机器人学习?

机器人需要具有适应性,能够随时学习新技能并适应周围环境。 NVIDIA Isaac™ Lab 是一个基于开源模拟的模块化机器人学习框架,它建立在 NVIDIA Isaac Sim™ 之上。其模块化功能具有可定制的环境、传感器和训练场景,以及强化学习和模仿学习等技术,可让您教任何机器人化身从快速演示中学习。 

Isaac Lab 与  MuJoCo 兼容 MuJoCo 是一种开源物理引擎,可促进机器人技术、生物力学、图形和动画等领域的研究和开发。MuJoCo 的易用性和轻量级设计允许快速原型设计和部署策略。当您想要创建更复杂的场景、使用 GPU 扩展大规模并行环境以及使用 NVIDIA RTX™ 渲染进行高保真传感器仿真时,Isaac Lab 可以对其进行补充。 

如果您是现有的 NVIDIA Isaac Gym 用户,我们建议您迁移到 Isaac Lab,以确保您能够获得机器人学习方面的最新进展和强大的开发环境,从而加速您的机器人训练工作。Isaac Lab 是根据 BSD-3 许可证开源的,您现在可以在 GitHub上试用。

下一步

释放机器人学习潜力

了解开源 NVIDIA Isaac Lab 用于 GPU 加速的机器人学习。

使用 NVIDIA Isaac Lab 在仿真环境中快速跟踪机器人学习

通过在仿真中教授机器人新技能,创建强大、高效且有能力的机器人系统。

利用强化学习赋能机器人本体

探索实施机器人强化学习的技术细节