【Robotics】半小时入门具身智能之Win11下IsaacSim环境搭建

【Robotics】半小时入门具身智能之Win11下IsaacSim环境搭建 目录一.有关Robotics二.安装IsaacSim与IsaacLab安装IsaacSim准备python环境安装依赖与测试安装IsaacLab克隆项目运行测例三.问题记录测试IsaacSim闪退运行测试案例不成功一.有关Robotics由于笔者硕士阶段攻读方向为具身智能因此开此系列新帖作为学习记录。二.安装IsaacSim与IsaacLab参考官方文档Installation using Isaac Sim Pip Package — Isaac Lab Documentation参考视频教程Lesson1 米雪儿教你在windows下安装Isaaclab_哔哩哔哩_bilibili注意搭建环境前建议安装Anaconda/Miniconda进行虚拟空间管理详情可参考最新版最详细Anaconda新手安装配置环境创建教程_anaconda配置-CSDN博客以下简要步骤均在Windows上完成安装IsaacSim准备python环境安装依赖与测试能成功启动仿真器看到栅格即为成功安装IsaacLab克隆项目先新建一个目录并用git命令克隆官方仓库到该目录下终端进入到刚刚克隆的仓库根目录下并运行批处理文件安装运行测例注意这里稍有不同官方给的命令后headless是指无渲染模式不会显示训练GUI而我们替换成num_envs 16后则设置了并行环境数量为16默认进入渲染显示GUI界面。这里笔者一开始无法成功运行测试案例具体解决方案见第三部分中的运行测试案例不成功isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --taskIsaac-Velocity-Rough-Anymal-C-v0 --num_envs 16进入仿真器显示如下即为成功。三.问题记录以下是笔者在搭建环境时所遇到的一些问题特记录下来。测试IsaacSim闪退笔者如图在这一步进入仿真环境后立刻闪退。需要回退NVIDIA显卡版本笔者是回退至版本号519系列。具体回退过程可参考NVIDIA回退驱动解决方法2025_n卡驱动怎么回退版本-CSDN博客运行测试案例不成功如图笔者运行第二个测试案例时仿真器闪退解决方案如下读者可一并复制给Agent自动解决# IsaacSim 5.1 Windows DLL 冲突修复记录 ## 问题描述 在 Windows 11 Anaconda 环境下运行 Isaac Lab 训练脚本时遇到多个 DLL 加载失败导致的崩溃问题。根本原因是 **IsaacSim 运行时加载的 DLL 与 conda 环境中安装的包存在版本冲突**。 ## 问题 1: h5py DLL 加载失败 **错误信息:** ImportError: DLL load failed while importing _errors: 找不到指定的程序。 **根因:** IsaacSim 自带 HDF5 DLL位于 isaacsim.sensors.rtx 和 omni.usd.libs 扩展中与 conda 安装的 h5py 所需的 HDF5 DLL 版本不兼容。 **修复方法:** 1. 通过 conda-forge 安装兼容版本的 h5py bash pip uninstall h5py -y conda install -c conda-forge h5py3.10.0 -y 2. 将 conda 的 HDF5 DLL 复制到 h5py 包目录使 Python 优先加载正确版本 bash cp D:\Anaconda\envs\env_isaaclab\Library\bin\hdf5.dll D:\Anaconda\envs\env_isaaclab\Lib\site-packages\h5py\ cp D:\Anaconda\envs\env_isaaclab\Library\bin\hdf5_hl.dll D:\Anaconda\envs\env_isaaclab\Lib\site-packages\h5py\ 3. 修改 source/isaaclab/isaaclab/utils/datasets/hdf5_dataset_file_handler.py将 import h5py 改为延迟导入避免在 IsaacSim 扩展启动时触发 DLL 冲突。 ## 问题 2: tensordict._C 编译扩展崩溃 **错误信息:** Windows fatal exception: access violation # 崩溃位于 tensordict/utils.py 第 44 行: from tensordict._C import ... **根因:** IsaacSim 捆绑的 PyTorch 2.7.0cu128 使用 CXX11 ABIFalse 编译而 PyPI 上的 tensordict 0.12.4 的 C 扩展 (_C.pyd) 使用 CXX11 ABITrue 编译。ABI 不匹配导致加载时发生段错误access violation这是硬性崩溃try/except 无法捕获。 **修复方法:** 1. 重命名 tensordict 的 C 扩展文件阻止 Python 加载 bash mv D:\Anaconda\envs\env_isaaclab\Lib\site-packages\tensordict\_C.pyd D:\Anaconda\envs\env_isaaclab\Lib\site-packages\tensordict\_C.pyd.bak 2. 修改 D:\Anaconda\envs\env_isaaclab\Lib\site-packages\tensordict\utils.py将 C 扩展导入改为 try/except并修改纯 Python 回退函数使其在 C 扩展不可用时正确工作 python try: from tensordict._C import ( _unravel_key_to_tuple as _unravel_key_to_tuple_cpp, unravel_key as unravel_key_cpp, unravel_key_list as unravel_key_list_cpp, unravel_keys as unravel_keys_cpp, ) except (ImportError, OSError): pass ## 问题 3: VC 运行时缺失 **修复:** 通过 conda 安装 VC 运行时库vc14_runtime bash conda install -c conda-forge tensordict -y 此操作附带安装了 vc14_runtime-14.51.36231解决了部分编译扩展的 DLL 依赖问题。 ## 环境信息 - OS: Windows 11 Home China (23H2) - GPU: NVIDIA GeForce RTX 3060 Laptop (6GB VRAM) - IsaacSim: 5.1.0 - Isaac Lab: 0.54.3 - Python: 3.11 (Anaconda env_isaaclab) - PyTorch: 2.7.0cu128 (CXX11 ABIFalse) - h5py: 3.10.0 (conda-forge) - tensordict: 0.12.4 (C 扩展已禁用) - numpy: 1.26.4