掘金 人工智能 05月03日 10:23
从零到仿真:Ubuntu 20.04 上的 IsaacLab 4.5.0 精准配置指南
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文档为在 Ubuntu 20.04 系统上配置 NVIDIA 驱动、CUDA 12.1、ROS Noetic 以及 IsaacLab 4.5.0 环境提供了详尽的步骤。它包括系统状态诊断、基础环境安装(NVIDIA 驱动、CUDA、ROS)、IsaacLab 安装和配置,以及验证步骤。该指南面向需要构建完整 IsaacLab 环境的机器人/仿真研究人员,并建议用户在操作前备份重要配置文件,以确保安装过程的顺利进行,并提供出现问题的恢复方法。

🚦**系统诊断与准备**: 在安装前,通过 `nvidia-smi`、`nvcc --version` 和 `dpkg -l` 等命令诊断 NVIDIA 驱动和 CUDA 版本,并更新系统和备份配置文件,为后续操作提供参考。

🛠️**环境清理与驱动安装**: 彻底清理现有 NVIDIA 驱动和 CUDA 版本,包括移除相关包和目录。随后,禁用 Nouveau 驱动,并使用 Ubuntu 仓库或 NVIDIA 官方仓库安装 NVIDIA 驱动 535.129.03 版本,以满足 IsaacLab 4.5.0 的要求。

⚙️**CUDA 与 ROS 的配置**: 安装 CUDA 12.1 工具包,并设置环境变量。接着,添加 ROS 仓库和密钥,安装 ROS Noetic 桌面完整版,并进行环境设置和依赖安装。

📦**IsaacSim 与资产包的安装**: 下载 IsaacSim 4.5.0 二进制包和资产包,创建安装目录,解压安装包并运行安装后脚本。设置本地资产目录,解压资产包,并配置 IsaacSim 使用本地资产。

✅**验证与测试**: 验证 NVIDIA 驱动、CUDA 和 ROS Noetic 的安装。通过运行 CUDA 测试程序和 ROS 核心,确保环境配置正确。 最终,测试小乌龟仿真器,验证 ROS 功能。

Ubuntu 20.04 安装指南:NVIDIA 驱动、CUDA 与 IsaacLab 4.5.0

本指南分为两个主要部分:

    基础环境安装:NVIDIA 驱动、CUDA 12.1 和 ROS NoeticIsaacLab 4.5.0 安装:包括 IsaacSim 和相关资产设置

适用人群

本指南适用于以下用户:

不建议以下用户使用本方法:

系统状态诊断

在准备工作之前,添加一个诊断部分,帮助用户了解当前系统状态:

#系统状态诊断#在开始清理前,先诊断当前系统上的 NVIDIA 和 CUDA 状态:# 查看当前 NVIDIA 驱动版本nvidia-smi# 查看已安装的 CUDA 版本nvcc --versionls -l /usr/local/ | grep cuda# 查看潜在冲突的包dpkg -l | grep -i nvidiadpkg -l | grep -i cuda

这些命令将帮您识别系统中存在的所有 NVIDIA 驱动和 CUDA 版本,为后续的清理工作提供参考。

第一部分:基础环境安装

目录

必知要点

重要信息: CUDA 12.1 默认搭配的 NVIDIA 驱动是 530.30.02,但 IsaacLab 4.5.0 要求 535.129.03 版本驱动。由于 CUDA 向后兼容,应安装更新的驱动版本以满足 IsaacLab 的要求。

整个安装流程必须遵循正确顺序:

    停止图形界面清理旧版本安装新驱动安装 CUDA安装 ROS Noetic

1. 准备工作

在开始前,请做好以下准备工作以防万一:

# 更新系统并安装必要工具sudo apt update && sudo apt upgrade -ysudo apt install build-essential linux-headers-$(uname -r) ubuntu-drivers-common# 备份重要配置文件(如果存在)sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup 2>/dev/null

2. 安全停止图形界面

停止图形界面对于安全安装 NVIDIA 驱动至关重要(需要注意:停止图形界面后,操作不太方便,下面一直到 5. 恢复图形界面的代码都是纯手敲,需要非常仔细以及强大的耐心):

# 在终端执行以下命令停止图形界面sudo systemctl isolate multi-user.target此时停止图形界面,处于开机但未可视化界面的阶段,

使用 Ctrl+Alt+F3 (有时候可能不需要使用 Ctrl+Alt+F3,系统自动跳转)切换到 TTY 终端需要输入用户名和密码

# 验证 X 服务器已停止ps aux | grep X

当只有 grep 命令本身显示时,表示 X 服务器已停止。为确保安装期间图形服务不会自动重启:

# 暂时屏蔽 gdm3 服务sudo systemctl mask gdm3

3. 彻底清理现有环境

3.1 清除 CUDA

首先移除所有现有的 CUDA 包和配置:

# 查找已安装的 CUDA 包dpkg -l | grep -i cuda# 移除所有 CUDA 包及其配置文件sudo apt-get --purge remove "*cublas*" "*cufft*" "*cufile*" "*curand*" \"*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*"# 清理依赖sudo apt-get autoremovesudo apt-get autoclean# 移除 CUDA 目录sudo rm -rf /usr/local/cuda*

如果 CUDA 是通过 runfile 安装的,还需要执行以下步骤(一般没有这步):

# 查找 CUDA 目录ls -l /usr/local | grep cuda# 运行卸载脚本(替换 X.Y 为实际版本)cd /usr/local/cuda-X.Y/binsudo ./cuda-uninstaller

3.2 清除 NVIDIA 驱动

接下来移除所有 NVIDIA 驱动相关组件:

# 查找已安装的 NVIDIA 包dpkg -l | grep -i nvidia# 移除所有 NVIDIA 包及其配置文件sudo apt-get remove --purge '^nvidia-.*'sudo apt-get --purge remove "*nvidia*"# 清理依赖sudo apt-get autoremovesudo apt-get autoclean

如果驱动是通过 runfile 安装的,执行:

# 运行 NVIDIA 卸载脚本sudo nvidia-uninstall

3.3 恢复默认配置

确保系统回到干净状态:

# 移除 X 服务器配置文件(如果存在)sudo rm -f /etc/X11/xorg.conf# 移除 NVIDIA 模块黑名单(如果存在)sudo rm -f /etc/modprobe.d/blacklist-nvidia-nouveau.conf# 确保 Nouveau 驱动可以在下次启动时加载echo 'nouveau' | sudo tee -a /etc/modules# 更新 initramfssudo update-initramfs -k all -u

4. 安装 NVIDIA 驱动 535.129.03

4.1 禁用 Nouveau 驱动

在安装 NVIDIA 驱动之前,必须禁用开源的 Nouveau 驱动:

# 创建黑名单文件sudo bash -c 'cat > /etc/modprobe.d/blacklist-nouveau.conf << EOFblacklist nouveauoptions nouveau modeset=0EOF'# 更新 initramfssudo update-initramfs -u

4.2 安装驱动

选择以下方法之一(推荐第一种方法):

方法 1:使用 Ubuntu 仓库(最简单)
# 安装 ubuntu-drivers-common 工具sudo apt install ubuntu-drivers-common# 查看推荐驱动sudo ubuntu-drivers devices# 安装 535 版本驱动(IsaacLab 4.5.0 要求)sudo apt install nvidia-driver-535# 重启系统sudo reboot

重启后,进入 TTY 终端(Ctrl+Alt+F3)登录并验证驱动安装:

nvidia-smi

预期结果: 应看到 NVIDIA 驱动信息和 GPU 状态表格。

方法 2:使用 NVIDIA 官方仓库
# 添加 NVIDIA 包仓库 GPG 密钥wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1-1_all.deb# 更新包列表sudo apt update# 安装 NVIDIA 驱动sudo apt install nvidia-driver-535# 重启系统sudo reboot

5. 恢复图形界面

驱动安装完成后,可以恢复图形界面:

# 取消屏蔽 gdm3 服务sudo systemctl unmask gdm3# 重新启动图形界面sudo systemctl isolate graphical.target

如果界面没有自动启动:

sudo systemctl start gdm3

提示: 恢复图形界面后,可以更方便地执行后续安装步骤,因为可以复制粘贴命令,避免手动输入出错。

6. 安装 CUDA 12.1

安装 CUDA 12.1 工具包:

# 添加 NVIDIA CUDA 仓库wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1-1_all.debsudo apt update# 安装 CUDA 12.1 工具包(不重复安装驱动)sudo apt install cuda-toolkit-12-1# 设置环境变量echo 'export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}' >> ~/.bashrcecho 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrcsource ~/.bashrc

7. 安装 ROS Noetic

安装 ROS Noetic 机器人操作系统:

# 添加 ROS 仓库sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'# 添加 ROS 密钥curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -# 更新包索引sudo apt update# 安装 ROS Noetic 桌面完整版sudo apt install ros-noetic-desktop-full# 环境设置echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrcsource ~/.bashrc# 安装构建依赖sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential# 初始化 rosdepsudo rosdep initrosdep update

8. 验证安装

安装完成后,验证各组件是否安装成功:

验证 NVIDIA 驱动

nvidia-smi

预期结果: 显示驱动版本(应为 535.x.x)和 GPU 信息。

验证 CUDA

nvcc --version

预期结果: 显示 CUDA 编译器版本(应为 12.1.x)。

环境干净度分析

如果你看到以下情况,这是正常的:

这种配置是正常的,因为:

测试 CUDA 功能(可选)

创建并运行一个简单的 CUDA 程序:

# 创建测试目录和文件mkdir -p ~/cuda-test && cd ~/cuda-testcat > test.cu << EOF#include <stdio.h>__global__ void helloFromGPU(void) {    printf("Hello World from GPU!\n");}int main(void) {    printf("Hello World from CPU!\n");    helloFromGPU<<<1, 10>>>();    cudaDeviceSynchronize();    return 0;}EOF# 编译并运行测试程序nvcc test.cu -o test./test

预期结果: 程序应输出 "Hello World from CPU!" 以及 10 行 "Hello World from GPU!"。

验证 ROS Noetic

# 启动 ROS 核心roscore

预期结果: ROS Master 应成功启动,显示节点已初始化的信息。

可选的进一步验证步骤:

# 新终端运行小乌龟仿真器rosrun turtlesim turtlesim_node# 再开终端控制小乌龟rosrun turtlesim turtle_teleop_key

预期结果: 应该能看到小乌龟仿真器窗口,并能通过键盘控制小乌龟的移动。

总结

通过遵循本指南中的步骤,你可以安全地清理现有的 CUDA 和 NVIDIA 驱动程序,并重新安装 CUDA 12.1、匹配的 NVIDIA 驱动以及 ROS Noetic,以支持 IsaacLab 4.5.0。整个过程需要仔细操作,确保在每个步骤后验证成功,这样可以最大限度地减少系统问题的风险。

最重要的安全措施是:

    在修改系统驱动前停止图形界面在进行重大更改前备份关键配置文件按照正确的顺序执行安装步骤在每个关键步骤后验证是否成功

如果遇到问题,本指南中的恢复步骤将帮助你重新获得系统访问权限。一旦系统配置完成,就可以进行 IsaacLab 4.5.0 的安装了。

系统配置好后,就可以进行IsaacLab 4.5.0安装了,以下教程参考链接

blog.csdn.net/weixin_4457…

第二部分:IsaacLab 4.5.0 安装

目录

1. 介绍

本指南提供在 Ubuntu 20.04 上安装 IsaacLab 4.5.0 的详细步骤,包括下载、安装、配置和验证过程。由于前面已经安装了 CUDA 12.1 和 ROS Noetic,我们将直接从 IsaacSim 的安装开始。

2. 系统要求

在 Ubuntu 20.04 上需要使用二进制安装的原因:Ubuntu 20.04 使用 GLIBC 2.31,而 IsaacSim 的 pip 安装需要 GLIBC 2.34+ 。因此,NVIDIA 官方建议在 Ubuntu 20.04 上使用二进制安装方法而非 pip 安装。

硬件要求:

3. 配置虚拟环境

bash# 创建并激活 conda 环境conda create -n isaaclab_4_5_0 python=3.10 pip setuptools wheel -yconda activate isaaclab_4_5_0# 验证pip是否正确安装 pip --version# 安装必要的基础包conda install pip setuptools wheel# 安装 PyTorch 2.5.1conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.1 -c pytorch -c nvidia

4. 下载 IsaacSim 4.5.0 及资产包

访问NVIDIA开发者网站

    IsaacSim 4.5.0 二进制包( Linux 版本的二进制包(6.7GB))

      isaac-sim-standalone@4.5.0-rc.36+release.19112.f59b3005.gl.linux-x86_64.release.zip

    资产包(三个都需要下载,总计 86.2GB):

      isaac-sim-assets-1@4.5.0-rc.36+release.19112.f59b3005.zipisaac-sim-assets-2@4.5.0-rc.36+release.19112.f59b3005.zipisaac-sim-assets-3@4.5.0-rc.36+release.19112.f59b3005.zip

    想快一些可以选择百度网盘下载(我是会员4M/s差不多6小时),下面是一个博主上传的百度网盘IsaacSim 4.5.0资产包链接:

    pan.baidu.com/s/1ouxQI1Dg…

    提取码: 59wb

该博主原帖:

Issac Sim入门踩坑日记(含100G本地资产网盘链接) - 从来你又调皮的文章 - 知乎zhuanlan.zhihu.com/p/271749606…

5. 安装 IsaacSim 4.5.0

