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

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

3天内不再提示

如何通过NVIDIA ISAAC ROS GEMs

星星科技指导员 ? 来源:NVIDIA ? 作者:Raffaello Bonghi ? 2022-04-15 16:42 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

NVIDIA ISAAC GEMs for ROS 为您的 ROS2 应用程序提供了一套 GPU 加速包,提高了图像处理和基于 DNN 的感知模型的吞吐量。这些 ROS2 软件包是由 ROS2 Foxy 构建的,这是机器人社区推出的第一个长稳定版本( LTS )。

这篇文章研究如何通过实现 NVIDIA ISAAC ROS GEMs 来加速机器人的部署。本文的重点是使用nanosaur检测 AprilTags ,这是一种基于 NVIDIA Jetson 平台的简单开源机器人。

在详细介绍此应用程序之前,这里是 ROS 、 NVIDIA ISAAC GEMs 的历史,以及 nanosaur 是如何构建的。

ROS 和 ROS2 的历史

Willow Garage 于 2007 年开发了机器人操作系统( ROS )。 2012 次移交给新的开放机器人基金会是为了维护框架的发展。起初,该框架主要由机器人研究社区使用。最终,它在包括机器人制造商和公司在内的更广泛的开发者群体中赢得了欢迎。

2015 年, ROS 社区注意到生产版本的弱点,缺乏单机器人支持( roscore )安全性、实时支持缓慢以及其他核心问题。在这一点上,社区开始奠定第二代 ROS 的基础,为研究社区和公司重新设计它,着眼于安全性、内部通信和可靠性。

在最后一次 ROS 官方发布( Noetic )后, ROS2 正在成为新的机器人发行版,并且在第一次 LTS 发布后,社区的支持正在增加。

nanosaur

nanosaur 是一款基于NVIDIA Jetson的简单开源机器人。这款机器人完全可以 3D 打印,能够在你的办公桌上自主漫游,使用一个简单的摄像头和两个 OLED ,它们就像一对眼睛。它的尺寸为 10x12x6cm ,重量仅为 500 克。

nanosaur 的硬件与 NVIDIAJetBot类似,使用两个 I2C OLED 显示器并共享相同的 I2C 电机驱动器。然而, nanosaur 的软件是直接在 ROS2 上开发的,完全是 GPU 加速的,基于 Docker 。

nanosaur 有许多节点来驱动和显示机器人的状态。所有节点均按包排列。

nanosaur_base

nanosaur_base启用电机控制器和显示器。

joy2eyes将操纵杆信息转换为眼睛的主题。当您想要测试眼睛的主题时,此节点起作用。

nanosaur_camera

nanosaur_camera将相机拖缆从 MIPI 相机运行到 ROS2 主题。

ros2_jetson_stats

ros2_jetson_stats是jetson-statspackage的包装,用于监视和控制您的 NVIDIA Jetson Xavier NX 、 Jetson AGX Xavier 、 Nano 、 TX1 或 TX2]。

有关更多信息,请参阅主nanosaurGitHub 存储库。

这是启动 nanosaur 时常见的 ROS2 图表。

poYBAGJZMJ2AF14dAADQdSBkRgo884.png

图 2 。 ROS2 纳米龙图,按存储库和包划分

nanosaur 从 NVIDIA Jetson ROS Foxy Docker 图像开始发布。还支持 ROS2 Galactic 、 ROS2 Elotent 、 ROS Melodic 和 ROS Noetic 以及 PyTorch 、 TensorRT 和 DeepStream SDK 等人工智能框架。

ROS2 Foxy 在nanosaur_camera中与 Jetson -UTIL 一起编译和使用,以加快摄像头访问速度。

poYBAGJZMKOANhRjAADYWcJAo0I441.png

图 3 。 Docker 概述。纳米龙是根据dusty-nv/jetson-containers指南建造的.

当 nanosaur 运行时,有一组可用的主题,例如image_raw topic、移动显示器上绘制的眼睛的眼睛主题以及驱动机器人的导航命令。

NVIDIA ISAAC 玫瑰宝石

简化 GPU 加速算法的部署是这些新 ROS2 软件包的核心目的。这些软件包是机器人社区的开源软件包,可以利用 CPU 并直接在 GPU 上使用 AI 和机器人感知来提高机器人的能力。所有这些 gem 都是为 rosfoxy 部署的,并与 NVIDIA 引擎配合使用。

pYYBAGJZMKiAepzVAACqDq3W8nQ915.png

图 4 . ISAAC GEMs for ROS 是一套 GPU – 加速 ROS2 软件包,为机器人社区发布,是 NVIDIA Jetson 平台的一部分

NVIDIA ISAAC GEMs 在 ROS 软件包中提供硬件加速的机器人功能,在其他 ROS 软件包中结合本机节点时,保持 ROS2 中间件的集成。 NVIDIA ISAAC ROS GEMs 用于 x86 _ 64 / d GPU ( Ubuntu 20 . 04 )和 Jetson Xavier NX / AGX Xavier 以及最新的 NVIDIA JetPack 4 . 6 发行版。

