女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Isaac仿真平臺搭建以及ROS試用教程

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 作者:NVIDIA英偉達企業解 ? 2022-07-27 14:55 ? 次閱讀

機器人有助于為制造業、物流業、醫療保健業和服務業等行業創造新效率并提升人們的生活質量, NVIDIA Isaac 憑借改進的機器人開發、模擬和部署功能,可加速這一進程。

對于機器人領域的開發者而言,“Isaac 就是 Omniverse 平臺里面,一個完全在 GPU 上實現,很好地將機器人相關的一些深度學習、強化學習、SLAM、圖像處理等等的算法,融合在一個 GEMs 的高性能軟件包中的炫酷仿真引擎。” 這是知乎大咖稚輝(知乎坐擁 130 多萬粉絲的知名 KOL、AI 工程師)對于 Isaac 的評價。本期文章我們將分享稚輝 Isaac 仿真平臺搭建以及 ROS 試用教程

Isaac 仿真平臺搭建以及 ROS 試用教程

最近在搞一個機器人項目嘛,所以借著機會了解了一下之前 NVIDIA大力推廣的 Omniverse 平臺,Omniverse 是 NVIDIA 推出的一個元宇宙模擬平臺,而 Isaac 是其中專門用于機器人環境模擬的一個引擎,試了一下還挺有意思的。

其實最早 Omniverse 設計的初衷是提供一個能讓工程師們協作創作的虛擬工具,畢竟號稱元宇宙引擎嘛,在數字世界里做基建必然是一個需要大量不同場景的工程師們配合實現的工作,后來該項目逐漸演變成了一個更加宏大的全行業框架。

發布會上提到會通過一種 USD(Universal Scene Description,這個縮寫我直呼內行)的基礎數據格式來打通各種不同的軟件之間的配合。USD 不僅僅只是導入和導出的一種格式而已, USD 之于 Omniverse 就像 HTML(一種標記語言,可以將網絡上的文檔格式統一)之于網站。

而 Isaac 就是 Omniverse 平臺里面,一個完全在 GPU 上實現,很好地將機器人相關的一些深度學習、強化學習、SLAM、圖像處理等等的算法,融合在一個 GEMs 的高性能軟件包中的炫酷仿真引擎。之前做機器人仿真的時候,最常用的是 VREP(現在叫 CoppeliaSim 了)、ROS 里面的 Gazebo、WeBot 等,這些仿真器用到的主要物理引擎都是開源的 Bullet 和 ODE。

與上面提到的這些仿真器相比,Isaac 的優勢在于:

  • 超逼真的光照渲染效果:一個字,以假亂真。NVIDIA 做啥起家的大家都知道了,RTX ON 之后這渲染效果相比于前面提到的開源引擎有質的飛躍,直接來到照片級的逼真度。

  • 性能的提升:實時的光照渲染和物理引擎的算力需求都是很高的,Isaac 針對 NVIDIA 硬件(GPU)進行了優化,可以生成高效的平臺優化的交叉編譯應用程序。

  • 生態支持度好:Isaac 集成了其中許多 CUDA 加速的開源庫,例如 NPP、OpenCV、ROS、PCL (wip)、Eigen 等。

  • 自帶常用的算法庫:Isaac SDK 附帶了一系列高性能算法,這些算法被稱為 GEM,此外除了機器人控制類的算法,Issac 還為主業打游戲副業煉丹的同學們準備了深度神經網絡模塊的集成,例如立體聲深度估計、目標檢測、 Tracking 算法等等。

當然了對我這種顏值狗來說,渲染效果美麗 + Modern UI 的軟件界面就足夠讓我對其他軟件 Say No 了。下圖展示了 Isaac 的生態系統:

97535b22-0d69-11ed-ba43-dac502259ad0.png

那么接下來本文簡單介紹一下 Issac 的安裝流程以及使用記錄。

準備的環境

使用的是我自己的臺式機,硬件配置如下:

項目

概述

OS

Ubuntu 20.04 LTS

kernel

5.13.0-35-generic

CPU

英特爾 i7-12700F

MEM

64GB

GPU

GeForce RTX 3080

Driver Ver

470.103.01

CUDA Ver

11.4

按照 NVIDIA 官方 Omniverse 安裝指南(鏈接如下):

https://docs.omniverse.nvidia.com/prod_install-guide/prod_install-guide/workstation.html

