智元 D1 强化学习sim-to-real系列 | Isaac Sim & Isaac Lab 安装全流程(2)
本文详细介绍了为运行Isaac Sim和Isaac Lab仿真环境所做的Nvidia驱动及CUDA工具链安装配置过程。内容包括:1) 通过Ubuntu软件中心或命令行安装适配显卡的最新Nvidia驱动;2) 提供deb和runfile两种方式安装CUDA Toolkit的完整步骤;3) 说明cuDNN与CUDA版本的兼容性要求,并给出cuDNN安装方法。文章配有详细截图和命令行操作指南,帮助用户完
本系列致力于教会大家如何使用智元D1跑通整个Sim2Real流程,如果想要进一步了解智元D1二开内容,请扫描下方二维码或点击链接获取:

链接:https://agirobot.feishu.cn/share/base/form/shrcnvprcMGYXXBy0vS9kru3bSf
在上一篇里,我们已经完成了智元 D1 的开箱,并且跑通了最基础的二次开发流程。到这里,其实已经可以开始“改点东西、试着控制机器人”了。
但如果你想再往前一步——比如做更复杂的控制策略、强化学习,甚至为后续的 sim2real 做准备,那么光靠实机是远远不够的。
所以从这一篇开始,我们会把目光从“真机”移到“仿真”,先把 Isaac Sim 和 Isaac Lab 这套核心环境完整地搭建起来。
1. Nvidia 环境准备
Isaac Sim和Isaac Lab是英伟达推出的一系列用于具身智能的训练平台,只能使用英伟达系列的GPU运行,另外,没有RT Cores(如A100和H100)的英伟达GPU也是无法安装运行的。因此,我们首先需要安装对应的驱动和运行环境,下面我们一一给出手把手教程。
1.1 Nvidia 驱动安装
对于使用Ubuntu的用户,现在系统给出了更加现代化的英伟达闭源驱动安装方式,降低了用户错误操作导致显示无法被拉起的风险。首先我们访问英伟达驱动官网,选择我们的显卡型号和系统类型。
如下图所示,笔者所用的GPU为RTX2080,系统为64位Linux,点击查找后,系统就会给我们推荐最新的适配该显卡型号的驱动版本。


接着我们找到系统中的Software & Updates这个软件,或者在虚拟终端输入software-properties-gtk也可打开,找到Additional Drivers选项,选择刚才我们找到的最新版的个人版闭源驱动,注意不是Server版,也不要带Open字样,否则功能可能会不完整。选择后点击右下角Apply Changes,系统会开始下载并安装该驱动。
注意:该方法可能比较局限于Ubuntu官方的更新进度,如果使用非常新的显卡,可能没有对应驱动,依然需要去英伟达官网手动下载安装。

提示下载完成后重启机器,并且在虚拟终端输入nvidia-smi即可查看当前显卡驱动状况,或者添加参数输入nvidia-smi -l 1,即可以1s为周期长期监控显卡使用状况。
1.2 安装 CUDA Toolkit
在官方的要求中,Isaac Sim及Isaac Lab并没有CUDA和cuDNN的要求,但是基于习惯,我们还是给刚安装好驱动的机器一并安装上这一套计算程序,防止后续使用时再次安装导致出错。
首先我们前往CUDA官网,点击下载CUDA后选择自己系统对应的参数,如果不想安装最新版本的CUDA(实际上很少有软件会用到最新版本的),可以在右下角的Archive中找到以往版本的进行下载。接下来我们分deb和runfile两种方式介绍CUDA安装方法:

