Attention

As of June 30, 2025, the Isaac ROS Buildfarm for Isaac ROS 2.1 on Ubuntu 20.04 Focal is no longer supported.

Due to an isolated infrastructure event, all ROS 2 Humble Debian packages that were previously built for Ubuntu 20.04 are no longer available in the Isaac Apt Repository. All artifacts for Isaac ROS 3.0 and later are built and maintained with a more robust pipeline.

Users are encouraged to migrate to the latest version of Isaac ROS. The source code for Isaac ROS 2.1 continues to be available on the release-2.1 branches of the Isaac ROS GitHub repositories.

The original documentation for Isaac ROS 2.1 is preserved below.

Tutorial for AprilTag Detection with a USB Camera

https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-2.1/resources/isaac_ros_docs/concepts/fiducials/apriltag/rviz_usb_cam.png/

Overview

This tutorial walks you through a graph to estimate the 6DOF pose of AprilTags using images streamed from a USB camera.

Tutorial Walkthrough

  1. Complete the Isaac ROS AprilTag Quickstart section.

  2. Calibrate the camera following instructions in the camera calibration tutorial. For step 11, use isaac_ros_apriltag in place of <isaac_ros_package>

  3. Clone the ROS 2 usb_cam package

    cd ${ISAAC_ROS_WS}/src && git clone -b ros2 https://github.com/ros-drivers/usb_cam
    
  4. Launch the Docker container using the run_dev.sh script:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
        ./scripts/run_dev.sh
    
  5. Inside the container, build and source the workspace:

    cd /workspaces/isaac_ros-dev && \
      colcon build --symlink-install && \
      source install/setup.bash
    
  6. Finally, launch the provided launch file:

    ros2 launch isaac_ros_apriltag isaac_ros_apriltag_usb_cam.launch.py
    
  7. Launch a second terminal inside the container

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
        ./scripts/run_dev.sh
    
  8. Run RViz2 using the preset config file

    rviz2 -d /workspaces/isaac_ros-dev/src/isaac_ros_apriltag/isaac_ros_apriltag/rviz/usb_cam.rviz
    

Note

Your camera vendor may offer a specific ROS 2-compatible camera driver package and you can use that in place of the usb_cam package.

Warning

If you are using a different camera driver package ensure that the camera stream publishes Image and CameraInfo pairs to the topics /image and /camera_info, respectively.