首先,下載 Omniverse 的啟動器程序(需要注冊一下,鏈接如下):https://www.nvidia.com/en-us/omniverse/

97a693d2-0d69-11ed-ba43-dac502259ad0.png

操作系統可以選擇 Windows 或 Linux,這里我用的是 Ubuntu 所以選 Linux 版本,可以得到名為 omniverse-launcher-linux.AppImage 的文件,下載好之后需要授予它執行權限,并將其放在主頁目錄下,命令:


chmod+xomniverse-launcher-linux.AppImage./omniverse-launcher-linux.AppImage

運行此啟動器程序將啟動 Omniverse 窗口,但需要 NVIDIA 帳戶登錄才能使用,沒有的話注冊一下就行個人使用是免費的。

首次啟動時,系統會提示是否要安裝名為 “Cache” 的軟件,這個是用于提供一種軟件緩存機制,用于管理網絡通信加載內容的,建議安裝它。

97e6ade6-0d69-11ed-ba43-dac502259ad0.png

啟動器的軟件界面

順便說一下,Omniverse會開啟一個后臺服務,你可以從瀏覽器訪問 http://localhost:3080 來打開后臺管理頁面查看每個服務的操作狀態。

9824d832-0d69-11ed-ba43-dac502259ad0.png

然后需要在啟動器軟件中安裝 Nucleus 服務:

9846c9d8-0d69-11ed-ba43-dac502259ad0.png

Nucleus 就是個數據服務器,用于連接其他軟件,同時在當多個人進行項目時,通過連接到此服務器進行協作開發。軟件中也有很多有意思的 Tutorial 可以自己嘗試學習:

986a269e-0d69-11ed-ba43-dac502259ad0.png

安裝完成后用之前注冊的賬號登錄即可,登錄后將看到一個文件管理器,可以在其中管理項目內容。

98b0e19c-0d69-11ed-ba43-dac502259ad0.png

接下來,我們添加機器人模擬器環境 Isaac Sim。Isaac Sim 是一個機器人仿真工具包,在 Omniverse 上運行,Isaac Sim 具有構建虛擬機器人世界和實驗的基本功能,還能通過渲染能力提供進行數據集合成的工具和工作流程。Isaac Sim 通過 ROS/ROS2 支持導航和操作應用程序。

Isaac 的架構圖如下:

98d3ce64-0d69-11ed-ba43-dac502259ad0.png

由于渲染能力過猛,Isaac 對于硬件的配置要求有一丟丟高,推薦的配置為- RTX2070 及以上的顯卡,內存至少 32GB,NVIDIA 的驅動程序版本需要 470.57.02 或更高版本。

參考以下安裝指南安裝 Isaac Sim:

https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_basic.html#isaac-sim-app-install-basic

從 EXCHANGE 選項卡中選擇并安裝:

98f97916-0d69-11ed-ba43-dac502259ad0.png

993ae64e-0d69-11ed-ba43-dac502259ad0.png

根據教程,Isaac Sim 應該有一個按鈕來下載 Isaac Sim Assets(示例數據等)后啟動,但可能是網絡問題我這邊無法下載,所以通過手動添加方式解決,參考:

https://forums.developer.nvidia.com/t/known-issue-error-checking-isaac-sim-assets/204522

具體解決方案是從主窗口的 mount 選項卡右鍵單擊導航器的 localhost,創建具有以下參數的文件夾:

9960e8d0-0d69-11ed-ba43-dac502259ad0.png

項目

內容

Name

Isaac

Type

Amazon S3

Host

http://d28dzv1nop4bat.cloudfront.net

Service

s3

Redirection

https://d28dzv1nop4bat.cloudfront.net

下面的命令安裝:

sudoaptinstall./code_1.51.1-1605051630_amd64.debsudoaptinstall-yapt-transport-httpssudoaptupdate

后我們安裝一下 VS Code 來代替自帶的編輯器,在官網下載 deb 安裝包

https://code.visualstudio.com/Download

此外,從 Isaac Sim 打開 VSCode 時的配置文件(如 setting.json)使用的是 .vscode,該文件位于 Isaac Sim 的安裝根目錄~/.local/share/ov/pkg/isaac_simxxx 中。

安裝 ROS 和 ROS2

在 Ubuntu 上安裝要與配合的 ROS 和 ROS2,只需按照官方安裝指南進行安裝即可:https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_ros.html

然后,在 Isaac Sim 端啟用 ROS Bridge 擴展,在窗口狀態量菜單中 Window->Extensions 中搜索 “ROS”:

9982137a-0d69-11ed-ba43-dac502259ad0.png

啟用 “ROS Bridge” 和 “ROS UI” :

99a8ac38-0d69-11ed-ba43-dac502259ad0.png

如果使用 ROS2,那就啟用 ROS2 Bridge 而不是 ROS Bridge。

現在 ROS 就可以和 Isaac Sim 通信啦,接下來我們編寫一個簡單的程序進行測試。

Python代碼測試

Isaac Sim 可以從官方自帶的一些 python 腳本獨立啟動,啟動腳本位于 Omniverse 中的 Isaac Sim 目錄中,例如,啟動作為示例提供的名為 “franka” 的制造機器人演示的命令如下所示:


cd~/.local/share/ov/pkg/isaac_sim-2021.2.1./python.shstandalone_examples/api/omni.isaac.franka/follow_target.py

99de15bc-0d69-11ed-ba43-dac502259ad0.png

打開的時間可能比較久需要有點耐心...

當然還有其他很多別的腳本可以供參考,接下來我們將自己編寫 Python 腳本實現以下內容:

1、在場景中放置對象

2、在場景中放置一個機器人并用鍵盤控制運動

放置對象

我們可以使用 omni.isaac.core 對象模塊放置對象,包含以下函數:

  • DynamicCuboid

  • DynamicCapsule

  • DynamicCone

  • DynamicCylinder

  • DynamicSphere

  • VisualCuboid

  • VisualCapsule

  • VisualCone

  • VisualCylinder

  • VisualSphere

  • FixedCuboid

這些函數允許我們在場景中放置立方體、膠囊、圓錐體、圓柱體和球體,Dynamic 開頭的對象受到物理引擎的作用,比如重力,當把它們放置在空中時,它會直接掉落。Visual 開頭的對象則只會用于外觀,不會受到力的作用,也不會進行碰撞檢測,因此其他對象可以直接穿過它。例如以下代碼:


from omni.isaac.kit import SimulationAppimport numpy as np
simulation_app = SimulationApp({"headless": False})
from omni.isaac.core import Worldfrom omni.isaac.core.objects import DynamicCuboid, DynamicCapsule, DynamicConefrom omni.isaac.core.objects import DynamicCylinder, DynamicSphere, FixedCuboid
my_world = World(stage_units_in_meters=0.01)
d_cube = my_world.scene.add(    DynamicCuboid(        prim_path="/dynamic_cube",        name="dynamic_cube",        position=np.array([0, 0, 0.5]) * 100,        size=np.array([0.1, 0.1, 0.1]) * 100,        color=np.array([255, 255, 255]),    ))
d_cap = my_world.scene.add(    DynamicCapsule(        prim_path="/dynamic_capsule",        name="dynamic_capsule",        position=np.array([0.5, 0, 0.5]) * 100,        radius=0.05 * 100,        height=0.05 * 100,        color=np.array([255, 0, 0]),    ))
d_cone = my_world.scene.add(    DynamicCone(        prim_path="/dynamic_cone",        name="dynamic_cone",        position=np.array([-0.5, 0, 0.5]) * 100,        radius=0.05 * 100,        height=0.05 * 100,        color=np.array([0, 0, 255]),    ))
d_cyl = my_world.scene.add(    DynamicCylinder(        prim_path="/dynamic_cylinder",        name="dynamic_cylinder",        position=np.array([0, 0.5, 0.5]) * 100,        radius=0.05 * 100,        height=0.05 * 100,        color=np.array([0, 255, 0]),    ))
d_sph = my_world.scene.add(    DynamicSphere(        prim_path="/dynamic_sphere",        name="dynamic_sphere",        position=np.array([0.5, 0.5, 0.5]) * 100,        radius=0.05 * 100,        color=np.array([255, 0, 255]),    ))
f_cube = my_world.scene.add(    FixedCuboid(        prim_path="/fixed_cube",        name="fixed_cube",        position=np.array([-0.5, 0.5, 0.5]) * 100,        size=np.array([0.1, 0.1, 0.1]) * 100,        color=np.array([255, 255, 255]),    ))
my_world.scene.add_default_ground_plane()
my_world.reset()
while simulation_app.is_running():    my_world.step(render=True)
simulation_app.close()

