【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界面。

这里笔者一开始无法成功运行测试案例,具体解决方案见第三部分中的运行测试案例不成功

bash 复制代码
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-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 h5py=3.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.0+cu128 使用 `CXX11 ABI=False` 编译,而 PyPI 上的 tensordict 0.12.4 的 C 扩展 (`_C.pyd`) 使用 `CXX11 ABI=True` 编译。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.0+cu128 (CXX11 ABI=False)
- h5py: 3.10.0 (conda-forge)
- tensordict: 0.12.4 (C 扩展已禁用)
- numpy: 1.26.4
相关推荐
视***间1 小时前
算力筑基,智领人形机器人新时代 —— 英伟达 × 宇树科技携手推进具身智能,视程空间基于 NVIDIA 全栈算力产品助力机器人产业落地
人工智能·机器人·nvidia·机器狗·gpt-oss·视程空间·宇树机器人
某林2124 小时前
ROS2 机器人底盘调试避坑指南:从 `/odom` 丢失到彻底跑通的硬核排障实录
stm32·机器人·人机交互
才兄说6 小时前
机器人二次开发机器狗巡检?低电量自主回充
机器人
啵啵鱼爱吃小猫咪6 小时前
示教学习强化学习用的标准数据集
机器人·强化学习·示教学习
Agilex松灵机器人8 小时前
松灵技术生态|IsaacLab中实现松灵PIPER机械臂键盘遥操作与数据采集教程
agent·强化学习·仿真·具身智能·skill·松灵机器人
硅谷秋水8 小时前
Qwen-VLA:跨任务、环境与机器人形态的视觉-语言-动作统一建模
人工智能·深度学习·算法·计算机视觉·语言模型·机器人
叶子Talk10 小时前
COMPTUEX炸场:OpenAI杀入机器人,英特尔288核CPU首秀
机器人
J_Xiong011710 小时前
【WAM篇】21:RIGVid——让机器人“照着 AI 生成的视频“干活,零演示、零训练
机器人·wam
ZPC821010 小时前
前馈补偿原理 + 分类 + 公式 + 工程实现(配合 PID 使用,从根源减轻闭环收敛压力)
人工智能·分布式·机器人