Isaac Sim详细安装使用教程
前言
筆者出于工作需要,使用ISAAC SIM,順便也整理一份使用的教程,方便后來(lái)人少走彎路。
作者: Herman Ye@Auromix
Auromix是一個(gè)機(jī)器人愛(ài)好者組織,歡迎參與我們Github上的開源項(xiàng)目
一、安裝Isaac Sim
1.下載omniverse
NVIDIA Omniverse? Isaac Sim是NVIDIA Omniverse?平臺(tái)的一款機(jī)器人仿真工具包。Isaac Sim具備構(gòu)建虛擬機(jī)器人世界和實(shí)驗(yàn)的關(guān)鍵功能。它為研究人員和從業(yè)人員提供了創(chuàng)建健壯、物理精確仿真和合成數(shù)據(jù)集所需的工具和工作流程。Isaac Sim通過(guò)ROS/ROS2支持導(dǎo)航和操控應(yīng)用。它可以模擬RGB-D、Lidar和IMU等傳感器的傳感器數(shù)據(jù),用于多種計(jì)算機(jī)視覺(jué)技術(shù),如領(lǐng)域隨機(jī)化、真值標(biāo)簽、分割和邊界框。
因?yàn)镮saac Sim是依托于NVIDIA Omniverse平臺(tái)的仿真工具包,所以需要前往Nvidia Isaac Sim官網(wǎng)下載Omniverse
2.啟動(dòng)Omniverse
替換掉<your_omniverse_appimage>為你下載的omniverse版本,通常名為omniverse-launcher-linux.AppImage
sudo chmod +x <your_omniverse_appimage> # grant executable permissions例:
sudo chmod +x omniverse-launcher-linux.AppImage # grant executable permissions在沒(méi)有安裝FUSE時(shí)可能無(wú)法啟動(dòng)appimage,因此先安裝FUSE
sudo apt install fuse -y # install fuse通過(guò)命令行啟動(dòng)Omniverse,也可手動(dòng)雙擊啟動(dòng)
./<your_omniverse_appimage>例:
./omniverse-launcher-linux.AppImage3.登錄Nvidia賬號(hào)
登錄Nv的賬號(hào),按照引導(dǎo),默認(rèn)即可,進(jìn)入Omniverse主頁(yè)面
4.安裝ISAAC SIM
進(jìn)入EXCHANGE頁(yè)面,選擇ISAAC SIM,點(diǎn)擊install,等待自動(dòng)下載安裝完成
5.安裝NUCLEUS
Omniverse Isaac Sim使用NVIDIA Omniverse? Nucleus來(lái)訪問(wèn)環(huán)境和機(jī)器人的USD文件等內(nèi)容。Omniverse Nucleus服務(wù)允許各種客戶端應(yīng)用程序、渲染器和微服務(wù)在Omniverse Isaac Sim中共享和修改虛擬世界的表示。
Nucleus采用發(fā)布/訂閱模型。在訪問(wèn)控制的前提下,Omniverse客戶端可以將數(shù)字資產(chǎn)和虛擬世界的修改發(fā)布到Nucleus數(shù)據(jù)庫(kù)(DB),或訂閱其變化。更改在連接的應(yīng)用程序之間實(shí)時(shí)傳輸。數(shù)字資產(chǎn)可以包括描述虛擬世界及其隨時(shí)間演變的幾何形狀、燈光、材料、紋理和其他數(shù)據(jù)。
這使得各種Omniverse-enabled客戶端應(yīng)用程序(Apps, Connectors等)能夠共享和修改虛擬世界的權(quán)威表示。
進(jìn)入NUCLEUS頁(yè)面,點(diǎn)擊Add Local Nucleus Device,創(chuàng)建管理員賬號(hào)
點(diǎn)擊COMPLETE SETUP,等待下載并設(shè)置完成
6.啟動(dòng)ISAAC SIM
在LIBRARY中找到ISAAC SIM,點(diǎn)擊Launch啟動(dòng),按照默認(rèn)選項(xiàng),點(diǎn)擊START繼續(xù)啟動(dòng)
過(guò)程中可能會(huì)遇到一些依賴安裝、光追編譯、加載等情況,根據(jù)個(gè)人電腦性能情況速度不同,等待即可
提示: ISAAC SIM 對(duì)于個(gè)人計(jì)算機(jī)性能要求比較苛刻,因此個(gè)人建議最低配置表如下:
| 內(nèi)存 | 32 GB |
| 存儲(chǔ) | 1 T |
| 顯存 | 8 G |
具體的ISAAC SIM性能要求可參考Nvidia Isaac Sim Documentation System Requirements
7.觀察ISAAC SIM主界面
在成功啟動(dòng)并完成編譯、配置等過(guò)程后,Isaac Sim的空主界面應(yīng)當(dāng)為如下狀態(tài):
相關(guān)附錄
Nvidia Omniverse Isaac Sim Documentation
Isaac Sim ROS2 tutorial
How to use Isaac Sim with your own robot?
Auromix Github Repository
0nhc@Auromix Isaac Sim野生教程01: Isaac Sim的安裝
二、簡(jiǎn)單使用Isaac Sim
這是Isaac Sim的架構(gòu)圖,可作為了解,具體的架構(gòu)、開發(fā)流等相關(guān)內(nèi)容可查閱Isaac Sim Documentation
1.了解USD
對(duì)于框架中提及的USD,可以稍微了解一下:
Omniverse Isaac Sim使用USD交換文件格式來(lái)表示場(chǎng)景。Universal Scene Description (USD)是由皮克斯公司開發(fā)的一種易于擴(kuò)展、開源的3D場(chǎng)景描述和文件格式,用于內(nèi)容創(chuàng)作和工具間的交換。由于其強(qiáng)大和多功能,USD不僅在視覺(jué)效果社區(qū)中被廣泛采用,而且在建筑、設(shè)計(jì)、機(jī)器人、制造和其他領(lǐng)域也被廣泛采用。
2.配置環(huán)境
以下案例以ROS2 Humble版本為標(biāo)準(zhǔn)
安裝xacro
sudo apt-get install ros-humble-xacro安裝Isaac Sim ROS-extension
參考Isaac Sim提供的Enabling the ROS / ROS 2 Bridge Extension教程,執(zhí)行如下步驟:
開啟ROS Bridge拓展
- 在 Isaac Sim 中,轉(zhuǎn)到窗口 -> 擴(kuò)展的擴(kuò)展管理器菜單,并搜索 ROS bridge。請(qǐng)注意,一次只能啟用一個(gè) ROS Bridge 擴(kuò)展,比如啟用ROS2 BRIDGE時(shí)不可使用ROS BRIDGE。
設(shè)置 Fast DDS 中間件配置
- 在ROS的目錄下新建FASTDDS文件
- 打開文件并粘貼以下XML文件內(nèi)容:
例如使用nano編輯工具打開該文件:
<?xml version="1.0" encoding="UTF-8" ?><license>Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. NVIDIA CORPORATION and its licensors retain all intellectual property and proprietary rights in and to this software, related documentation and any modifications thereto. Any use, reproduction, disclosure or distribution of this software and related documentation without an express license agreement from NVIDIA CORPORATION is strictly prohibited.</license><profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles" ><transport_descriptors><transport_descriptor><transport_id>UdpTransport</transport_id><type>UDPv4</type></transport_descriptor></transport_descriptors><participant profile_name="udp_transport_profile" is_default_profile="true"><rtps><userTransports><transport_id>UdpTransport</transport_id></userTransports><useBuiltinTransports>false</useBuiltinTransports></rtps></participant> </profiles>fastdds.xml 文件是 ROS2 中用來(lái)配置 Fast DDS 中間件的文件。
在 fastdds.xml 文件中,主要定義了以下內(nèi)容:
這些設(shè)置的含義是,Fast DDS 將使用 UDPv4 進(jìn)行數(shù)據(jù)通信,而不是使用內(nèi)置的傳輸方式。
取消LD_LIBRARY_PATH環(huán)境變量
unset LD_LIBRARY_PATHunset LD_LIBRARY_PATH: 這條命令是用來(lái)取消設(shè)置 LD_LIBRARY_PATH 環(huán)境變量的。LD_LIBRARY_PATH 是一個(gè)環(huán)境變量,它指定了在運(yùn)行時(shí)動(dòng)態(tài)鏈接器應(yīng)該搜索共享庫(kù)的目錄。如果 LD_LIBRARY_PATH 中包含的目錄中存在不兼容的庫(kù)版本,可能會(huì)導(dǎo)致問(wèn)題,因此在啟動(dòng) Isaac Sim 之前取消設(shè)置此環(huán)境變量可以避免潛在的問(wèn)題。
添加FAST DDS配置文件的環(huán)境變量
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xmlexport FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml: 這條命令是設(shè)置 FASTRTPS_DEFAULT_PROFILES_FILE 環(huán)境變量,使其指向之前創(chuàng)建的 fastdds.xml 文件的位置。Fast RTPS 使用 XML 文件來(lái)定義配置文件,通過(guò) FASTRTPS_DEFAULT_PROFILES_FILE 環(huán)境變量來(lái)指定這個(gè)配置文件的位置。當(dāng) ROS2 Fast DDS啟動(dòng)時(shí),它會(huì)查看這個(gè)環(huán)境變量,并加載指定的 XML 文件中的配置。
警告: 不要在運(yùn)行Isaac Sim的終端里source ROS2,因?yàn)檫@可能會(huì)因符號(hào)沖突而在啟動(dòng)過(guò)程中導(dǎo)致錯(cuò)誤。
這通常已經(jīng)在裝ROS2的時(shí)候?qū)懭肓藒/.bashrc,因此將~/.bashrc作備份,并在bashrc中取消ROS2的自動(dòng)source。
注釋掉~/.bashrc中和ROS2相關(guān)的腳本行:
source /opt/ros/humble/setup.bash # uncomment the line of ROS source /home/<your_username>/<your_workspace>/install/setup.bash # uncomment the line of ROS workspace3.下載并設(shè)置工作空間
下載Isaac Sim官方提供的ROS包
對(duì)于Humble版本,工作空間在下載的repo的IsaacSim-ros_workspaces/humble_ws目錄下。
git clone https://github.com/NVIDIA-Omniverse/IsaacSim-ros_workspaces安裝依賴
# For rosdep install command sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential # For colcon build command sudo apt install python3-colcon-common-extensions在當(dāng)前終端設(shè)置一次ROS環(huán)境變量
source /opt/ros/humble/setup.bash安裝turtlebot3包案例
cd ~/humble_ws/src git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git turtlebot3對(duì)應(yīng)的urdf文件存儲(chǔ)在~/humble_ws/src/turtlebot3/turtlebot3_description/urdf下
安裝ROS包的依賴
cd humble_ws # go to the humble_ws folder rosdep install -i --from-path src --rosdistro humble -y # install dependencies of ROS應(yīng)當(dāng)提示如下結(jié)果:
#All required rosdeps installed successfully
編譯工作空間
- 安裝編譯相關(guān)依賴
catkin_pkg是用于ROS開發(fā)的Python庫(kù),它可以幫助解析ROS包的信息。
pip install catkin_pkg # install catkin_pkg for ROS colcon build名為 empy 的Python庫(kù)是一個(gè)模板引擎,主要用于生成代碼,ROS中的一些功能需要它來(lái)生成接口相關(guān)的代碼。
# CAUTION: DO NOT INSTALL EM, EM IS NOT FOR ROS2 # pip uninstall em pip install empy # install empy for ROS colcon buildLark是一個(gè)強(qiáng)大的解析庫(kù),用于在Python中構(gòu)建語(yǔ)法解析器和編譯器。它可以幫助你解析自定義的文本格式和語(yǔ)言,或者處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
pip install lark # install lark colcon build- 設(shè)定setuptools版本來(lái)避免編譯錯(cuò)誤
如果仍存在問(wèn)題,暫時(shí)忽視這個(gè)問(wèn)題,不影響使用。
- 編譯
5.使用這個(gè)包
打開新終端,執(zhí)行以下命令
source /opt/ros/humble/setup.bash cd humble_ws source install/local_setup.bash隨后執(zhí)行希望執(zhí)行的demo
總結(jié)
以上是生活随笔為你收集整理的Isaac Sim详细安装使用教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Facebook放弃Apple TV,到
- 下一篇: 【食家巷】品尝西北传统美食老油饼,感受节