Ubuntu 22.04 安装 NVIDIA Isaac Sim 5.1 与 Isaac Lab:从环境配置到运行示例-文末有开源推荐
前言 -- 文末有开源推荐记得看完哦Isaac Lab 是 NVIDIA 基于 Isaac Sim 开发的机器人学习框架主要用于强化学习训练机器人运动控制Sim-to-Real传感器仿真大规模并行环境地形、操作和移动任务研究。我在学习轮腿机器人强化学习的过程中使用了 Isaac Lab。由于 Isaac Sim、Python、CUDA、PyTorch 和 Isaac Lab 之间存在版本对应关系安装时很容易遇到环境冲突因此整理了这篇安装记录。本文使用的主要环境如下操作系统Ubuntu 22.04 Isaac Sim5.1.0 Python3.11 Isaac Lab2.3.2 环境管理Conda GPUNVIDIA RTX 系列本文命令基于 2026 年 7 月的官方安装说明。Isaac Sim 和 Isaac Lab 更新较快安装其他版本前请检查官方版本对应关系。官方文档官方文档都是有标记版本的默认是最新版如果安装或使用不是最新版需要切换一下不同版本可能会有细微的差别Isaac Lab Pip 安装文档Isaac Lab 二进制安装文档Isaac Sim 安装文档一、安装前准备1. 检查 NVIDIA 驱动执行nvidia-smi如果能看到 GPU 型号、驱动版本和显存使用情况说明 NVIDIA 驱动基本正常。例如这里的CUDA版本是支持的最高的CUDA版本不是目前安装的版本这里要注意一下CUDA版本查看请用命令nvcc --version--------------------------------------------------------------------------------------------小插曲---------安装 CUDA Toolkit 后 NVIDIA 驱动失效在写这个文档时我想试一下nvcc --version但是提示无法需要做这个sudo apt install nvidia-cuda-toolkit然后我执行了sudo apt install nvidia-cuda-toolkit随后结果运行训练程序出现错误RuntimeError: No CUDA GPUs are available继续执行nvidia-smi得到NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.问题分析这个错误发生在系统驱动层而不是 Isaac Lab、强化学习代码或者 PyTorch 层。当nvidia-smi都无法正常工作时应当优先检查 NVIDIA 驱动而不是反复重装 PyTorch、Isaac Lab 或 Conda 环境。本次检查发现uname -r输出的当前内核为6.8.0-136-generic系统虽然已经安装了 NVIDIA 580 驱动的用户态库但当前内核中没有对应的 NVIDIA 内核模块modinfo nvidia输出modinfo: ERROR: Module nvidia not found.这意味着系统能够通过 PCIe 识别 NVIDIA 显卡但驱动内核模块并未安装到当前使用的 Linux 内核中。因此PyTorch 无法使用 GPUnvidia-smi也无法与驱动通信。最终确认缺失的是类似下面的包linux-modules-nvidia-580-open-6.8.0-136-generic解决方法重新安装与当前系统匹配的 NVIDIA 驱动sudo apt update sudo apt install --reinstall nvidia-driver-580-open sudo reboot重新安装过程中APT 会同步安装当前内核需要的 NVIDIA 模块并统一 NVIDIA 用户态库、固件和内核模块的版本。重启后执行nvidia-smi如果能够正常显示显卡、驱动版本、CUDA 兼容版本和显存信息说明驱动已经恢复。随后验证 PyTorchconda activate env_isaaclab python -c import torch; \ print(PyTorch:, torch.__version__); \ print(CUDA Runtime:, torch.version.cuda); \ print(CUDA Available:, torch.cuda.is_available()); \ print(GPU:, torch.cuda.get_device_name(0) if torch.cuda.is_available() else 不可用)正常情况下应看到CUDA Available: True GPU: NVIDIA ...--------------------------------------------------------------------------------------------如果出现nvidia-smi: command not found或者无法连接驱动应先完成 NVIDIA 驱动安装。具体的安装教程麻烦网上搜一下了有终端命令安装法也有文件安装法等等Isaac Sim 对 GPU、驱动、显存、内存和磁盘都有一定要求。建议使用 RTX 系列显卡并预留至少 50 GB 磁盘空间。官方也提供了兼容性检查工具Isaac Sim Compatibility Checker。工具官方示例效果显存容量不足倒也能用的其实但是会容易卡偶尔加载大了还容易卡死训练环境什么的搞少点主要是版本要兼容的上能用学得上就很好2. 检查 GLIBC使用 Pip 安装 Isaac Sim 5.1 要求系统兼容 GLIBC 2.35 或更高版本。ldd --versionUbuntu 22.04 通常使用 GLIBC 2.35可以满足要求。Ubuntu 20.04 默认通常是 GLIBC 2.31不适合直接按照本文的 Pip 方式安装 Isaac Sim 5.1。此时可考虑升级到 Ubuntu 22.04使用 Isaac Sim 预编译二进制包使用与系统兼容的旧版本。3. 安装基础工具sudo apt update sudo apt install -y \ git \ git-lfs \ cmake \ build-essential \ unzip \ wget \ curl初始化 Git LFSgit lfs install二、安装 Miniconda如果已经安装 Anaconda 或 Miniconda可以跳过本节。不知道conda的建议还是网上搜一下相关的知识conda还是很有用的。下载 Minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh执行安装bash Miniconda3-latest-Linux-x86_64.sh安装完成后重新打开终端或者执行source ~/.bashrc检查 Condaconda --version三、创建 Isaac Lab 环境Isaac Sim 5.x 使用 Python 3.11。不要创建 Python 3.10 或 3.12 环境否则可能产生二进制依赖错误。conda create -n env_isaaclab python3.11 -y激活环境conda activate env_isaaclab确认 Python 版本python --version预期输出类似Python 3.11.x升级 Pippython -m pip install --upgrade pip setuptools wheel以后每次运行 Isaac Lab 前都需要先激活环境conda activate env_isaaclab四、安装 PyTorch按照 Isaac Lab 当前官方文档Linux x86_64 环境可以安装 PyTorch 2.7.0 CUDA 12.8 版本pip install \ torch2.7.0 \ torchvision0.22.0 \ --index-url https://download.pytorch.org/whl/cu128安装完成后检查python -c import torch; print(PyTorch:, torch.__version__); print(CUDA:, torch.version.cuda); print(CUDA available:, torch.cuda.is_available()); print(GPU:, torch.cuda.get_device_name(0) if torch.cuda.is_available() else None)正常情况下会看到CUDA available: True GPU: NVIDIA ...如果显示CUDA available: False建议检查Conda 环境是否正确NVIDIA 驱动是否正常是否安装了 CPU 版本 PyTorchPyTorch CUDA Wheel 是否与当前平台匹配。Conda 环境中的 CUDA Runtime 主要由 PyTorch Wheel 提供通常不要求本地完整安装相同版本的 CUDA Toolkit但 NVIDIA 驱动必须满足要求。五、安装 Isaac Sim 5.1执行pip install isaacsim[all,extscache]5.1.0 \ --extra-index-url https://pypi.nvidia.com安装包较大需要等待一段时间。安装完成后启动isaacsim第一次启动时可能要求接受 NVIDIA Omniverse EULA按照提示输入Yes首次启动还可能出现以下现象下载扩展编译 Shader初始化缓存数分钟没有明显输出CPU、GPU 或磁盘占用较高。这通常是正常现象。官方说明第一次加载某些 Experience 可能需要数分钟之后会使用缓存启动速度会明显提高。如果只想检查兼容性可以安装或运行兼容性检查isaacsim isaacsim.exp.compatibility_check六、下载 Isaac Lab选择一个用于保存项目的目录mkdir -p ~/IsaacLabWorkspace cd ~/IsaacLabWorkspace克隆 Isaac Labgit clone https://github.com/isaac-sim/IsaacLab.git cd IsaacLab查看管理脚本./isaaclab.sh --helpisaaclab.sh是 Isaac Lab 提供的统一管理脚本常用参数包括-p 使用当前环境或 Isaac Sim 提供的 Python 运行脚本 -i 安装 Isaac Lab 扩展和强化学习库 -s 启动 Isaac Sim -v 生成 VS Code 配置 -f 格式化和检查代码七、安装 Isaac Lab确保当前仍处于 Conda 环境conda activate env_isaaclab进入 Isaac Lab 根目录cd ~/IsaacLabWorkspace/IsaacLab安装全部支持的学习框架./isaaclab.sh --install也可以只安装需要的强化学习框架。例如只使用 RSL-RL./isaaclab.sh --install rsl_rl支持的选项通常包括all rl_games rsl_rl sb3 skrl robomimic none如果主要进行腿式机器人强化学习通常可以选择./isaaclab.sh -i rsl_rl安装过程会以 editable 模式安装 Isaac Lab 的多个 Python 扩展。八、验证 Isaac Lab运行官方最小示例./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py正常情况下会打开 Isaac Sim并显示一个空场景。也可以运行其他示例例如程序化地形./isaaclab.sh -p scripts/demos/procedural_terrain.py查看 Isaac Lab 已安装的 Python 包python -m pip list | grep isaac检查 PyTorch./isaaclab.sh -p -c import torch; print(torch.cuda.is_available())需要注意部分 Isaac Lab 模块依赖 Isaac Sim 启动后提供的pxr、omni等模块。因此不建议使用普通 Python 随意导入所有 Isaac Lab 环境模块。运行正式脚本时应确保脚本先创建AppLauncher或者通过官方脚本启动。官方还内置了蜘蛛爬行详细看文档Launch Training等的示例具体玩耍和学习细节都在文档中Quickstart Guide — Isaac Lab Documentation九、安装外部 Isaac Lab 项目很多 Isaac Lab 项目采用以下目录结构my_project/ ├── scripts/ ├── source/ │ └── my_robot/ │ ├── setup.py │ └── my_robot/ └── README.md进入项目根目录后执行python -m pip install -e source/my_robot例如cd ~/IsaacLabWorkspace/my_project python -m pip install -e source/my_robot-e表示 editable 安装。修改源码后通常不需要重新打包安装。检查实际导入路径python - PY import importlib.util spec importlib.util.find_spec(my_robot) print(spec.origin) print(spec.submodule_search_locations) PY这一步非常重要。如果电脑中存在多个同名项目Python 可能仍然导入旧目录。也可以使用python -m pip show my_robot重点检查Editable project location如果指向了错误目录重新在正确仓库执行python -m pip install -e source/my_robot十、为什么有时使用isaaclab.sh -p例如./isaaclab.sh -p scripts/rsl_rl/train.py其中./isaaclab.sh负责定位 Isaac Sim、Isaac Lab 和当前虚拟环境。-p表示使用配置好的 Python 运行后面的脚本。因此./isaaclab.sh -p scripts/test.py可以理解为使用 Isaac Lab 配置过的 Python 环境运行 scripts/test.py在 Conda 环境和所有路径都正确时某些脚本也可以直接运行python scripts/test.py不过为了避免PYTHONPATH、Isaac Sim 路径和扩展加载问题初学阶段建议优先使用./isaaclab.sh -p十一、常见问题1.ModuleNotFoundError: No module named isaacsim首先确认环境conda activate env_isaaclab检查python -m pip show isaacsim如果没有安装pip install isaacsim[all,extscache]5.1.0 \ --extra-index-url https://pypi.nvidia.com2.ModuleNotFoundError: No module named pxr常见原因使用了错误的 PythonIsaac Sim 环境没有正确加载在 AppLauncher 启动前导入了依赖 USD 的模块Isaac Sim 安装不完整。优先通过以下方式运行./isaaclab.sh -p scripts/your_script.py并确保脚本先启动from isaaclab.app import AppLauncher app_launcher AppLauncher(headlessTrue) simulation_app app_launcher.app之后再导入依赖 Isaac Sim 的模块。3. 找不到自定义 Gym 环境例如gymnasium.error.NameNotFound: Environment xxx doesnt exist可能不是环境没有编写而是 Python 导入了旧项目。检查python -m pip show your_package重新安装python -m pip install -e source/your_package4. 第一次启动很慢第一次启动会加载大量扩展编译 Shader建立缓存初始化 PhysX 和 RTX。等待几分钟通常是正常的。官方说明部分 Experience 首次加载可能超过 10 分钟。5. Isaac Sim 卡住且CtrlC无法退出先尝试CtrlC如果进程被暂停而不是退出可能误按了CtrlZ查看后台任务jobs -l恢复任务fg然后再次按CtrlC仍无法结束时查找进程ps aux | grep -E isaac|kit|python使用普通终止信号kill PID最后才使用kill -9 PID6. 显存不足降低并行环境数量--num_envs 512或者--num_envs 256训练稳定后再逐渐提高。还可以使用--headless关闭视频录制减少相机和 RTX 传感器降低地形复杂度避免同时运行多个 Isaac Sim。7. 旧缓存导致异常可以尝试重置用户配置isaacsim --reset-user二进制安装方式通常可以执行./isaac-sim.sh --reset-user清理缓存前建议先查看官方故障排查文档不要直接删除不确定的项目数据。十二、推荐的日常启动方式每次打开新终端后conda activate env_isaaclab cd ~/IsaacLabWorkspace/IsaacLab运行脚本./isaaclab.sh -p scripts/your_script.py如果经常使用可以在~/.bashrc中添加export ISAACLAB_ROOT$HOME/IsaacLabWorkspace/IsaacLab然后执行source ~/.bashrc以后可以使用${ISAACLAB_ROOT}/isaaclab.sh -p scripts/your_script.py注意不要在教程中把自己电脑的绝对路径直接复制给其他用户例如/home/your_name/...更推荐使用$HOME或者${ISAACLAB_ROOT}十三、项目推荐Wheel-Legged-Lab完成 Isaac Lab 环境配置后如果你也对强化学习、轮腿机器人和平衡控制感兴趣欢迎关注我的开源项目 Wheel-Legged-Lab该项目基于 Isaac Lab围绕开链轮腿平衡机器人开展强化学习实践目前主要包括平移、旋转与动态平衡控制原地跳跃与跳跃高度课程学习边移动边跳跃目标落点跳跃障碍物地形训练分阶段自动训练流程键盘控制、模型演示与调试指标输出我也是强化学习和机器人领域的学习者项目中难免存在不足。开源这个项目的主要目的是记录自己的学习过程也希望能为其他初学者提供一份可以运行和继续探索的参考。如果这个项目对你有帮助欢迎点一个 Star也欢迎提交 Issue、交流训练经验或一起完善项目。希望我们能共同学习把轮腿机器人的更多有趣能力实现出来总结本文完成了以下工作检查 NVIDIA 驱动和系统环境创建 Python 3.11 Conda 环境安装 CUDA 版本 PyTorch使用 Pip 安装 Isaac Sim 5.1下载并安装 Isaac Lab运行官方示例验证环境介绍外部项目 editable 安装总结常见安装错误及处理方法。Isaac Lab 的安装难点通常不在某一条命令而在于版本对应关系Isaac Sim 版本 Python 版本 PyTorch 版本 Isaac Lab 分支 NVIDIA 驱动 自定义项目安装路径只要保持这些版本和路径一致大部分问题都可以逐步定位。我目前也还在学习 Isaac Lab、强化学习和机器人控制。这篇文章主要是对个人安装与开发过程的记录如果存在错误或更好的安装方式欢迎大家在评论区交流和指正。