效果是這樣的:

9a273936-0d69-11ed-ba43-dac502259ad0.png

稍微修改一下,加入一些互動,比如用鍵盤控制一個小車:


from omni.isaac.kit import SimulationAppimport numpy as npimport carbimport omni.appwindow
simulation_app = SimulationApp({"headless": False})
from omni.isaac.jetbot import Jetbotfrom omni.isaac.jetbot.controllers import DifferentialController
from omni.isaac.core import World
my_world = World(stage_units_in_meters=0.01)
my_jetbot = my_world.scene.add(    Jetbot(        prim_path="/World/Jetbot",        name="my_jetbot",        position=np.array([0, 0.0, 2.0])    ) ) 
my_controller = DifferentialController(name="simple_control")
my_world.scene.add_default_ground_plane()
command_ = [0.0, 0.0]def sub_keyboard_event(event, *args, **kwargs):    """Handle keyboard events    w,s,a,d as arrow keys for jetbot movement
    Args:        event (int): keyboard event type    """    global command_    if(        event.type == carb.input.KeyboardEventType.KEY_PRESS        or event.type == carb.input.KeyboardEventType.KEY_REPEAT    ):        if event.input == carb.input.KeyboardInput.W:            command_ = [20, 0.0]        if event.input == carb.input.KeyboardInput.S:            command_ = [-20, 0.0]        if event.input == carb.input.KeyboardInput.A:            command_ = [0.0, np.pi / 5]        if event.input == carb.input.KeyboardInput.D:            command_ = [0.0, -np.pi / 5]    if(event.type == carb.input.KeyboardEventType.KEY_RELEASE):        command_ = [0.0, 0.0]
    return True
appwindow_ = omni.appwindow.get_default_app_window()input_ = carb.input.acquire_input_interface()keyboard_ = appwindow_.get_keyboard()sub_keyboard_ = input_.subscribe_to_keyboard_events(keyboard_,sub_keyboard_event)
my_world.reset()
while simulation_app.is_running():    my_world.step(render=True)    if my_world.is_playing():        my_jetbot.apply_wheel_actions(my_controller.forward(command=command_))
simulation_app.close()

效果如下,用鍵盤的 WASD 可以控制小車運動:

9a55c896-0d69-11ed-ba43-dac502259ad0.png

更多的 API 可以參考官方的文檔,后續再補充更多內容。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真
    +關注

    關注

    51

    文章

    4234

    瀏覽量

    135288
  • ROS
    ROS
    +關注

    關注

    1

    文章

    284

    瀏覽量

    17549
  • 深度學習
    +關注

    關注

    73

    文章

    5554

    瀏覽量

    122461

原文標題:Isaac “家族” 揭秘 | 知乎大咖深度解讀系列(1)

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了機器人仿真參考應用 NVIDIA Isaac Sim 和機器人學習框架 NVIDIA Isaac Lab 的更新,以加速各種形態機器人的開發。
    的頭像 發表于 05-28 10:06 ?204次閱讀

    盤點#機器人開發平臺

    圖,電子技術資料網站具身智能機器人****開發平臺——Fibot廣和通發布機器人開發平臺-電子發燒友網NVIDIA Isaac 英偉達綜合性機器人開發平臺NVIDIA
    發表于 05-13 15:02

    電力電子教學新范式:EasyGo半實物仿真平臺賦能高校創新實踐

    現狀,EasyGo半實物仿真平臺將技術創新與教學場景深度融合,通過硬件輕量化、功能模塊化與教學場景化的創新設計,為高校教學提供創新解決方案,精準匹配高校課程需求,通過技術革新
    的頭像 發表于 05-12 18:07 ?163次閱讀
    電力電子教學新范式:EasyGo半實物<b class='flag-5'>仿真平臺</b>賦能高校創新實踐

    NVIDIA Isaac 是英偉達推出的綜合性機器人開發平臺

    NVIDIA Isaac 是英偉達推出的綜合性機器人開發平臺,旨在通過 GPU 加速、物理仿真和生成式 AI 技術,加速自主移動機器人(AMR)、機械臂及人形機器人的開發與部署。以下從核心組件、技術
    的頭像 發表于 04-02 18:03 ?547次閱讀

    英偉達GTC2025亮點:NVIDIA與GE醫療合作 引入物理AI推進自主診斷成像開發

    NVIDIA 推出 Isaac for Healthcare 醫療設備仿真平臺,加速自主成像系統與機器人研發 NVIDIA 宣布與 GE 醫療合作,共同推進自主成像技術創新,重點開發自主X射線技術
    的頭像 發表于 03-21 09:26 ?908次閱讀

    芯來科技攜手芯芒科技發布RISC-V CPU系統仿真平臺

    專業RISC-V處理器IP及解決方案公司芯來科技與杭州芯芒科技深入合作,共同研發推出芯來全系列RISC-V CPU系統仿真平臺。幫助下游SoC和產品開發團隊基于該仿真平臺快速構建從芯片核心架構、整
    的頭像 發表于 03-19 14:36 ?559次閱讀

    智元機器人基于NVIDIA Isaac GR00T打造高效仿真數據采集方案

    案例簡介 本案例中,智元機器人基于 NVIDIA Isaac GR00T-Teleop & GR00T-Mimic 提供的遠程仿真操作功能和強大的模仿學習合成數據生成工作流,打造了支持高保真模擬
    的頭像 發表于 03-07 19:16 ?885次閱讀
    智元機器人基于NVIDIA <b class='flag-5'>Isaac</b> GR00T打造高效<b class='flag-5'>仿真</b>數據采集方案

    名單公布!【書籍評測活動NO.58】ROS 2智能機器人開發實踐

    一代的Gazebo機器人仿真平臺 ,絕大部分功能和源碼可以在單獨的計算機和Gazebo仿真平臺上運行。 同時,本書介紹 實物機器人的搭建方法,并且在實物機器人上實現相應的功能 。 配套源碼都加入了中文
    發表于 03-03 14:18

    簡述NVIDIA Isaac的重要更新

    在 2025 CES,NVIDIA 宣布了對NVIDIA Isaac的重要更新。NVIDIA Isaac 是一個由加速庫、應用框架和 AI 模型組成的平臺,可加速 AI 機器人的開發。
    的頭像 發表于 01-17 09:57 ?737次閱讀
    簡述NVIDIA <b class='flag-5'>Isaac</b>的重要更新

    使用myCobot 280機械臂結合ROS2系統搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權轉載自github。本項目的主要內容是使用myCobot 280機械臂結合ROS2系統搭建機械分揀站。
    的頭像 發表于 01-15 09:22 ?603次閱讀
    使用myCobot 280機械臂結合<b class='flag-5'>ROS</b>2系統<b class='flag-5'>搭建</b>機械分揀站

    軟通動力發布天樞iSSMeta2024數字孿生仿真平臺

    。近日,軟通動力正式發布天樞iSSMeta2024數字孿生仿真平臺,為智能制造和工業革新帶來了實用“利器”。
    的頭像 發表于 12-26 17:06 ?909次閱讀

    用TINA如何搭建仿真模型?

    使用TINA仿真單極運放的環路,仿真模型知道怎么搭建,現在要仿真由兩級TL082搭建的兩級運放的環路穩定性,請教,用TINA如何
    發表于 08-15 08:10

    EasyGo使用筆記丨分布式光伏集群并網控制硬件在環仿真應用

    進行控制;對于逆變器的控制,采用三相空間矢量脈寬調制(SVPWM)控制算法以及電壓電流雙閉環控制算法。最后構建了分布式光伏集群并網發電系統的綜合仿真模型,并在MATLAB/Simulink平臺上成功實現
    發表于 07-12 17:20

    如何搭建3d數字孿生平臺

    搭建3D數字孿生平臺是一項復雜且具有挑戰性的任務,需要綜合運用多種技術和步驟。實現這一目標需要進行需求分析、數據采集、建模與仿真、數據庫設計、人機界面設計、數據分析與算法選擇、平臺
    的頭像 發表于 07-04 15:23 ?776次閱讀

    逐際動力攜手英偉達Isaac平臺, 助力通用機器人研發

    在近日舉行的年度計算機視覺與模式識別會議(CVPR)上,英偉達發布了其最新版本的NVIDIA Isaac Sim。與此同時,逐際動力也宣布將采用這一升級版的Isaac平臺,以強化學習和提升通用機器人的泛化能力為核心目標,推動機器
    的頭像 發表于 06-21 09:34 ?2728次閱讀