官方网站-首页

2025-06-12 18:31:22

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

【导语】多部件装配在各行各业中均扮演着关键角色,但机器人装配任务(wu)仍(réng)面(miàn)临(lín)诸(zhū)多(duō)挑(tiāo)战(zhàn)。传(chuán)统(tǒng)机(jī)器(qì)人(rén)装(zhuāng)配(pèi)系(xì)统(tǒng)受(shòu)限(xiàn)于(yú)固(gù)定(dìng)自(zì)动(dòng)化(huà)模(mó)式(shì),缺(quē)乏(fá)适(shì)应(yīng)性(xìng)和(hé)可(kě)扩(kuò)展(zhǎn)性(xìng)。未(wèi)来(lái),机(jī)器(qì)人(rén)装(zhuāng)配(pèi)将(jiāng)走(zǒu)向(xiàng)灵(líng)活(huó)自(zì)动(dòng)化(huà),结(jié)合(hé)机(jī)器(qì)人(rén)技(jì)术(shù)、仿(fǎng)真(zhēn)与(yǔ)AI有(yǒu)望(wàng)突(tū)破(pò)现(xiàn)有(yǒu)局(jú)限(xiàn)。本(běn)文将(jiāng)介(jiè)绍(shào)NVIDIA与(yǔ)优(yōu)傲(ào)机(jī)器(qì)人(rén)(UR)合(hé)作(zuò),在(zài)UR10e机(jī)器(qì)人(rén)上(shàng)实(shí)现(xiàn)齿(chǐ)轮(lún)装(zhuāng)配任务的零样本仿真到现实迁移,展示了Isaac Lab与Isaac ROS在工业机器人应用中的创新(xīn)成(chéng)果(guǒ)。

多(duō)部(bù)件(jiàn)装(zhuāng)配(pèi)在(zài)制(zhì)造(zào)、汽(qì)车(chē)、航(háng)空(kōng)航(háng)天(tiān)、电(diàn)子(zi)、医(yī)疗(liáo)设(shè)备(bèi)等(děng)绝(jué)大(dà)多(duō)数(shù)行(xíng)业(yè)中(zhōng)都(dōu)扮(ban)演(yǎn)着(zhe)关键角(jiǎo)色(sè)。虽(suī)然(rán)应(yīng)用(yòng)广(guǎng)泛,但是机器人装配仍是一项极具挑战性的任务。这类任务涉及复杂的交互,机器人必须通过持续的物理接触来操控物体,对精度和准确性有极高要求。当前的机器人装配系统长期受限于固定自动化模式。这些系统往往为特定任务量身打造,需要大量人工工程来完成设计与部署,因而限制了其适应性和可扩展性。

未来的机器人装配将走向灵活自动化。下一代机器人必须能快速适应新的零件、位姿和环境。将机器人技术与仿真AI 结合,将有助于突破当前的限制。多年来,NVIDIA 一直在这一领域持续开展研究,并与优傲机器人 (Universal Robots, UR) 展开合作,正在将这些研究创新成果转化为现实中的工业应用。

本文将展示在 UR10e 机器人上进行齿轮装配任务的零样本仿真到现实迁移。这一任务在NVIDIA Isaac Lab中设计并训练,并使用NVIDIA Isaac ROS和 UR10e 底层扭矩接口进行部署。我们希望所有开发者都能复现这项工作,使用 Isaac Lab 和 Isaac ROS 开发自己的仿真到现实应用。

Isaac Lab 是(shì)一个用于机器人学习的开源模块化训练框架。Isaac ROS 是基于开源框架 ROS 2 构建的一套加速计算软件包和 AI 模型,为全球 ROS 开发者带来 NVIDIA 的计算加速能力,并提供可直接使用的常见任务模块,如导航和感知等。

Isaac Lab 中接触密集型操作的仿真

Isaac Lab 让接触密集型仿真成为可能,它支持精确的物理仿真和大规模强化学习(RL,即“通过试错学习”),可在数千个并行环境中运行。而过去,这类复杂交互仿真在计算上难以处理和实现。

Isaac Lab 包含多个具有挑战性的工业级任务,如插入销钉、啮合齿轮、旋紧螺栓。它支持模仿学习(基于演示数据的模仿)和强化学习两种训练方法,适用于不同类型的机器人形态。

b3fd210e-42c7-11f0-b715-92fbcf53809c.gif

图 1. Isaac Lab 中(zhōng)的(de)接(jiē)触(chù)密集型仿真环境

强化学习是一种适用于装配问题的强大方法,因为它不需要人类演示,并且对感知、控制和夹具中的误差具有很强的鲁棒性。然而,“现实差距”(仿真与现实世界之间的差距)仍然是一个关键挑战。本文所展示的工作流基于 IndustReal 框架,有效地弥合了这一差距。IndustReal 是使机器人能够通过强化学习在仿真中学习装配任务,并将其迁移到真实世界的一套算法和系统工具包。

在 Isaac Lab 中训练齿轮装配任务(wu)

齿(chǐ)轮(lún)装(zhuāng)配(pèi)任(rèn)务(wu)包(bāo)括(kuò)识(shi)别、抓取、搬运并将多个齿轮插入对应的轴上。图 2 展示了任务从初始状态到一个齿轮插入完成的过程。整个过程依赖三项核心技能:抓取、自由空间运动、插入。