新的NVIDIA ISAAC 玫瑰宝石包括:

isaac_ros_common

isaac_ros_image_pipeline

isaac_ros_apriltag

isaac_ros_dnn_inference(新)

isaac_ros_visual_odometry(新)

isaac_ros_argus_camera(新)

AprilTag

AprilTag 是一种独特的 QR 码,经过优化,可用于摄像机快速解码和远距离读取。这些标记是基准点,用于驱动机器人或操纵器从特定点开始动作或完成作业。它们还用于增强现实中,以校准遮阳板的里程计。这些标签在许多家庭中都有,但都很容易用台式打印机打印。

poYBAGJZMK2AXZ18AADVCVfQi28498.png

图 5 。不同类型的人名和姓氏

ROS2 AprilTag 软件包使用 NVIDIA GPU 来加速图像中的检测,并发布姿势、 ID 和其他元数据。该软件包与CPU AprilTag 检测的 ROS2 节点相当。

包依赖项包括:

isaac_ros_common

isaac_ros_image_pipeline

image_common

vision_cv

OpenCV 4.5+

熟悉存储库中提供的教程后,您可以在 ROS2 robotics 项目中定义和配置它。

poYBAGJZMNeAGVPUAABHQhpPqTo189.png

图 6 . NVIDIA ISAAC ROS 示例管道,从摄像机流开始,到图像校正,最后是 AprilTag 检测

通常,从相机或立体相机输出的流开始定义管道,其中发布了两个主题:第一个主题,其中输出为原始相机流;以及camera_info,其中所有校准和配置都定义了流。

完成此步骤后,您可以使用ros_image_proc来加速 ROS2 应用程序,以校正图像以及可能的标签和角的姿势估计。

isaac_ros_apriltag是一个 ROS2 主题,其中包含从流中检测到的 AprilTags 数组。对于列出的每个点,都有许多数据点,例如摄影机世界中的中心、所有角点、 ID 和姿势。默认情况下,主题名为/tag_detections。下面是tag_detections消息的示例。

---
header:
  stamp:
    sec: 1631573373
    nanosec: 24552192
  frame_id: camera_color_optical_frame
detections:
- family: 36h11
  id: 0
  center:
    x: 779.4064331054688
    y: 789.7901000976562
    z: 0.0
  corners:
  - x: 614.0
    y: 592.0
    z: 0.0
  - x: 971.0
    y: 628.0
    z: 0.0
  - x: 946.0
    y: 989.0
    z: 0.0
  
- x: 566.0
    y: 970.0
    z: 0.0
  pose:
    header:
      stamp:
        sec: 0
        nanosec: 0
      frame_id: ''
    pose:
      pose:
        position:
          x: -0.08404197543859482
          y: 0.11455488204956055
          z: 0.6107800006866455
        orientation:
          x: -0.10551299154758453
          y: -0.10030339658260345
          z: 0.04563025385141373
          w: 0.9882935285568237
      covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

nanosaur 和 AprilTag 探测

nanosaur_follower节点使用一个配置文件初始化,其中所有选定的参数都是 PID 增益、要遵循的 AprilTag ID 和其他参数。在主循环中,该节点解码来自Isaac_ros_apriltag的消息,当它出现在摄影机流中时,开始跟随它,生成线性速度和扭曲。

在图 8 中,Isaac_ros_apriltag为每一帧生成一个新的标签检测输出,nanosaur_follower节点驱动机器人。

poYBAGJZMOiAK_PYAADzkU5F1ug288.png

图 8 。 AprilTag 闭环导航和检测

在这种情况下,单轮机器人,纳米龙运动学模型的第一个近似值,可以使用解耦 PID 控制器跟踪标签。在图 9 中,第一个控制器( A )将从中心 AprilTag 角到中心垂直线的误差减小为零。此错误驱动 ROS2 twist 消息。同时,来自摄像机距离的第二个错误驱动机器人速度( B )。

pYYBAGJZMMOAHGRXAAEkx80Uo5Y143.png

图 9 。在 AprilTag 检测后, nanosaur 产生一个扭曲输出来驱动电机

实时 web 界面

nanosaur 提供了第二张 Docker 图像,其中所有主题和相机流都可以实时查看,并且您可以实时看到机器人移动时发生的情况。图 10 显示了一个用户界面示例。

poYBAGJZMMqAGHBQAACXT_Y_aIs551.png

图 10 。机器人运行时的 ROS2 web 界面示例

概括

在这篇文章中,我讨论了如何使用 NVIDIA ISAAC ROS GEMs 加速机器人部署。解决方案的重点是使用nanosaur检测 AprilTags ,这是一种基于 NVIDIA Jetson 平台的简单开源机器人。

关于作者

Raffaello Bonghi 是 AI & Robotics 的开发者关系经理。自 2015 年以来,他一直是 NVIDIA Jetson 冠军,设计用于户外导航和教育应用的多 ROS / ROS 机器人。此外,他还参与为零售和机器人领域的众多国际客户开发人工智能解决方案。拉斐洛拥有博士学位。在控制理论和工业自动化领域,专注于机器人技术。