1.2.1 Deb 安装 CUDA
选择deb包安装后,我们跟随官方指引,输入下列指令:
# 下载 APT 优先级配置文件,当系统中同时存在 Ubuntu 官方源 和 NVIDIA CUDA 源时,优先使用 NVIDIA CUDA 仓库里的包
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
# 将 pin 文件放到 APT 配置目录
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
# 下载 CUDA 13.1 本地仓库安装包,这个 .deb 不是 CUDA 本体,而是一个“本地 CUDA APT 仓库”安装器
wget https://developer.download.nvidia.com/compute/cuda/13.1.0/local_installers/cuda-repo-ubuntu2204-13-1-local_13.1.0-590.44.01-1_amd64.deb
# 安装 CUDA 本地仓库
sudo dpkg -i cuda-repo-ubuntu2204-13-1-local_13.1.0-590.44.01-1_amd64.deb
# 安装 CUDA 仓库的 GPG 公钥
sudo cp /var/cuda-repo-ubuntu2204-13-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
# 更新 APT 软件包索引
sudo apt-get update
# 安装 CUDA Toolkit 13.1
sudo apt-get -y install cuda-toolkit-13-1
执行完一系列操作之后,等待CUDA成功安装即可。
1.2.2 Runfile 安装 CUDA
选择runfile安装后,我们执行下面的指令:
# 下载安装包
wget https://developer.download.nvidia.com/compute/cuda/13.1.0/local_installers/cuda_13.1.0_590.44.01_linux.run
# 执行安装包
sudo sh cuda_13.1.0_590.44.01_linux.run
运行过后,因为我们已经安装驱动,一定要在安装向导中取消勾选 Driver 选项,仅安装 Toolkit。
在安装完CUDA过后,我们还需要进行一些配置,这里笔者Shell软件使用的是zsh,因此将以下内容添加到~/.zshrc,如果使用的是bash,则添加到~/.bashrc:
# CUDA 环境变量
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
接着让配置生效:
source ~/.zshrc # 如果是bash改成~/.bashrc
接下来我们验证一下安装,输入nvidia-smi可以看到下面内容(这里用的是别的机器的输出):
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
1.3 安装cuDNN
在安装之前,我们需要先确定一下cuDNN和CUDA之间的适配性,就像我们即将安装的cuDNN 9.17.1,就有以下的Support Matrix:

我们在搜索引擎中搜索cuDNN+版本号,然后访问官方网页,就可以找到对应版本的Support Matrix了。
链接:https://docs.nvidia.com/deeplearning/cudnn/backend/latest/reference/support-matrix.html
接着,我们前往官方网站进行下载,选择对应的参数后,执行下列操作:

# 从 NVIDIA 官方下载 cuDNN 9.17.1 的“本地 APT 仓库安装器”
wget https://developer.download.nvidia.com/compute/cudnn/9.17.1/local_installers/cudnn-local-repo-ubuntu2204-9.17.1_1.0-1_amd64.deb
# 用 dpkg 安装这个本地仓库安装器
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.17.1_1.0-1_amd64.deb
# 把 cuDNN 仓库的 GPG 签名密钥复制到系统 keyrings 目录
sudo cp /var/cudnn-local-repo-ubuntu2204-9.17.1/cudnn-*-keyring.gpg /usr/share/keyrings/
# 刷新 APT 软件包索引
sudo apt-get update
# 安装 cuDNN 包
sudo apt-get -y install cudnn
结束后可以通过指令ls /usr/include/x86_64-linux-gnu/看到文件夹下的cuDNN版本头文件检查是否安装完成。
1.4 安装其他开发软件
1.4.1 安装 VSCode
直接在Ubuntu Software中搜索vscode或者code安装即可,或者前往官方网站下载.deb文件后执行sudo apt install ./code_xxx_amd64.deb进行安装。
1.4.2 安装 ROS2
直接使用鱼香ROS一键安装脚本进行安装,不用使用任何conda环境,直接使用Ubuntu自带Python 3.10安装即可:
source <(wget -qO- http://fishros.com/install)
1.4.3 安装Anaconda
输入以下指令进行安装,注意zsh和bash之间的区别:
curl -O https://repo.anaconda.com/archive/Anaconda3-2025.12-1-Linux-x86_64.sh
zsh ~/Anaconda3-2025.06-0-Linux-x86_64.sh
source ~/.zshrc
2. 在本机安装Isaac Sim & Isaac Lab
由图中我们可以看出,Omniverse是整个模拟器的基石,它差不多是一个游戏引擎,主要负责模拟世界的物理和图像渲染;Isaac Sim是基于这个虚拟世界的仿真工具箱,它可以让用户手动或者自动的调整机器人的组装、运动和状态,并且可以通过ROS给用户对应的世界反馈,比如深度、传感器之类的信息;而Isaac Lab在此之上,构建了一个机器人的学习框架,它提供控制器、执行器、环境、算法供用户调用并且训练对应的机器人模型,这里用户只和训练策略接触,而不用考虑物理世界。
因此,我们接下来需要先安装Isaac Sim,并在此基础上继续安装Isaac Lab。
在此解释一下Python版本冲突,Isaac Sim要求的Python版本为3.11,而ROS2要求的Python版本为3.10,但是Isaac Sim强制使用自带的Python,因此不需要单独为其创建虚拟环境,而ROS2的Python环境配置在系统原生的Python 3.10即可,通信时Sim会创建使用DDS消息和ROS2通信,不会导致问题
2.1 在本机安装Isaac Sim
使用下面链接访问最新版本的下载,这里我们下载的是5.1版本:
https://docs.isaacsim.omniverse.nvidia.com/5.1.0/installation/download.html
这三个部分分别是:
- Isaac Sim本体,如果在本机安装一定要下载
- WebRTC软件,用于X11转发不方便的机器进行远程使用Docker中的Isaac Sim
- 数字资产,包含机器人模型、场景模型等内容,非常庞大,可以选择不下载(但是后面测试的时候需要网络连接通畅,因为如果要读取/使用模型时,没有本地模型则会从网络上下载缓存到本地)
这里我们先下载本体,在下载完成后,我们按照以下步骤在~/下创建文件夹、将Downloads文件夹下的下载包移到文件夹下并解压缩:
mkdir ~/isaac-sim && cd ~/isaac-sim
mv ~/Downloads/isaac-sim-standalone-5.1.0-linux-x86_64.zip ~/isaac-sim
unzip isaac-sim-standalone-5.1.0-linux-x86_64.zip
接下来输入下面的命令进行适配性检查,会得到下面的窗口:
isaac-sim.compatibility_check.sh

注意5.1版本和前面的版本有所不同,Isaac Sim Compatibility Checker是放在整个安装包内的,不是可以单独下载的,如果想在下载之前测试一下适配性,可以用Conda创建一个Python 3.11的环境,然后执行下列命令进行测试:
pip install isaacsim\[compatibility-check\] # 如果报错就把转义符\去掉
isaacsim isaacsim.exp.compatibility_check # 这里会得到和上面相同的窗口
接下来安装并打开Isaac Sim:
./post_install.sh # 为extension_examples创建链接
./isaac-sim.selector.sh # 打开Isaac Sim App Selector进行选择
执行后会得到下方的窗口,我们在最上面选择Isaac Sim Full,并点击START打开程序:

接下来会弹出一个虚拟终端和Isaac Sim窗口,其中Isaac Sim窗口会显示未响应,此时不用任何操作,等待软件加载完成即可,完成时会在虚拟终端输出中看到Isaac Sim Full App is loaded.,此时软件完全加载完成:

此时左下方的Contents选项卡可以选择模型或者场景进行加载,在没有安装Assets库的情况下会默认从英伟达官方的Omniverse中拉取,需要保证网络通畅,如果无法连接,但是想要看一下机器人模型,请参考章节4安装Assets资产库。另外,加载完模型后可以在右上角选择光源,方便观察模型。
如果不太对则可以查询NVIDIA Isaac Sim安装疑难杂症攻克记:两周问题总汇与实战攻略, 此外我还发现了一个Nvidia驱动问题:
2025-11-28T09:01:01Z [13,200ms] [Error] [gpu.foundation.plugin] The currently installed NVIDIA graphics driver is unsupported or has known issues. Reason for failure: The minimum Omniverse RTX requirement on Linux Installed driver: 535.18 The unsupported driver range: [0.0, 535.129) The recommended drivers: 535.161.07 (GameReady, Studio, RTX/Quadro, Grid/vGPU) The latest driver version may also work but is not fully tested. 2025-11-28T09:01:01Z [13,200ms] [Error] [carb.scenerenderer-rtx.plugin] rtx driver verification failed.
这个参考官方问题即可解决:Isaac Sim 在 Ubuntu 24.04 和 RTX 4060 笔记本上检测到错误的驱动版本
2.2 在本机安装Isaac Lab
首先我们需要将Isaac Sim的路径添加到环境变量中,这里笔者的Shell软件使用的是zsh,因此输入指令vim ~/.zshrc,如果使用Bash作为Shell的话,则使用vim ~/.bashrc,接着按i进入插入模式,在文件底部添加下列指令:
export ISAACSIM_PATH="${HOME}/isaac-sim"
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
接着ESC后输入:x保存并退出,最后source ~/.zshrc(或者source ~/.bashrc)重新载入Shell环境配置。此时就可以通过全局变量访问我们先前安装的Isaac Sim了。接下来我们通过指令验证一下:
${ISAACSIM_PATH}/isaac-sim.sh
输入之后会正常打开Isaac Sim,说明环境变量设置成功了,然后测试一下Isaac Sim自带的Python 3.11是否可用:
# 测试Python是否正常可用,若返回Isaac Sim configuration is now complete.即可用
${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
# 检查自带Python是否可以拉起Isaac Sim
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/isaacsim.core.api/add_cubes.py
输入完最后一条指令后会跳出如下窗口,能看到三个叠加的方块:
下面我们拉取Isaac Lab的仓库代码,并且创建Isaac Lab的软链接到文件夹下:
git clone git@github.com:isaac-sim/IsaacLab.git
cd IsaacLab
ln -s ${ISAACSIM_PATH} _isaac_sim
接下来我们就可以正式安装Isaac Lab了,虽然官方建议我们另外创建一个Python虚拟环境给Isaac Lab使用,以防未来在自己创建项目时会有潜在的版本冲突,但是我们暂时不考虑,还是先使用Sim自带的Python 3.11:
# 先安装编译模块
sudo apt install cmake build-essential
# 进行Lab的安装,可能需要比较长的时间
./isaaclab.sh --install
成功运行之后,我们就安装好Isaac Lab了,下面验证一下:
# 会看到一个空白的Isaac Sim窗口
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
# 会开始训练一群蜘蛛走路
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0

3. 在Docker中安装Isaac Sim & Isaac Lab
3.1 安装Docker及英伟达组件
我们首先根据教程安装Docker:
# 安装依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
# 添加秘钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 添加阿里云软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 配置用户组(可能需要重启生效),后续使用docker指令不需要加sudo
sudo usermod -aG docker $USER
# 测试是否安装成功,如果成功则会输出hello world
docker run hello-world
接下来我们需要进行非常重要的一步,即安装NVIDIA Container Toolkit,否则docker配置镜像时会由于找不到英伟达显卡而失败:
# 先更新依赖
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
curl \
gnupg2
# 然后配置软件仓库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 接着更新软件源
sudo apt-get update
# 最后进行安装
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.1-1
sudo apt-get install -y \
nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}
在此之后就应该成功安装上NVIDIA Container Toolkit了,可以继续安装有需要英伟达显卡的Docker镜像了。
3.2 安装Isaac Sim & Isaac Lab
当需要在服务器上部署或者想要进行环境隔离的时候,最好的方法就是使用Docker进行部署,好在Isaac Lab团队在Isaac Sim团队的基础上,直接集成了所有功能,因此我们可以在仅拉取Isaac Lab后直接一键部署整个Isaac Sim + Lab到Docker环境中。
首先我们拉取Isaac Lab并进入:
git clone git@github.com:isaac-sim/IsaacLab.git
cd IsaacLab
接着运行下面的指令:
./docker/container.py start
此时系统就会直接开始构建Docker Image,并且在构建完成后会直接实例化一个Container,另外,在首次构建镜像时,系统会询问你是否要进行X11转发,我们先默认选择yes,后面可以进行调整。
下面介绍一下可用的参数:
- build:会构建镜像,但不会拉起容器
- start:构建镜像后同步拉起容器,可以在后面添加base或者ros2选择需要构建并拉起的镜像
- enter:直接进入容器的bash,并且exit之后不会关闭或者删除容器
- config:会打印当前构建镜像的compose.yaml,可以在后面添加base或ros2检查两个镜像的参数
- stop:关闭并且删除当前存在的容器
在经过等待构建好Image并且实例化容器后,我们可以输入以下指令进入容器内部:
./docker/container.py enter
进去之后我们就在/workspace/isaaclab目录下,并且由于配置了X11转发,可以直接将窗口转发出来,我们直接运行之前的测试指令:
# 会看到一个空白的Isaac Sim窗口
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
# 会开始训练一群蜘蛛走路
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0
此时就配置成功了。另外,Isaac Sim团队提供了多一种查看方式,我们回到之前下载页面下载WebRTC软件,赋予执行权限之后直接运行:
sudo chmod +x isaacsim-webrtc-streaming-client-1.1.5-linux-x64.AppImage
./isaacsim-webrtc-streaming-client-1.1.5-linux-x64.AppImage
得到下面窗口,直接连接:

接着在容器中cd isaac-sim进入文件夹,并运行./runheadless.sh -v,就可以在窗口中看到Isaac Sim了,但这是Isaac Sim团队的操作,至于如何让Isaac Lab调用这个原生的WebRTC流式窗口,笔者还在研究,若各位已经研究出来,请不吝赐教。
4. 添加Assets资产库到Isaac Sim中
每次调用模型的时候都需要从Omniverse中下载是很烦人的,尤其是服务器还在国外的情况下,虽然可以通过点击界面右上角的HUB NOT DETECTED安装并且启用HUB缓存所有访问过的模型,但是还是需要等待。不过我们可以通过把整个资产库下载到本地的操作规避这些麻烦,不过需要的空间较大(>150GB),各位可以根据需要选择。
我们可以在页面中下载最新的Assets,有三个.zip文件,或者可以执行下面的指令:
sudo apt install aria2
cd ~/Downloads
aria2c "https://download.isaacsim.omniverse.nvidia.com/isaac-sim-assets-complete-5.1.0.zip.001"
aria2c "https://download.isaacsim.omniverse.nvidia.com/isaac-sim-assets-complete-5.1.0.zip.002"
aria2c "https://download.isaacsim.omniverse.nvidia.com/isaac-sim-assets-complete-5.1.0.zip.003"
aria2会先分配安装空间,并且支持断点续传,因此不用担心数据丢失了。接着我们将三个.zip整合成一个.zip并且解压到一个文件夹中,这里笔者的isaac-sim和IsaacLab都放在~下面的,因此isaacsim_assets也放在一起了:
mkdir ~/isaacsim_assets
cd ~/Downloads
cat isaac-sim-assets-complete-5.1.0.zip.001 isaac-sim-assets-complete-5.1.0.zip.002 isaac-sim-assets-complete-5.1.0.zip.003 > isaac-sim-assets-complete-5.1.0.zip
unzip "isaac-sim-assets-complete-5.1.0.zip" -d ~/isaacsim_assets
这样我们的资产库就在本地部署好了,下面可以分别附加到本地或者Docker容器中了。
4.1 添加到本地
接着我们用vim或者vscode编辑器打开~/isaacsim/apps/isaacsim.exp.base.kit文件,并在最后添加下面的配置,这里建议使用vscode,直接查找<username>并替换成你的用户名或者对应路径:
[settings]
persistent.isaac.asset_root.default = "/home/<username>/isaacsim_assets/Assets/Isaac/5.1"
[settings]
persistent.isaac.asset_root.default = "/home/<username>/isaacsim_assets/Assets/Isaac/5.1"
exts."isaacsim.gui.content_browser".folders = [
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Robots",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/People",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/IsaacLab",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Props",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Environments",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Materials",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Samples",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Sensors",
]
# The lines below are optional. It is recommended to use the Content Browser instead.
exts."isaacsim.asset.browser".folders = [
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Robots",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/People",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/IsaacLab",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Props",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Environments",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Materials",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Samples",
"/home/<username>/isaacsim_assets/Assets/Isaac/5.1/Isaac/Sensors",
]
保存后我们使用下面的指令打开Isaac Sim,当然成功绑定之后也不一定需要指定资产库了,这里仅做展示(记得替换<username>):
./isaac-sim.sh --/persistent/isaac/asset_root/default="/home/<username>/isaacsim_assets/Assets/Isaac/5.1"

打开后我们找到Windows->Browsers->Isaac Sim Assets,就可以在下方打开Isaac Sim Assets选项卡,打开后点击右侧的齿轮检查当前默认资产库地址,就会是我们指定的文件夹了:


另外,在Contents选项卡里,我们浏览模型也不再是使用联网模型,而是使用本地模型了:
4.2 添加到Docker容器中
在解压完文件后,我们需要把解压的文件夹映射到容器中,使得容器可以直接访问本机的内容,因此我们修改~/IsaacLab/docker/docker-compose.yaml,将下面配置添加到x-default-isaac-lab-volumes: &default-isaac-lab-volumes绑定中,记得缩进并修改<username>:
- type: bind
source: /home/<username>/isaacsim_assets
target: /isaacsim_assets
修改后效果如下:
然后重新执行./docker/container.py start,重新构建镜像并且拉起容器,接着使用vscode左下角的打开远程窗口中的附加到容器的功能,进入容器进行修改:


进入容器后,打开根目录,找到/isaac-sim,接着根据4.1章节同步修改即可,记得修改路径/home/<username>直接为/(因为资产库现在直接被映射到在根目录下面了),效果如下:

注意完成这些配置之后如果进行./docker/container.py stop,那么所有配置都会丢失,如果有需要可以将容器反向打包为镜像进行保存。
5. 使用VSCode进行调试
Visual Studio Code 对于开发 Isaac Lab 很有帮助。Isaac Lab 仓库中已经预设了用于设置开发环境的 VSCode 文件。这些文件包含在 .vscode 目录中,结构如下:
.vscode
├── tools
│ ├── launch.template.json
│ ├── settings.template.json
│ └── setup_vscode.py
├── extensions.json
├── launch.json # <- this is generated by setup_vscode.py
├── settings.json # <- this is generated by setup_vscode.py
└── tasks.json
接下来我们需要进行进一步的配置:
首先打开Isaac Lab所在目录,如果想使用Isaac Sim自带的Python,就先conda deactivate使用系统conda环境,否则activate到自己的conda环境,接着命令行输入code .使用VSCode打开当前文件夹。
进入VSCode后,按下Ctrl+Shift+P运行VSCode Tasks,选择 Tasks: Run Task 并在下拉菜单中运行 setup_python_env 。

完成后可以在.vscode/tools文件夹下看到新建的两个文件launch.json和launch.json,请确认默认Python解释器路径为链接来的Issac Sim的Python解释器:
接着我们到VSCode左侧的拓展中搜索Isaac Sim,并安装该拓展程序:

然后我们去Isaac Sim文件夹中输入./isaac-sim.sh启动Isaac Sim,选择Window->Extensions,搜索isaacsim.code_editor.vscode,然后启用该插件并且勾选AUTOLOAD,这样每次启动都会自动加载。

然后回到编辑器页面创建一个测试文件cube.py,输入以下代码:
import math
import omni.usd
import omni.kit.app
from pxr import UsdGeom, Gf
stage = omni.usd.get_context().get_stage()
cube_path = "/World/AnimCube"
if not stage.GetPrimAtPath(cube_path).IsValid():
cube = UsdGeom.Cube.Define(stage, cube_path)
cube.CreateSizeAttr(0.3)
cube.AddTranslateOp().Set(Gf.Vec3f(0.0, 0.0, 1.0))
xform = UsdGeom.Xformable(stage.GetPrimAtPath(cube_path))
app = omni.kit.app.get_app()
stream = app.get_update_event_stream()
t = {"time": 0.0}
sub = {"h": None}
def on_update(e):
# e.dt 是渲染帧 dt
dt = float(getattr(e, "dt", 1/60))
t["time"] += dt
x = 0.5 * math.sin(2.0 * math.pi * 0.5 * t["time"])
# 直接改位姿(不走物理)
xform.ClearXformOpOrder()
xform.AddTranslateOp().Set(Gf.Vec3f(x, 0.0, 1.0))
sub["h"] = stream.create_subscription_to_pop(on_update)
print("✅ AnimCube is moving (render-update driven). To stop: sub['h'].unsubscribe()")
接着点击右边栏中的Isaac Sim图标,点击Run按钮,就可以运行当前Python脚本:

此时我们回到Isaac Sim界面,就可以看到一个方块在来回滑动,说明VSCode插件和Isaac Sim成功连接了。

6. 总结
到此为止,我们完成了Isaac Sim和Isaac Lab在Ubuntu 22.04上的完全部署,这是我们后续进行具身智能训练的基础工作,下面的教程中我们会尝试导入智元D1的URDF模型,并进行微调,为部署强化训练做最后的准备工作,敬请期待。
👉 关注我们,发现更多有深度的自动驾驶/具身智能/GitHub 内容!
🚀 往期内容回顾 👀
🔥 十分钟读论文 | MM-ACT:将文本、图像、动作统一到共享Token空间的VLA模型
🔥 行业杂谈 | 显卡架构深度解析与AI时代选型指南:从深度学习到具身智能的全方位剖析
🔥 读读代码 | NavDP——扩散策略的深度代码精读
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)