隨著自主性提升、傳感器數量與種類以及傳感器融合算法的日益增加,機器人正變得越來越復雜。為了運行這些日益復雜的工作負載,必須利用硬件加速,使機器人應用能夠以更快的速度和更高的效率運行更大規模的工作負載。
NVIDIA Isaac ROS始終致力于為 ROS 開發者提供加速計算軟件包和工具,用以開發高性能且節能的機器人應用。
NVIDIA 率先將加速計算納入了 ROS 2,并不斷改進更新版本。在過去的兩年中,NVIDIA 已增加了 20 多個硬件加速 ROS 軟件包,支持最新發行的 ROS 2。
團隊去年與 Open Robotics 一起,在提供硬件加速器的計算平臺上加入了適應和類型協商以提高 ROS 的性能。他們還實現了用于 Isaac ROS 的適應和類型協商——NITROS(NVIDIA Isaac Transport for ROS)。
最新發布的NVIDIA Isaac ROS Developer Preview 3(DP3)包括重要功能的更新和提升。
NVIDIA Isaac ROS Developer Preview 3
NVIDIA Isaac ROS DP3 加入了許多新的功能,讓 ROS 社區能夠從硬件加速中獲益,主要包括:用于自動定位機器人的新地圖定位器,帶有人類檢測功能的更新版 NvBlox、用于對 ROS 2 圖像進行實際基準測試的全新 ROS 2 基準測試工具,以及開源 NITROS 軟件包。
不到半秒就能在地圖中自動定位
移動機器人(比如用于倉庫或服務的機器人等)在開始進入空間之前,需要知道它們在地圖中的初始位姿。向機器人提供這種初始位姿信息的最常見方法是手動設置,不過這種方法不僅要在整個過程中增加人工干預,還可能需要 30 秒以上的時間。
使用新的 Isaac ROS 地圖定位 ROS 軟件包,就不需要手動設置機器人的初始位置和方向。該軟件包使用激光雷達測距掃描,可在不到半秒的時間內自動估計在所占網格地圖中的位姿。定位器可以與平面激光雷達或 3D 激光雷達同時工作,并且可用于初始化移動機器人的導航。
這個 ROS 軟件包通過 GPU 加速并利用 NITROS 創建沒有通信開銷的高效 ROS 流程,已經與 Nav2 集成。
圖 1 NVIDIA Isaac ROS 地圖定位軟件包
在不到半秒的時間內自動計算出初始全局位姿
移除三維重建中的人類
Isaac ROS NvBlox提供了一個用于三維重建的 GPU 加速軟件包,并利用傳感器觀測數據繪制了機器人周邊環境的代價地圖。這些都對路徑規劃器生成無碰撞路徑十分有用。
在人群中移動的機器人需要首先檢測到人類,然后根據與他們的接近程度選擇不同的路線。盡管人類應該成為代價地圖的一部分(用來計算無碰撞路徑),但不應該成為三維重建的一部分。三維重建應該只包含靜態障礙物。
Isaac ROS DP3 版本所包含的 Isaac ROS NvBlox 軟件包更新版本可以檢測和劃分人類,并提供人類的代價地圖以避免發生碰撞。同樣,它還提供用于三維重建的靜態代價地圖,以避免與靜態物體發生碰撞。
圖 2 Isaac ROS NvBlox 軟件包
在三維重建過程中檢測并移除人類
對 ROS 圖像進行標準的基準測試
對 ROS 圖像進行的基準測試應反映出在實際工作負載下的性能。對整個 ROS 圖像(而不是一個特定的 ROS 節點)進行基準測試十分重要,該測試將包含 RCL 中指示實際性能的消息傳輸成本。
Isaac ROS DP3 包含 ROS 2 的開源基準測試工具。該工具不需要通過修改節點來度量結果,而且可以將輸入的 rosbag 數據集標準化,以便對基準結果進行獨立驗證。
圖 3 ROS 2 基準架構
該基準測試工具采用行業最佳實踐,并專門為了測量實時機器人應用中的節點圖吞吐量和延遲而進行了專業強化。亮點包括:
可靠的結果:在多秒內進行 N 次(默認 N=5 )自動性能測試,舍棄結果的最小和最大值以減少誤差。基準結果在日志文件中報告,以便導入用戶所選擇的可視化工具中。
輸入數據集:可在 CCv4.0 歸屬許可證下從NGC下載,r2b data set 2023為 rosbag 的圖像提供一致的輸入,并且用戶可根據需要添加額外的輸入數據。
輸入圖像分辨率:各種計算硬件可根據機器人應用的不同以合適的分辨率處理圖像。
輸入和輸出傳輸時間:RCL 發布和接收進程間和進程內消息的時間包含在測量結果中,能夠準確表示機器人應用中的預期情況,避免了去除消息傳遞成本后的夸大結果。
輸入和輸出類型自適應:使用標準 ROS 類型輸入數據或者使用類型適應和類型協商。
基準參數:用于測試的參數包括數據輸入長度、發布速率和輸入數據大小,并且可通過配置文件自定義。
吞吐量自動查找器:測量圖像的峰值吞吐量,在 topic 下降到 <1% 的情況下,要求自動找到圖像的峰值吞吐量。吞吐量自動查找器能夠高效查找峰值吞吐量的輸入數據發布速率。
實時延遲:根據固定的 topic 發布速率實時測量延遲。該數據顯示以預期的固定發布速率向實時系統傳輸內容,吞吐量會顯示機器人應用可能的峰值性能。
云原生:測試可以作為自動化測試的一部分在 Kubernetes 上執行,也可以作為現代軟件開發的一部分在 CI/CD 每日夜間測試中執行。也可以在本地開發者系統上進行測試。
黑盒測試:在基準測試中直接使用所有性能測量工具,將節點圖像作為二進制文件進行測試。這期間不會修改被測試的圖像中的代碼,并且可以用相同的工具以一種自然的方式進行包含從開源到專有解決方案的性能測試。
透明性:JSON 中的結果包含用于運行基準測試的參數,包括用于獨立結果驗證的輸入 rosbag 的 MD5 算法的數據。
支持 NVIDIA Jetson 新增平臺
Isaac ROS DP3 增加了對 NVIDIA Jetson 系列最新產品NVIDIA Jetson Orin Nano和NVIDIA Jetson Orin NX的支持。它還支持新發布的NVIDIA Jetson Orin Nano 開發者套件。所有 Jetson Orin 和Xavier系列的模塊和開發者套件均支持 Isaac ROS。
圖 4 Isaac ROS DP3
支持 Jetson Orin 系列的模塊和開發者套件
新版本還增加了對新發布的NVIDIA Ada LovelacearchitectureGPU的支持。
從此更新版本開始,NITROS 加速的 Isaac ROS 軟件包中的大部分內容均已開源。作為 ROS 開發者,您現在可以擴展這些軟件包、解決您遇到的任何問題并向 Isaac ROS 社區投稿。
總結
NVIDIA Isaac ROS Developer Preview 3 是一項重大更新,讓 ROS 社區能夠從硬件加速中獲益,從而更輕松地構建高性能節能機器人應用。該版本的亮點主要包括:可對 ROS 2 圖像進行實際基準測試的全新 ROS 2 基準測試工具;可對機器人進行自動定位的全新地圖定位器;開源的 NITROS 軟件包;以及帶有人類檢測功能的更新版 NvBlox。
其他資源:
報名參與網絡研討會:使用 ros2_benchmark 測量機器人應用性能。(https://gateway.on24.com/wcc/experience/elitenvidiabrill/1407606/3998202/isaac-ros-webinar-series)
閱讀 Isaac ROS 四月更新,了解更多細節和Isaac ROS DP3 中新增的功能。
(https://discourse.ros.org/t/isaac-ros-april-update-open-source-orin-nano-lovelace-gpu-s/30755)
訪問 GitHub 上的 Isaac ROS 并開始使用 Isaac ROS DP3。
(https://github.com/NVIDIA-ISAAC-ROS)
在 NVIDIA Isaac ROS 論壇上與其他用戶進行交流。(https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/isaac-ros/600)
審核編輯 :李倩
-
機器人
+關注
關注
210文章
28231瀏覽量
206615 -
NVIDIA
+關注
關注
14文章
4949瀏覽量
102826 -
激光雷達
+關注
關注
967文章
3943瀏覽量
189627
原文標題:最新發布 | NVIDIA Isaac ROS Developer Preview 3,用于構建高性能機器人應用
文章出處:【微信號:Leadtek,微信公眾號:麗臺科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論