多部件装配在制造、汽车、航空航天、电子、医疗设备等绝大多数行业中都扮演着关键角色。虽然应用广泛,但是机器人装配仍是一项极具挑战性的任务。这类任务涉及复杂的交互,机器人必须通过持续的物理接触来操控物体,对精度和准确性有极高要求。当前的机器人装配系统长期受限于固定自动化模式。这些系统往往为特定任务量身打造,需要大量人工工程来完成设计与部署,因而限制了其适应性和可扩展性。
未来的机器人装配将走向灵活自动化。下一代机器人必须能快速适应新的零件、位姿和环境。将机器人技术与仿真和 AI 结合,将有助于突破当前的限制。多年来,NVIDIA 一直在这一领域持续开展研究,并与优傲机器人 (Universal Robots, UR) 展开合作,正在将这些研究创新成果转化为现实中的工业应用。
本文将展示在 UR10e 机器人上进行齿轮装配任务的零样本仿真到现实迁移。这一任务在NVIDIA Isaac Lab中设计并训练,并使用NVIDIA Isaac ROS和 UR10e 底层扭矩接口进行部署。我们希望所有开发者都能复现这项工作,使用 Isaac Lab 和 Isaac ROS 开发自己的仿真到现实应用。
Isaac Lab 是一个用于机器人学习的开源模块化训练框架。Isaac ROS 是基于开源框架 ROS 2 构建的一套加速计算软件包和 AI 模型,为全球 ROS 开发者带来 NVIDIA 的计算加速能力,并提供可直接使用的常见任务模块,如导航和感知等。
Isaac Lab 中接触密集型操作的仿真
Isaac Lab 让接触密集型仿真成为可能,它支持精确的物理仿真和大规模强化学习(RL,即“通过试错学习”),可在数千个并行环境中运行。而过去,这类复杂交互仿真在计算上难以处理和实现。
Isaac Lab 包含多个具有挑战性的工业级任务,如插入销钉、啮合齿轮、旋紧螺栓。它支持模仿学习(基于演示数据的模仿)和强化学习两种训练方法,适用于不同类型的机器人形态。

图 1. Isaac Lab 中的接触密集型仿真环境
强化学习是一种适用于装配问题的强大方法,因为它不需要人类演示,并且对感知、控制和夹具中的误差具有很强的鲁棒性。然而,“现实差距”(仿真与现实世界之间的差距)仍然是一个关键挑战。本文所展示的工作流基于 IndustReal 框架,有效地弥合了这一差距。IndustReal 是使机器人能够通过强化学习在仿真中学习装配任务,并将其迁移到真实世界的一套算法和系统工具包。
在 Isaac Lab 中训练齿轮装配任务
齿轮装配任务包括识别、抓取、搬运并将多个齿轮插入对应的轴上。图 2 展示了任务从初始状态到一个齿轮插入完成的过程。整个过程依赖三项核心技能:抓取、自由空间运动、插入。

图 2. 在 UR10e 机器人上齿轮装配任务的抓取、运输和插入技能
抓取生成使用现成的抓取规划器来获取零件的可行抓取位姿,运动与插入动作则使用强化学习策略进行训练。尽管机械臂的运动生成技术已较为成熟,可通过经典轨迹规划器实现,但训练基于强化学习的运动生成策略,能在应对更具挑战性的插入任务前,为策略学习框架提供有效的校准与调试步骤。
图 3 展示了基于Isaac Sim与 Isaac Lab 进行运动生成和插入任务的策略学习流程。仿真环境由 Isaac Sim 提供的资产与场景配置构成,训练环境由 Isaac Lab 提供。这两项任务的策略均依赖于在 Isaac Lab 中实现的底层阻抗控制器。

图 3. 使用 Isaac Sim 和 Isaac Lab 进行运动生成和插入任务的策略学习流程
如图 3 所示,运动生成和插入技能分别被构建为独立的强化学习问题。
运动生成:目标是让机器人从指定工作空间内的随机初始关节角度出发,将末端执行器移动到指定目标位姿(例如抓取位姿)。观测数据包括机器人的关节位置和目标末端执行器位姿,动作空间则由关节位置目标构成。奖励函数会最小化末端执行器与目标之间的距离,同时对机器人的突然或剧烈动作进行惩罚。
插入任务:齿轮初始位于机器人夹具中,处于目标轴附近的随机采样位姿。任务目标是将齿轮移动到轴的底部。观测数据包括机器人的关节位置和目标轴位姿,动作空间同样由关节位置目标构成。奖励函数会最小化齿轮与目标位置之间的距离,并同样对突然或剧烈动作进行惩罚。
这两项技能的关节位置目标均以 60Hz 的频率生成,由底层阻抗控制器执行。
智能体在多种随机配置下进行训练,包括不同的初始机械臂位姿、夹具中齿轮的位姿、齿轮尺寸以及任务整体阶段(例如尚未插入任何齿轮或已插入部分齿轮)。为实现仿真到现实的迁移,还对机器人动力学参数(关节摩擦和阻尼)、控制器增益以及策略观测噪声均应用了域随机化。训练在并行环境中进行,使智能体能够获得多样化且有价值的经验,这对有效学习任务至关重要。
神经网络架构与强化学习算法
每个策略均采用含 256 个单元的长短期记忆 (LSTM) 网络结构,其后连接三层多层感知器 (MLP),分别含 256、128 和 64 个神经元。训练使用 rl-games 库中的近端策略优化 (PPO) 算法,在 Isaac Sim 4.5 与 Isaac Lab 2.1 环境中,基于 NVIDIA GPU 完成训练。
训练结果
图 4 展示了 UR10e 机器人执行训练策略的效果,左侧为运动生成环节,右侧为插入环节。


