0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用 NVIDIA Isaac Sim、ROS 和 Nimbus 开发多机器人环境

NVIDIA英伟达 来源:未知 2023-06-07 08:45 次阅读

f0c24cbe-04ca-11ee-90ce-dac502259ad0.png

随着现实场景中部署的自主机器人越来越多,对高保真多机器人仿真环境的需求也在迅速增长。本文将回顾笔者过去在 Cogniteam 使用的仿真多机器人的方法、目前使用NVIDIA Isaac Sim所取得的进步,以及 Nimbus 如何通过 Isaac Sim 加速多机器人仿真的开发和维护。

使用 Unreal Tournament

游戏引擎进行多机器人仿真

大约 20 年前,我和 Cogniteam 的朋友们开始进行机器人开发。大家想要构建一个用于多机器人任务分配和团队工作的机器人框架。该系统最初被命名为 CogniTAO,后来又发布了简化版本 ROS decision_making。

当时,多机器人的用例还很少,而且也无法对这些机器人进行 3D 仿真。所以我为 Unreal Tournament 2000-2004 游戏引擎写了一个可以仿真四个机器人的 mod。我们这支由四名程序员组成的小团队花了大约 3 年时间,开发出一个可以顺利运行 15 分钟的仿真环境。

f11b3f0e-04ca-11ee-90ce-dac502259ad0.png

图 1. 四个机器人的仿真(左)

以及这些机器人的视频(右)

该环境能够在五台先进的台式电脑上仿真四个带有摄像头、Hokuyo 激光雷达、测向仪和测绘功能的机器人,并且能够远程接收每台机器人的视频资料。我们的一位工程师写了一个 C++ 的 TCP 客户端,可以直接从本地网络传输游戏引擎的数据并全屏显示。必须严格按照顺序运行代码,这样才能让机器人按时抵达正确的位置。

使用 Gazebo 进行多机器人仿真

到了 2013 年,在 Gazebo 成为实际中的机器人仿真平台后,我们把工作转移到了 Gazebo 上。三个程序员花了大约 2 年时间,在两台英特尔 Xeon 上仿真了 10 个机器人。他们使用了 ROS move_base 导航堆栈和 OpenCV Hough Circle Transform 进行模板检测TensorFlow 出现之前,机器人团队都是用这个办法来做演示的。我们当时的同事花了 6 个月的时间构建了 RQT 插件,来控制和显示来自多个机器人的数据串流(图 2)。

f163623e-04ca-11ee-90ce-dac502259ad0.png

图 2. 10 个带有 RQT 插件的机器人

所拍摄的视频影像和地图视图

这些机器人必须能够相互通信,也必须能够在无法通信的情况下运行。为了实现这一点,每个机器人都必须运行自己的 ROS 主程序,并通过 ROS 多主程序网络进行同步。

使用 NVIDIA Isaac Sim 进行多机器人仿真

几个月前,我请 Cogniteam 算法团队的计算机科学学生 Saar Moseri 使用云机器人生态 Nimbus 和 NVIDIA Isaac Sim 建立了一个多机器人仿真场景。我和内部测试团队都希望使用 Nimbus 来控制机器人,并查看它们所产生的数据。

Saar 花了大约两周时间熟悉环境和配置系统。图 3 所示的是这项工作的成果,运行在 Cogniteam 实验室一台装有 NVIDIA GeForce RTX 3080 的标准(单体)台式机上。

f1ad45a2-04ca-11ee-90ce-dac502259ad0.png

图 3. NVIDIA Isaac Sim 多机器人默认设置

Saar 依据了NVIDIA NGC 上的 Isaac Sim 文档来安装和设置环境。他使用 Nimbus 在仿真机上设置了代理并创建了一个网关节点,通过 ROS 接收来自仿真机的数据。

f1d5e188-04ca-11ee-90ce-dac502259ad0.png

图 4. Nimbus 机器人编辑器(左)

和 Nimbus 配置编辑器(右)

然后我们创建了图 5 所示的节点配置。

f21755b4-04ca-11ee-90ce-dac502259ad0.png

图 5. 带有 move_base 导航的 Nimbus 简单任务配置

这两个已经容器化的构建模块分别是一个网关节点和一个 move_base 导航的节点。该配置被部署到 Cogniteam 实验室仿真桌面上运行的代理中。其他更复杂的配置连同来源,包括用于 GMapping、路径追踪等的节点,都可以在 Nimbus Hubhttps://app.cognimbus.com/nimbushub获取。

我和团队都被这种方法的无限可能性震惊到了。在上述配置中,仿真感官数据从Isaac Sim通过 ROS 网关到达,ROS 网关同时支持 ROS 和 ROS 2。Nimbus 可实现查看和控制功能。

这个开箱即用的设置使我们的团队能够执行基本的仿真任务,并在实验室里仿真机器人车队的控制。不仅如此,还可以完成许多其他功能,比如记录机器人的仿真运行情况和感官数据、通过远程 SSH 连接到仿真机器、对仿真数据进行全局监控,甚至向验证团队发送有关仿真进展的电子邮件和短信通知。所有这些都可以在一个网络浏览器上完成。

将 Isaac Sim 与 Nimbus 组合成统一的系统,其功能与现有的云仿真产品相似,但在本地机器上运行且不会产生额外的云仿真计算成本。此外,它还开辟了一些新的先进仿真流程,比如硬件在环仿真等。这在云中运行仿真时是不可能做到的。图 6 显示了 Nimbus 中的控制、导航和绘图情况。

f25b5a20-04ca-11ee-90ce-dac502259ad0.png

图 6. Nimbus 机器人 WebRTC 视频监控(左)

以及 Nimbus 地图视图和自主控制(右)

如要拷贝上述提到的设置,请参考 Isaac Simdocumentation(https://catalog.ngc.nvidia.com/orgs/nvidia/containers/isaac-sim)文档。然后在 Nimbus 上创建一个免费账户,登录后按照说明即可创建一个机器人。

在将机器人代理安装在 Isaac Sim 以 headless 模式运行的桌面上后,您就能够通过远程 SSH 配置仿真并在 Nimbus 网站上监控仿真机。

视频1. Nimbus 和 NVIDIA Isaac Sim 演示视频

您可在 Nimbus hub 部署 Isaac Sim 配置。由于一切都已经容器化(包括 Isaac Sim)并且可在浏览器上进行控制,因此不需要安装任何应用。机器上的代理将设置好执行所需的一切。

然后,您可以在该代理的监控页面上监控任何与您的设置相关的数据。在代理设置中,您可以通过在 ROS 串流上添加条件来定义通知,比如:

if GoalStatus == ABORTED”
sendsms/mailtosimulation@your-company.com

总结

仿真是成功部署自主机器人的关键。多次运行同一场景对测试来说至关重要,但多机器人仿真则有所不同。开发一个高保真的多机器人仿真环境十分复杂且耗时,但正如本文所述,您可以使用 NVIDIA Isaac Sim Nimbus 简化这一过程。

如要进一步了解 Isaac Sim,请访问 NVIDIA DeveloperIsaac ROS Forum https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67

点击“阅读原文”,或扫描下方海报二维码观看 NVIDIA 创始人兼 CEO 黄仁勋在 COMPUTEX 2023 的主题演讲直播回放,主题演讲中文字幕版已上线,了解 AI、图形及其他领域的最新进展!


原文标题:使用 NVIDIA Isaac Sim、ROS 和 Nimbus 开发多机器人环境

文章出处:【微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英伟达
    +关注

    关注

    22

    文章

    3334

    浏览量

    87824

原文标题:使用 NVIDIA Isaac Sim、ROS 和 Nimbus 开发多机器人环境

文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NVIDIA Isaac机器人平台升级,加速AI机器人技术革新

    NVIDIA Isaac机器人平台近期实现重大升级,通过引入最新的生成式AI技术和先进的仿真技术,显著加速了AI机器人技术的发展步伐。该平台正不断扩展其基础模型、
    的头像 发表于 03-27 10:36 202次阅读

    NVIDIA入局人形机器人Isaac平台迎来重要更新

    NVIDIA Isaac 机器人平台利用最新的生成式 AI 和先进的仿真技术,加速 AI 机器人技术的发展。
    的头像 发表于 03-26 09:07 433次阅读
    <b class='flag-5'>NVIDIA</b>入局人形<b class='flag-5'>机器人</b>!<b class='flag-5'>Isaac</b>平台迎来重要更新

    【爱芯派 Pro 开发板试用体验】基于爱芯派 Pro 开发板的警用安防智能机器人设计

    互联网(4G、5G)、BLE通信、LoRA等多渠道传输。云平台主要作用是机器人管理调度、应急控制、业务处理、视频分析、数据报表、安全态势分析、第三方数据平台接入等,是开放性合作的重要载体。安防智能机器人
    发表于 01-14 21:56

    使用 NVIDIA Isaac 仿真并定位 Husky 机器人

    如何使用 ROS 2 Husky 官方软件包将该机器人导入 NVIDIA Isaac Sim 并创建仿真。 本 Demo 中的 Husky
    的头像 发表于 12-26 18:05 393次阅读
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 仿真并定位 Husky <b class='flag-5'>机器人</b>

    ROS机器人开发更便捷,基于RK3568J+Debian系统发布!

    库的支持,ROS系统提供丰富且功能强大的机器人算法库,如坐标变换、运动控制等。机器人开发者可根据开发需要,简单快捷地调用合适的算法库,以提高
    发表于 11-30 16:01

    NVIDIA再出手!加速开发边缘AI应用,迎接生成式AI新纪元

    NVIDIA 近日宣布,对适用于边缘 AI 和机器人NVIDIA Jetson 平台上的两个框架进行大规模扩展。NVIDIA Isaac
    的头像 发表于 11-23 17:31 651次阅读
    <b class='flag-5'>NVIDIA</b>再出手!加速<b class='flag-5'>开发</b>边缘AI应用,迎接生成式AI新纪元

    NVIDIA Isaac 平台先进的仿真和感知工具助力 AI 机器人技术加速发展

      NVIDIA Isaac ROS 2.0  和  NVIDIA Isaac Sim 2023
    的头像 发表于 10-20 02:00 457次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 平台先进的仿真和感知工具助力 AI <b class='flag-5'>机器人</b>技术加速发展

    从 0 到 1 搭建机器人 | 利用 NVIDIA Isaac Sim 创建虚拟环境进行仿真开发与测试

    的第一步——生成合成数据然后进行训练。从 0 到 1 搭建机器人系列文章第二篇将带领大家继续学习如何创建虚拟环境,进行机器人的仿真开发与测试。本次要使用的工具是
    的头像 发表于 08-07 19:10 549次阅读
    从 0 到 1 搭建<b class='flag-5'>机器人</b> | 利用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b> 创建虚拟<b class='flag-5'>环境</b>进行仿真<b class='flag-5'>开发</b>与测试

    从 0 到 1 搭建机器人 | 使用 NVIDIA Isaac Sim Replicator 和 TAO 套件进行数据合成和训练

    文章 将从第一步开始,拆解并串联起关于机器人创建的必要知识和所涉工具,希望能以 NVIDIA 提供的前沿解决方案为您铺平开发实践的道路。 今天我们将先从数据标记、模型训练开始,出场的是  Is
    的头像 发表于 07-17 19:45 401次阅读

    Omniverse 中文课程系列 7:使用 Isaac Sim 实现机器人仿真入门

    ! 使用 Isaac Sim 实现机器人仿真入门 学习目标 通过本课程,您将学习如何: 使用交互式 Python 脚本编程接口开发仿真应用 使用 USD 组件指定场景并强制应用仿真-时
    的头像 发表于 06-30 17:35 513次阅读
    Omniverse 中文课程系列 7:使用 <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b> 实现<b class='flag-5'>机器人</b>仿真入门

    基于 NVIDIA Jetson 使用硬件在环设计机器人

    Isaac 平台 应用于这些领域的。 NVIDIA Isaac 平台由 NVIDIA Isaac Si
    的头像 发表于 06-14 18:35 427次阅读
    基于 <b class='flag-5'>NVIDIA</b> Jetson 使用硬件在环设计<b class='flag-5'>机器人</b>

    COMPUTEX2023 | NVIDIA Isaac AMR 助力移动机器人实现高级自动化

    Isaac AMR 将很快开启客户抢先体验,可使用基于 Nova Orin 的参考机器人进行评估。 想要提高运营效率的行业对移动机器人的需求日益增长,使得移动机器人的出货量激增,
    的头像 发表于 06-04 02:25 469次阅读
    COMPUTEX2023 | <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> AMR 助力移动<b class='flag-5'>机器人</b>实现高级自动化

    COMPUTEX2023 | 达明机器人采用 NVIDIA Isaac Sim 优化自动光学检测

    ,广达子公司达明机器人(Techman Robot)的机器人如何运用 NVIDIA Isaac Sim ,一款基于
    的头像 发表于 05-30 01:40 618次阅读

    使用 ROS 2 MoveIt 和 NVIDIA Isaac Sim 创建逼真的机器人模拟

    项目中使用 NVIDIA Isaac Sim 。项目的目标是提高对操纵的感知,并通过 PickNik 的商业机器人开发平台 MoveIt S
    的头像 发表于 05-12 10:45 597次阅读
    使用 <b class='flag-5'>ROS</b> 2 MoveIt 和 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b> 创建逼真的<b class='flag-5'>机器人</b>模拟

    NVIDIA Isaac ROS Developer Preview 3,用于构建高性能机器人应用

    团队去年与 Open Robotics 一起,在提供硬件加速器的计算平台上加入了适应和类型协商以提高 ROS 的性能。他们还实现了用于 Isaac ROS 的适应和类型协商—— NITROS(
    的头像 发表于 05-06 10:01 345次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>ROS</b> Developer Preview 3,用于构建高性能<b class='flag-5'>机器人</b>应用