AprilTag Detection
AprilTags conceptually similar to QR codes, in that they encode data as two-dimensional grid of black and white squares. However, they differ in that the AprilTags not only carry data payload, but could be used for detecting tag position and orientation.
Implementaton
AI Accelerator software by default configured to use the 36h11 tag family in 30 mm size. Printable tags for the 36h11 family can be found at https://docs.cbteeple.com/robot/april-tags
Tag size can be configured in ros/launch/run_example_apriltags.launch.py
Look for Apriltags node definition.
Change size argument, default value is 'size': '0.03’. Size is specified in meters.
Demo
Apriltag detection can be tested by running the apriltags example.
The example should be run from inside the Jetson container which is started by running run_sdk_setup.sh as described in the SDK article.
First launch the required ROS2 nodes on the AI Accelerator using this script:
./scripts/run_example_apriltags.sh
Next run the aia_example_apriltags.urpx program on your robot teach pendant. Example programs can be copied on a USB disk from the following location on your AI Accelerator Compute Box:
~/aia_sdk/ros/polyscope/programs/
Switch to tags view in AI Accelerator SDK URCap and observe the camera view updating at intervals.
Tags can be configured for continuous detection by passing apriltags_continuous:=true as an argument to aia_example_apriltags in ros/scripts/run_example_apriltags.sh
The code for generating new families and instructions for using it can be found on github: https://github.com/AprilRobotics/apriltag-generation