0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過NVIDIA ISAAC ROS GEMs

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Raffaello Bonghi ? 2022-04-15 16:42 ? 次閱讀

NVIDIA ISAAC GEMs for ROS 為您的 ROS2 應(yīng)用程序提供了一套 GPU 加速包,提高了圖像處理和基于 DNN 的感知模型的吞吐量。這些 ROS2 軟件包是由 ROS2 Foxy 構(gòu)建的,這是機(jī)器人社區(qū)推出的第一個長穩(wěn)定版本( LTS )。

這篇文章研究如何通過實現(xiàn) NVIDIA ISAAC ROS GEMs 來加速機(jī)器人的部署。本文的重點是使用nanosaur檢測 AprilTags ,這是一種基于 NVIDIA Jetson 平臺的簡單開源機(jī)器人。

在詳細(xì)介紹此應(yīng)用程序之前,這里是 ROS 、 NVIDIA ISAAC GEMs 的歷史,以及 nanosaur 是如何構(gòu)建的。

ROS 和 ROS2 的歷史

Willow Garage 于 2007 年開發(fā)了機(jī)器人操作系統(tǒng)( ROS )。 2012 次移交給新的開放機(jī)器人基金會是為了維護(hù)框架的發(fā)展。起初,該框架主要由機(jī)器人研究社區(qū)使用。最終,它在包括機(jī)器人制造商和公司在內(nèi)的更廣泛的開發(fā)者群體中贏得了歡迎。

2015 年, ROS 社區(qū)注意到生產(chǎn)版本的弱點,缺乏單機(jī)器人支持( roscore )安全性、實時支持緩慢以及其他核心問題。在這一點上,社區(qū)開始奠定第二代 ROS 的基礎(chǔ),為研究社區(qū)和公司重新設(shè)計它,著眼于安全性、內(nèi)部通信和可靠性。

在最后一次 ROS 官方發(fā)布( Noetic )后, ROS2 正在成為新的機(jī)器人發(fā)行版,并且在第一次 LTS 發(fā)布后,社區(qū)的支持正在增加。

nanosaur

nanosaur 是一款基于NVIDIA Jetson的簡單開源機(jī)器人。這款機(jī)器人完全可以 3D 打印,能夠在你的辦公桌上自主漫游,使用一個簡單的攝像頭和兩個 OLED ,它們就像一對眼睛。它的尺寸為 10x12x6cm ,重量僅為 500 克。

nanosaur 的硬件與 NVIDIAJetBot類似,使用兩個 I2C OLED 顯示器并共享相同的 I2C 電機(jī)驅(qū)動器。然而, nanosaur 的軟件是直接在 ROS2 上開發(fā)的,完全是 GPU 加速的,基于 Docker 。

nanosaur 有許多節(jié)點來驅(qū)動和顯示機(jī)器人的狀態(tài)。所有節(jié)點均按包排列。

nanosaur_base

nanosaur_base啟用電機(jī)控制器和顯示器。

joy2eyes將操縱桿信息轉(zhuǎn)換為眼睛的主題。當(dāng)您想要測試眼睛的主題時,此節(jié)點起作用。

nanosaur_camera

nanosaur_camera將相機(jī)拖纜從 MIPI 相機(jī)運(yùn)行到 ROS2 主題。

ros2_jetson_stats

ros2_jetson_stats是jetson-statspackage的包裝,用于監(jiān)視和控制您的 NVIDIA Jetson Xavier NX 、 Jetson AGX Xavier 、 Nano 、 TX1 或 TX2]。

有關(guān)更多信息,請參閱主nanosaurGitHub 存儲庫。

這是啟動 nanosaur 時常見的 ROS2 圖表。

poYBAGJZMJ2AF14dAADQdSBkRgo884.png

圖 2 。 ROS2 納米龍圖,按存儲庫和包劃分

nanosaur 從 NVIDIA Jetson ROS Foxy Docker 圖像開始發(fā)布。還支持 ROS2 Galactic 、 ROS2 Elotent 、 ROS Melodic 和 ROS Noetic 以及 PyTorch 、 TensorRT 和 DeepStream SDK 等人工智能框架。

ROS2 Foxy 在nanosaur_camera中與 Jetson -UTIL 一起編譯和使用,以加快攝像頭訪問速度。

poYBAGJZMKOANhRjAADYWcJAo0I441.png

圖 3 。 Docker 概述。納米龍是根據(jù)dusty-nv/jetson-containers指南建造的.

當(dāng) nanosaur 運(yùn)行時,有一組可用的主題,例如image_raw topic、移動顯示器上繪制的眼睛的眼睛主題以及驅(qū)動機(jī)器人的導(dǎo)航命令。

NVIDIA ISAAC 玫瑰寶石

簡化 GPU 加速算法的部署是這些新 ROS2 軟件包的核心目的。這些軟件包是機(jī)器人社區(qū)的開源軟件包,可以利用 CPU 并直接在 GPU 上使用 AI 和機(jī)器人感知來提高機(jī)器人的能力。所有這些 gem 都是為 rosfoxy 部署的,并與 NVIDIA 引擎配合使用。

pYYBAGJZMKiAepzVAACqDq3W8nQ915.png

圖 4 . ISAAC GEMs for ROS 是一套 GPU – 加速 ROS2 軟件包,為機(jī)器人社區(qū)發(fā)布,是 NVIDIA Jetson 平臺的一部分

NVIDIA ISAAC GEMs 在 ROS 軟件包中提供硬件加速的機(jī)器人功能,在其他 ROS 軟件包中結(jié)合本機(jī)節(jié)點時,保持 ROS2 中間件的集成。 NVIDIA ISAAC ROS GEMs 用于 x86 _ 64 / d GPU ( Ubuntu 20 . 04 )和 Jetson Xavier NX / AGX Xavier 以及最新的 NVIDIA JetPack 4 . 6 發(fā)行版。

新的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 是一種獨(dú)特的 QR 碼,經(jīng)過優(yōu)化,可用于攝像機(jī)快速解碼和遠(yuǎn)距離讀取。這些標(biāo)記是基準(zhǔn)點,用于驅(qū)動機(jī)器人或操縱器從特定點開始動作或完成作業(yè)。它們還用于增強(qiáng)現(xiàn)實中,以校準(zhǔn)遮陽板的里程計。這些標(biāo)簽在許多家庭中都有,但都很容易用臺式打印機(jī)打印。

poYBAGJZMK2AXZ18AADVCVfQi28498.png

圖 5 。不同類型的人名和姓氏

ROS2 AprilTag 軟件包使用 NVIDIA GPU 來加速圖像中的檢測,并發(fā)布姿勢、 ID 和其他元數(shù)據(jù)。該軟件包與CPU AprilTag 檢測的 ROS2 節(jié)點相當(dāng)。

包依賴項包括:

isaac_ros_common

isaac_ros_image_pipeline

image_common

vision_cv

OpenCV 4.5+

熟悉存儲庫中提供的教程后,您可以在 ROS2 robotics 項目中定義和配置它。

poYBAGJZMNeAGVPUAABHQhpPqTo189.png

圖 6 . NVIDIA ISAAC ROS 示例管道,從攝像機(jī)流開始,到圖像校正,最后是 AprilTag 檢測

通常,從相機(jī)或立體相機(jī)輸出的流開始定義管道,其中發(fā)布了兩個主題:第一個主題,其中輸出為原始相機(jī)流;以及camera_info,其中所有校準(zhǔn)和配置都定義了流。

完成此步驟后,您可以使用ros_image_proc來加速 ROS2 應(yīng)用程序,以校正圖像以及可能的標(biāo)簽和角的姿勢估計。

isaac_ros_apriltag是一個 ROS2 主題,其中包含從流中檢測到的 AprilTags 數(shù)組。對于列出的每個點,都有許多數(shù)據(jù)點,例如攝影機(jī)世界中的中心、所有角點、 ID 和姿勢。默認(rèn)情況下,主題名為/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節(jié)點使用一個配置文件初始化,其中所有選定的參數(shù)都是 PID 增益、要遵循的 AprilTag ID 和其他參數(shù)。在主循環(huán)中,該節(jié)點解碼來自Isaac_ros_apriltag的消息,當(dāng)它出現(xiàn)在攝影機(jī)流中時,開始跟隨它,生成線性速度和扭曲。

在圖 8 中,Isaac_ros_apriltag為每一幀生成一個新的標(biāo)簽檢測輸出,nanosaur_follower節(jié)點驅(qū)動機(jī)器人。

poYBAGJZMOiAK_PYAADzkU5F1ug288.png

圖 8 。 AprilTag 閉環(huán)導(dǎo)航和檢測

在這種情況下,單輪機(jī)器人,納米龍運(yùn)動學(xué)模型的第一個近似值,可以使用解耦 PID 控制器跟蹤標(biāo)簽。在圖 9 中,第一個控制器( A )將從中心 AprilTag 角到中心垂直線的誤差減小為零。此錯誤驅(qū)動 ROS2 twist 消息。同時,來自攝像機(jī)距離的第二個錯誤驅(qū)動機(jī)器人速度( B )。

