99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

NVIDIA Isaac Sim強(qiáng)化學(xué)習(xí)實(shí)作–讓Jetbot自己學(xué)會(huì)道路駕駛!

jf_cVC5iyAO ? 來源:易心Microbit編程 ? 作者:易心Microbit編程 ? 2022-12-21 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 介紹

承續(xù)上篇 Isaac Sim 的介紹, 讀者對(duì)于如何執(zhí)行 Isaac Sim 以及它最基本的環(huán)境已經(jīng)有了一些初步的了解了,接下來我們就要來玩一下能不能在模擬環(huán)境上部署深度學(xué)習(xí)模型來讓 Jetbot 機(jī)器人從無到有自己學(xué)會(huì)道路駕駛,例如下面的范例影片,透過仿真的 Jetbot 鏡頭看出去,我們可以看到機(jī)器人確實(shí)有沿著道路在行走!

e6567f52-7f73-11ed-8abf-dac502259ad0.gif

本篇文章是參考 Nvidia 官方的范例教學(xué)做成的, 想要進(jìn)一步了解的讀者可以去參考看看哦。

2. 準(zhǔn)備道路模型

要讓機(jī)器人學(xué)會(huì)道路駕駛,最基本的就是要先有個(gè)道路可以讓機(jī)器人去跑,我們?cè)谶@邊使用樂高的道路平板來拼湊出基本的道路,好讓機(jī)器人可以學(xué)習(xí)如直走跟轉(zhuǎn)彎。

2.1. LeoCAD

1.首先,我們必須去下載LeoCAD, 一款專門用來畫樂高模型的繪圖軟件,請(qǐng)點(diǎn)選下方的鏈接來下載并安裝。

e7545b40-7f73-11ed-8abf-dac502259ad0.png

2.安裝完成后,啟動(dòng) LeoCAD,在右邊的零件表搜尋一下四種道路平板,

?44336p01 Baseplate 32×32 Road 6-Stud Straight

?44342p01 Baseplate 32×32 Road 6-Stud Curve

?44341p01 Baseplate 32×32 Road 6-Stud T-Junction

?44343p01 Baseplate 32×32 Road 6-Stud Crossroad

e78ca52c-7f73-11ed-8abf-dac502259ad0.png

3.可以試著把四片平板組合起來,看看是不是可以拼成以下的道路圖。

e7beb062-7f73-11ed-8abf-dac502259ad0.png

4.那么最后就是把這幾件平板輸出成COLLADA 檔,準(zhǔn)備做進(jìn)一步的轉(zhuǎn)檔處理。

e8a3332c-7f73-11ed-8abf-dac502259ad0.png

2.2. Blender

前面提過我們拿到了道路的 COLLADA 檔,這是一種用來在多個(gè)3D軟件交換用的格式。但是我們還得要用 Blender 再進(jìn)行一次轉(zhuǎn)檔,才能轉(zhuǎn)成可以在 Isaac Sim 渲染的圖檔。

1.下載并安裝 Blender

e8e48f70-7f73-11ed-8abf-dac502259ad0.png

2.將剛剛輸出的 COLLADA 檔匯到 Blender 中

e92fb0ea-7f73-11ed-8abf-dac502259ad0.png

匯入后應(yīng)該可以看到道路的圖文件顯示如下

e955e922-7f73-11ed-8abf-dac502259ad0.png

3.接下來我們將每一塊零件的偏移量歸零,因?yàn)榈葧?huì)要丟到 Isaac Sim 時(shí),會(huì)用程序組裝出各種可能的道路,所以我們必須確保零件的原點(diǎn)都是一致的。

e99a06d4-7f73-11ed-8abf-dac502259ad0.png

4.從新命名每一個(gè)零件,方便我們待會(huì)匯入到Isaac Sim 時(shí)比較好辨認(rèn)。

e9cf691e-7f73-11ed-8abf-dac502259ad0.png

5.最后輸出圖檔成 Isaac Sim 可以吃的 fbx 檔。

ea03abd4-7f73-11ed-8abf-dac502259ad0.png

記得要在 Transform 那邊選擇 Z Up, X Forward。

ea3f088c-7f73-11ed-8abf-dac502259ad0.png

輸出完成后,我們就會(huì)拿到下面四個(gè)圖檔。

?p44336p01.fbx

?p44342p01.fbx

?p44341p01.fbx

?p44343p01.fbx

2.3. 將圖檔匯入 Issac sim

接下來我們回到 Isaac Sim 中,我們要把前面的圖檔匯入到模擬環(huán)境中。首先,開啟 Isaac Sim 并在左下角的 Content 中建立一個(gè) Omniverse/localhost/Library/Props/Road_Tiles/Parts 的文件夾, 然后在右邊的空白字段點(diǎn)右鍵,選擇Import and Convert 來匯入 fbx 檔案。

ea5f784c-7f73-11ed-8abf-dac502259ad0.png

假設(shè)我們前面的 fbx 檔案是存在 Download 這個(gè)文件夾,我們就可以將他們?nèi)x并上傳到 Nucleus 服務(wù)器,記得在上傳的時(shí)候要勾選下面三個(gè)選項(xiàng):

?Import Materials

?Import As Single USD

?Generate Smooth Normals

匯入后如下圖

ea92aec4-7f73-11ed-8abf-dac502259ad0.png

最后檢查一下是否我們要的四塊道路圖檔都有被正確匯入了。

eacd16ea-7f73-11ed-8abf-dac502259ad0.png

3. 開始訓(xùn)練深度學(xué)習(xí)的模型

接下來的操作需要使用者有事先匯入 Isaac Sim 的 Asset 套件包,里面有機(jī)器學(xué)習(xí)的范例文件(如果不知道怎么匯入的讀者可以去參考我們的上一篇文章: Isaac Sim 的介紹)。

有別于之前的操作都是直接使用 Isaac Sim 的圖形化界面, 這次我們啟動(dòng)訓(xùn)練模型的程序方法是必須從終端機(jī)開始。首先, 在計(jì)算機(jī)上打開一個(gè)終端機(jī),并輸入下面的指令:

cd~/.local/share/ov/pkg/isaac_sim-2021.1.1/

這個(gè)的意思是切換目錄到前面提到的 Isaac Sim 的 Asset 套件包的安裝位置。

然后修改“python_samples/jetbot/road_environment.py” 這只程序,將道路圖塊的路徑 改到我們剛剛放的地方,如下

# 1=I2=L 3=T, 4=X

self.tile_usd= {

0: None,

1: {"asset": nucleus_server +"/Library/Props/Road_Tiles/Parts/p44336p01/p44336p01.usd","offset": 180},

2: {"asset": nucleus_server +"/Library/Props/Road_Tiles/Parts/p44342p01/p44342p01.usd","offset": 180},

3: {"asset": nucleus_server +"/Library/Props/Road_Tiles/Parts/p44341p01/p44341p01.usd","offset": 180},

4: {"asset": nucleus_server +"/Library/Props/Road_Tiles/Parts/p44343p01/p44343p01.usd","offset": 180},

} # list of tiles that can be spawned

3.1. 確保 GPU 的記憶題足夠訓(xùn)練模型

筆者的開發(fā)環(huán)境所用的筆電有的顯卡是RTX 3070,但即便是擁有8G的內(nèi)存還是無法負(fù)荷默認(rèn)的模型訓(xùn)練參數(shù),所以我們會(huì)做以下的調(diào)整,縮小模型訓(xùn)練時(shí)的吞吐量,雖然會(huì)模型學(xué)習(xí)的會(huì)比較慢,但至少確保能夠正常運(yùn)作。

我們修改“python_samples/jetbot/jetbot_train.py” , 這只程序是我們用來訓(xùn)練的主程序。 里面有一個(gè)地方是可以設(shè)定batch size 的大小,這個(gè)會(huì)決定模型每次訓(xùn)練的吞吐量,以筆者的8G顯卡為例,可以設(shè)定的最大 batch size 大概是1024。修改如下:

ifargs.loaded_checkpoint == "":

model = PPO(

"CnnPolicy",

env,

verbose=1,

tensorboard_log=args.tensorboard_dir,

policy_kwargs=policy_kwargs,

device="cuda",

n_steps=args.step_freq,

batch_size=1024,

n_epochs=50,

learning_rate=0.0001,

)

另外,在開始訓(xùn)練前,建議關(guān)掉所有的 Isaac Sim 的軟件,因?yàn)槟嵌紩?huì)重復(fù)占用到 GPU 的內(nèi)存,我們只要保留由終端機(jī)執(zhí)行訓(xùn)練程序所叫起的 Isaac Sim 就好。

一切準(zhǔn)備就緒后我們就可以執(zhí)行下面的指令來開始訓(xùn)練了。

./python.shpython_samples/jetbot/jetbot_train.py

上面的指令會(huì)自動(dòng)叫出仿真的圖形化界面,如果讀者覺得暫時(shí)不需要花費(fèi)算力去畫出模擬的3D圖,可以在后面加上 headless 來關(guān)閉圖形化界面,等訓(xùn)練完一段時(shí)間后,再開啟圖形化界面確認(rèn)模型的訓(xùn)練的效果也是可以的。

./python.shpython_samples/jetbot/jetbot_train.py --headless

4. 強(qiáng)化學(xué)習(xí)的訓(xùn)練機(jī)制

熟悉深度學(xué)習(xí)的讀者一定知道在讓模型去做學(xué)習(xí)的時(shí)候,能否給模型一個(gè)好的回饋是學(xué)習(xí)成敗的關(guān)鍵,例如以寵物分類問題來說,我們會(huì)給模型看到哪些圖片是貓,哪些圖片是狗,藉此來讓模型去學(xué)習(xí)。但是對(duì)于學(xué)習(xí)自動(dòng)駕駛來說,機(jī)器人可以做到?jīng)Q策其實(shí)復(fù)雜度更高,比如說 Jetbot 可以隨著時(shí)間變化行走的方向跟速度,至于要怎么判斷機(jī)器人走得好不好,也許我們可以透過機(jī)器人的中心點(diǎn)到道路中間的距離來判斷,另外,機(jī)器人的行走速度可能也是一個(gè)我們希望優(yōu)化的量,好比說我們會(huì)希望機(jī)器人過彎的時(shí)候會(huì)懂得抄近路,而不是一味地死守道路中線。

當(dāng)我們搞定好模型在學(xué)習(xí)這個(gè)問題的回饋之后,我們就可以來看一下具體模型的學(xué)習(xí)策略。對(duì)于強(qiáng)化學(xué)習(xí)的問題而言,我們沒有辦法馬上知道模型此刻學(xué)的行為好或不好,比如說 Jetbot 可能在直線上可以走得很順,但是一直到轉(zhuǎn)彎處直接跑出界才發(fā)現(xiàn)其實(shí)它不會(huì)轉(zhuǎn)彎。在這個(gè)范例程序中,我們主要會(huì)用以下的技術(shù)來幫助模型的學(xué)習(xí):

1.使用 Open AI 所提出的 ProximalPolicy Optimization (PPO) 技術(shù)來做有效的強(qiáng)化學(xué)習(xí),簡(jiǎn)單說就是在每一次的訓(xùn)練回合中,都會(huì)先生成一個(gè)固定模型參數(shù)的代打,下去我們的模擬環(huán)境跑各種的測(cè)試,然后我們?cè)倮眠@些測(cè)試所搜集的數(shù)據(jù)來生成一個(gè)數(shù)據(jù)集,回過頭更新我們之前的模型。其中的精妙之處在于我們不會(huì)輕易的將我們正在學(xué)的模型一直丟到測(cè)試環(huán)境中去驗(yàn)證,因?yàn)檫@樣會(huì)導(dǎo)致模型在學(xué)習(xí)上很不穩(wěn)定,同時(shí)也沒有效率,變成說每次剛更新完的模型走一步測(cè)試后,這個(gè)資料就只用那么一次而已。

2.使用 Issac Sim 的 DomainRandomization 機(jī)制來加強(qiáng)模型的韌性。如果讀者仔細(xì)觀察機(jī)器人在學(xué)習(xí)的過程中其實(shí)場(chǎng)景是一直在變化的,我們的環(huán)境仿真程序不只會(huì)將我們前面的道路圖塊隨機(jī)拼湊成不同的環(huán)形道路外,道路周遭的背景跟物品也都會(huì)隨機(jī)生成,為的就是盡可能的讓機(jī)器人適應(yīng)不同點(diǎn)情況,達(dá)到我們真正想要它學(xué)習(xí)的任務(wù)。

5. 檢視模型訓(xùn)練的結(jié)果

以筆者的經(jīng)驗(yàn),模型都需要經(jīng)過兩萬多次以上的回合后,Jetbot 在道路上的行為才會(huì)收斂到我們所想象的自動(dòng)駕駛,像是筆者的計(jì)算機(jī)(Intel i7 CPU + RTX 3070 GPU)大概會(huì)需要模型跑個(gè)一天的訓(xùn)練才能達(dá)到 一個(gè)可以接受的表現(xiàn)。

那如果是想要看看我們模型的表現(xiàn)如何,可以先停掉訓(xùn)練的程序,釋放出可用的 GPU ,然后執(zhí)行下面的程序

./python.shpython_samples/jetbot/jetbot_train.py --eval

程序會(huì)自動(dòng)挑選目前為止訓(xùn)練最好的模型參數(shù),然后套用在 Jetbot 跑道路模型的仿真上,如下,讀者是否都能夠看到自己訓(xùn)練的 Jetbot 都能夠沿著道路跑一遍自動(dòng)駕駛呢?

e6567f52-7f73-11ed-8abf-dac502259ad0.gif

審核編輯:湯梓紅

聲明:本文內(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

    文章

    29726

    瀏覽量

    212804
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5308

    瀏覽量

    106343
  • Sim
    Sim
    +關(guān)注

    關(guān)注

    2

    文章

    253

    瀏覽量

    40887
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86698

原文標(biāo)題:NVIDIA Isaac Sim 強(qiáng)化學(xué)習(xí)實(shí)作 – 讓 Jetbot 自己學(xué)會(huì)道路駕駛!

文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    使用Isaac Gym 來強(qiáng)化學(xué)習(xí)mycobot 抓取任務(wù)

    使用Isaac Gym來強(qiáng)化學(xué)習(xí)mycobot抓取任務(wù)
    的頭像 發(fā)表于 04-11 14:57 ?8364次閱讀
    使用<b class='flag-5'>Isaac</b> Gym 來<b class='flag-5'>強(qiáng)化學(xué)習(xí)</b>mycobot 抓取任務(wù)

    NVIDIA Isaac Lab可用環(huán)境與強(qiáng)化學(xué)習(xí)腳本使用指南

    Lab 是一個(gè)適用于機(jī)器人學(xué)習(xí)的開源模塊化框架,其模塊化高保真仿真適用于各種訓(xùn)練環(huán)境,Isaac Lab 同時(shí)支持模仿學(xué)習(xí)(模仿人類)和強(qiáng)化學(xué)習(xí)(在嘗試和錯(cuò)誤中進(jìn)行
    的頭像 發(fā)表于 07-14 15:29 ?464次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Lab可用環(huán)境與<b class='flag-5'>強(qiáng)化學(xué)習(xí)</b>腳本使用指南

    深度強(qiáng)化學(xué)習(xí)實(shí)戰(zhàn)

    一:深度學(xué)習(xí)DeepLearning實(shí)戰(zhàn)時(shí)間地點(diǎn):1 月 15日— 1 月18 日二:深度強(qiáng)化學(xué)習(xí)核心技術(shù)實(shí)戰(zhàn)時(shí)間地點(diǎn): 1 月 27 日— 1 月30 日(第一天報(bào)到 授課三天;提前環(huán)境部署 電腦
    發(fā)表于 01-10 13:42

    人工智能機(jī)器學(xué)習(xí)強(qiáng)化學(xué)習(xí)

    強(qiáng)化學(xué)習(xí)是智能系統(tǒng)從環(huán)境到行為映射的學(xué)習(xí),以使獎(jiǎng)勵(lì)信號(hào)(強(qiáng)化信號(hào))函數(shù)值最大,強(qiáng)化學(xué)習(xí)不同于連接主義學(xué)習(xí)中的監(jiān)督
    發(fā)表于 05-30 06:53 ?1551次閱讀

    強(qiáng)化學(xué)習(xí)在自動(dòng)駕駛的應(yīng)用

    自動(dòng)駕駛汽車首先是人工智能問題,而強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,是多學(xué)科多領(lǐng)域交叉的一個(gè)產(chǎn)物。今天人工智能頭條給大家介紹強(qiáng)化學(xué)習(xí)在自動(dòng)駕駛
    的頭像 發(fā)表于 07-10 09:00 ?5309次閱讀
    <b class='flag-5'>強(qiáng)化學(xué)習(xí)</b>在自動(dòng)<b class='flag-5'>駕駛</b>的應(yīng)用

    基于Omniverse的NVIDIA Isaac Sim現(xiàn)已發(fā)布公測(cè)版

    Omniverse是NVIDIA模擬器的根本基礎(chǔ),包括加入了多項(xiàng)新功能的Isaac平臺(tái)。NVIDIA Isaac Sim目前已發(fā)布公測(cè)版,您
    的頭像 發(fā)表于 06-22 14:56 ?3624次閱讀
    基于Omniverse的<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b>現(xiàn)已發(fā)布公測(cè)版

    NVIDIA Isaac Sim 2022.1版本的亮點(diǎn)及功能

    NVIDIA 宣布推出2022.1 版 NVIDIA Isaac Sim。作為一種機(jī)器人仿真和合成數(shù)據(jù)生成(SDG)工具,這個(gè) NVIDIA
    的頭像 發(fā)表于 07-01 11:19 ?2398次閱讀

    NVIDIA AI機(jī)器人開發(fā)— NVIDIA Isaac Sim入門

    NVIDIA 最新公開課來了,本次將圍繞用于開發(fā)和訓(xùn)練智能機(jī)器人的模擬平臺(tái)—— NVIDIA Isaac Sim 。 NVIDIA
    的頭像 發(fā)表于 10-19 15:58 ?2226次閱讀

    NVIDIA 公開課 | AI 機(jī)器人開發(fā)第二講 — Isaac Sim 高階開發(fā)

    NVIDIA 公開課——AI 機(jī)器人開發(fā)第二講將于明日上線!本次精彩繼續(xù),嘉賓將深入講解? NVIDIA Isaac Sim 的高階開發(fā) 。 NVI
    的頭像 發(fā)表于 11-10 11:00 ?1406次閱讀

    CES | 用 NVIDIA Isaac Sim 2022.2 模擬未來智能機(jī)器人

    NVIDIA 宣布推出? NVIDIA Isaac Sim ?的 ?2022.2 版本 。作為機(jī)器人仿真和 合成數(shù)據(jù) 生成( SDG )工具,該?
    的頭像 發(fā)表于 01-06 22:30 ?1317次閱讀

    強(qiáng)化學(xué)習(xí)與智能駕駛決策規(guī)劃

    本文介紹了強(qiáng)化學(xué)習(xí)與智能駕駛決策規(guī)劃。智能駕駛中的決策規(guī)劃模塊負(fù)責(zé)將感知模塊所得到的環(huán)境信息轉(zhuǎn)化成具體的駕駛策略,從而指引車輛安全、穩(wěn)定的行駛。真實(shí)的
    的頭像 發(fā)表于 02-08 14:05 ?2236次閱讀

    NVIDIA技術(shù)驅(qū)動(dòng)帕西尼觸覺感知與人形機(jī)器人智能突破

    本案例中通過在 NVIDIA Isaac 平臺(tái)集成觸覺仿真器,借助 NVIDIA Isaac Sim 平臺(tái)的 3D 場(chǎng)景生成技術(shù)和
    的頭像 發(fā)表于 04-21 09:15 ?588次閱讀

    NVIDIA Isaac SimNVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了機(jī)器人仿真參考應(yīng)用 NVIDIA Isaac Sim 和機(jī)器人學(xué)習(xí)框架
    的頭像 發(fā)表于 05-28 10:06 ?571次閱讀

    NVIDIA Isaac Sim 4.5.0與lsaac Lab 2.0的安裝教程

    Isaac SimIsaac Lab 目前開放下載的版本是 Isaac Sim 4.5.0 以及
    的頭像 發(fā)表于 06-19 15:00 ?626次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b> 4.5.0與lsaac Lab 2.0的安裝教程

    NVIDIA Isaac SimIsaac Lab現(xiàn)已推出早期開發(fā)者預(yù)覽版

    NVIDIA 發(fā)布了機(jī)器人仿真參考應(yīng)用 Isaac Sim 和機(jī)器人學(xué)習(xí)框架 Isaac Lab 的開發(fā)者預(yù)覽版。開發(fā)者現(xiàn)在可以通過 Git
    的頭像 發(fā)表于 07-04 14:23 ?386次閱讀