一、继续配置环境
1. 为什么电脑带驱动,Ubuntu还要安装驱动
如果你的电脑本身的驱动是针对 NVIDIA GeForce RTX 4060 显卡的,并且你已经安装了 Windows 系统上的驱动,那么在 Ubuntu 上安装双系统时,你需要重新安装适用于 Ubuntu 的显卡驱动。因为每个操作系统都需要各自的驱动程序,并且 Ubuntu 不会自动共享 Windows 系统中的显卡驱动
2. 如何安装驱动
按照第一天的教程,安装驱动一直不成功,所以换种方法试一试。
如何在 Ubuntu 上安装 NVIDIA 驱动
以下是安装 NVIDIA 驱动的步骤:
1.更新 apt 包索引:sudo apt update
2.安装 NVIDIA 驱动:sudo apt install nvidia-driver-525
3.重启系统: sudo reboot
4.验证驱动安装是否成功:nvidia-smi
其实操作系统可以用ubuntu 22.04.5,驱动只要比535.129.03新就行了,一开始不懂,以为必须是这个版本(以前吃过亏,在装petalinux时,OS小版本不对,各种奇怪问题)。而且官方推荐下载.run文件手动安装,我在这坑里爬了近一天,要么就是报GCC版本不对,我安装对应版本后,又跳出来一个对话框,大概意思就是说有更好的驱动安装方法,不能继续安装,没有商量的余地。没办法,官方推荐的下载.run文件安装路走不通了,那就试试最简单的方法吧,那就是ubuntu附加驱动的方式。
在ubuntu中点击Software&Updates,点击附加驱动
选择系统推荐的版本,点击应用更改,重启就可。重启后运行:
nvidia-smi,如果跳出相应的驱动信息,并且大于535.129.03,就大功告成了。
3. 下载omniverse
Isaac Sim是依托于NVIDIA Omniverse平台的仿真工具包,前往Nvidia Isaac Sim官网Isaac Sim – 机器人仿真和合成数据生成 | NVIDIA 开发者下载Omniverse。NVIDIA Omniverse™ Isaac Sim是NVIDIA Omniverse™平台的一款机器人仿真工具包。Isaac Sim具备构建虚拟机器人世界和实验的关键功能。它为研究人员和从业人员提供了创建健壮、物理精确仿真和合成数据集所需的工具和工作流程。Isaac Sim通过ROS/ROS2支持导航和操控应用。它可以模拟RGB-D、Lidar和IMU等传感器的传感器数据,用于多种计算机视觉技术,如领域随机化、真值标签、分割和边界框。
- 启动Omniverse
在没有安装FUSE时可能无法启动appimage,因此先查看和安装FUSE
查看:dpkg -l | grep fuse
安装:sudo apt install fuse -y
安装:sudo chmod +x omniverse-launcher-linux.AppImage
启动:./omniverse-launcher-linux.AppImage
二、Nvidia Isaac Sim 入门教程 2024
学习目标
- 熟悉Isaac Sim的安装
- 熟悉Isaac Sim的环境配置
学习前提
对象 | 类型 | 状态 |
---|---|---|
Isaac Sim基本概念 | 知识 | 已了解 |
Ubuntu22.04操作系统 | 软件 | 已确认 |
NVIDIA Omniverse™ Isaac Sim
是NVIDIA Omniverse™
平台的一款机器人仿真工具包。Isaac Sim
具备构建虚拟机器人世界和实验的关键功能。它为研究人员和从业人员提供了创建健壮、物理精确仿真和合成数据集所需的工具和工作流程。Isaac Sim
通过ROS/ROS2
支持导航和操控应用。它可以模拟RGB-D、Lidar和IMU等传感器的传感器数据,用于多种计算机视觉技术,如领域随机化、真值标签、分割和边界框。
1.检查配置
Isaac Sim推荐的表现较好的配置为:
CPU | 内存 | 存储 | 显卡 | 显存 | 显卡驱动 |
---|---|---|---|---|---|
Intel Core i9系列 16核 | 64GB | 1TB+ | GeForce RTX 4080/RTX Ada 6000 | 16GB/48GB | 535.129.03 |
提示: 配置步骤为工作站、个人电脑的配置方式,对于云端或Docker部署,可参考本章的云端部署部分或Isaac官方关于Docker的部署说明。
如果不确定环境是否适配,可以尝试继续进行下一步骤,在下一步骤中我们将通过工具对配置进行检查。
2.配置Omniverse环境
- 下载omniverse launcher
Isaac Sim
是依托于NVIDIA Omniverse
平台的仿真工具包,因此需要先安装Omniverse启动器来安装Isaac Sim GUI。
# Install fuse
sudo apt install fuse -y
# Install wget
sudo apt install wget -y
# Download Omniverse Launcher
wget https://install.launcher.omniverse.nvidia.com/installers/omniverse-launcher-linux.AppImage
- 运行Omniverse Launcher
# Granting execution permission
sudo chmod +x omniverse-launcher-linux.AppImage
# Run Omniverse Launcher
./omniverse-launcher-linux.AppImage
路径 | 英文 | 作用 |
---|---|---|
库路径 | library path | 此位置指定在Omniverse启动器里安装的应用程序、连接器和工具的安装位置,比如Isaac Sim。 |
数据路径 | data path | 数据路径是Omniverse Nucleus服务器(local版本)存储所有内容的位置。 |
资源路径 | content path | 资源路径是Omniverse下载一些资产到本地时默认的下载位置。 |
缓存路径 | cache path | 缓存数据库(Omniverse Cache)用于存储其缓存文件的位置(如果要安装Omniverse Cache的话)。 |
- 下载Omniverse Nucleus Navigator
在 EXCHANGE目录下搜索NUCLEUS NAVIGATOR
进行下载。
Omniverse Isaac Sim
使用NVIDIA Omniverse™ Nucleus
来访问环境和机器人的USD文件等内容。Omniverse Nucleus
服务允许各种客户端应用程序、渲染器和微服务在Omniverse Isaac Sim
中共享和修改虚拟世界的表示。
Nucleus
采用发布/订阅模型。在访问控制的前提下,Omniverse客户端可以将数字资产和虚拟世界的修改发布到Nucleus数据库(DB),或订阅其变化。更改在连接的应用程序之间实时传输。数字资产可以包括描述虚拟世界及其随时间演变的几何形状、灯光、材料、纹理和其他数据。
这使得各种Omniverse-enabled
客户端应用程序(Apps, Connectors等)能够共享和修改虚拟世界的权威表示。
简而言之,NUCLEUS可以被简单理解为一个管理虚拟资产的文件管理器。
- 配置Nucleus
依次点击Library
->Nucleus Navigator
->LAUNCH
启动Nucleus导航工具
依次点击Create Local Server
->NEXT
,随后填入个人信息,完成本地服务器的初始设置
此时,本地Nucleus服务器就创建好了,Isaac Sim将默认从Nucleus服务器读取资产。
- 下载Omniverse Cache(可选的)
在 EXCHANGE目录下搜索CACHE
进行下载。
注意: 根据Richard3D(Omniverse Community Manager)在2024年5月的社区回复,现在的Omniverse App都内置了Cache,因此它可以是不被需要的。
- 再次检查工作站配置
在 EXCHANGE目录下搜索ISAAC SIM COMPATIBILITY CHECKER
进行下载。
利用ISAAC SIM COMPATIBILITY CHECKER
工具进行工作站环境检测。
依次点击Library
-> Isaac Sim Compatibility Checker
->LAUNCH
启动Isaac Sim兼容性检查工具。
兼容性工具将通过颜色提示哪些硬件性能是不足的。
注意: 如果这个兼容性检查工具打不开也没关系,可以跳过该步骤。
3.配置Isaac Sim环境
-
问题:omniverse launcher中无法直接安装isaac sim
目前4.5安装已经无需launcher,直接下载安装,参考
https://docs.isaacsim.omniverse.nvidia.com/latest/installation/download.htmlDownload Isaac Sim — Isaac Sim Documentation
安装下载
-
4.安装CUDA最新完整教程
-
查看GCC版本:gcc --version
虽然官方说6.0~13.0版本的都可以,但实测11.4版本的不行,可能有BUG。
若为11.4版本的,请下载12版本。# 查看之前的版本 > gcc --version gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. # 安装gcc12 > sudo apt-get install gcc-12 # 将他添加到gcc备选组中,且设置优先级为12 > sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12 #查看gcc的链接设置,看一眼配置对了没 sudo update-alternatives --config gcc #这时候查看gcc版本就是12.4了 gcc --version
- 安装CUDA Toolkit
-
https://developer.nvidia.com/cuda-downloads
-
按照提示分布执行代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda-repo-ubuntu2204-12-5-local_12.5.0-555.42.02-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-12-5-local_12.5.0-555.42.02-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-12-5-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda-toolkit-12-5 sudo apt-get install -y nvidia-open sudo apt-get install -y cuda-drivers #配置路径 nano ~/.bashrc #打开配置文件,文件末尾填写 export PATH=/usr/local/cuda-12.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH #保存文件,并更新文件 source ~/.bashrc #验证 CUDA 配置是否成功: 运行以下命令来检查 nvcc 版本: nvcc --version
6.安装ROS2系统
- 注意事项:
- 1.最好默认谷歌浏览器
-
打开终端并使用以下命令在基于 Debian 的 Linux 发行版(例如 Ubuntu、Debian、Kali 和 Linux Mint)上安装 Google Chrome。 $ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb $ sudo apt install ./google-chrome-stable_current_amd64.deb
- 2.关于镜像源的问题,网上的都可以,但是要确保相关下载的路径正确,用浏览器打开试试,看看有没有相关的文件
- 推荐下面的镜像源
-
选择合适的源:
-
北京外国语:http://mirrors.bfsu.edu.cn
-
ros的官网:http://packages.ros.org/
- 开始安装ros2
-
1.sudo apt install curl gnupg2 #下载秘钥放在本地文件夹中,并命名为ros-archive-keyring.gpg 2.sudo curl -sSL https://mirrors.zju.edu.cn/rosdistro/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg #把下载链接放在本地文件source.list.d的ros2.list中 3.echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://mirrors.zju.edu.cn/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null 第3步也可以在ros2.list中直接复制deb [arch=amd64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://mirrors.zju.edu.cn/ros2/ubuntu jammy main并保存(不同ubuntu版本不同,22版是jammy) 4.sudo apt update 5.sudo apt upgrade 6.sudo apt install ros-humble-desktop
如果找不到秘钥可采用下面的方法获得秘钥
-
gpg: 找不到有效的 OpenPGP 数据。 解决方法: 第一步: wget http://packages.ros.org/ros.key 第二步: sudo apt-key add ros.key 第三步: sudo apt-get update --fix-missing 第四步: sudo apt install ros-noetic-desktop-full
设置环境变量:
-
#只在当前终端生效,对新开的终端无效 source /opt/ros/humble/setup.bash #对多终端生效,重启不会失效 echo"source /opt/ros/humble/setup.bash">> ~/.bashrc
判断是否安装成功
-
1. 检查ROS 2版本 在终端中运行以下命令来检查ROS 2是否已安装,并查看其版本: ros2 --version 如果ROS 2安装成功,系统会返回类似以下的信息: ros2 version 0.17.0 如果命令没有返回版本号或出现错误,可能是ROS 2没有正确安装。 2. 检查ROS 2环境变量 确保环境变量已正确设置。运行以下命令来检查环境变量是否包含ROS 2的路径: echo $ROS_DISTRO 如果ROS 2安装正确,并且环境变量配置无误,它应该返回类似于以下的信息: humble 如果没有返回humble(或你安装的版本名称),说明环境变量没有正确配置,可能需要重新配置或检查.bashrc文件中的设置。 3. 运行ROS 2示例命令 ROS 2提供了很多示例命令,你可以通过运行一个简单的命令来验证ROS 2是否安装并运行正常。 ros2 topic list 这将列出当前系统中所有可用的ROS 2主题(如果系统中有活动的ROS 2节点)。如果显示一个空列表或者其他信息,说明ROS 2正在正常运行。 4. 运行一个ROS 2示例节点 你还可以运行一个简单的ROS 2示例节点来确认安装是否成功: 启动一个新的终端,运行以下命令启动一个ROS 2话题发布者节点: ros2 run demo_nodes_cpp talker 这将启动一个发布消息的节点。 打开另一个终端,运行以下命令启动一个ROS 2话题订阅者节点: ros2 run demo_nodes_cpp listener 如果你在订阅者终端看到类似以下的输出,说明ROS 2成功安装并且节点正在通信: [INFO] [listener]: I heard: [Hello, world!] 5. 查看安装包 你还可以通过以下命令查看ROS 2安装的包列表,确保ROS 2的相关包已安装: dpkg -l | grep ros-humble 这会列出与ROS 2 humble 版本相关的所有安装包。