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

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

3天内不再提示

将Nav2堆栈与NVIDIA ISAAC ROS GEMs集成

星星科技指导员 来源:NVIDIA 作者:Asawaree Bhide 2022-04-27 17:33 次阅读

NVIDIA GPU ROS GEMs 是一个 ROS 软件包,用于优化基于人工智能机器人应用程序,使其在 NVIDIA ISAAC 和 Jetson 平台上运行。人们越来越有兴趣将这些软件包与 Nav2 项目集成,以帮助自主机器人在动态环境中成功导航。

这项工作完全是在仿真中完成的,可以作为将机器人能力从仿真转移到现实世界的起点( Sim2Real )。

在这篇文章中,我将关注一个现实世界中的问题,即机器人因与仓库中的叉车叉齿发生碰撞而受损。叉车是一种用于短距离搬运重物的工业卡车。它有一个被称为尖头(或叉子)的延伸部分,可以在物体下方滑动并提升物体。

主要使用的机器人传感器( lidar )可以检测叉车的车身,但不能检测靠近地面的叉齿。在这种情况下,还需要其他传感器来检测这些弹齿。在本项目中,您将在模拟中的机器人上使用两个 RGB 摄像头。来自这些相机的图像用于使用 Isaac ROS stereo GEM 。

根据视差,立体宝石生成一个点云,其中包含有关相机视野中的所有对象在环境中的位置的信息。该信息用于更新导航节点,以便在可能发生碰撞时更改机器人的路径。

图 3 显示了该项目的基本工作流程。

poYBAGJpDeyABnPYAABYXsw9wkc227.png

图 3 工作流程图

NVIDIA ISAAC 是的设置

在 NVIDIA ISAAC Sim 卡中使用仓库环境,其中包括 Carter robot 和叉车。按照 ROS2 导航示例 生成占用地图,供 Nav2 堆栈使用,以避免货架等静态障碍物。创建占用地图后,动态或移动障碍物(包括叉车和手推车)将添加到环境中。这是为了模拟现实世界,在没有机器人知识的情况下,物体在环境中发生变化。

重要的是要注意卡特机器人的左、右立体摄像机在NVIDIA ISAAC SIM 之间的偏移,以 NVIDIA ISAAC ROS 立体声宝石来正确地产生视差。在开始模拟之前,确保 NVIDIA ISAAC Sim 卡中的 ROS2 bridge 已启用,以便可以在 NVIDIA ISAAC Sim 卡之外传输 ROS2 消息。

NVIDIA ISAAC ROS 立体声宝石和导航 2

Nav2 堆栈使用 全球和本地成本图 引导机器人避开障碍物。本地成本图根据环境中新的移动障碍物进行更新,并可以将激光扫描和点云作为机器人传感器的输入。

由于激光雷达的激光扫描无法在真实场景中拾取叉齿,所以可以通过使用立体图像中的点云来解决这个问题,这些点云会被传递到 Nav2 。这些点云是使用 NVIDIA ISAAC ROS 立体声宝石产生的。

pYYBAGJpDe2AezyNAAO04pYtT0M775.png

图 4 当机器人在叉车前面时,使用NVIDIA ISAAC ROS 立体声宝石产生点云

在图 4 的右侧,弹齿下方的浅蓝色区域显示, Nav2 本地成本地图已经更新,以表示那里的障碍物,机器人现在可以避开。 NVIDIA ISAAC Sim 卡的图像平均速率为 20 FPS ,而 stereo GEM 的点云图像平均速率为 16 FPS 。

stereo GEM 生成一个视差图像,然后为机器人相机的左右图像中看到的所有对象生成一个点云。使用 ISAAC ROS 分割 GEM ,可以过滤此差异以生成仅包含属于感兴趣对象(例如叉车叉齿)的点的点云。

下一节将更详细地解释这种过滤。

使用NVIDIA ISAAC ROS 分割 GEM 的视差滤波

