This guide covers the setup process for NVSLAM and NVblox environments on the NVIDIA Jetson AGX Orin platform. The setup is based on Ubuntu 22.04 with JetPack 6. This guide specifically addresses the use of Orbbec Gemini cameras, tested with the Gemini 335L and Gemini 336L models.
Check if CUDA is already installed:
nvcc --version
If not installed, run:
sudo apt-get install cuda
Configure CUDA environment variables:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc
source ~/.bashrc
Verify CUDA installation:
nvcc --version
Set up the APT repository using NVIDIA's Isaac ROS build farm repo. Please select the Isaac ROS 3.0 version.
Then install ROS2 Humble:
sudo apt-get update
sudo apt-get install ros-humble-desktop-full python3-rosdep
sudo rosdep init
sudo curl -o /etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml https://isaac.download.nvidia.com/isaac-ros/extra_rosdeps.yaml
echo "yaml file:///etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml" | sudo tee /etc/ros/rosdep/sources.list.d/00-nvidia-isaac.list
sudo apt-get install -y build-essential devscripts dh-make quilt fakeroot python3-bloom
Edit /etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml
, replace focal
with jammy
, then run:
rosdep update
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src \
&& git clone https://github.com/osrf/negotiated && cd negotiated && git checkout master \
&& source /opt/ros/humble/setup.bash \
&& cd negotiated_interfaces && bloom-generate rosdebian && fakeroot debian/rules binary \
&& cd ../ && sudo apt-get install -y ./*.deb && rm ./*.deb \
&& cd negotiated && bloom-generate rosdebian && fakeroot debian/rules binary \
&& cd ../ && sudo apt-get install -y ./*.deb && rm ./*.deb
sudo apt install vpi3-dev libnvvpi3 ros-humble-isaac-ros-nvblox ros-humble-isaac-ros-visual-slam
git clone https://github.com/orbbec/isaac_ros-dev.git
cd isaac_ros-dev
git submodule update --init --recursive
colcon build
cd src/OrbbecSDK_ROS2/orbbec_camera/scripts
sudo bash install_udev_rules.sh
echo 128 | sudo tee /sys/module/usbcore/parameters/usbfs_memory_mb
Please refer to the Fast DDS Configuration for more information.
Note: NVSLAM and NVblox are separate examples and cannot be run simultaneously. Choose one of the following examples to run.
To run the NVSLAM example, open three terminal windows:
source install/setup.bash
ros2 launch isaac_orbbec_launch isaac_ros_visual_slam_orbbec.launch.py
source install/setup.bash
rviz2 -d src/isaac_orbbec_launch/rviz/orbbec.rviz
To run the NVblox example, open one terminal windows:
source install/setup.bash
ros2 launch isaac_orbbec_launch orbbec_dynamics_example.launch.py
For a demonstration of Orbbec Gemini 335L on NVIDIA Jetson AGX Orin with Isaac ROS Visual SLAM and Nvblox, you can watch this video: