-官方认证诚信至上 | 工业机器人及工控系统领军企业-官方认证诚信至上 | 工业机器人及工控系统领军企业

NEWS

新闻资讯

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


【导语】多部件装配在各行各业中均扮演着关键角色,但机器人装配任务仍面临诸多挑战。传统机器人装配系统受限于固定自动化模式,缺乏适应性和可扩展性。未来,机器人装配将走向灵活自动化,结合机器人技术、仿真与AI有望突破现有局限。本文将介绍NVIDIA与优傲机器人(UR)合作,在UR10e机器人上实现齿轮装配任务的零样本仿真到现实迁移,展示了Isaac Lab与Isaac ROS在工业机器人应用中的创新成果。

多部件装配在制造、汽车、航空航天、电子、医疗设备等绝大多数行业中都扮演着关键角色。虽然应用广泛,但是机器人装配仍是一项极具挑战性的任务。这类任务涉及复杂的交互,机器人必须通过持续的物理接触来操控物体,对精度和准确性有极高要求。当前的机器人装配系统长期受限于固定自动化模式。这些系统往往为特定任务量身打造,需要大量人工工程来完成设计与部署,因而限制了其适应性和可扩展性。

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

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

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

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

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

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

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

图 1. Isaac Lab 中的接触密集型仿真环境

强化学习是一种适用于装配问题的强大方法,因为它不需要人类演示,并且对感知、控制和夹具中的误差具有很强的鲁棒性。然而,“现实差距”(仿真与现实世界之间的差距)仍然是一个关键挑战。本文所展示的工作流基于 IndustReal 框架,有效地弥合了这一(yī)差(chà)距(jù)。IndustReal 是(shì)使(shǐ)机(jī)器(qì)人(rén)能(néng)够(gòu)通(tōng)过(guò)强(qiáng)化(huà)学(xué)习(xí)在(zài)仿(fǎng)真(zhēn)中(zhōng)学(xué)习(xí)装(zhuāng)配(pèi)任(rèn)务(wu),并(bìng)将(jiāng)其(qí)迁(qiān)移(yí)到(dào)真(zhēn)实(shí)世(shì)界(jiè)的(de)一(yī)套(tào)算(suàn)法(fǎ)和(hé)系(xì)统(tǒng)工(gōng)具(jù)包(bāo)。

在(zài) Isaac Lab 中(zhōng)训(xun)练(liàn)齿(chǐ)轮装配任务

齿轮装配任务包括识别、抓取、搬运并将多个齿轮插入对应的轴上。图 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.jpg

图 3. 使用 Isaac Sim 和 Isaac Lab 进行运动生成和插入任务的策略学习流程

如图 3 所示,运动生成和插入技能分别被构建为独立的强化学习问题。

运动生成:目标是让机器人从指定工作空间内的随机初始关节角度出发,将末端执行器移动到指定目标位姿(例如抓取位姿)。观测数据包括机器人的关节位置和目标末端执行器位姿,动作空间则由关节位置目标构成。奖励函数会最小化末端执行器与目标之间的距离,同时对机器人的突然或剧烈动作进行惩罚。

插入任务:齿轮初始位于机器(qì)人(rén)夹(jiā)具(jù)中(zhōng),处(chù)于(yú)目(mù)标(biāo)轴(zhóu)附(fù)近(jìn)的(de)随(suí)机(jī)采样(yàng)位(wèi)姿(zī)。任(rèn)务(wu)目(mù)标(biāo)是(shì)将(jiāng)齿(chǐ)轮(lún)移(yí)动(dòng)到(dào)轴(zhóu)的(de)底(dǐ)部(bù)。观(guān)测(cè)数(shù)据(jù)包(bāo)括(kuò)机(jī)器(qì)人(rén)的(de)关节(jié)位(wèi)置(zhì)和(hé)目(mù)标(biāo)轴(zhóu)位(wèi)姿(zī),动(dòng)作(zuò)空(kōng)间(jiān)同(tóng)样(yàng)由(yóu)关节(jié)位(wèi)置(zhì)目(mù)标(biāo)构(gòu)成(chéng)。奖(jiǎng)励(lì)函(hán)数(shù)会(huì)最(zuì)小(xiǎo)化(huà)齿(chǐ)轮(lún)与(yǔ)目(mù)标(biāo)位(wèi)置(zhì)之(zhī)间(jiān)的(de)距(jù)离(lí),并(bìng)同(tóng)样(yàng)对(duì)突(tū)然(rán)或(huò)剧(jù)烈(liè)动(dòng)作(zuò)进(jìn)行(xíng)惩(chéng)罚(fá)。

这(zhè)两(liǎng)项(xiàng)技(jì)能(néng)的(de)关节(jié)位(wèi)置(zhì)目(mù)标(biāo)均(jūn)以(yǐ) 60Hz 的(de)频(pín)率(lǜ)生(shēng)成(chéng),由(yóu)底(dǐ)层(céng)阻(zǔ)抗(kàng)控(kòng)制(zhì)器(qì)执(zhí)行(xíng)。

智(zhì)能(néng)体(tǐ)在(zài)多(duō)种(zhǒng)随(suí)机(jī)配(pèi)置(zhì)下(xià)进(jìn)行(xíng)训(xun)练(liàn),包(bāo)括(kuò)不(bù)同(tóng)的(de)初(chū)始(shǐ)机(jī)械(xiè)臂(bì)位(wèi)姿(zī)、夹(jiā)具(jù)中(zhōng)齿(chǐ)轮(lún)的(de)位(wèi)姿(zī)、齿(chǐ)轮(lún)尺(chǐ)寸(cùn)以(yǐ)及(jí)任(rèn)务(wu)整(zhěng)体(tǐ)阶(jiē)段(duàn)(例(lì)如尚未插入任何齿轮或已插入部分齿轮)。为实现仿真到现实的迁移,还对机器人动力学参数(关节(jié)摩(mó)擦(cā)和阻尼)、控制器增益以及策略观测噪声均应用了域随机化。训练在并行环境中进行,使智能体能够获得多样化且有价值的经验,这对有效学习任务至关重要。

神经网络架构与强化学习算法

每个策略均采用含 256 个单元的长短期记忆 (LSTM) 网络结构,其后连接三层多层感知器 (MLP),分别含 256、128 和 64 个神经元。训练使用 rl-games 库中的近端策略优化 (PPO) 算法,在 Isaac Sim 4.5 与 Isaac Lab 2.1 环境中,基于 NVIDIA GPU 完成训练。

训练结果

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

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

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

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

图 5 展示了所学技能的组合应用。通过重复调用抓取规划器及(jí)两(liǎng)项(xiàng)训(xun)练(liàn)技(jì)能(néng),机(jī)器(qì)人(rén)能(néng)够(gòu)完(wán)成(chéng)随(suí)机(jī)摆(bǎi)放(fàng)的(de)三(sān)个(gè)齿(chǐ)轮的装配。策略对齿轮的初始位姿与装配顺序均具有鲁棒性。

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

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

图 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 位姿。

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

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

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

开始开发

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