图 4. UR10e 机器人在 Isaac Lab 仿真中测试训练策略:运动生成(左)与插入(右)
图 5 展示了所学技能的组合应用。通过重复调用抓取规划器及两项训练技能,机器人能够完成随机摆放的三个齿轮的装配。策略对齿轮的初始位姿与装配顺序均具有鲁棒性。


图 5. 训练后的强化学习策略按顺序循环执行多步装配:移动至齿轮 1→抓取→插入→移动至齿轮 2→抓取→插入,依此类推
支持仿真-现实迁移的UR 扭矩控制接口
本研究采用阻抗控制技术,使机器人在与物体接触时实现更安全、顺应性更高(软性)的交互。相比之下,尽管位置控制器精度高,但其刚性特性可能因感知误差或现实对准问题限制适应性,甚至导致意外冲击力。阻抗控制则提供了更灵活的解决方案。
与工业机器人常见的刚性位置控制器不同,阻抗控制需要直接扭矩命令,这在传统工业机器人中并不常见。UR 目前已提供早期访问版本,开发者可以使用其直接力矩控制接口,从而实现上述控制策略。
NVIDIA 团队与 UR 合作,基于 Isaac Lab 和《IndustReal:将接触密集型装配任务从仿真迁移至现实》论文中的方法训练策略,通过 Isaac ROS 和 UR 扭矩接口在 UR10e 机器人上部署。过程中使用了 Isaac ROS 的 Segment Anything 和 FoundationPose 软件包。
基于 Isaac ROS 与 UR 扭矩接口的UR10e 仿真-现实迁移
图 6 展示了从 Isaac Lab 部署训练策略的仿真-现实迁移框架。感知模块首先将 RGB 图像送入 Segment Anything,生成分割掩码。掩码与深度图像结合后输入 FoundationPose,输出齿轮的 6D 位姿。

图 6. UR10e 机器人仿真-现实迁移工作流
然后,将齿轮位姿与来自 UR 关节编码器的位置数据一并输入策略,预测关节位置增量。增量值转换为绝对目标关节位置后,作为阻抗控制器的输入。自定义底层阻抗控制器采用 URScript 编写,以 500 Hz 频率运行,计算控制 UR 机器人执行任务所需的关节扭矩。
开始开发
本文展示了在 UR10e 机器人上实现齿轮装配任务的零样本仿真到现实迁移——整个任务在 Isaac Lab 中完成设计与训练,并通过 Isaac ROS 和 UR10e 底层扭矩接口实现部署。
-
机器人
+关注
关注
213文章
30580浏览量
219548 -
仿真
+关注
关注
53文章
4406浏览量
137670 -
AI
+关注
关注
89文章
38090浏览量
296546 -
工业机器人
+关注
关注
91文章
3507浏览量
97306
原文标题:利用 NVIDIA Isaac Lab 缩小工业机器人装配应用中“仿真到现实”的差距
文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
NVIDIA Isaac Lab可用环境与强化学习脚本使用指南
NVIDIA AI机器人开发— NVIDIA Isaac Sim入门
NVIDIA 公开课 | AI 机器人开发第二讲 — Isaac Sim 高阶开发
CES | 用 NVIDIA Isaac Sim 2022.2 模拟未来智能机器人
使用 NVIDIA Isaac 仿真并定位 Husky 机器人
利用NVIDIA Isaac平台构建、设计并部署机器人应用
坚米智能借助NVIDIA Isaac Lab加速四足机器人开发
NVIDIA Isaac Sim与NVIDIA Isaac Lab的更新
NVIDIA Isaac Sim和Isaac Lab现已推出早期开发者预览版
NVIDIA 利用全新开源模型与仿真库加速机器人研发进程

利用NVIDIA Isaac Lab训练工业机器人齿轮装配任务
评论