Isaac ROS AprilTag

Overview

Isaac ROS AprilTag
ROS 2 package for detection of AprilTags, a type of fiducial marker that provides a point of reference or measure
-AprilTag detections are GPU-accelerated for high performance
AprilTag1
Common graph of nodes connects from an input camera through rectify and resize to AprilTag
-Rectify: Warps the input camera image into a rectified, undistorted output image
This node may not be necessary if the camera driver provides rectified camera images
Resize: Often used to downscale higher resolution cameras into the desired resolution for AprilTags if needed
The input resolution to AprilTag is selected by the required detection distance for the application, as a minimum number of pixels are required to perform an AprilTag detection and classification
-Example
A 8mp input image of 3840×2160 may be much larger than necessary and a 4:1 downscale to 1920x1080 could make more efficient use of compute resources and satisfy the required detection distance of the application
Each of the green nodes in the above diagram is GPU accelerated, allowing for a high-performance compute graph from Argus Camera to ApriTag
For USB and Ethernet cameras, the graph is accelerated from Rectify through AprilTag
AprilTag2
Detections are provided in an output array for the number of AprilTag detections in the input image
Each entry in the array contains the ID (two-dimensional bar code) for the AprilTag, the four corners ((x0, y0), (x1, y1), (x2, y2), (x3, y3)) and center (x, y) of the input image, and the pose of the AprilTag
Footnote
What is April Tag?
Reference: https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html

QuickStart

(1)Set up your development environment
Already Done
(2)Clone isaac_ros_common and this repository under ${ISAAC_ROS_WS}/src.
AprilTag3
(3)Pull down a ROS Bag of sample data
AprilTag4
(4)Launch the Docker container using the run_dev.sh script
AprilTag5
(5)Install this package’s dependencies
AprilTag6
(6)Run the following launch files to spin up a demo of this package
AprilTag7
(7)Open a second terminal inside the docker container
AprilTag8
(8)Run the rosbag file to simulate an image stream
AprilTag9
(9)Open a third terminal inside the docker container
AprilTag10
(10)Observe the AprilTag detection output /tag_detections on a separate terminal with the command
AprilTag11

Reference
https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_apriltag/index.html#quickstarts
https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_apriltag/isaac_ros_apriltag/index.html#quickstart