下面介绍了如何将基于合成生成数据训练的深度学习模型与 NVIDIA ISAAC ROS 推理机结合使用。您可以实现同样的目标:使用 GEMs 和 Nav2 堆栈,帮助机器人在模拟中避免叉车叉齿。

但是,您没有为机器人相机视野中的所有对象生成点云,而是只为叉车尖头过滤并生成聚焦点云。

pYYBAGJpDe6Ae0yIAAC2c2bDGk0815.png

图 5 使用 NVIDIA ISAAC ROS 分割和立体宝石执行视差过滤的工作流程

我使用了一个在叉车叉齿图像上训练的分割模型。 NVIDIA ISAAC ROS 分割 GEM 在模拟中从机器人获取 RGB 图像,并使用给定模型生成相应的分割图像。

任何模型都可以与此管道一起使用,以根据用例过滤特定对象。只需在感兴趣的数据上生成( Replicator Composer )和训练( TAO )即可!

poYBAGJpDfSAcwJNAAPXpzFXUm4323.png

图 6 训练模型根据机器人摄像头的图像以 39 FPS 的速度生成彩色分割图像。 ( top left ) 机器人的左摄像头视图。 ( top right ) 分割掩模; ( bottom ) 叉车齿的过滤点云。

原始分割图像中的每个像素代表图像中该位置的对象的类别标签。例如,知道感兴趣的标签,如果 2 代表叉齿,则在立体宝石生成的相应视差图像中将非感兴趣点设置为 invalid 。结果生成的点云不包括这些点。这有助于减少点云中的噪波。

pYYBAGJpDfWAdpi6AAKivlwEk_A834.png

图 7 视差滤波后生成的点云

与图 4 中的点云不同,它只包含属于叉车叉齿的点。

ROS 域 ID

随着NVIDIA ISAAC ROS GEMS 在容器内运行, NVIDIA ISAAC SIM 在主机上运行,必须确保 ROS 主题可以在主机和容器之间传递。

为此,请将所有进程的 ROS 域 ID 设置为相同的编号。使用相同域 ID 的所有 ROS2 节点都可以通信;那些使用不同域 ID 的人不能。有关更多信息,请参阅 The ROS_DOMAIN_ID 。

笔记

本项目中介绍的工作流程避免了激光雷达和摄像头可以检测到的障碍物。对于太小或被遮挡的障碍物,探索其他传感器。

该方法对视差计算和由此产生的点云质量非常敏感。由于计算视差是一项具有挑战性的任务,因此可能会得到噪声点云,从而导致 Nav2 错误地更新成本图。

视差滤波取决于分割模型的性能。无法生成精确分割遮罩的模型会导致视差和点云过滤效果不佳。

关于作者

Asawaree Bhide 是 NVIDIA 的 AI 嵌入式工程实习生,致力于优化和部署边缘设备上的深度学习模型。她目前正在乔治亚理工学院攻读计算机科学硕士学位,她对解决由具体代理自主导航的复杂感知任务感兴趣。Tomasz Lewicki 是 NVIDIA 的嵌入式工程实习生。他拥有圣何塞州立大学计算机工程硕士学位,华沙工业大学华沙工业大学机器人工程学学士学位。他的兴趣集中在计算机视觉和机器人应用的深度学习上。

审核编辑:郭婷

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

    关注

    5085

    文章

    19138

    浏览量

    305720
  • NVIDIA
    +关注

    关注

    14

    文章

    4994

    浏览量

    103165
  • AI
    AI
    +关注

    关注

    87

    文章

    30998

    浏览量

    269303
收藏 人收藏

    评论

    相关推荐

    坚米智能借助NVIDIA Isaac Lab加速四足机器人开发

    坚米智能(中坚科技)借助NVIDIA Isaac Lab平台,通过NVIDIA Isaac Sim的 3D 生成与建模技术构建高度逼真的虚拟场景,
    的头像 发表于 12-29 14:01 149次阅读

    NVIDIA Isaac Sim满足模型的多样化训练需求

    光轮智能借助 NVIDIA Isaac Sim,通过 3D 生成与建模技术构建高度逼真的虚拟场景,现实世界的复杂场景抽象并转化为高质量的训练数据源,从而更有效地满足模型的多样化训练需求。 AI
    的头像 发表于 11-23 14:55 565次阅读

    日本企业借助NVIDIA产品加速AI创新

    日本领先企业和大学正在使用 NVIDIA NeMo、NIM 微服务和 NVIDIA Isaac 加速 AI 创新。
    的头像 发表于 11-19 14:34 324次阅读

    NVIDIA与学术研究人员联合开发手术机器人

    利用 NVIDIA Isaac Sim 和 NVIDIA Omniverse 开发的 ORBIT-Surgical 正在 ICRA 机器人大会上展出。
    的头像 发表于 10-10 10:00 463次阅读

    Foxconn利用NVIDIA AI和Omniverse训练机器人

    全球最大电子制造商 Foxconn 正准备制造 NVIDIA 最复杂的产品之一,并开始使用 NVIDIA Omniverse 和 Isaac 平台驱动的数字孪生。
    的头像 发表于 10-10 09:40 420次阅读

    堆栈和内存的基本知识

    本文主要聊聊关于堆栈的内容。包括堆栈和内存的基本知识。常见和堆栈相关的 bug,如溢出,内存泄漏,内存分配失败等。后面介绍软件中
    的头像 发表于 08-29 14:10 484次阅读
    <b class='flag-5'>堆栈</b>和内存的基本知识

    MDBT50Q-512K基于Nordic nRF52833 SoC解决方案设计的BT 5.2堆栈模块

    电子发烧友网站提供《MDBT50Q-512K基于Nordic nRF52833 SoC解决方案设计的BT 5.2堆栈模块.pdf》资料免费下载
    发表于 06-22 09:17 1次下载

    NVIDIA 通过 Holoscan 为 NVIDIA IGX 提供企业软件支持

    美敦力、SETI 协会以及领先制造商正在构建 NVIDIA IGX 系统,为 AI 在工业边缘赋能。   NVIDIA 于6月2日宣布,集成NVID
    的头像 发表于 06-04 10:21 517次阅读

    NVIDIA Isaac Manipulator助力让下一代机器人技术触手可及

    两家公司在芝加哥 Automate 展会上宣布围绕 NVIDIA AI、Isaac Manipulator 和 Intrinsic 平台的使用展开合作。
    的头像 发表于 05-13 14:15 892次阅读

    NVIDIA携手Alphabet旗下Intrinsic让下一代机器人技术触手可及

    两家公司在芝加哥 Automate 展会上宣布围绕 NVIDIA AI、Isaac Manipulator 和 Intrinsic 平台的使用展开合作。
    的头像 发表于 05-11 09:38 692次阅读

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

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

    NVIDIA Isaac生成式AI应用于制造业和物流业

    NVIDIA Isaac 机器人平台利用最新的生成式 AI 和先进的仿真技术,加速 AI 机器人技术的发展。
    的头像 发表于 03-22 10:06 544次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b><b class='flag-5'>将</b>生成式AI应用于制造业和物流业

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    的区别和使用注意事项

    是在计算机科学中广泛使用的两种数据结构,它们具有不同的用途和特点。的区别涉及到内存分配、访问方式、数据存储等方面。在使用
    的头像 发表于 01-18 17:24 2239次阅读

    请问如何使用ModusToolbox™估计应用程序使用的堆栈空间量?

    我正在使用 PSoC63 进行 ModusToolbox™ 开发。 运行我的应用程序时,MTB上是否有任何方法可以确定或估计我的应用程序将使用的最大堆栈大小? 谢谢。
    发表于 01-18 08:04