bash# 创建安装目录mkdir ~/isaacsim# 解压安装包cd ~/Downloadsunzip "isaac-sim-standalone@4.5.0-rc.36+release.19112.f59b3005.gl.linux-x86_64.release.zip" -d ~/isaacsim# 运行安装后脚本cd ~/isaacsim./post_install.sh# 启动 IsaacSim 选择器./isaac-sim.selector.sh

点击 START 即启动 IsaacSim,第一次启动会比较慢,弹出无响应也没事,等待即可

6. 设置本地资产

bash# 创建资产目录mkdir -p ~/isaacsim_assets# 解压资产包cd ~/Downloadsunzip "isaac-sim-assets-1@4.5.0-rc.36+release.19112.f59b3005.zip" -d ~/isaacsim_assetsunzip "isaac-sim-assets-2@4.5.0-rc.36+release.19112.f59b3005.zip" -d ~/isaacsim_assetsunzip "isaac-sim-assets-3@4.5.0-rc.36+release.19112.f59b3005.zip" -d ~/isaacsim_assets

7. 配置 IsaacSim 使用本地资产

编辑 IsaacSim 基础配置文件:

# 打开配置文件nano ~/isaacsim/apps/isaacsim.exp.base.kit

添加以下设置(将$USER替换为您的实际用户名):

[settings]persistent.isaac.asset_root.default = "/home/$USER/isaacsim_assets/Assets/Isaac/4.5"exts."isaacsim.asset.browser".folders = [  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/Robots",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/People",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/IsaacLab",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/Props",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/Environments",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/Materials",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/Samples",  "/home/$USER/isaacsim_assets/Assets/Isaac/4.5/Isaac/Sensors"]eg.笔者$USER=lwb则写入:[settings]persistent.isaac.asset_root.default = "/home/$USER/isaacsim_assets/Assets/Isaac/4.5" exts."isaacsim.asset.browser".folders = [     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/Robots",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/People",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/IsaacLab",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/Props",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/Environments",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/Materials",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/Samples",     "/home/lwb/isaacsim_assets/Assets/Isaac/4.5/Isaac/Sensors" ]

8. 验证 IsaacSim 安装

conda activate isaaclab_4_5_0# 设置环境变量,在终端执行gedit ~/.bashrc# 添加以下行export ISAACSIM_PATH="${HOME}/isaacsim"export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"# 保存并退出# 使环境变量生效source ~/.bashrc# 在退出 conda 环境的状态下运行 cd ~/IsaacLab# 安装Vulkan验证工具 sudo apt update sudo apt install vulkan-tools # 检查Vulkan支持 vulkaninfo | grep deviceName# 重置GPU状态sudo rmmod nvidia_uvmsudo rmmod nvidia_drm sudo rmmod nvidia_modeset sudo rmmod nvidia sudo modprobe nvidia sudo modprobe nvidia_modeset sudo modprobe nvidia_drm sudo modprobe nvidia_uvm # 尝试重新启动IsaacSim cd ~/isaacsim source setup_conda_env.sh ./isaac-sim.sh --/persistent/isaac/asset_root/default="${HOME}/isaacsim_assets/Assets/Isaac/4.5"

下面是成功进入后的界面下面是笔者自己加载了两个asset试验

9. 安装 IsaacLab 4.5.0

bash# 克隆 IsaacLab 仓库cd ~git clone https://github.com/isaac-sim/IsaacLab.git# 进入仓库目录cd IsaacLab# 创建到 IsaacSim 的符号链接ln -s ${HOME}/isaacsim _isaac_sim# 安装依赖项sudo apt install cmake build-essential# 运行安装命令安装所有扩展和学习框架./isaaclab.sh --install# 如果只想安装特定框架,可以指定它们# 例如: ./isaaclab.sh --install rl_games

10. 配置 NUCLEUS_ASSET_ROOT_DIR

为了使用本地资产而不是从 AWS 下载,需要修改 NUCLEUS_ASSET_ROOT_DIR 在 assets.py 文件中:

# 打开 assets.py 文件nano ~/IsaacLab/source/isaaclab/isaaclab/utils/assets.py

找到定义 NUCLEUS_ASSET_ROOT_DIR 的行并将其更改为指向您的本地资产:

python# 将此行:NUCLEUS_ASSET_ROOT_DIR = carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud")# 更改为:NUCLEUS_ASSET_ROOT_DIR = "/home/$USER/isaacsim_assets/Assets/Isaac/4.5"

替换 $USER 为您的实际用户名。

11. 验证 IsaacLab 安装

bash# 运行一个简单的测试脚本./isaaclab.sh -p scripts/demos/quadrupeds.py

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Ubuntu 20.04 IsaacLab 4.5.0 NVIDIA 驱动 CUDA 12.1 ROS Noetic
相关文章