审核编辑:郭婷

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

    关注

    213

    文章

    29939

    浏览量

    214434
  • NVIDIA
    +关注

    关注

    14

    文章

    5348

    浏览量

    106850
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVIDIA Jetson + Isaac SDK 人形机器人方案全面解析

    NVIDIA Jetson + Isaac SDK 人形机器人方案全面解析 一、方案概述 Jetson 硬件平台 :提供 AI + GPU 运算能力,配合多传感器、视觉、传动控制体系 Isaac
    的头像 发表于 07-30 16:12 ?955次阅读

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的方案详解

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的 方案详解 ,涵盖芯片型号、软件平台、开发工具链、应用场景与典型客户等。 一、方案概述:Jetson + Isaac SDK
    的头像 发表于 07-30 16:05 ?1634次阅读

    NVIDIA Isaac Lab可用环境与强化学习脚本使用指南

    NVIDIA Isaac Sim 是一款基于 NVIDIA Omniverse 构建的参考应用,使开发者能够在基于物理的虚拟环境中模拟和测试 AI 驱动的机器人开发解决方案。NVIDIA
    的头像 发表于 07-14 15:29 ?878次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Lab可用环境与强化学习脚本使用指南

    通过NVIDIA Cosmos模型增强机器人学习

    扩展。基于 NVIDIA Cosmos 构建的 NVIDIA Isaac GR00T-Dreams blueprint,可以通过单张图像和语言提示生成海量的合成轨迹数据,能够有效解决这
    的头像 发表于 07-14 11:49 ?373次阅读
    <b class='flag-5'>通过</b><b class='flag-5'>NVIDIA</b> Cosmos模型增强机器人学习

    NVIDIA Isaac Sim和Isaac Lab现已推出早期开发者预览版

    NVIDIA 发布了机器人仿真参考应用 Isaac Sim 和机器人学习框架 Isaac Lab 的开发者预览版。开发者现在可以通过 GitHub 访问早期版本,抢先体验先进功能,用于
    的头像 发表于 07-04 14:23 ?664次阅读

    NVIDIA Isaac Sim 4.5.0与lsaac Lab 2.0的安装教程

    Isaac Sim 和 Isaac Lab 目前开放下载的版本是 Isaac Sim 4.5.0 以及 Isaac Lab 2.0,本篇文章将为大家带来这两个软件的安装教程。
    的头像 发表于 06-19 15:00 ?954次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Sim 4.5.0与lsaac Lab 2.0的安装教程

    NVIDIA Isaac Sim与NVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了机器人仿真参考应用 NVIDIA Isaac Sim 和机器人学习框架 NVIDIA Isa
    的头像 发表于 05-28 10:06 ?725次阅读

    NVIDIA Isaac 是英伟达推出的综合性机器人开发平台

    NVIDIA Isaac 是英伟达推出的综合性机器人开发平台,旨在通过 GPU 加速、物理仿真和生成式 AI 技术,加速自主移动机器人(AMR)、机械臂及人形机器人的开发与部署。以下从核心组件、技术
    的头像 发表于 04-02 18:03 ?1312次阅读

    智元机器人基于NVIDIA Isaac GR00T打造高效仿真数据采集方案

    Isaac GR00T 。 NVIDIA Isaac GR00T 加速仿真数采方案 模仿学习是机器人技术发展的关键方向之一,通过观察和模仿人类专家的示范,机器人能够快速掌握新技能。然
    的头像 发表于 03-07 19:16 ?1274次阅读
    智元机器人基于<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> GR00T打造高效仿真数据采集方案

    NVIDIA宣布NVIDIA Isaac重要更新

    ,更为全球开发者提供了更加强大、高效的工具,以加速AI机器人的开发进程。 NVIDIA Isaac是一个综合性的平台,它集成了加速库、应用框架和AI模型等多种资源。这些组件协同工作,为开发者提供了一个从底层算法到上层应用的全方位支持环境。
    的头像 发表于 01-17 14:45 ?630次阅读

    简述NVIDIA Isaac的重要更新

    在 2025 CES,NVIDIA 宣布了对NVIDIA Isaac的重要更新。NVIDIA Isaac 是一个由加速库、应用框架和 AI
    的头像 发表于 01-17 09:57 ?1212次阅读
    简述<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b>的重要更新

    NVIDIA发布Isaac GR00T Blueprint,加速人形机器人开发

    NVIDIA创始人兼首席执行官黄仁勋亲自揭晓了NVIDIA Isaac GR00T Blueprint的发布。这一Blueprint旨在加速下一代人形机器人的开发进程,通过提供机器
    的头像 发表于 01-13 11:01 ?910次阅读

    NVIDIA推出Isaac GR00T Blueprint

    用于合成数据的 Isaac GR00T 工作流以及 NVIDIA Cosmos 世界基础模型,为通用人形机器人的开发注入强大动力。
    的头像 发表于 01-09 11:13 ?913次阅读

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

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

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

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