Isaac Sim详细安装使用教程
前言
筆者出于工作需要,使用ISAAC SIM,順便也整理一份使用的教程,方便后來人少走彎路。
作者: Herman Ye@Auromix
Auromix是一個機器人愛好者組織,歡迎參與我們Github上的開源項目
一、安裝Isaac Sim
1.下載omniverse
NVIDIA Omniverse? Isaac Sim是NVIDIA Omniverse?平臺的一款機器人仿真工具包。Isaac Sim具備構建虛擬機器人世界和實驗的關鍵功能。它為研究人員和從業人員提供了創建健壯、物理精確仿真和合成數據集所需的工具和工作流程。Isaac Sim通過ROS/ROS2支持導航和操控應用。它可以模擬RGB-D、Lidar和IMU等傳感器的傳感器數據,用于多種計算機視覺技術,如領域隨機化、真值標簽、分割和邊界框。
因為Isaac Sim是依托于NVIDIA Omniverse平臺的仿真工具包,所以需要前往Nvidia Isaac Sim官網下載Omniverse
2.啟動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在沒有安裝FUSE時可能無法啟動appimage,因此先安裝FUSE
sudo apt install fuse -y # install fuse通過命令行啟動Omniverse,也可手動雙擊啟動
./<your_omniverse_appimage>例:
./omniverse-launcher-linux.AppImage3.登錄Nvidia賬號
登錄Nv的賬號,按照引導,默認即可,進入Omniverse主頁面
4.安裝ISAAC SIM
進入EXCHANGE頁面,選擇ISAAC SIM,點擊install,等待自動下載安裝完成
5.安裝NUCLEUS
Omniverse Isaac Sim使用NVIDIA Omniverse? Nucleus來訪問環境和機器人的USD文件等內容。Omniverse Nucleus服務允許各種客戶端應用程序、渲染器和微服務在Omniverse Isaac Sim中共享和修改虛擬世界的表示。
Nucleus采用發布/訂閱模型。在訪問控制的前提下,Omniverse客戶端可以將數字資產和虛擬世界的修改發布到Nucleus數據庫(DB),或訂閱其變化。更改在連接的應用程序之間實時傳輸。數字資產可以包括描述虛擬世界及其隨時間演變的幾何形狀、燈光、材料、紋理和其他數據。
這使得各種Omniverse-enabled客戶端應用程序(Apps, Connectors等)能夠共享和修改虛擬世界的權威表示。
進入NUCLEUS頁面,點擊Add Local Nucleus Device,創建管理員賬號
點擊COMPLETE SETUP,等待下載并設置完成
6.啟動ISAAC SIM
在LIBRARY中找到ISAAC SIM,點擊Launch啟動,按照默認選項,點擊START繼續啟動
過程中可能會遇到一些依賴安裝、光追編譯、加載等情況,根據個人電腦性能情況速度不同,等待即可
提示: ISAAC SIM 對于個人計算機性能要求比較苛刻,因此個人建議最低配置表如下:
| 內存 | 32 GB |
| 存儲 | 1 T |
| 顯存 | 8 G |
具體的ISAAC SIM性能要求可參考Nvidia Isaac Sim Documentation System Requirements
7.觀察ISAAC SIM主界面
在成功啟動并完成編譯、配置等過程后,Isaac Sim的空主界面應當為如下狀態:
相關附錄
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的安裝
二、簡單使用Isaac Sim
這是Isaac Sim的架構圖,可作為了解,具體的架構、開發流等相關內容可查閱Isaac Sim Documentation
1.了解USD
對于框架中提及的USD,可以稍微了解一下:
Omniverse Isaac Sim使用USD交換文件格式來表示場景。Universal Scene Description (USD)是由皮克斯公司開發的一種易于擴展、開源的3D場景描述和文件格式,用于內容創作和工具間的交換。由于其強大和多功能,USD不僅在視覺效果社區中被廣泛采用,而且在建筑、設計、機器人、制造和其他領域也被廣泛采用。
2.配置環境
以下案例以ROS2 Humble版本為標準
安裝xacro
sudo apt-get install ros-humble-xacro安裝Isaac Sim ROS-extension
參考Isaac Sim提供的Enabling the ROS / ROS 2 Bridge Extension教程,執行如下步驟:
開啟ROS Bridge拓展
- 在 Isaac Sim 中,轉到窗口 -> 擴展的擴展管理器菜單,并搜索 ROS bridge。請注意,一次只能啟用一個 ROS Bridge 擴展,比如啟用ROS2 BRIDGE時不可使用ROS BRIDGE。
設置 Fast DDS 中間件配置
- 在ROS的目錄下新建FASTDDS文件
- 打開文件并粘貼以下XML文件內容:
例如使用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 中用來配置 Fast DDS 中間件的文件。
在 fastdds.xml 文件中,主要定義了以下內容:
這些設置的含義是,Fast DDS 將使用 UDPv4 進行數據通信,而不是使用內置的傳輸方式。
取消LD_LIBRARY_PATH環境變量
unset LD_LIBRARY_PATHunset LD_LIBRARY_PATH: 這條命令是用來取消設置 LD_LIBRARY_PATH 環境變量的。LD_LIBRARY_PATH 是一個環境變量,它指定了在運行時動態鏈接器應該搜索共享庫的目錄。如果 LD_LIBRARY_PATH 中包含的目錄中存在不兼容的庫版本,可能會導致問題,因此在啟動 Isaac Sim 之前取消設置此環境變量可以避免潛在的問題。
添加FAST DDS配置文件的環境變量
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xmlexport FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml: 這條命令是設置 FASTRTPS_DEFAULT_PROFILES_FILE 環境變量,使其指向之前創建的 fastdds.xml 文件的位置。Fast RTPS 使用 XML 文件來定義配置文件,通過 FASTRTPS_DEFAULT_PROFILES_FILE 環境變量來指定這個配置文件的位置。當 ROS2 Fast DDS啟動時,它會查看這個環境變量,并加載指定的 XML 文件中的配置。
警告: 不要在運行Isaac Sim的終端里source ROS2,因為這可能會因符號沖突而在啟動過程中導致錯誤。
這通常已經在裝ROS2的時候寫入了~/.bashrc,因此將~/.bashrc作備份,并在bashrc中取消ROS2的自動source。
注釋掉~/.bashrc中和ROS2相關的腳本行:
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.下載并設置工作空間
下載Isaac Sim官方提供的ROS包
對于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在當前終端設置一次ROS環境變量
source /opt/ros/humble/setup.bash安裝turtlebot3包案例
cd ~/humble_ws/src git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git turtlebot3對應的urdf文件存儲在~/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應當提示如下結果:
#All required rosdeps installed successfully
編譯工作空間
- 安裝編譯相關依賴
catkin_pkg是用于ROS開發的Python庫,它可以幫助解析ROS包的信息。
pip install catkin_pkg # install catkin_pkg for ROS colcon build名為 empy 的Python庫是一個模板引擎,主要用于生成代碼,ROS中的一些功能需要它來生成接口相關的代碼。
# CAUTION: DO NOT INSTALL EM, EM IS NOT FOR ROS2 # pip uninstall em pip install empy # install empy for ROS colcon buildLark是一個強大的解析庫,用于在Python中構建語法解析器和編譯器。它可以幫助你解析自定義的文本格式和語言,或者處理復雜的數據結構。
pip install lark # install lark colcon build- 設定setuptools版本來避免編譯錯誤
如果仍存在問題,暫時忽視這個問題,不影響使用。
- 編譯
5.使用這個包
打開新終端,執行以下命令
source /opt/ros/humble/setup.bash cd humble_ws source install/local_setup.bash隨后執行希望執行的demo
總結
以上是生活随笔為你收集整理的Isaac Sim详细安装使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Facebook放弃Apple TV,到
- 下一篇: 【食家巷】品尝西北传统美食老油饼,感受节