↑ top
Posted on ::

背景

NVIDIA显卡渲染问题

在NVIDIA RTX 50系列的显卡上运行Isaac Sim4.5时,场景渲染会有以下噪声问题:

blurry problem

参考以下BUG Issues

rendering problem

以及NVIDIA论坛对此问题的discussions

rendering issues

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

rendering issues

Python版本问题

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

python version issues

因此,我们需要使用Python3.11的环境,对ROS源代码进行编译。

编译方法

Conda Env的准备

推荐使用Miniconda,安装方法参考如下:

mkdir -p ~/miniconda3
wget  https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda init --all

Isaac Sim和Isaac Lab的安装

参考如下页面:

在Installation Guide中,有两种方式创建虚拟环境,这里我们选择使用conda创建venv:

./isaaclab.sh --conda isaaclab_dev
./isaaclab.sh --install

创建完成后,执行如下命令:

conda config --add channels conda-forge
conda activate isaaclab_dev
conda install -c conda-forge libboost libboost-devel boost-cpp libboost-python libboost-python-devel
conda install -c conda-forge colcon-common-extensions
export LD_LIBRARY_PATH=<your_conda_env_path>/isaaclab_dev/lib/:$LD_LIBRARY_PATH
python -m pip install netifaces coverage lark hydra-core

ROS2 Humble源代码获取

参考以下页面:

特殊说明

跳过的package

Ubuntu22.04中QT的版本是5,有些包需要省略掉,否则会编译失败,执行colcon build时跳过以下packages:

  1. qt_gui_cpp
  2. rqt_gui_cpp
  3. qt_gui_core
  4. rqt

需要加入的package

在和外部组件通信时会使用到VoxelGrid消息,而VoxelGrid消息属于nav2_msgs,因此需要执行以下命令获取navigation的包:

参考以下表格,执行git clone 命令的同时需要按照extra operations中的说明执行动作:

Package NameRepo URLBranchExtra OperationsClone path
omplhttps://github.com/ompl/ompl.gitmainsrc/ros2/ompl内执行git submodule update --init --recursive 注释掉src/ros2/ompl/CMakeLists.txt中的add_subdirectory(test)和add_subdirectory(demo)src/ros2
navigation2https://github.com/ros-navigation/navigation2.githumble注释掉src/navigations/nav2_smac_planner/CMakeLists.txt中的add_subdirectory(test)src
bondcpphttps://github.com/ros/bond_core.gitros2src/ros2
behaviortree_cpp_v3-releasehttps://github.com/BehaviorTree/behaviortree_cpp_v3-release.gitdebian/humble/jammy/behaviortree_cpp_v3src/ros2
BehaviorTreehttps://github.com/BehaviorTree/BehaviorTree.CPP.gitmastersrc/ros2
diagnosticshttps://github.com/ros/diagnostics.gitros2src/ros2
angleshttps://github.com/ros/angles.gitros2src/ros2
cv_bridgehttps://github.com/ros-perception/vision_opencv.githumble

最后,执行下述命令编译

colcon build --symlink-install --packages-skip qt_gui_cpp rqt_gui_cpp qt_gui_core rqt nav2_system_tests --cmake-args -DCMAKE_BUILD_TYPE=Release --install-base=/opt/ros/humble-311

编译完成后,执行以下命令:

source /opt/ros/humble-311/setup.bash
git clone https://github.com/Zhefan-Xu/isaac-go2-ros2.git
cd isaac-go2-ros2
python isaac_go2_ros2.py

界面应显示如下:

run preview

如果Disqus无法加载,可以使用下面的Giscus评论(需要使用Github账号)

Table of Contents