机器人仿真(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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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…