Skip to content

Adding support for AprilTag v3 library#1702

Merged
matlabbe merged 22 commits into
masterfrom
apriltagv3
May 27, 2026
Merged

Adding support for AprilTag v3 library#1702
matlabbe merged 22 commits into
masterfrom
apriltagv3

Conversation

@matlabbe
Copy link
Copy Markdown
Member

@matlabbe matlabbe commented May 13, 2026

Adding support for the official implementation of apriltag: https://github.com/AprilRobotics/apriltag

Should build with cmake -DWITH_APRILTAG=ON ..

Set parameter Marker/Strategy=1.

TODO:

  • For multi-cameras, only do detection once (on stitched image)
  • Expose apriltag parameters (e..g, nthreads, quad_decimation...)
  • Make Marker/Dictionary working for both OpenCV and AprilTag libraries (Some aruco dictionaries seem supported in apriltag library too)
  • Rename Marker/CornerRefinementMethod -> MarkerOpenCV/CornerRefinementMethod
  • Add config to detect only selected IDs, with length per marker ID, or a length for a specific range of markers. Examples:
    • 12 0.08|14 0.12|30:40 0.10: Detect only tag 12 and 14 with length 8 cm and 12 cm respectively, and tags 30 up to 40 (included) with length of 10 cm.
  • Convert to grayscale
  • With AprilTag library, we can load multiple families of tags at the same time, we could extend the format with specify family of tags for each entry. Out of scope of this PR
  • Not related exactly to this change, but optimization is currently asserting if there are landmarks in the map and iSAM2 is enabled.
  • Test both opencv and apriltag modes with iPad data
  • Test both opencv and apriltag modes with multicam robot data
  • Also test that Marker/Length works as expected (<0 , =0, or >0).
  • Test that all tag families work (aruco + apriltag) for opencv and apriltag lib (built with aruco support)

@matlabbe matlabbe marked this pull request as ready for review May 15, 2026 05:16
@matlabbe matlabbe merged commit 4756474 into master May 27, 2026
13 checks passed
@matlabbe matlabbe deleted the apriltagv3 branch May 27, 2026 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant