NVIDIA GPU ROS GEMs 是一個 ROS 軟件包,用于優(yōu)化基于人工智能的機器人應用程序,使其在 NVIDIA ISAAC 和 Jetson 平臺上運行。人們越來越有興趣將這些軟件包與 Nav2 項目集成,以幫助自主機器人在動態(tài)環(huán)境中成功導航。
這項工作完全是在仿真中完成的,可以作為將機器人能力從仿真轉(zhuǎn)移到現(xiàn)實世界的起點( Sim2Real )。
在這篇文章中,我將關(guān)注一個現(xiàn)實世界中的問題,即機器人因與倉庫中的叉車叉齒發(fā)生碰撞而受損。叉車是一種用于短距離搬運重物的工業(yè)卡車。它有一個被稱為尖頭(或叉子)的延伸部分,可以在物體下方滑動并提升物體。
主要使用的機器人傳感器( lidar )可以檢測叉車的車身,但不能檢測靠近地面的叉齒。在這種情況下,還需要其他傳感器來檢測這些彈齒。在本項目中,您將在模擬中的機器人上使用兩個 RGB 攝像頭。來自這些相機的圖像用于使用 Isaac ROS stereo GEM 。
根據(jù)視差,立體寶石生成一個點云,其中包含有關(guān)相機視野中的所有對象在環(huán)境中的位置的信息。該信息用于更新導航節(jié)點,以便在可能發(fā)生碰撞時更改機器人的路徑。
圖 3 顯示了該項目的基本工作流程。
圖 3 工作流程圖
NVIDIA ISAAC 是的設(shè)置
在 NVIDIA ISAAC Sim 卡中使用倉庫環(huán)境,其中包括 Carter robot 和叉車。按照 ROS2 導航示例 生成占用地圖,供 Nav2 堆棧使用,以避免貨架等靜態(tài)障礙物。創(chuàng)建占用地圖后,動態(tài)或移動障礙物(包括叉車和手推車)將添加到環(huán)境中。這是為了模擬現(xiàn)實世界,在沒有機器人知識的情況下,物體在環(huán)境中發(fā)生變化。
重要的是要注意卡特機器人的左、右立體攝像機在NVIDIA ISAAC SIM 之間的偏移,以 NVIDIA ISAAC ROS 立體聲寶石來正確地產(chǎn)生視差。在開始模擬之前,確保 NVIDIA ISAAC Sim 卡中的 ROS2 bridge 已啟用,以便可以在 NVIDIA ISAAC Sim 卡之外傳輸 ROS2 消息。
NVIDIA ISAAC ROS 立體聲寶石和導航 2
Nav2 堆棧使用 全球和本地成本圖 引導機器人避開障礙物。本地成本圖根據(jù)環(huán)境中新的移動障礙物進行更新,并可以將激光掃描和點云作為機器人傳感器的輸入。
由于激光雷達的激光掃描無法在真實場景中拾取叉齒,所以可以通過使用立體圖像中的點云來解決這個問題,這些點云會被傳遞到 Nav2 。這些點云是使用 NVIDIA ISAAC ROS 立體聲寶石產(chǎn)生的。
圖 4 當機器人在叉車前面時,使用NVIDIA ISAAC ROS 立體聲寶石產(chǎn)生點云
在圖 4 的右側(cè),彈齒下方的淺藍色區(qū)域顯示, Nav2 本地成本地圖已經(jīng)更新,以表示那里的障礙物,機器人現(xiàn)在可以避開。 NVIDIA ISAAC Sim 卡的圖像平均速率為 20 FPS ,而 stereo GEM 的點云圖像平均速率為 16 FPS 。
stereo GEM 生成一個視差圖像,然后為機器人相機的左右圖像中看到的所有對象生成一個點云。使用 ISAAC ROS 分割 GEM ,可以過濾此差異以生成僅包含屬于感興趣對象(例如叉車叉齒)的點的點云。
下一節(jié)將更詳細地解釋這種過濾。
使用NVIDIA ISAAC ROS 分割 GEM 的視差濾波
下面介紹了如何將基于合成生成數(shù)據(jù)訓練的深度學習模型與 NVIDIA ISAAC ROS 推理機結(jié)合使用。您可以實現(xiàn)同樣的目標:使用 GEMs 和 Nav2 堆棧,幫助機器人在模擬中避免叉車叉齒。
但是,您沒有為機器人相機視野中的所有對象生成點云,而是只為叉車尖頭過濾并生成聚焦點云。
圖 5 使用 NVIDIA ISAAC ROS 分割和立體寶石執(zhí)行視差過濾的工作流程
我使用了一個在叉車叉齒圖像上訓練的分割模型。 NVIDIA ISAAC ROS 分割 GEM 在模擬中從機器人獲取 RGB 圖像,并使用給定模型生成相應的分割圖像。
任何模型都可以與此管道一起使用,以根據(jù)用例過濾特定對象。只需在感興趣的數(shù)據(jù)上生成( Replicator Composer )和訓練( TAO )即可!
圖 6 訓練模型根據(jù)機器人攝像頭的圖像以 39 FPS 的速度生成彩色分割圖像。 ( top left ) 機器人的左攝像頭視圖。 ( top right ) 分割掩模; ( bottom ) 叉車齒的過濾點云。
原始分割圖像中的每個像素代表圖像中該位置的對象的類別標簽。例如,知道感興趣的標簽,如果 2 代表叉齒,則在立體寶石生成的相應視差圖像中將非感興趣點設(shè)置為 invalid 。結(jié)果生成的點云不包括這些點。這有助于減少點云中的噪波。
圖 7 視差濾波后生成的點云
與圖 4 中的點云不同,它只包含屬于叉車叉齒的點。
ROS 域 ID
隨著NVIDIA ISAAC ROS GEMS 在容器內(nèi)運行, NVIDIA ISAAC SIM 在主機上運行,必須確保 ROS 主題可以在主機和容器之間傳遞。
為此,請將所有進程的 ROS 域 ID 設(shè)置為相同的編號。使用相同域 ID 的所有 ROS2 節(jié)點都可以通信;那些使用不同域 ID 的人不能。有關(guān)更多信息,請參閱 The ROS_DOMAIN_ID 。
筆記
本項目中介紹的工作流程避免了激光雷達和攝像頭可以檢測到的障礙物。對于太小或被遮擋的障礙物,探索其他傳感器。
該方法對視差計算和由此產(chǎn)生的點云質(zhì)量非常敏感。由于計算視差是一項具有挑戰(zhàn)性的任務(wù),因此可能會得到噪聲點云,從而導致 Nav2 錯誤地更新成本圖。
視差濾波取決于分割模型的性能。無法生成精確分割遮罩的模型會導致視差和點云過濾效果不佳。
關(guān)于作者
Asawaree Bhide 是 NVIDIA 的 AI 嵌入式工程實習生,致力于優(yōu)化和部署邊緣設(shè)備上的深度學習模型。她目前正在喬治亞理工學院攻讀計算機科學碩士學位,她對解決由具體代理自主導航的復雜感知任務(wù)感興趣。Tomasz Lewicki 是 NVIDIA 的嵌入式工程實習生。他擁有圣何塞州立大學計算機工程碩士學位,華沙工業(yè)大學華沙工業(yè)大學機器人工程學學士學位。他的興趣集中在計算機視覺和機器人應用的深度學習上。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5152文章
19682瀏覽量
317858 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5309瀏覽量
106497 -
AI
+關(guān)注
關(guān)注
88文章
35217瀏覽量
280398
發(fā)布評論請先 登錄
NVIDIA Isaac Lab可用環(huán)境與強化學習腳本使用指南

NVIDIA Isaac Sim和Isaac Lab現(xiàn)已推出早期開發(fā)者預覽版
NVIDIA Isaac Sim 4.5.0與lsaac Lab 2.0的安裝教程

NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新
NVIDIA技術(shù)驅(qū)動帕西尼觸覺感知與人形機器人智能突破
NVIDIA Isaac 是英偉達推出的綜合性機器人開發(fā)平臺
智元機器人基于NVIDIA Isaac GR00T打造高效仿真數(shù)據(jù)采集方案

NVIDIA宣布NVIDIA Isaac重要更新
NVIDIA發(fā)布Isaac GR00T Blueprint,加速人形機器人開發(fā)
NVIDIA推出Isaac GR00T Blueprint
堅米智能借助NVIDIA Isaac Lab加速四足機器人開發(fā)
日本企業(yè)借助NVIDIA產(chǎn)品加速AI創(chuàng)新
堆棧和內(nèi)存的基本知識

評論