b449b55a-42c7-11f0-b715-92fbcf53809c.png

图 2. 在 UR10e 机器人上齿轮装配任务的抓取、运输和插入技能

抓取生成使用现成的抓取规划器来获取零件的可行抓取位姿,运动与插入动作则使用强化学习策略进行训练。尽管机械臂的运动生成技术已较为成熟,可通过经典轨迹规划器实现,但训练基于强化学习的运动生成策略,能在应对更具挑战性的插入任务前,为策略学习框架提供有效的校准与调试步骤。

图 3 展示了基于Isaac Sim与 Isaac Lab 进行运动生成和插入任务的策略学习流程。仿真环境由 Isaac Sim 提供的资产与场景配置构成,训练环境由 Isaac Lab 提供。这两项任务的策略均依赖于在 Isaac Lab 中实现的底层阻抗控制器

b45a0fd6-42c7-11f0-b715-92fbcf53809c.j

图 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 完成(chéng)训(xun)练。

训练结果

图 4 展示了 UR10e 机器人执行训练策略的效果,左侧为运动生成环节,右侧为插入环节。

b46c64a6-42c7-11f0-b715-92fbcf53809c.gif

b4affed2-42c7-11f0-b715-92fbcf53809c.gif

图 4. UR10e 机器人在 Isaac Lab 仿真中测试训练策略:运动生成(左)与插入(右)

图 5 展示了所学技能的组合应用。通过重复调用抓取规划器及两项训练技能,机器人能够完成随机摆放的三个齿轮的装配。策略对齿轮的初始位姿与装配顺序均具有鲁棒性。

b4f40ef6-42c7-11f0-b715-92fbcf53809c.gif

b56ae850-42c7-11f0-b715-92fbcf53809c.gif

图 5. 训练后的强化学习策略按顺序循环执行多步装配:移动至齿轮 1→抓取→插入→移动至齿轮 2→抓取→插入,依此类推

支持仿真-现实迁移的UR 扭矩控制接口

本研究采用阻抗控制技术,使机器人在与物体接触时实现更安全、顺应性更高(gāo)(软(ruǎn)性(xìng))的(de)交(jiāo)互(hù)。相(xiāng)比(bǐ)之(zhī)下(xià),尽(jǐn)管(guǎn)位(wèi)置(zhì)控(kòng)制(zhì)器(qì)精(jīng)度(dù)高(gāo),但(dàn)其(qí)刚(gāng)性(xìng)特(tè)性(xìng)可(kě)能(néng)因(yīn)感(gǎn)知(zhī)误(wù)差(chà)或(huò)现(xiàn)实(shí)对(duì)准(zhǔn)问(wèn)题(tí)限(xiàn)制(zhì)适(shì)应(yīng)性(xìng),甚(shén)至(zhì)导(dǎo)致(zhì)意(yì)外(wài)冲(chōng)击(jī)力(lì)。阻(zǔ)抗(kàng)控(kòng)制(zhì)则(zé)提(tí)供(gōng)了(le)更(gèng)灵(líng)活(huó)的(de)解(jiě)决(jué)方(fāng)案(àn)。

与(yǔ)工(gōng)业(yè)机(jī)器(qì)人(rén)常(cháng)见(jiàn)的(de)刚(gāng)性(xìng)位置控制器不同,阻抗控制需要直接扭矩命令,这在传统工业机器人中并不常见。UR 目前已提供早期访问版本,开发者可以使用其直接力矩控制接口,从而实现上述控制策略。

NVIDIA 团队与 UR 合作,基于 Isaac Lab 和《IndustReal:将(jiāng)接(jiē)触(chù)密(mì)集型(xíng)装(zhuāng)配(pèi)任(rèn)务(wu)从(cóng)仿(fǎng)真(zhēn)迁(qiān)移(yí)至(zhì)现(xiàn)实(shí)》论(lùn)文中(zhōng)的(de)方(fāng)法(fǎ)训(xun)练(liàn)策(cè)略(è),通(tōng)过(guò) Isaac ROS 和(hé) UR 扭矩接口在 UR10e 机器人上部署。过程中使用了 Isaac ROS 的 Segment Anything 和 FoundationPose 软件包。

基于 Isaac ROS 与 UR 扭矩接口UR10e 仿真-现实迁移

图 6 展示了从 Isaac Lab 部署训练策略的仿真-现实迁移框架。感知模块首先将 RGB 图像送入 Segment Anything,生成分割掩码。掩码与深度图像结合后输入 FoundationPose,输出齿轮的 6D 位姿。

b5971f7e-42c7-11f0-b715-92fbcf53809c.png

图 6. UR10e 机器人仿真-现实迁移工作流

然后,将齿轮位姿与来自 UR 关节编码器的位置数据一并输入策略,预测关节位置增量。增量值转换为绝对目标关节位置后,作为阻抗控制器的输入。自定义底层阻抗控制器采用 URScript 编写,以 500 Hz 频率运行,计算控制 UR 机器人执行任务所需的关节扭矩。

开始开发

本文展示了在 UR10e 机器人上实现齿轮装配任务的零样本仿真到现实迁移——整个任务在 Isaac Lab 中完成设计与训练,并通过 Isaac ROS 和 UR10e 底层扭矩接口实现部署。

  • 您的称呼*
  • 电子邮件*
  • 手机号码*
  • 公司名称