Ubuntu 22.04上使用RTX50系显卡运行Isaac Sim 5.0
背景
NVIDIA显卡渲染问题
在NVIDIA RTX 50系列的显卡上运行Isaac Sim4.5时,场景渲染会有以下噪声问题:

参考以下BUG Issues

以及NVIDIA论坛对此问题的discussions

按照如下的建议,我们需要使用Isaac Sim5.0才能解决渲染模糊、雪花点的问题:

Python版本问题
由于我们需要使用Isaac Sim中的ROS2 Bridge同外部ROS组件进行通信,但是Isaac Sim5.0所使用的Python版本是3.11而Ubuntu 22.04所自带的Python版本为3.10,在使用apt repository安装的二进制ROS包时会提示:

因此,我们需要使用Python3.11的环境,对ROS源代码进行编译。
编译方法
Conda Env的准备
推荐使用Miniconda,安装方法参考如下:
Isaac Sim和Isaac Lab的安装
参考如下页面:
在Installation Guide中,有两种方式创建虚拟环境,这里我们选择使用conda创建venv:
创建完成后,执行如下命令:
ROS2 Humble源代码获取
参考以下页面:
特殊说明
跳过的package
Ubuntu22.04中QT的版本是5,有些包需要省略掉,否则会编译失败,执行colcon build时跳过以下packages:
- qt_gui_cpp
- rqt_gui_cpp
- qt_gui_core
- rqt
需要加入的package
在和外部组件通信时会使用到VoxelGrid消息,而VoxelGrid消息属于nav2_msgs,因此需要执行以下命令获取navigation的包:
参考以下表格,执行git clone 命令的同时需要按照extra operations中的说明执行动作:
| Package Name | Repo URL | Branch | Extra Operations | Clone path |
|---|---|---|---|---|
| ompl | https://github.com/ompl/ompl.git | main | src/ros2/ompl内执行git submodule update --init --recursive 注释掉src/ros2/ompl/CMakeLists.txt中的add_subdirectory(test)和add_subdirectory(demo) | src/ros2 |
| navigation2 | https://github.com/ros-navigation/navigation2.git | humble | 注释掉src/navigations/nav2_smac_planner/CMakeLists.txt中的add_subdirectory(test) | src |
| bondcpp | https://github.com/ros/bond_core.git | ros2 | src/ros2 | |
| behaviortree_cpp_v3-release | https://github.com/BehaviorTree/behaviortree_cpp_v3-release.git | debian/humble/jammy/behaviortree_cpp_v3 | src/ros2 | |
| BehaviorTree | https://github.com/BehaviorTree/BehaviorTree.CPP.git | master | src/ros2 | |
| diagnostics | https://github.com/ros/diagnostics.git | ros2 | src/ros2 | |
| angles | https://github.com/ros/angles.git | ros2 | src/ros2 | |
| cv_bridge | https://github.com/ros-perception/vision_opencv.git | humble |
最后,执行下述命令编译:
编译完成后,执行以下命令:
界面应显示如下:
