一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

在NVIDIA Jetson上使用ROS 2構(gòu)建機(jī)器人應(yīng)用程序

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-27 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機(jī)器人技術(shù)正在采用深度學(xué)習(xí)技術(shù)來精確導(dǎo)航室內(nèi)環(huán)境,檢測(cè)并跟蹤感興趣的物體,以及在沒有碰撞的情況下進(jìn)行移動(dòng)。然而,深度學(xué)習(xí)的復(fù)雜性日益增加,使得在嵌入式系統(tǒng)上適應(yīng)這些工作負(fù)載具有挑戰(zhàn)性。雖然您可以在精度和深度學(xué)習(xí)模型大小之間進(jìn)行權(quán)衡,但在大多數(shù)機(jī)器人應(yīng)用程序中,為了滿足實(shí)時(shí)需求而犧牲精度通常會(huì)適得其反。

易于使用和部署使得 NVIDIA Jetson 平臺(tái) 成為開發(fā)人員、研究人員和制造商制造和部署機(jī)器人(如 JetBot 、 MuSHR 和 MITRaceCar )的合理選擇。在這篇文章中,我們?cè)?Jetson 上提出了用于分類、目標(biāo)檢測(cè)和人體姿勢(shì)估計(jì)的深度學(xué)習(xí)模型。我們還提供了一個(gè) ROS2 節(jié)點(diǎn),用于在部署中監(jiān)控 Jetson 的各種資源和操作參數(shù)。 ros2 提供了輕量級(jí)實(shí)現(xiàn),因?yàn)樗司W(wǎng)橋節(jié)點(diǎn)的依賴性,并在嵌入式系統(tǒng)中提供了各種優(yōu)勢(shì)。

我們利用現(xiàn)有的 NVIDIA 框架進(jìn)行深度學(xué)習(xí)模型部署,如 TensorRT ,以提高模型推理性能。我們還集成了 NVIDIA DeepStream SDK 和 ROS 2 ,以便您可以執(zhí)行流聚合和批處理,并部署各種 AI 模型用于分類和對(duì)象檢測(cè),包括 ResNet18 、 MobileNetV1 / V2 、 SSD 、 YOLO 、 FasterRCNN 。此外,我們還為世界各地的開發(fā)者基于 Jetson 的流行項(xiàng)目(如 trt_pose 和 jetson_stats )實(shí)現(xiàn) ros2 節(jié)點(diǎn)。最后,我們?yōu)樯厦嫣岬降拿總€(gè)應(yīng)用程序提供了一個(gè) GitHub 存儲(chǔ)庫(kù),包括 ros2 節(jié)點(diǎn)和 Docker 文件 ,這樣您就可以輕松地在 Jetson 平臺(tái)上部署節(jié)點(diǎn)。有關(guān)每個(gè)項(xiàng)目的詳細(xì)信息,請(qǐng)參閱以下部分。

用于人體姿態(tài)估計(jì)的 ROS2 節(jié)點(diǎn)

ros2_trt_pose 包是基于 trt_pose 實(shí)現(xiàn)的,它可以在 Jetson 平臺(tái)上進(jìn)行姿態(tài)估計(jì)。存儲(chǔ)庫(kù)使用 resnet18 和 densenet121 為姿勢(shì)估計(jì)提供了兩個(gè)經(jīng)過訓(xùn)練的模型。為了了解人體姿勢(shì),預(yù)訓(xùn)練模型根據(jù) COCO 數(shù)據(jù)集的類別推斷出 17 個(gè)身體部位。

ROS2-TensorRT.png

圖 1 ros2 \ u trt _ pose 軟件包的描述和輸出。

以下是 ros2_trt_pose package 的主要功能:

發(fā)布 pose_msgs ,如 count of person 和 person_id 。對(duì)于每個(gè) person_id ,它發(fā)布 17 個(gè)身體部位。

提供啟動(dòng)文件以便于 Rviz2 上的使用和可視化:

圖像消息

視覺標(biāo)記: body_joints , body_skeleton

包含基于 Jetson 的 Docker 映像,便于安裝和使用。

PyTorch 和 TensorRT 的 ROS 2 包

ROS-2-TensorRT-classification.jpg

圖 2 。 ros2 trt _分類和 trt _檢測(cè)節(jié)點(diǎn)的包描述。

使用 PyTorch 有兩個(gè)用于分類和檢測(cè)的包,每個(gè)包都實(shí)現(xiàn)了相應(yīng)的 TRT 版本。這四個(gè)軟件包是使用 ros2 的機(jī)器人專家開始使用 PyTorch 進(jìn)行深度學(xué)習(xí)的良好起點(diǎn)。

TensorRT 已經(jīng)在 torch2trt 的幫助下集成到包中,以加速推斷。它生成一個(gè)運(yùn)行時(shí)引擎,該引擎根據(jù)網(wǎng)絡(luò)架構(gòu)和部署設(shè)備進(jìn)行優(yōu)化。

這些軟件包的主要特點(diǎn)如下:

對(duì)于分類,您可以從各種 ImageNet 預(yù)訓(xùn)練模型中進(jìn)行選擇,包括 Resnet18 、 AlexNet 、 squezenet 和 Resnet50 。

對(duì)于檢測(cè),目前支持基于 MobileNetV1 的 SSD ,在 COCO 數(shù)據(jù)集上進(jìn)行訓(xùn)練。

相對(duì)于直接在 GPU 上執(zhí)行推理的 PyTorch 模型, TRT 包在執(zhí)行推理方面提供了顯著的加速。

推理結(jié)果以視覺圖形的形式公布。

在運(yùn)行該節(jié)點(diǎn)時(shí),還將顯示一個(gè)窗口,其中可視化了推理結(jié)果。

提供了基于 Jetson 的 Docker 映像和啟動(dòng)文件,以便于使用。

用于 DeepStream SDK 的 ROS 2 節(jié)點(diǎn)

ROS-2-DeepStream-publisher-node.png

圖 3 ROS 2 DeepStream 發(fā)布服務(wù)器節(jié)點(diǎn)的包說明。

DeepStream SDK 提供了一個(gè)完整的流分析工具包,用于使用多傳感器處理、視頻和圖像理解構(gòu)建端到端基于人工智能的解決方案。它支持流行的對(duì)象檢測(cè)和分割模型,如最先進(jìn)的 SSD 、 YOLO 、 FasterRCNN 和 MaskRCNN 。

NVIDIA 根據(jù) DeepStream Python Apps 項(xiàng)目提供執(zhí)行兩個(gè)推理任務(wù)的 ROS 2 節(jié)點(diǎn),如下所示:

目標(biāo)檢測(cè): 檢測(cè)到四類對(duì)象: Vehicle 、 Person 、 RoadSign 和 TwoWheeler 。

屬性分類: 車輛類的對(duì)象有三種類型的屬性: Color 、 Make 和 Type 。

這些發(fā)布服務(wù)器節(jié)點(diǎn)從攝像機(jī)或文件接收單個(gè)或多個(gè)視頻流作為輸入。它們執(zhí)行推理,并將檢測(cè)和分類的結(jié)果發(fā)布到不同的主題。我們還提供了訂閱這些主題并以 vision_msgs 格式顯示結(jié)果的 ros2 訂戶節(jié)點(diǎn)示例。每個(gè)推理任務(wù)還生成一個(gè)可視化窗口,在檢測(cè)到的對(duì)象周圍有邊界框和標(biāo)簽。附加的推理任務(wù)和定制模型可以與本項(xiàng)目中提供的 DeepStream 軟件架構(gòu)集成。

在視頻中,底部的控制臺(tái)顯示了多流發(fā)布節(jié)點(diǎn)發(fā)布分類輸出的平均速率(以Hz為單位)。

vision_msgs Classification2D 格式的示例分類輸出:

[vision_msgs.msg.ObjectHypothesis(id=’silver’, score=0.7280375957489014), vision_msgs.msg.ObjectHypothesis(id=’toyota’, score=0.7242303490638733), vision_msgs.msg.ObjectHypothesis(id=’sedan’, score=0.6891725063323975)]

ROS 2 Jetson 統(tǒng)計(jì)

ros2_jetson_stats 包是一個(gè)社區(qū)構(gòu)建包,用于監(jiān)視和控制您的 Jetson 設(shè)備。它可以在您的終端上運(yùn)行,并提供一個(gè) Python 包,以便于在 Python 腳本中集成。利用 ros2_jetson_stats 庫(kù),構(gòu)建 ROS 2 診斷消息和服務(wù)。

ros2_jetson_stats 軟件包具有以下 ROS 2 診斷消息:

GPU / CPU 使用百分比

EMC /交換/內(nèi)存狀態(tài)(使用率 % )

SoC 的功率和溫度

現(xiàn)在您可以通過 ROS 2 命令行控制以下內(nèi)容:

( EZX29 和 Speed :

電源型號(hào)( nvpmodel )

jetson_clocks

您還可以提供一個(gè)參數(shù)來設(shè)置讀取診斷消息的頻率。

有關(guān)詳細(xì)信息,請(qǐng)參閱 NVIDIA-AI-IOT/ros2_jetson_stats GitHub repo 。

用于 Jetson 的 ROS 2 容器

為了在 Jetson 上輕松運(yùn)行 ROS 2 的不同版本, NVIDIA 發(fā)布了各種 dockerfile ,并為 ROS 2 Eloquent和 Foxy 構(gòu)建了腳本,此外還有 ROS Melodic 和 Noetic 。這些容器提供了在 Jetson 上安裝 ROS 或 ROS 2 并構(gòu)建自己的基于 ROS 的應(yīng)用程序的自動(dòng)化和可靠的方法。

因?yàn)?Elocquent 和 Melodic 已經(jīng)為 Ubuntu18 。 04 提供了預(yù)構(gòu)建的包,所以這些版本的 ROS 被 Dockerfiles 安裝到容器中。另一方面, Foxy 和 Noetic 是從容器內(nèi)部的源代碼構(gòu)建的,因?yàn)檫@些版本都是為 ubuntu20 。 04 預(yù)構(gòu)建的。對(duì)于容器,使用這些版本的 ROS 或 ROS 2 是相同的,不管底層的 OS 發(fā)行版如何。

要構(gòu)建容器,請(qǐng)?jiān)谶\(yùn)行 Jetpack4 。 4 或更新版本的 Jetson 設(shè)備上克隆 repo ,然后啟動(dòng) ROS 構(gòu)建腳本 :

$ git clone https://github.com/dusty-nv/jetson-containers $ cd jetson-containers $ 。/scripts/docker_build_ros.sh all # build all: melodic, noetic, eloquent, foxy $ 。/scripts/docker_build_ros.sh melodic # build only melodic $ 。/scripts/docker_build_ros.sh noetic # build only noetic $ 。/scripts/docker_build_ros.sh eloquent # build only eloquent $ 。/scripts/docker_build_ros.sh foxy # build only foxy

此命令創(chuàng)建具有以下標(biāo)記的容器:

ros:melodic-ros-base-l4t-r32.4.4

ros:noetic-ros-base-l4t-r32.4.4

ros:eloquent-ros-base-l4t-r32.4.4

ros:foxy-ros-base-l4t-r32.4.4

例如,要啟動(dòng) ROS 2 Foxy 容器,請(qǐng)運(yùn)行以下命令:

$ sudo docker run –runtime nvidia -it –rm –network host ros:foxy-ros-base-l4t-r32.4.4

除了 Jetson 設(shè)備上的其他硬件加速器(如視頻編碼器和解碼器),使用 –runtime nvidia 標(biāo)志會(huì)自動(dòng)啟用容器中的 GPU 直通。要在容器中傳輸 MIPI CSI 攝影機(jī),請(qǐng)包含以下標(biāo)志:

–volume /tmp/argus_socket:/tmp/argus_socket

要在容器中傳輸 V4L2 USB 攝像頭,請(qǐng)?jiān)趩?dòng)容器時(shí)安裝所需的 /dev/video* 設(shè)備:

–device /dev/video0

NVIDIA Omniverse ISAAC 面向 ROS 開發(fā)者的仿真平臺(tái)

在 Omniverse NVIDIA 平臺(tái)上構(gòu)建的 NVIDIA ISAAC 模擬仿真工具包 比現(xiàn)有的機(jī)器人工作流程帶來了一些有用的改進(jìn):

它利用了 Omniverse 高度精確的物理模擬和逼真的光線跟蹤圖形,直接與業(yè)界領(lǐng)先的物理框架集成,如用于剛體動(dòng)力學(xué)的 NVIDIA PhysX SDK 。

它重新關(guān)注互操作性、與 NVIDIA ISAAC SDK 的深度集成以及 ROS 的擴(kuò)展。

它很容易擴(kuò)展。通過其基于 Python 的腳本接口,它允許您適應(yīng)自己獨(dú)特的用例。

它是為可部署而構(gòu)建的,其體系結(jié)構(gòu)支持本地工作站上的工作流,并通過云與 NVIDIA NGC 一起工作。

關(guān)于作者

Amey Kulkarni 是 NVIDIA 的開發(fā)技術(shù)工程師,專注于將深度學(xué)習(xí)解決方案有效地部署到邊緣。在 2019 年加入 NVIDIA 之前,他完成了馬里蘭大學(xué)計(jì)算機(jī)工程博士學(xué)位。他的研究興趣是在嵌入式平臺(tái)上部署數(shù)字信號(hào)處理、計(jì)算機(jī)視覺和深度學(xué)習(xí)系統(tǒng)。

Rishabh Chadha 是 NVIDIA 的嵌入式工程實(shí)習(xí)生—— AI ,他專注于為 NVIDIA Jetson 平臺(tái)集成深度學(xué)習(xí)和機(jī)器人技術(shù)框架。他將于 2021 年畢業(yè)于伍斯特理工學(xué)院,獲得機(jī)器人學(xué)碩士學(xué)位。他的興趣主要包括深度學(xué)習(xí)、醫(yī)學(xué)成像和機(jī)器人感知。

Asawaree Bhide 是 NVIDIA 的 AI 嵌入式工程實(shí)習(xí)生,致力于優(yōu)化和部署邊緣設(shè)備上的深度學(xué)習(xí)模型。她目前正在喬治亞理工學(xué)院攻讀計(jì)算機(jī)科學(xué)碩士學(xué)位,她對(duì)解決由具體代理自主導(dǎo)航的復(fù)雜感知任務(wù)感興趣。Tomasz Lewicki 是 NVIDIA 的嵌入式工程實(shí)習(xí)生。他擁有圣何塞州立大學(xué)計(jì)算機(jī)工程碩士學(xué)位,華沙工業(yè)大學(xué)華沙工業(yè)大學(xué)機(jī)器人工程學(xué)學(xué)士學(xué)位。他的興趣集中在計(jì)算機(jī)視覺和機(jī)器人應(yīng)用的深度學(xué)習(xí)上。

審核編輯:郭婷

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

    關(guān)注

    213

    文章

    29730

    瀏覽量

    212832
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106355
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122792
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.58】ROS 2智能機(jī)器人開發(fā)實(shí)踐

    ,問題也越來越多,為了打造一款能夠成為通用機(jī)器人標(biāo)準(zhǔn)化軟件平臺(tái)的“操作系統(tǒng)”,ROS 22014年第一次被提出,之后推出多個(gè)測(cè)試版本,并于2017 年年底發(fā)布第一個(gè)正式版本。 202
    發(fā)表于 03-03 14:18

    【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】+內(nèi)容初識(shí)

    機(jī)器人技術(shù)的飛速發(fā)展,ROS 2 作為其核心工具之一,為開發(fā)者提供了強(qiáng)大的支持。與傳統(tǒng)的理論書籍不同,本書深入淺出地講解了 ROS 2 的架
    發(fā)表于 04-27 11:24

    【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】+ROS2應(yīng)用案例

    地圖構(gòu)建,包括算法原理介紹、安裝與配置方法、仿真環(huán)境中的SLAM以及真實(shí)機(jī)器人的SLAM。 這一過程不僅涉及到計(jì)算機(jī)視覺和機(jī)器人學(xué)的知識(shí),還需要對(duì)
    發(fā)表于 04-27 11:42

    【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】視覺實(shí)現(xiàn)的基礎(chǔ)算法的應(yīng)用

    閱讀心得體會(huì):ROS2機(jī)器人視覺與地圖構(gòu)建技術(shù) 通過對(duì)本書第7章(ROS2視覺應(yīng)用)和第8章(ROS2地圖
    發(fā)表于 05-03 19:41

    ROS RIKIBOT基礎(chǔ)--使用系列 第一章節(jié)】ROS機(jī)器人硬件系統(tǒng) 精選資料分享

    主控制器ROS控制器采用樹莓派4B或者Jetson Nano,運(yùn)行運(yùn)行Ubuntu Mate18.04或Ubuntu18.04系統(tǒng),具體型號(hào)有差異。系統(tǒng)安裝有ROS機(jī)器人操作系統(tǒng),
    發(fā)表于 07-30 06:59

    NVIDIA Jetson的相關(guān)資料分享

    Jetson概述爆炸式增長(zhǎng)的AI模型的復(fù)雜性專為自主機(jī)器開發(fā)人員設(shè)計(jì)的AI計(jì)算板加快AI處理的SDK“JetPack”概述NVIDIA Jetson
    發(fā)表于 11-09 08:26

    如何搭建實(shí)體機(jī)器人ros底盤

    目錄介紹一、底盤主控板二、嵌入式開發(fā)板1. 與上位機(jī)pc的關(guān)系2. 與STM32主控板的關(guān)系介紹自下而上的分析實(shí)體機(jī)器人(差分輪速機(jī)器人)搭建中的關(guān)鍵過程。一、底盤主控板本部分搭建實(shí)體機(jī)器人
    發(fā)表于 01-20 07:36

    怎樣將微型ROS移植到機(jī)器人的RA MCU中呢

    機(jī)器人操作系統(tǒng)(ROS2的數(shù)據(jù)空間。它為嵌入式世界提供了一個(gè)基于標(biāo)準(zhǔn)通信中間件的既定應(yīng)用程序開發(fā)框架。將 mic
    發(fā)表于 02-11 06:19

    NVIDIA Isaac SDK現(xiàn)已可用,即刻下載開啟您的機(jī)器人開發(fā)之旅吧!

    利用Isaac Robot Engine開發(fā)的機(jī)器人應(yīng)用程序可以無(wú)縫運(yùn)行在NVIDIA Jetson Nano和NVIDIA
    的頭像 發(fā)表于 04-26 16:12 ?6634次閱讀

    如何通過NVIDIA ISAAC ROS GEMs

    在這篇文章中,我討論了如何使用 NVIDIA ISAAC ROS GEMs 加速機(jī)器人部署。解決方案的重點(diǎn)是使用nanosaur檢測(cè) AprilTags ,這是一種基于 NVIDIA
    的頭像 發(fā)表于 04-15 16:42 ?2700次閱讀
    如何通過<b class='flag-5'>NVIDIA</b> ISAAC <b class='flag-5'>ROS</b> GEMs

    研討會(huì)預(yù)告 | Jetson 使用 vSLAM 進(jìn)行 ROS 2 精準(zhǔn)定位

    NVIDIA?Isaac ROS 是一個(gè)硬件加速包集合,能夠使 ROS 2 開發(fā)者更容易地 NVIDI
    的頭像 發(fā)表于 11-10 11:00 ?1370次閱讀

    基于 NVIDIA Jetson 使用硬件環(huán)設(shè)計(jì)機(jī)器人

    Hardware-in-the-Loop(硬件環(huán),HIL)測(cè)試是一種強(qiáng)大的工具,用于驗(yàn)證和核實(shí) 包括機(jī)器人技術(shù)和計(jì)算機(jī)視覺在內(nèi)的 復(fù)雜系統(tǒng)的性能。本文探討了 HIL 測(cè)試是如何通過 NVIDIA
    的頭像 發(fā)表于 06-14 18:35 ?1233次閱讀
    基于 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Jetson</b> 使用硬件<b class='flag-5'>在</b>環(huán)設(shè)計(jì)<b class='flag-5'>機(jī)器人</b>

    NVIDIA Isaac 平臺(tái)先進(jìn)的仿真和感知工具助力 AI 機(jī)器人技術(shù)加速發(fā)展

    基金會(huì)首席技術(shù)官 Geoff Biggs 表示:“ROS 一直持續(xù)發(fā)展壯大,并為整個(gè)機(jī)器人社區(qū)提供開源軟件。此次發(fā)布的 NVIDIA 全新預(yù)構(gòu)建
    的頭像 發(fā)表于 10-20 02:00 ?1482次閱讀
    <b class='flag-5'>NVIDIA</b> Isaac 平臺(tái)先進(jìn)的仿真和感知工具助力 AI <b class='flag-5'>機(jī)器人</b>技術(shù)加速發(fā)展

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

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

    使用NVIDIA Jetson打造機(jī)器人導(dǎo)盲犬

    Selin Alara Ornek 是一名富有遠(yuǎn)見的高中生。她使用機(jī)器學(xué)習(xí)和 NVIDIA Jetson邊緣 AI 和機(jī)器人平臺(tái),為視障人士打造了機(jī)
    的頭像 發(fā)表于 11-09 13:51 ?753次閱讀