pYYBAGJZMMOAHGRXAAEkx80Uo5Y143.png

圖 9 。在 AprilTag 檢測后, nanosaur 產(chǎn)生一個扭曲輸出來驅(qū)動電機(jī)

實時 web 界面

nanosaur 提供了第二張 Docker 圖像,其中所有主題和相機(jī)流都可以實時查看,并且您可以實時看到機(jī)器人移動時發(fā)生的情況。圖 10 顯示了一個用戶界面示例。

poYBAGJZMMqAGHBQAACXT_Y_aIs551.png

圖 10 。機(jī)器人運(yùn)行時的 ROS2 web 界面示例

概括

在這篇文章中,我討論了如何使用 NVIDIA ISAAC ROS GEMs 加速機(jī)器人部署。解決方案的重點是使用nanosaur檢測 AprilTags ,這是一種基于 NVIDIA Jetson 平臺的簡單開源機(jī)器人。

關(guān)于作者

Raffaello Bonghi 是 AI & Robotics 的開發(fā)者關(guān)系經(jīng)理。自 2015 年以來,他一直是 NVIDIA Jetson 冠軍,設(shè)計用于戶外導(dǎo)航和教育應(yīng)用的多 ROS / ROS 機(jī)器人。此外,他還參與為零售和機(jī)器人領(lǐng)域的眾多國際客戶開發(fā)人工智能解決方案。拉斐洛擁有博士學(xué)位。在控制理論和工業(yè)自動化領(lǐng)域,專注于機(jī)器人技術(shù)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28105

    瀏覽量

    205853
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4855

    瀏覽量

    102711
