機器人仿真(2)Ubuntu24.04下RTX5090配置IsaacSim與IsaacLab

目錄

  • 一、前言
  • 二、電腦配置
  • 三、配置步驟
    • 3.1 創建Conda環境
    • 3.2 安裝PyTorch
    • 3.3 安裝Isaac Sim
    • 3.4 安裝Isaac Lab
  • 四、總結

一、前言

博主自從去年開始就一直在關注Isaac Lab和Isaac Sim,但是一直以來由于手頭設備只有4060,甚至沒有達到最低配置16GB顯存要求,因此只能望洋興嘆。今年下定決心下血本購入頂配臺式一臺,為了讓我投入的資金充分轉化為生產力,因此最近開始搗鼓配置Isaac Lab和Isaac Sim。由于50系顯卡較新,且最新的CUDA版本只能使用Nightly版本的PyTorch,因此配置過程中有許多需要注意的細節,因此我寫下了這篇博客用來記錄配置過程,既是記錄配置過程中遇到的一些問題,也是給各位志同道合的朋友們拋磚引玉,一起用上最先進的GPU并行強化學習環境,共同進步。話不多說,我們正式開始配置吧。

二、電腦配置

名稱型號
操作系統Ubuntu 24.04 LTS
CPUAMD Ryzen 9 9950X3D 16-Core Processor
運行內存64GB
GPUNVIDIA GeForce RTX 5090
GPU 驅動575.64.03
CUDA 版本12.9

三、配置步驟

電腦需要首先安裝Nvidia驅動以及miniconda,已有博客詳細闡述了配置過程,本文不再贅述。下面的配置過程主要參考Isaac Lab官方文檔的Pip Installation,文檔提供了另外一種二進制安裝方式,主要區別在于使用的python環境以及Isaac Sim的安裝上,下面的安裝步驟僅針對Pip Installation,二進制安裝請自行嘗試。

3.1 創建Conda環境

conda create -n env_isaaclab python=3.10
conda activate env_isaaclab

3.2 安裝PyTorch

此處區別于官方文檔,截至Sat Jul 26 14:55:10 2025 ,最新的CUDA版本12.9不能使用PyTorch的穩定版2.7.1,因此需要安裝Preview (Nightly)版本,安裝命令如下:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129

使用如下命令查看當前的PyTorch版本

python -m pip show torch 2>/dev/null | grep "Version" | awk "{print $2}"

我的版本是Version: 2.9.0.dev20250725+cu129,需要記住這個版本號,在下面安裝Isaac Lab的時候要用到。

3.3 安裝Isaac Sim

pip install 'isaacsim[all,extscache]==4.5.0' --extra-index-url https://pypi.nvidia.com

安裝完成后使用如下命令驗證Isaac Sim是否安裝成功

isaacsim

首次運行isaacsim時會有如下的NVIDIA Software License Agreement,需要手動輸入Yes

By installing or using Isaac Sim, I agree to the terms of NVIDIA SOFTWARE LICENSE AGREEMENT (EULA)
in https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreementDo you accept the EULA? (Yes/No): Yes

如果安裝成功,應該有如下界面
在這里插入圖片描述

3.4 安裝Isaac Lab

首先克隆倉庫

git clone git@github.com:isaac-sim/IsaacLab.git

安裝依賴項

sudo apt install cmake build-essential

使用編輯器修改IsaacLab/isaaclab.sh,這一步使用到的版本號就是3.2節中最后我們獲得的版本號,中間用echo命令打印出來的信息可以不修改,最關鍵的兩點修改:

  1. if [[ "${torch_version}" != "2.7.0+cu128" ]]; then 修改為 if [[ "${torch_version}" != "2.9.0.dev20250725+cu129" ]]; then
  2. ${python_exe} -m pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128 修改為 ${python_exe} -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129

原本的安裝腳本中會檢查torch版本是否是 2.7.0+cu128,但是最新的CUDA版本是12.9,支持12.9的只有Nightly版本,因此需要把版本檢查和安裝的部分替換為最新的版本。

# pass the arguments
while [[ $# -gt 0 ]]; do# read the keycase "$1" in-i|--install)# 把原先這一段注釋,修改成下面的echo "[INFO] Installing extensions inside the Isaac Lab repository..."python_exe=$(extract_python_exe)# check if pytorch is installed and its version# install pytorch with cuda 12.9 for blackwell supportif ${python_exe} -m pip list 2>/dev/null | grep -q "torch"; thentorch_version=$(${python_exe} -m pip show torch 2>/dev/null | grep "Version:" | awk '{print $2}')echo "[INFO] Found PyTorch version ${torch_version} installed."if [[ "${torch_version}" != "2.9.0.dev20250725+cu129" ]]; then	# 替換此處的版本號echo "[INFO] Uninstalling PyTorch version ${torch_version}..."${python_exe} -m pip uninstall -y torch torchvision torchaudioecho "[INFO] Installing PyTorch 2.9.0 with CUDA 12.9 support..."${python_exe} -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129elseecho "[INFO] PyTorch 2.9.0 is already installed."fielseecho "[INFO] Installing PyTorch 2.9.0 with CUDA 12.9 support..."${python_exe} -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129fi

安裝強化學習/模仿學習框架

./isaaclab.sh -i

創建空場景驗證安裝

python scripts/tutorials/00_sim/create_empty.py

應當能看到如下輸出
在這里插入圖片描述
下面我們就可以訓練一個機器人了,例如經典的ant環境

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0
# 如果要提高訓練效率,請加上--headless選項,完整命令如下
# ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless

機器人仿真(2)-視頻:訓練ANT環境

終端輸出如下

################################################################################Learning iteration 205/1000                       Computation: 82994 steps/s (collection: 1.520s, learning 0.059s)Mean action noise std: 0.16Mean value_function loss: 0.0247Mean surrogate loss: -0.0023Mean entropy loss: -3.9463Mean reward: 102.77Mean episode length: 906.04Episode_Reward/progress: 6.4252Episode_Reward/alive: 0.4708Episode_Reward/upright: 0.0927Episode_Reward/move_to_target: 0.4684Episode_Reward/action_l2: -0.0141Episode_Reward/energy: -0.7186Episode_Reward/joint_pos_limits: -0.3366Episode_Termination/time_out: 2.2812Episode_Termination/torso_height: 0.1562
--------------------------------------------------------------------------------Total timesteps: 27000832Iteration time: 1.58sTime elapsed: 00:04:59ETA: 00:19:15################################################################################Learning iteration 206/1000                       Computation: 82106 steps/s (collection: 1.537s, learning 0.059s)Mean action noise std: 0.15Mean value_function loss: 0.0313Mean surrogate loss: -0.0002Mean entropy loss: -3.9886Mean reward: 105.27Mean episode length: 929.74Episode_Reward/progress: 6.6413Episode_Reward/alive: 0.4845Episode_Reward/upright: 0.0961Episode_Reward/move_to_target: 0.4757Episode_Reward/action_l2: -0.0146Episode_Reward/energy: -0.7420Episode_Reward/joint_pos_limits: -0.3487Episode_Termination/time_out: 2.3438Episode_Termination/torso_height: 0.1250
--------------------------------------------------------------------------------Total timesteps: 27131904Iteration time: 1.60sTime elapsed: 00:05:01ETA: 00:19:14

Isaac Lab中還有其他環境,我們還可以訓練機器人、機械臂、無人機等對象完成不同的任務,例如我們可以訓練Animal四足機器人:

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 # 同理可以加上--headless提高效率

機器人仿真(2)-視頻:訓練Anymal環境

輸出如下:

################################################################################Learning iteration 113/1500                       Computation: 24455 steps/s (collection: 3.956s, learning 0.064s)Mean action noise std: 0.49Mean value_function loss: 0.0140Mean surrogate loss: -0.0094Mean entropy loss: 8.4871Mean reward: 6.06Mean episode length: 515.96
Episode_Reward/track_lin_vel_xy_exp: 0.3945
Episode_Reward/track_ang_vel_z_exp: 0.2131Episode_Reward/lin_vel_z_l2: -0.0302Episode_Reward/ang_vel_xy_l2: -0.0485Episode_Reward/dof_torques_l2: -0.0438Episode_Reward/dof_acc_l2: -0.0953Episode_Reward/action_rate_l2: -0.0474Episode_Reward/feet_air_time: -0.0075Episode_Reward/undesired_contacts: -0.0016
Episode_Reward/flat_orientation_l2: 0.0000Episode_Reward/dof_pos_limits: 0.0000Curriculum/terrain_levels: 0.2560
Metrics/base_velocity/error_vel_xy: 0.2929
Metrics/base_velocity/error_vel_yaw: 0.2349Episode_Termination/time_out: 1.7917Episode_Termination/base_contact: 5.0417
--------------------------------------------------------------------------------Total timesteps: 11206656Iteration time: 4.02sTime elapsed: 00:06:54ETA: 01:24:00################################################################################Learning iteration 114/1500                       Computation: 24878 steps/s (collection: 3.888s, learning 0.064s)Mean action noise std: 0.49Mean value_function loss: 0.0144Mean surrogate loss: -0.0091Mean entropy loss: 8.4738Mean reward: 6.77Mean episode length: 546.42
Episode_Reward/track_lin_vel_xy_exp: 0.3991
Episode_Reward/track_ang_vel_z_exp: 0.2165Episode_Reward/lin_vel_z_l2: -0.0308Episode_Reward/ang_vel_xy_l2: -0.0495Episode_Reward/dof_torques_l2: -0.0449Episode_Reward/dof_acc_l2: -0.0971Episode_Reward/action_rate_l2: -0.0484Episode_Reward/feet_air_time: -0.0080Episode_Reward/undesired_contacts: -0.0019
Episode_Reward/flat_orientation_l2: 0.0000Episode_Reward/dof_pos_limits: 0.0000Curriculum/terrain_levels: 0.2656
Metrics/base_velocity/error_vel_xy: 0.3042
Metrics/base_velocity/error_vel_yaw: 0.2438Episode_Termination/time_out: 2.0417Episode_Termination/base_contact: 5.3750
--------------------------------------------------------------------------------Total timesteps: 11304960Iteration time: 3.95sTime elapsed: 00:06:58ETA: 01:24:00

使用默認參數訓練的CPU和內存占用情況如下

GPU占用情況如下(不得不感嘆5090的強大)

(env_isaaclab) ?  Environments nvidia-smi
Sat Jul 26 16:06:58 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.64.03              Driver Version: 575.64.03      CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 5090        Off |   00000000:01:00.0  On |                  N/A |
|  0%   35C    P0            171W /  575W |   17438MiB /  32607MiB |     25%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            2720      G   /usr/lib/xorg/Xorg                      613MiB |
|    0   N/A  N/A            3027      G   /usr/bin/gnome-shell                    187MiB |
|    0   N/A  N/A            3477      G   ...exec/xdg-desktop-portal-gnome          8MiB |
|    0   N/A  N/A            4017      G   /usr/share/code/code                     81MiB |
|    0   N/A  N/A            4845      G   ...ess --variations-seed-version         46MiB |
|    0   N/A  N/A            5289      G   ...ersion=20250725-130039.589000        140MiB |
|    0   N/A  N/A            6131      G   ...OTP --variations-seed-version         63MiB |
|    0   N/A  N/A           21308    C+G   .../envs/env_isaaclab/bin/python      15971MiB |
|    0   N/A  N/A           21987      G   /usr/bin/gnome-system-monitor            18MiB |
+-----------------------------------------------------------------------------------------+

四、總結

50系顯卡雖強,但軟件生態還在逐步完善,許多庫尚未完全適配,配置過程中需要頻繁查閱 Nightly 版本、修補依賴、調整腳本。Ubuntu 24.04 雖然新,但也存在一些兼容性問題,比如 Isaac Sim 4.5 目前還不支持 ROS 2 Jazzy,對于想要深度集成機器人中間件的用戶來說,需要提前規劃。

接下來我還打算繼續測試 Isaac Lab 在多智能體協同、規劃與博弈任務中的表現,并嘗試集成 ROS 2 等模塊,構建更加完善的實驗平臺。希望這篇文章能為正在探索這條技術路線的朋友帶來一些參考,也歡迎大家留言交流、一起摸索進步。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916469.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916469.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916469.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DaVinci Resolve 19.0(達芬奇)軟件安裝包下載及詳細安裝教程|附帶安裝文件

[軟件名稱]:ArcGIS [軟件大小]:2.99 GB [系統要求]:支持Win7及更高版本 [下載通道]: 迅雷網盤 [下載鏈接]:高速下載地址 https://pan.xunlei.com/s/VOW9nw-JV99A_7f_5hhpgqO2A1?pwdbufh# ??:先用手機下載迅雷網盤保存到手機中&#xff0c…

Java學習第八十一部分——Shiro

目錄 📫 一、前言提要簡介 🛡? 二、核心功能介紹 ?? 三、核心架構組件 ? 四、與Java的關系 ?? 五、與Spring Security對比 🧩 六、典型應用場景 💎 七、總結歸納概述 📫 一、前言提要簡介 Apache Shiro 是…

虛擬機ubuntu20.04共享安裝文件夾

ubuntu20.04共享安裝文件夾 4.5 共享安裝文件夾 將Windows存放安裝文件的文件夾共享給虛擬機,如下圖操作:如果是在ubuntu20.04中,還需要以下的操作: sudo mkdir /mnt/hgfs 此命令無效 sudo echo ‘vmhgfs-fuse /mnt/hgfs fu…

如何查看電腦后門IP和流量?

你是否也有以下經歷?深夜,你的電腦風扇突然狂轉,屏幕卻一片寂靜;每月流量莫名超標,賬單高得離譜;鼠標偶爾不聽使喚…這些可能不是電腦“鬧脾氣”,如何一探究竟? 想象一下&#xff1a…

分類預測 | MATLAB基于四種先進的優化策略改進蜣螂優化算法(IDBO)的SVM多分類預測

分類預測 | MATLAB基于四種先進的優化策略改進蜣螂優化算法(IDBO)的SVM多分類預測 目錄分類預測 | MATLAB基于四種先進的優化策略改進蜣螂優化算法(IDBO)的SVM多分類預測分類效果基本介紹多策略量子自適應螺旋搜索算法研究摘要1. 引言1.1 研究背景1.2 研究意義1.3 研究目標2. 文…

Android 修改系統時間源碼閱讀

鏈接:XRefAndroid - Support Android 16.0 & OpenHarmony 5.0 (AndroidXRef/AospXRef) 這里看的Android 10的代碼,選中Android 10,勾選所有工程,搜索DateTimeSettings?: 看到showTimePicker應該是顯示一個設置時…

關于自定義域和 GitHub Pages(Windows)

GitHub Pages 支持使用自定義域,或將站點 URL 的根目錄從默認值(例如 )更改為您擁有的任何域,比如octocat.github.io。 誰可以使用此功能? GitHub Pages 在公共存儲庫中提供 GitHub Free 和 GitHub Free for organizations,在公共和私有存儲庫中提供 GitHub Pro、GitHub …

自動駕駛領域中的Python機器學習

數據預處理與特征工程 在自動駕駛系統中,數據是驅動決策的核心。從傳感器(如攝像頭、激光雷達、毫米波雷達)收集的原始數據通常包含噪聲、缺失值和異常值,需要進行系統的預處理。Python的pandas庫提供了強大的數據處理能力&#x…

PROFINET轉CAN通訊協議轉換速通汽車制造

在汽車系統領域之外,控制器局域網(CAN)總線技術亦廣泛應用于多種工業環境。其固有的穩健性、可靠性與靈活性,使其成為工業自動化及控制系統中設備間通信的理想選擇。CAN 總線技術在工業應用中的關鍵領域包括機器控制、傳感器網絡以…

影刀RPA_小紅書筆記批量采集_源碼解讀

一、項目簡介本項目是一個基于影刀RPA的小紅書筆記批量采集工具,能夠通過兩種模式獲取小紅書平臺的軟文數據:搜索內容抓取和自定義鏈接抓取。工具使用Chrome瀏覽器自動化技術,實現了從網頁數據采集、解析到Excel導出的完整流程。支持獲取筆記…

以使命為帆,結業是重新出發的號角

站在私教班結業典禮的講臺上,望著眼前一張張閃爍著力量的面孔,我心中始終縈繞著一個信念:所有的相遇,都是為了共同奔赴一件更有意義的事。今天不是終點,而是 “使命的啟程”—— 我們因不甘而相聚:不甘心行…

java測試題(下)

1. Spring 核心概念1.1 如何理解 Spring DI?DI(依賴注入) 是 IoC(控制反轉) 的具體實現方式,由 Spring 容器在運行時通過以下方式自動注入依賴:構造器注入(推薦)Setter 注…

LC振蕩Multisim仿真

電路圖:說明:點擊仿真后,先打開S1,可以看到C1的充電曲線。當電容充滿電后,關閉S1,打開S2,這時候,C2電容會快速獲得C1一半的電量。如果沒有L,曲線會變得很陡。如果只加入電…

五、Web開發

文章目錄1. SpringMVC自動配置概覽2. 簡單功能分析2.1 靜態資源訪問2.1.1 靜態資源目錄2.1.2 靜態資源訪問前綴2.1.3 webjar2.2 歡迎頁支持2.3 自定義 Favicon2.4 靜態資源配置原理2.4.1 配置類只有一個有參構造器2.4.2 資源處理的默認規則2.4.3 歡迎頁的處理規則2.4.4 favicon…

Mysql 二進制安裝常見問題

1. mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory在centos9中升級了libncurses.so的版本為libncurses.so.6,所以找不到libncurses.so.5需要使用軟連接指向libncurses.so.6ln -s /lib6…

OpenLayers 綜合案例-點位聚合

看過的知識不等于學會。唯有用心總結、系統記錄,并通過溫故知新反復實踐,才能真正掌握一二 作為一名摸爬滾打三年的前端開發,開源社區給了我飯碗,我也將所學的知識體系回饋給大家,助你少走彎路! OpenLayers…

測試老鳥整理,物流項目系統測試+測試點分析(一)

目錄:導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結(尾部小驚喜) 前言 物流項目&#xf…

好的編程語言設計是用簡潔清晰的原語組合復雜功能

首先,函數命名要user friendly,比如最常用的控制臺輸入輸出,input scanf gets read readln readline print println writeline… 我專門詢問了chatgpt,讓它給出流行度百分比最高的組合(ai干這個最在行)&…

基于springboot的在線購票系統/在線售票系統

用戶:注冊,登錄,影院信息,即將上映,電影信息,新聞公告,取票管理,電影評價管理,我的收藏管理,個人中心管理員:登錄,個人中心&#xff0…

Spring Boot項目打包部署常見問題解決方案

問題一:JAR包缺少主清單屬性 問題描述 在使用 java -jar 命令啟動Spring Boot項目時,遇到以下錯誤: demo-service.jar中沒有主清單屬性問題原因 pom.xml 中 spring-boot-maven-plugin 配置不正確打包時跳過了主清單文件的生成主類&#xff08…