Tutorial for Visual SLAM Using a HAWK Camera#

Overview#

This tutorial walks you through setting up Isaac ROS Visual SLAM with a Hawk camera.

Tutorial Walkthrough - VSLAM Execution#

  1. Complete the Hawk setup tutorial.

  2. Complete the VSLAM quickstart here.

  3. [Terminal 1] Inside the container, install the dependencies:

    NVIDIA Internal: Run these commands to add the internal apt repository:

    sudo apt install curl -y
    k="/usr/share/keyrings/nvidia-isaac-ros.gpg"
    curl -fsSL https://isaac.download.nvidia.com/isaac-ros/repos.key | sudo gpg --dearmor | sudo tee -a $k > /dev/null
    f="/etc/apt/sources.list.d/nvidia-isaac-ros.list" && sudo touch $f
    s="deb [signed-by=$k] https://urm.nvidia.com/artifactory/sw-isaac-staging-debian-local jammy release-3.3"
    grep -qxF "$s" $f || echo "$s" | sudo tee -a $f
    
    pin_content=$'package: *\nPin: origin isaac.download.nvidia.com\nPin-Priority: 400'
    echo "$pin_content" | sudo tee /etc/apt/preferences.d/isaac-ros
    
    sudo apt-get update
    
    sudo apt-get install -y \
       ros-humble-isaac-ros-correlated-timestamp-driver \
       ros-humble-isaac-ros-hawk \
       ros-humble-isaac-ros-image-proc \
       ros-humble-isaac-ros-imu-bmi088
    
  4. [Terminal 1] Run the launch file inside the container and wait for 5 seconds:

    ros2 launch isaac_ros_visual_slam isaac_ros_visual_slam_hawk.launch.py
    
  5. [Terminal 2] In a second terminal check that the VSLAM node is publishing the odometry messages.

    Attach another terminal to the running container for issuing other ROS 2 commands.

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common
    ./scripts/run_dev.py
    

    Verify that you are getting the output from the visual_slam node at the same rate as the input.

    ros2 topic hz /visual_slam/tracking/odometry --window 20
    

Typically, if you are running visual_slam on Jetson, it is recommended that you NOT evaluate with live visualization.