一直以來(lái),為機(jī)器人仿真構(gòu)建逼真的 3D 環(huán)境是一項(xiàng)非常耗費(fèi)人力的工作,往往需要數(shù)周的手動(dòng)建模與配置。如今,借助生成式世界模型,開(kāi)發(fā)者只需輸入文本提示,就能在極短時(shí)間內(nèi)生成一個(gè)逼真、可直接用于仿真的虛擬世界。將開(kāi)源機(jī)器人參考框架 NVIDIAIsaac Sim與生成式模型,比如World Labs 推出的 Marble等相結(jié)合,即可通過(guò)文本或圖像提示,為機(jī)器人開(kāi)發(fā)創(chuàng)建完整的 3D 場(chǎng)景。
World Labs 近期發(fā)布了題為“借助 Marble 實(shí)現(xiàn)機(jī)器人仿真規(guī)?;钡陌咐芯浚故玖搜芯咳藛T如何利用 Marble 的生成式虛擬世界,加速機(jī)器人的訓(xùn)練、測(cè)試及仿真到現(xiàn)實(shí)的遷移。
本教程將帶你完成一套端到端工作流:
場(chǎng)景導(dǎo)出:從 Marble 資源庫(kù)中導(dǎo)出 Gaussian splats(PLY 格式)與碰撞網(wǎng)格(GLB 格式)
場(chǎng)景格式轉(zhuǎn)換:通過(guò) NVIDIA Omniverse NuRec 將 Marble 導(dǎo)出文件轉(zhuǎn)換為 USD 格式
場(chǎng)景導(dǎo)入與構(gòu)建:將轉(zhuǎn)換后的文件導(dǎo)入 NVIDIA Isaac Sim
在Isaac Sim中開(kāi)展仿真:添加機(jī)器人并運(yùn)行仿真
完成全部步驟后,你將獲得一個(gè)支持機(jī)器人物理交互的逼真的虛擬環(huán)境,且整個(gè)生成過(guò)程耗時(shí)遠(yuǎn)低于傳統(tǒng)方法。接下來(lái),讓我們正式開(kāi)始。
步驟1:從World Labs Marble獲取3D廚房場(chǎng)景
World Labs Marble 可生成包含豐富視覺(jué)細(xì)節(jié)與幾何數(shù)據(jù)(如深度信息、表面法向量)的場(chǎng)景,同時(shí)輸出可用于物理仿真的碰撞網(wǎng)格文件。
本教程不會(huì)從零生成新的廚房場(chǎng)景,而是直接使用 Marble 示例資源庫(kù)中現(xiàn)成的廚房場(chǎng)景模板。這一做法既能節(jié)省時(shí)間,又能確保我們獲得一個(gè)開(kāi)箱即用的逼真的仿真環(huán)境。所選場(chǎng)景為細(xì)節(jié)豐富的廚房與客廳室內(nèi)空間,內(nèi)置全套家具及常見(jiàn)廚房用品。
Marble廚房場(chǎng)景導(dǎo)出步驟
登錄Marble平臺(tái):在網(wǎng)頁(yè)端登錄你的 Marble 賬戶,登錄后導(dǎo)航至預(yù)制廚房場(chǎng)景模板。
打開(kāi)場(chǎng)景:點(diǎn)擊目標(biāo)場(chǎng)景,在 Marble 3D 查看器中加載。你可以像玩游戲一樣,通過(guò) WASD 按鍵與鼠標(biāo)操控視角瀏覽場(chǎng)景,確認(rèn)場(chǎng)景效果是否符合預(yù)期。
下載場(chǎng)景文件:在 Marble 界面底部工具欄找到“下載”按鈕。
選擇“Splats(PLY)”下載場(chǎng)景的 Gaussian splat 表示文件。Marble 提供的 Gaussian splat 文件為 .ply 格式,內(nèi)含數(shù)百萬(wàn)個(gè)半透明粒子,可高精度還原場(chǎng)景細(xì)節(jié)。
選擇“Collider Mesh(GLB)”下載場(chǎng)景的三角網(wǎng)格文件。該文件為標(biāo)準(zhǔn) glTF 模型格式,包含廚房場(chǎng)景的完整幾何結(jié)構(gòu)。
注意:在 World Labs Marble 中導(dǎo)出 PLY 與 GLB 文件需訂閱付費(fèi)套餐。若暫未訂閱,可使用 Marble 資源庫(kù)提供的示例 PLY 與 GLB 文件。本教程將以廚房場(chǎng)景的示例PLY與GLB文件進(jìn)行演示,建議將文件分別命名為 MarbleKitchenwithLight.ply 和 MarbleKitchenwithLight_collider.glb 保存。
至此,我們已獲取兩種格式的廚房環(huán)境文件——Gaussian splats(PLY)與三角網(wǎng)格格式(GLB),二者功能各有側(cè)重:PLY 文件負(fù)責(zé)呈現(xiàn)場(chǎng)景的完整視覺(jué)細(xì)節(jié),GLB 文件則提供仿真所需的物理碰撞幾何結(jié)構(gòu)。
步驟2:將下載的PLY文件轉(zhuǎn)換為USDZ格式
NVIDIA Isaac Sim 采用通用場(chǎng)景描述(USD)作為標(biāo)準(zhǔn)場(chǎng)景格式。若要在 Isaac Sim 中使用 Marble 生成的場(chǎng)景,需先將導(dǎo)出的 PLY 文件轉(zhuǎn)換為 USD 格式,導(dǎo)入后,再借助 NVIDIA Omniverse NuRec 的功能,高效渲染基于點(diǎn)云的場(chǎng)景。
NuRec 的核心是基于高斯模型的重建與渲染算法 3DGUT。NVIDIA3DGRUT 代碼庫(kù)中提供了將 .ply splat 文件轉(zhuǎn)換為 USDZ 文件的腳本,USDZ 是一種基于 ZIP 壓縮的 USD 專(zhuān)用歸檔格式。具體轉(zhuǎn)換步驟如下:
1. 配置 3DGRUT 環(huán)境:克隆 3DGRUT 代碼庫(kù)并完成環(huán)境部署。本教程將在名為“3dgrut”的獨(dú)立 Conda 環(huán)境中進(jìn)行配置。
該環(huán)境需運(yùn)行于 Linux 系統(tǒng),且需配備 NVIDIA GPU、CUDA 11.8 及以上版本、GCC 11 及以下版本。若你已擁有包含 PyTorch 等必要依賴庫(kù)的 Python 環(huán)境,也可直接在該環(huán)境中運(yùn)行格式轉(zhuǎn)換腳本。
git clone --recursive https://github.com/nv-tlabs/3dgrut.git cd 3dgrut chmod +x install_env.sh ./install_env.sh 3dgrut conda activate 3dgrut
2.PLY 轉(zhuǎn) USDZ 格式:完成 3DGRUT 環(huán)境配置后,運(yùn)行以下腳本,將 Marble 點(diǎn)云文件轉(zhuǎn)換為 USDZ 格式:
$ python -m threedgrut.export.scripts.ply_to_usd \
/path/to/MarbleKitchenwithLight.ply \
--output_file /path/to/MarbleKitchenwithLight.usdz
該指令將讀取 .ply 文件并生成 .usdz 文件。USDZ 采用自定義 USD 架構(gòu)(基于 UsdVolVolume 的擴(kuò)展)存儲(chǔ) Gaussian splats 數(shù)據(jù),確保 Omniverse 可對(duì)其進(jìn)行高效渲染。本質(zhì)上,該格式將點(diǎn)云嵌入為體素基元,完整保留 Marble 場(chǎng)景的視覺(jué)逼真度。關(guān)于 NuRec 神經(jīng)體渲染技術(shù)及其在 Omniverse 中的實(shí)現(xiàn)細(xì)節(jié),可參考NuRec 渲染技術(shù)文檔。
此時(shí),我們已獲得兩個(gè)關(guān)鍵文件:
MarbleKitchenwithLight.usdz——用于呈現(xiàn)視覺(jué)效果的 splat 場(chǎng)景文件
MarbleKitchenwithLight_collider.glb——用于物理仿真的碰撞網(wǎng)格文件
步驟3:將USDZ/GLB文件導(dǎo)入Isaac Sim并構(gòu)建仿真場(chǎng)景
生成 USDZ 文件后,下一步需將廚房場(chǎng)景導(dǎo)入 Isaac Sim,完成網(wǎng)格與 Gaussian splats 的對(duì)齊,并添加物理屬性與光照系統(tǒng),使其具備機(jī)器人交互條件。
由于需要編輯場(chǎng)景內(nèi)容,我們需先解壓 USDZ 歸檔文件,打開(kāi)生成的 default.usda 文件,再按以下步驟操作:
高斯體素模型幾何對(duì)齊:
為確保導(dǎo)入場(chǎng)景的原點(diǎn)與縮放比例適配 Isaac Sim,需執(zhí)行以下對(duì)齊操作:
在場(chǎng)景中創(chuàng)建一個(gè)地面平面,作為導(dǎo)入高斯體素模型的地面參考基準(zhǔn),同時(shí)充當(dāng)平滑的碰撞面。
導(dǎo)入的高斯體素模型包含在“xform”基元中,可通過(guò)該基元調(diào)整模型位置。選中 xform 基元,修改其“平移”參數(shù),使廚房場(chǎng)景的地面與創(chuàng)建的地面平面完全貼合。以地面平面為視覺(jué)參考,移動(dòng)高斯體素模型,直至點(diǎn)云模型的地面與參考平面重合。
生成的場(chǎng)景可能與真實(shí)世界比例存在偏差,可借助一個(gè)邊長(zhǎng)為 1 米的默認(rèn)立方體作為參考,調(diào)整場(chǎng)景在 X、Y、Z 三個(gè)軸向上的縮放比例。在本教程的廚房場(chǎng)景示例中,將縮放因子設(shè)為 2 時(shí),櫥柜、爐灶等物體的尺寸基本符合真實(shí)比例。
調(diào)整 xform 基元的旋轉(zhuǎn)參數(shù),確保高斯點(diǎn)云模型與地面平面精準(zhǔn)對(duì)齊。一個(gè)簡(jiǎn)便的驗(yàn)證方法是:以廚房墻面瓷磚為參考,旋轉(zhuǎn)高斯模型,使瓷磚與地面平面保持完全平行。對(duì)齊完成后,將地面平面下移至與廚房地面完全貼合的位置。
為場(chǎng)景添加物理屬性與光照:
完成高斯模型對(duì)齊后,需為場(chǎng)景添加物理屬性與光照系統(tǒng),確保陰影效果與物體交互符合物理規(guī)律。
我們可再次使用之前創(chuàng)建的立方體,調(diào)整場(chǎng)景縮放比例,同時(shí)測(cè)試陰影與物理效果:
在地面平面的碰撞網(wǎng)格設(shè)置中,啟用“無(wú)光物體”屬性,確保其能正常接收陰影。
在場(chǎng)景中添加穹頂光源。
在場(chǎng)景窗口中選中“gauss”體素基元,在屬性窗口中向下滾動(dòng)至“原始 USD 屬性(Raw USD Properties)”,點(diǎn)擊展開(kāi)更多設(shè)置;找到“代理(proxy)”字段,點(diǎn)擊“添加目標(biāo)(Add Target)”;最后選擇地面平面的碰撞網(wǎng)格(GroundPlane CollisionMesh)作為關(guān)聯(lián)目標(biāo)。
移動(dòng)立方體,確認(rèn)陰影效果是否符合預(yù)期。
將立方體設(shè)置為帶碰撞體的剛體,點(diǎn)擊仿真運(yùn)行按鈕,此時(shí)立方體應(yīng)能與地面平面產(chǎn)生符合預(yù)期的交互。但需注意,此時(shí)立方體會(huì)“直接穿過(guò)”高斯模型,因此我們還需為高斯模型配置物理屬性。
高斯體素模型的碰撞信息存儲(chǔ)在 GLB 文件中,需導(dǎo)入該網(wǎng)格文件并與高斯體素模型對(duì)齊,同時(shí)啟用其碰撞體功能:
將 MarbleKitchenwithlight_collider.glb 文件拖拽至高斯體素模型的層級(jí)下,確保層級(jí)結(jié)構(gòu)正確,此時(shí)碰撞網(wǎng)格將顯示在場(chǎng)景中。
適當(dāng)縮小場(chǎng)景視圖,將碰撞網(wǎng)格的 X 軸旋轉(zhuǎn)角度設(shè)為 -90°,使其坐標(biāo)系統(tǒng)與高斯體素模型保持一致,完成渲染模型與碰撞網(wǎng)格的精準(zhǔn)對(duì)齊。
為導(dǎo)入的碰撞網(wǎng)格啟用物理碰撞體預(yù)設(shè)。
關(guān)閉碰撞網(wǎng)格的可見(jiàn)性(因其與高斯體素模型重疊)。此操作僅影響場(chǎng)景視覺(jué)效果,物理仿真仍會(huì)使用已配置的碰撞體。
至此,場(chǎng)景的幾何結(jié)構(gòu)、物理屬性與光照系統(tǒng)均已配置完畢:高斯體素模型負(fù)責(zé)呈現(xiàn)逼真的視覺(jué)效果,GLB 碰撞網(wǎng)格與地面平面則處理物理碰撞與陰影計(jì)算?,F(xiàn)在,場(chǎng)景已具備添加機(jī)器人的條件。
步驟4:添加機(jī)器人并運(yùn)行仿真
完成廚房場(chǎng)景的對(duì)齊與物理屬性配置后,最后一步是添加機(jī)器人,通過(guò)操控機(jī)器人驗(yàn)證場(chǎng)景搭建效果:
將 NVIDIA Nova Carter 機(jī)器人拖拽至場(chǎng)景中。
為機(jī)器人添加差分控制器,并啟用鍵盤(pán)控制功能。系統(tǒng)將自動(dòng)生成所需的動(dòng)作圖譜,支持通過(guò)鍵盤(pán)操控機(jī)器人移動(dòng)。
切換至機(jī)器人搭載的視角,點(diǎn)擊播放按鈕。使用 WASD 鍵操控機(jī)器人移動(dòng),同時(shí)驗(yàn)證其是否遵循廚房場(chǎng)景的幾何約束:機(jī)器人應(yīng)能穩(wěn)定停留在地面上,與操作臺(tái)及家具發(fā)生碰撞,且不會(huì)穿透場(chǎng)景模型。
此時(shí),Marble 廚房場(chǎng)景已作為支持物理仿真的環(huán)境,完全集成至 Isaac Sim 中,你可通過(guò)交互方式操控機(jī)器人在場(chǎng)景內(nèi)移動(dòng)。
總結(jié)
本教程演示了如何下載一個(gè)包含完整幾何結(jié)構(gòu)的 AI 生成 3D 環(huán)境,并將其導(dǎo)入 Isaac Sim 構(gòu)建可直接用于仿真的場(chǎng)景,最終在 AI 生成的虛擬世界中完成機(jī)器人部署。這套端到端流程僅需數(shù)小時(shí)即可完成。這種快速生成多樣化逼真虛擬世界的能力,為機(jī)器人仿真開(kāi)發(fā)的規(guī)模化落地提供了可能。借助 Marble 與 Isaac Sim,只要你能描述出目標(biāo)場(chǎng)景,當(dāng)天即可開(kāi)展機(jī)器人測(cè)試工作。
想要探索更多功能,可嘗試以下操作:
使用 World LabsMarble創(chuàng)建自定義環(huán)境:支持通過(guò)文本描述、單張圖片、多角度照片甚至粗略的 3D 布局作為輸入,生成專(zhuān)屬仿真場(chǎng)景。
基于輸入圖像創(chuàng)建自定義環(huán)境并用于 Isaac Sim:可借助 NVIDIA 研究項(xiàng)目Lyra實(shí)現(xiàn)——該項(xiàng)目基于視頻擴(kuò)散模型,提供生成式 3D 場(chǎng)景重建能力。
更多仿真技術(shù)創(chuàng)新,敬請(qǐng)關(guān)注SIGGRAPH Asia的有關(guān)信息,與 NVIDIA 技術(shù)專(zhuān)家深入交流。SIGGRAPH Asia 于 12 月 15 至 18 日在香港會(huì)議展覽中心舉辦。
關(guān)于作者
Wonsik Han 是 NVIDIA 自動(dòng)駕駛汽車(chē)集團(tuán)的高級(jí)產(chǎn)品經(jīng)理。他在全球汽車(chē)制造商和自動(dòng)駕駛初創(chuàng)公司擔(dān)任戰(zhàn)略、業(yè)務(wù)開(kāi)發(fā)和產(chǎn)品管理職務(wù)方面擁有十多年的經(jīng)驗(yàn)。Wonsik 擁有杜克大學(xué)工商管理碩士學(xué)位。
Rishabh Chadha 是 NVIDIA 的嵌入式工程實(shí)習(xí)生—— AI ,他專(zhuān)注于為 NVIDIA Jetson 平臺(tái)集成深度學(xué)習(xí)和機(jī)器人技術(shù)框架。他將于 2021 年畢業(yè)于伍斯特理工學(xué)院,獲得機(jī)器人學(xué)碩士學(xué)位。他的興趣主要包括深度學(xué)習(xí)、醫(yī)學(xué)成像和機(jī)器人感知。Daniel Lee 是 NVIDIA 的產(chǎn)品經(jīng)理,專(zhuān)注于專(zhuān)業(yè)可視化解決方案的軟件。
Isaac Deutsch 是 NVIDIA 的一名高級(jí)研究科學(xué)家,將計(jì)算機(jī)視覺(jué)、成像和實(shí)時(shí)計(jì)算機(jī)圖形技術(shù)相結(jié)合。他為 Instant-NGP、NuRec 和 3DGRUT 做出了貢獻(xiàn)。他目前的工作重點(diǎn)是通過(guò)計(jì)算攝影實(shí)現(xiàn)高保真 3D 捕捉。Isaac 擁有蘇黎世聯(lián)邦理工學(xué)院的機(jī)器人碩士學(xué)位,并于 2018 年加入 NVIDIA。
Raffaello Bonghi 是 AI & Robotics 的開(kāi)發(fā)者關(guān)系經(jīng)理。自 2015 年以來(lái),他一直是 NVIDIA Jetson 冠軍,設(shè)計(jì)用于戶外導(dǎo)航和教育應(yīng)用的多 ROS / ROS 機(jī)器人。此外,他還參與為零售和機(jī)器人領(lǐng)域的眾多國(guó)際客戶開(kāi)發(fā)人工智能解決方案。拉斐洛擁有博士學(xué)位。在控制理論和工業(yè)自動(dòng)化領(lǐng)域,專(zhuān)注于機(jī)器人技術(shù)。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
31494瀏覽量
223850 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5696瀏覽量
110139 -
仿真
+關(guān)注
關(guān)注
55文章
4539瀏覽量
138698
原文標(biāo)題:借助 NVIDIA Isaac Sim 與 World Labs Marble 加速機(jī)器人仿真環(huán)境構(gòu)建
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
用NVIDIA Omniverse ISAAC Sim加速機(jī)器人仿真
NVIDIA Isaac Sim 2022.1版本的亮點(diǎn)及功能
NVIDIA AI機(jī)器人開(kāi)發(fā)— NVIDIA Isaac Sim入門(mén)
開(kāi)發(fā)者使用NVIDIA Omniverse和Isaac Sim構(gòu)建機(jī)器人
NVIDIA 公開(kāi)課 | AI 機(jī)器人開(kāi)發(fā)第二講 — Isaac Sim 高階開(kāi)發(fā)
CES | NVIDIA 發(fā)布智能機(jī)器人高級(jí)模擬引擎 Isaac Sim 的重大更新
CES | 用 NVIDIA Isaac Sim 2022.2 模擬未來(lái)智能機(jī)器人
使用 NVIDIA Isaac Sim、ROS 和 Nimbus 開(kāi)發(fā)多機(jī)器人環(huán)境
NVIDIA Isaac 平臺(tái)先進(jìn)的仿真和感知工具助力 AI 機(jī)器人技術(shù)加速發(fā)展
使用 NVIDIA Isaac 仿真并定位 Husky 機(jī)器人
智元機(jī)器人基于NVIDIA Isaac GR00T打造高效仿真數(shù)據(jù)采集方案
借助NVIDIA Isaac Sim與World Labs Marble加速機(jī)器人仿真環(huán)境構(gòu)建
評(píng)論