NVIDIA Isaac Lab 推进四足机器人运动训练 - Blockchain.News

NVIDIA Isaac Lab 推进四足机器人运动训练

realtime news Jun 18, 2024 05:56

NVIDIA Isaac Lab 使用深度强化学习填补了训练四足机器人(如Spot)在模拟与现实之间的差距,增强了实际部署能力。

NVIDIA Isaac Lab 推进四足机器人运动训练

由于涉及复杂的动态特性,开发四足机器人的有效运动策略在机器人技术中带来了显著的挑战。在现实世界中训练四足机器人上下楼梯可能会损坏设备和环境。因此,据NVIDIA技术博客称,模拟器在学习过程中在安全性和时间约束方面起着关键作用。

利用深度强化学习

在模拟环境中利用深度强化学习(RL)训练机器人可以更有效和安全地执行复杂任务。然而,这种方法引入了一个新挑战:如何确保在模拟中训练的策略能够无缝地转移到现实世界中。换句话说,如何缩小模拟到现实(sim-to-real)的差距?

要缩小sim-to-real的差距,需要一个高保真、基于物理的模拟器进行训练,一个高性能的AI计算机如NVIDIA Jetson,以及具有关节级控制的机器人。由Boston Dynamics、NVIDIA和The AI Institute合作开发的强化学习研究工具包将这些能力结合在一起,以实现四足机器人从虚拟到现实世界的无缝部署。

Isaac Lab: 缩小模拟到现实的差距

Isaac Lab是建立在NVIDIA Isaac Sim平台上的轻量级参考应用程序,专门优化用于大规模机器人学习。它利用基于GPU的并行化进行大规模并行的基于物理的模拟,以提高最终策略的性能并减少RL在机器人技术中的训练时间。凭借其高保真物理和领域随机化能力,Isaac Lab缩小了模拟到现实的差距,实现了训练模型零拍部署到物理机器人上。

本文解释了如何在Isaac Sim和Isaac Lab中为Spot创建运动RL策略,并使用RL研究工具包中的组件将其部署到硬件上。

在Isaac Lab中训练四足机器人运动

目标

训练Spot机器人在平坦地形上行走时跟踪目标x、y和偏航基速。

观察和动作空间

在每次重置时,目标速度会随机化,并与其他观察结果一起提供。动作空间仅包括12个自由度的关节位置,这些位置作为参考关节位置传递给低级关节控制器。

领域随机化

在关键训练阶段,各种参数将被随机化。这些随机化有助于模型确保在实际部署中的鲁棒性。这个过程称为领域随机化。

网络架构和RL算法细节

运动策略被结构化为一个拥有三层的多层感知机(MLP),包含[512, 256, 128]个神经元,并使用专门为GPU计算优化的Proximal Policy Optimization (PPO)算法从RSL-rl进行训练。

在Jetson Orin上部署训练的RL策略到Spot

将模拟中训练的模型部署到实际应用中面对多个挑战,包括实时控制、安全约束及其他现实条件。Isaac Lab的精确物理和领域随机化功能使其能够在无需调整的情况下将模拟中训练的策略部署到Jetson Orin上的实际Spot机器人,实现在虚拟和现实世界中取得类似的性能。

将训练好的模型转移到Spot机器人需要将模型部署到边缘并低延迟、高频率控制机器人。NVIDIA Jetson AGX Orin的高性能计算能力和低延迟AI处理确保了快速推理和响应时间,这对实际机器人应用至关重要。模拟策略可以直接部署用于推理,从而简化部署过程。

Jetson Orin上的硬件和网络设置

  • 在Ubuntu 22.04的外部PC上安装SDK Manager。
  • 使用SDK Manager刷新Jetson Orin,并按照说明进行设置。
  • 将Jetson Orin连接到显示端口、键盘和鼠标。
  • 登录Jetson Orin并手动设置以太网端口的有线网络配置。

在Jetson上的软件设置

首先,将模拟训练的策略从.pt转换为.onnx并导出环境配置。这在用于训练的PC上完成。

在训练PC上,创建一个文件夹并将env.yaml文件和.onnx文件复制到该文件夹。然后,使用SSH将文件夹复制到Jetson Orin上。确保PC和Jetson在同一网络上。

接下来,从主目录在Orin的终端上运行以下命令:

mkdir spot-rl-deployment && cd spot-rl-deployment && mkdir models
 git clone https://github.com/boston-dynamics/spot-rl-example.git
 cd spot-rl-example && mkdir external && cd external && mkdir spot_python_sdk

下载带有关节级API的Spot Python SDK并将内容解压到spot_python_sdk文件夹中。安装部署代码依赖并将env.yaml文件转换为env_cfg.json文件。

运行策略

启动Spot并确保Jetson Orin已启动。在Spot平板控制器上打开Spot应用程序并释放控制以运行策略。将PC连接到Spot本地Wi-Fi并通过SSH连接到Orin。使用bluetoothctl将无线游戏手柄连接到Orin,然后运行RL策略。

视频2显示经过模拟训练后的现实世界中运行的Spot机器人。

Spot RL研究工具包中提供的代码库是一个在模拟中创建自定义RL任务并将其部署到硬件的起点。有关如何使用Isaac Lab为特定任务训练策略的详细指南,请参阅文档。在其他机器人上部署训练好的策略特定于机器人架构;然而,如果需要额外的观察数据,Spot用户可以修改当前的部署代码以适应他们的应用。

获取您的强化学习研究工具包和Spot机器人,开始开发您的自定义应用程序。了解更多关于基于Isaac Sim的Isaac Lab的信息。

在LinkedIn、Instagram、X和Facebook上保持关注。探索NVIDIA文档和YouTube频道,并加入NVIDIA开发者机器人论坛。通过自定进度培训和关于Isaac ROS和Isaac Sim的网络研讨会了解更多信息。

Image source: Shutterstock