Isaac Sim 安装与使用
文章目录
0. Isaac Sim
Isaac Sim是一个从头开始构建的软件平台,旨在支持日益自动化的世界。目标是使您尽可能容易地为真实的物理机器人设计、调整、训练和部署自主控制代理。
电脑配置要求
检测自己的电脑满不足满足最低要求,最低GPU显卡最低是3070 8GB显存,英特尔酷睿i7(第7代),32GB内存。操作系统可以支持Ubuntu和Windows系统,但是The Isaac Sim container 只支持Linux,所以推荐安装Ubuntu 22.04系统,在Linux上运行Isaac Sim。
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/requirements.html
- 1
1.双系统的安装
1.1压缩硬盘
Isaac Sim 最低要求是50GB左右空间。所以我们需要准备预留50G进行系统安装,找到计算机管理->磁盘管理
找到一个空余磁盘,例如D盘,右键压缩卷,分出来50GB就行。
按需求分配即可。
现在固态硬盘比以前便宜很多了,国产的硬盘性价比也高,我这里是准备了一块1tb的硬盘给到ubuntu系统,就是953GB未分配。
1.2 下载Ubuntu镜像系统
需要注意一点,Isaac Sim对ubuntu 20.4的ROS1和ROS2不再支持,并将来打算删除,推荐安装ubuntu 22.04,别下载成最新的ubuntu 24.04, Isaac Sim暂时不支持哈。
https://www.releases.ubuntu.com/22.04/
- 1
1.3 把U盘制作系统盘
https://rufus.ie/en/
- 1
下载rufus软件
将准备好的u盘插在电脑上(U盘为空的)
打开刚刚下载的rufus和Ubuntu软件在电脑磁盘上
完成后,关闭窗口然后电脑重启就行了。
1.4 通过BIOS进入系统盘
上网搜索一下,你的主板如何进入BIOS的,不同主板的操作会有略微不同,但是思路是一样的,我的主板是微星,操作就是就是开机后,一直敲键盘上的"Del"按键进入BIOS,然后要设置两个地方:1.将U盘设置为开机启动项。2.将“安全启动”关闭。
1.微星的开机启动项设置比较简单,用鼠标把UEFI USB往前拖动就行了。
2.将“安全启动”关闭,这里顺序"SETTINGS"->“安全”->“安全引导”->“安全启动”-> “允许改为禁止”。
然后F10保存重启就行了。如果你实在不知道自己电脑主板怎么进入BIOS设置,可以去某东或者某宝找到主板品牌的人工客服问问怎么设置。反正我一开始找不到安全启动就是问客服怎么搞的,哈哈。
1.5 设置分区
重启后就会进入U盘的系统引导,我们需要将U盘的系统引导复制到刚刚分配硬盘中。
1.系统我会设置为英文。也建议系统使用英文,可以避免中文路径编码的问题。
2.会让你选择连接一个网络,我这里插着网线,就自动帮我跳过了。
3.常规软件的安装,这个默认选项继续就行。
4.选择其他安装选项
5.分区思路
看了很多博客一般分区思路如下,需要划分四个区域
- /根目录 跟/home平分
- /biosgrub 分配500MB-2GB
- /swap 分配内存大小一样
- /home 跟/根目录平分
那么举个例子,我的1000G分配如下
- / 分配 460GB
- /biosgrub 分配1GB
- /swap 分配64GB
- /home 分配475GB
6.分区操作
找到free space,鼠标双击后,/根目录分配460GB,选择逻辑分区,盘符填写"/"
鼠标双击free space,/biosgrub分配1GB,用作保留BIOS boot区域
鼠标双击free space,/swap 分配64GB,用作交换空间
鼠标双击free space,/home分配475GB,选择逻辑分区,盘符填写"/home"
Device for boot loader installation 选择/biosgrub 前面的Device设备
地区选择上海
设置用户名,计算机设备名称,选择密码。
要记得你的用户名和密码,因为很多操作要登陆密码的,设置简单一点就行。
接下来就是一直等待安装。
然后弹出信息点击Restart Now按键。
Installation is complete.You need to restart the computer in order to use the new installation.
- 1
接下来弹出这个指示,拔掉U盘按下键盘回车。
Please remove the Installation medium,then press ENTER:
- 1
重启就能选择进入Ubuntu系统,第三个选项是进入Windows操作系统。默认进入第一个Ubuntu系统就代表双系统安装成功。
如果发现还是进入Windows操作系统,查看一下BIOS中的UEFI 硬盘BBS优先权,将Ubuntu启动选项设置为优先。
7.Windows操作系统时间同步
Ubuntu系统切回Windows操作系统后,会发现Windows操作系统时间慢了几个小时,需要在Ubuntu系统终端(Ctrl+Alt+T)敲下面的指令。sudo是系统命令,需要输入密码,密码就是用户设置的密码。
sudo timedatectl set-local-rtc 1 --adjust-system-clock
- 1
sudo apt-get install ntpdate
- 1
sudo ntpdate time.windows.com
- 1
sudo hwclock --systohc
- 1
2.显卡驱动安装
Isaac sim 有四种安装方式:
Isaac sim 有三种开发模式
https://docs.omniverse.nvidia.com/isaacsim/latest/introductory_tutorials/tutorial_intro_workflows.html
- 1
在Isaac Sim中开发时有三个主要的工作流程:GUI、扩展和独立Python。以下是对主要功能及其推荐用法的快速总结:
GUI
- 主要功能:用于填充和模拟虚拟世界的可视化、直观的专用工具。
- 推荐用法:构建世界、组装机器人、连接传感器和初始化ROS桥。
Extensions
- 主要功能:异步运行以允许与舞台交互,热重新加载以立即反映变化,自适应物理步骤用于实时模拟。
- 推荐用法:构建交互式GUI、自定义应用程序模块和实时敏感应用程序。
Standalone Python
- 主要功能:控制物理和渲染步骤的时间,可以在无头模式下运行。
- 推荐用法:大规模强化学习训练、系统世界生成和修改。
因为本人有台主机可以部署,而且我主要开发的是ROS机器人,开发模式主要GUI方式,所以选择的Native本地安装,所以步骤如下:
- 安装显卡驱动
- 下载安装 Omniverse Launcher
- 在Omniverse Launcher安装Isaac sim
如果你是开发强化学习方面的,建议用Install Isaac Sim using PIP安装Isaac Sim,然后看范子琦中文翻译的Isaac Lab网站进一步学习。
如果你是学生党,买不起显卡,可以租给云服务器开发,性价比高一点。Cloud
2.1 下载显卡驱动安装包
https://www.nvidia.com/Download/index.aspx
- 1
找到对应显卡的并下载驱动,例如为这边是4070tis,就填入相关信息搜索并确认下载就行了。
.run放在/home目录下即可。
2.2 禁用默认驱动
在终端输入命令打开blacklist.conf文件。
sudo gedit /etc/modprobe.d/blacklist.conf
- 1
在打开的文件末尾输入并保存:
blacklist nouveau
options nouveau modeset=0
- 1
- 2
最后更新一下系统的initramfs镜像文件,在终端中输入:
sudo update-initramfs -u
- 1
完成以上步骤后,重启电脑。然后在终端中输入:
lsmod | grep nouveau
- 1
如果没有输出的话就说明禁用了nouveau。
2.3 进入tty模式安装驱动
到这一步需要关闭图形界面,使用其他设备阅读。
终端输入:
sudo telinit 3
- 1
此时进入黑色命令行界面,输入用户名和密码。
登入用户后,在终端输入
sudo service gdm3 stop
- 1
给安装文件赋予权限,然后运行安装
sudo chmod a+x NVIDIA-Linux-x86_64-550.90.07.run
sudo ./NVIDIA-Linux-x86_64-550.90.07.run
- 1
- 2
其他博客讲解笔记本的显卡可能需要在.run下增加参数,例如下面这样,我台式机不加这些参数也没出现啥问题。
sudo chmod a+x NVIDIA-Linux-x86_64-550.90.07.run
sudo ./NVIDIA-Linux-x86_64-550.90.07.run -no-opengl-files -no-x-check -no-nouveau-check
- 1
- 2
注:只有禁用opengl这样安装才不会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
安装驱动过程大概率会报错。
ERROR: An error occurred while performing the step: "Building kernel modules" . See /var/log/nvidia-installer.log for details.
- 1
报错后输入如下命令可以重新打开图形界面。
sudo service gdm3 start
- 1
看一下/var/log/nvidia-installer.log 日志文件报什么错误,发现是gcc版本太低了,最低需要gcc-12版本以上,Ubuntu 22.04默认安装的是gcc-11,所以驱动就安装失败了。
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
You are using: cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Warning: Compiler version check failed:
The major and minor number of the compiler used to
compile the kernel:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
解决
终端安装
sudo apt-get install g++-12 -y
- 1
配置update-alternatives,我们可以将11和12版本添加到update-alternatives工具中,就可以方便的切换。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20 --slave /usr/bin/g++ g++ /usr/bin/g++-11
- 1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 25 --slave /usr/bin/g++ g++ /usr/bin/g++-12
- 1
后面可以通过按键选项切换gcc版本,这里选择gcc-12
sudo update-alternatives --config gcc
- 1
然后重头进入tty模式安装驱动跑一遍就行。
我看别的博客会有其他的一些选项,可以多参考一下别人,我这边只弹出四个选项,如下:
1.第一个选项忘了是啥信息了
选择continue installation
2.Nvidia’s 32-bit compatibility libraries?
选择 No 继续
3.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
选择 Yes 继续
4.第四个选项提示你安装完成了
选择 OK 退出
输入如下命令可以重新打开图形界面。
sudo service gdm3 start
- 1
终端输入,有信息说明显卡驱动安装成功。
nvidia-smi
- 1
3.NVIDIA Isaac Sim 软件
3.1 下载 NVIDIA Omniverse
https://www.nvidia.com/en-us/omniverse/
- 1
点击Get started
点击Download SDK Now
信息瞎填就行,然后Submit提交
点击Linux下载
下载完后,最好把omniverse-launcher-linux.AppImage放在Home目录下,然后在路经终端下运行
sudo chmod +x omniverse-launcher-linux.AppImage
./omniverse-launcher-linux.AppImage
- 1
- 2
启动后弹出该界面,需要一个NVIDIA用户,没有用户就注册一个登陆。
输入邮箱后点击LOG IN会跳转到浏览器,在浏览器上登入账户密码确认登记即可。
需要注意的一点,ubuntu默认的火狐浏览器可能没办法跳转,需要下载谷歌浏览器并设置为默认浏览器。
登陆用户前会有一些选项选择,一直选择默认就OK了,Omniverse Launcher登陆后界面就是这样。
3.2 Isaac Sim 安装
Isaac Sim的版本更新很快,不同版本存在些许差异,根据需求安装自己需要的Isaac Sim的版本。下面展示安装Isaac Sim4.1.0(2024年7月版本)
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/distributions.html
- 1
Isaac Sim Version | Release Date | Status |
---|---|---|
4.1.0 | July 2024 | Recommended |
4.0.0 | May 2024 | Supported |
2023.1.1 | December 2023 | Unsupported |
2023.1.0-hotfix.1 | November 2023 | Unsupported |
2023.1.0 | October 2023 | Unsupported |
2022.2.1 | March 2023 | Unsupported |
or earlier | Unsupported |
下面是Isaac Sim的最新版本的更新介绍,说明对比上一个版本更新了什么,可以判断是否需要更新为最新版本。
https://docs.omniverse.nvidia.com/isaacsim/latest/release_notes.html
- 1
Omniverse Isaac Sim可以在Omniverse Launcher的Exchange选项卡上找到并安装。在搜索栏中输入“isaac sim”。点击APPS里的ISAAC SIM。
isaac sim 好像默认下载的是2023.1.1版本,点击"All release builds"可以选择你下载的版本,这里选择4.1.0然后点击OK后,点击INSTALL安装即可
由于NVIDIA下载的地址在不在国内,下载的速度一般只有200kb/s左右,需要下载到猴年马月,非常浪费时间。
你可能需要科学上网,这一步操作请自行上网搜索。
然后我不清楚是不是网络端口配置的问题,即便科学网后,启动Omniverse下载isaac sim还是很慢。但是网页下载什么的是正常的,就通过下面的操作下载的,如果你知道如何配置omniverse启动的网络端口,欢迎沟通交流。
./omniverse-launcher-linux.AppImage
- 1
通过终端启动omniverse,终端可以看到log信息,当你选择4.1.0然后点击INSTALL安装后,再点击取消安装,终端log会弹出刚刚从omniverse.nvidia.com网页下载isaac sim压缩包到指定的目录下,我们就将下载链接复制到浏览器,进行下载即可。
Save 下载链接 to /home/用户/.local/share/ov/pkg/isaac-sim-4.1.0/Isaac Sim.zip
- 1
浏览器下载好的package.zip重命名为Isaac Sim.zip,然后在/home/用户/.local/share/ov/pkg/ 路径下新建一个isaac-sim-4.1.0文件夹,并放进去。
回到omniverse,选择4.1.0然后点击INSTALL安装后,检测到对应文件夹下存在了Isaac Sim.zip,就会开始解压安装
安装后在LIBRARY中选择版本LAUNCH就好了
单击开始运行Isaac Sim主应用程序。
一开始启动会加载些资源,加载快慢和硬件相关,成功运行的界面就是这样
Isaac Sim卸载
3.3 Cache 安装
Omniverse Utilities 是 NVIDIA Omniverse™ 平台的补充工具,它们不是 Omniverse 应用程序,也不是 Omniverse 连接器,而是帮助增强您在 Omniverse 中工作的能力。
例如,Drive 是一个实用程序,它允许您查看和修改 Nucleus 的内容,就像它是您计算机上的驱动器一样。Cache 是另一个 Omniverse 实用程序,它通过将文件本地存储在您的计算机上并最大限度地减少网络流量来提高性能。
Install Cache from the Omniverse Launcher.
3.4 Nucleus 安装
Omniverse Nucleus是Omniverse的数据库和协作引擎。借助Nucleus,团队可以同时让多个用户在多个应用程序中实时连接在一起。这有助于用户使用他们最舒适、最快的应用程序,并允许快速迭代。
Nucleus提供了一组基本服务,允许各种客户端应用程序、渲染器和微服务一起共享和修改虚拟世界的表示。
Install Nucleus from the Omniverse Launcher.
因为要开发机器人仿真,需要下载Nucleus,并借助里面的机器人数据库。学习参考并搭建自己的机器人仿真。
4.NVIDIA Isaac Sim 相关问题总结
昨天还能运行,今天启动Isaac Sim,发现找不到显卡驱动,而且nvidia-smi会失败
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
- 1
- 错误原因
重启时ubuntu的内核进行了更新,更新后的内核指向的是最新的显卡驱动,导致之前安装的显卡驱动虽然在,但是新内核不知道它在。
- 解决方法
DKMS是一个维护内核外的驱动的程序,可以在内核指向改变后自动生成新的导向模块
sudo apt install dkms
- 1
查看之前的驱动版本号
ls /usr/src
- 1
sudo dkms install -m nvidia -v 550.90.07
- 1
参考
双系统
【双系统】如何安装ubuntu22.04系统
https://blog.youkuaiyun.com/qq_43657247/article/details/125254138
显卡驱动
【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装
https://blog.youkuaiyun.com/huiyoooo/article/details/128015155
Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单
https://blog.youkuaiyun.com/Perfect886/article/details/119109380
Isaac Sim 使用手册
Isaac Sim Requirements
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/requirements.html
URDF Import: Turtlebot
https://docs.omniverse.nvidia.com/isaacsim/latest/ros_tutorials/tutorial_ros_turtlebot.html
Robot Assets
https://docs.omniverse.nvidia.com/isaacsim/latest/features/environment_setup/assets/usd_assets_robots.html
Isaac Sim 安装手册
ROS & ROS 2 Installation
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html
Installing Nucleus Workstation
https://docs.omniverse.nvidia.com/nucleus/latest/workstation/installation.html
bug解决
An error occurred while performing the step: “Building kernel modules”. See /var/log/nv
https://blog.youkuaiyun.com/qq_41185868/article/details/97529463
【Linux】Ubuntu22.04版本下实现gcc版本的快速切换
https://blog.youkuaiyun.com/muxuen/article/details/135298656
ubuntu 22.04 安装驱动可能遇到的坑
https://blog.youkuaiyun.com/a970973835/article/details/136892882
ISAAC Sim ROS2 Bridge Startup Failed
https://forums.developer.nvidia.com/t/isaac-sim-ros2-bridge-startup-failed/270270
Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)
https://www.cnblogs.com/seansheep/p/15860648.html
Ubuntu20.04重启后找不到Nvidia显卡驱动
https://blog.youkuaiyun.com/fihxc/article/details/115583294
zh