收藏 人收藏

    評論

    相關(guān)推薦

    NVIDIA與學(xué)術(shù)研究人員聯(lián)合開發(fā)手術(shù)機(jī)器人

    利用 NVIDIA Isaac Sim 和 NVIDIA Omniverse 開發(fā)的 ORBIT-Surgical 正在 ICRA 機(jī)器人大會上展出。
    的頭像 發(fā)表于 10-10 10:00 ?305次閱讀

    Foxconn利用NVIDIA AI和Omniverse訓(xùn)練機(jī)器人

    全球最大電子制造商 Foxconn 正準(zhǔn)備制造 NVIDIA 最復(fù)雜的產(chǎn)品之一,并開始使用 NVIDIA Omniverse 和 Isaac 平臺驅(qū)動的數(shù)字孿生。
    的頭像 發(fā)表于 10-10 09:40 ?337次閱讀

    NVIDIA Isaac 機(jī)器人平臺利用最新的生成式 AI 和先進(jìn)的仿真技術(shù),加速 AI 機(jī)器人技術(shù)的發(fā)展

    NVIDIA 發(fā)布了 Isaac Manipulator 和 Isaac Perceptor 等一系列基礎(chǔ)模型、機(jī)器人工具和 GPU 加速庫。 NVIDIA 創(chuàng)始人兼首席執(zhí)行官黃仁勛在
    的頭像 發(fā)表于 06-04 18:00 ?7611次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 機(jī)器人平臺利用最新的生成式 AI 和先進(jìn)的仿真技術(shù),加速 AI 機(jī)器人技術(shù)的發(fā)展

    電子制造商采用NVIDIA AI和 Omniverse助力工廠提高運(yùn)營效率并降低成本

    、NVIDIA Omniverse 基于物理學(xué)的渲染與模擬以及 NVIDIA Isaac AI 機(jī)器人開發(fā)與部署。 通過使用該工作流構(gòu)建數(shù)字孿生以實時模擬不同工廠布局,制造商無須進(jìn)行昂
    的頭像 發(fā)表于 06-04 10:22 ?562次閱讀

    NVIDIA Isaac Manipulator助力讓下一代機(jī)器人技術(shù)觸手可及

    兩家公司在芝加哥 Automate 展會上宣布將圍繞 NVIDIA AI、Isaac Manipulator 和 Intrinsic 平臺的使用展開合作。
    的頭像 發(fā)表于 05-13 14:15 ?822次閱讀

    NVIDIA Isaac機(jī)器人平臺升級,加速AI機(jī)器人技術(shù)革新

    NVIDIA Isaac機(jī)器人平臺近期實現(xiàn)重大升級,通過引入最新的生成式AI技術(shù)和先進(jìn)的仿真技術(shù),顯著加速了AI機(jī)器人技術(shù)的發(fā)展步伐。該平臺正不斷擴(kuò)展其基礎(chǔ)模型、機(jī)器人學(xué)習(xí)框架、AI工作流編排以及機(jī)器人感知工具等功能,以應(yīng)對日益
    的頭像 發(fā)表于 03-27 10:36 ?611次閱讀

    NVIDIA入局人形機(jī)器人!Isaac平臺迎來重要更新

    NVIDIA Isaac 機(jī)器人平臺利用最新的生成式 AI 和先進(jìn)的仿真技術(shù),加速 AI 機(jī)器人技術(shù)的發(fā)展。
    的頭像 發(fā)表于 03-26 09:07 ?964次閱讀
    <b class='flag-5'>NVIDIA</b>入局人形機(jī)器人!<b class='flag-5'>Isaac</b>平臺迎來重要更新

    NVIDIA Isaac將生成式AI應(yīng)用于制造業(yè)和物流業(yè)

    NVIDIA Isaac 機(jī)器人平臺利用最新的生成式 AI 和先進(jìn)的仿真技術(shù),加速 AI 機(jī)器人技術(shù)的發(fā)展。
    的頭像 發(fā)表于 03-22 10:06 ?481次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b>將生成式AI應(yīng)用于制造業(yè)和物流業(yè)

    生成式AI通過NVIDIA Isaac平臺提高機(jī)器人的智能化水平

    今日,NVIDIA 機(jī)器人和邊緣計算副總裁 Deepu Talla 在 CES 上的特別演講中,詳細(xì)介紹了 NVIDIA 及合作伙伴是如何將生成式 AI 與機(jī)器人技術(shù)相結(jié)合的。
    的頭像 發(fā)表于 01-09 10:27 ?1079次閱讀
    生成式AI<b class='flag-5'>通過</b><b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b>平臺提高機(jī)器人的智能化水平

    使用 NVIDIA Isaac 仿真并定位 Husky 機(jī)器人

    如何使用 ROS 2 Husky 官方軟件包將該機(jī)器人導(dǎo)入 NVIDIA Isaac Sim 并創(chuàng)建仿真。 本 Demo 中的 Husky 機(jī)器人配備了 NVIDIA Jetson O
    的頭像 發(fā)表于 12-26 18:05 ?1197次閱讀
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 仿真并定位 Husky 機(jī)器人

    利用 NVIDIA Isaac Transport for ROS 提升自定義 ROS 圖形性能

    NVIDIA Isaac Transport for ROS(NITROS) 是隨 ROS 2 Humble 加入的兩項硬件加速功能——類型適配和類型協(xié)商。 類型適配 使
    的頭像 發(fā)表于 11-30 19:35 ?571次閱讀
    利用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Transport for <b class='flag-5'>ROS</b> 提升自定義 <b class='flag-5'>ROS</b> 圖形性能

    ros的基本概念是什么

    基本概念: ROS是一個用于在不同進(jìn)程間匿名的發(fā)布、訂閱、傳遞信息的中間件。 ROS2系統(tǒng)的核心部分是ROS網(wǎng)絡(luò)(ROS Graph)。 ROS
    的頭像 發(fā)表于 11-27 11:21 ?1722次閱讀

    NVIDIA再出手!加速開發(fā)邊緣AI應(yīng)用,迎接生成式AI新紀(jì)元

    NVIDIA 近日宣布,對適用于邊緣 AI 和機(jī)器人的 NVIDIA Jetson 平臺上的兩個框架進(jìn)行大規(guī)模擴(kuò)展。NVIDIA Isaac ROS
    的頭像 發(fā)表于 11-23 17:31 ?1026次閱讀
    <b class='flag-5'>NVIDIA</b>再出手!加速開發(fā)邊緣AI應(yīng)用,迎接生成式AI新紀(jì)元

    Unity與ROS鏈接介紹

    ROS的話題與服務(wù)。 ROS和Unity之間的通信是通過Unity的“ROS-TCP-Connector”軟件包和ROS的“
    的頭像 發(fā)表于 11-17 17:22 ?919次閱讀
    Unity與<b class='flag-5'>ROS</b>鏈接介紹

    如何初始化ROS并創(chuàng)立鏈接

    Simulink對機(jī)器人操作系統(tǒng)(ROS)的支持使我們能夠創(chuàng)建與ROS網(wǎng)絡(luò)一起工作的Simulink模型。ROS是一個通信層,允許機(jī)器人系統(tǒng)的不同組件以消息的形式交換信息。 組件通過
    的頭像 發(fā)表于 11-15 17:26 ?472次閱讀
    如何初始化<b class='flag-5'>ROS</b>并創(chuàng)立鏈接