Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update apriltag format to 36h11 #2470

Merged
merged 1 commit into from
Jan 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,22 @@ AprilTags have been in development since 2011, and have been refined over the ye

`Starting in 2023, FIRST is providing a number of tags, <https://www.firstinspires.org/robotics/frc/blog/2022-2023-approved-devices-rules-preview-and-vision-target-update>`__ scattered throughout the field, each at a known :term:`pose`.

All of the tags are from the 16h5 family.
In 2024, `the tag family was updated to the 36h11 family <https://www.firstinspires.org/robotics/frc/blog/2023-technology-updates-past-present-future-and-beyond>`__.

.. note:: Many of the pictures in this documentation are from the 36h11 family, which are similar (but not identical) to the 16h5 actually in use for FRC. All the underlying concepts are the same.

.. collapse:: What is the 16h5 family?
.. collapse:: What is the 36h11 family?

The AprilTag library implementation defines standards on how sets of tags should be designed. Some of the possible tag families `are described here <https://www.ssontech.com/docs/SynthEyesUM_files/Choosing_an_AprilTag.html>`__.

FIRST has chosen the 16h5 family for 2023. This family of tags is made of a 4x4 grid of pixels, each representing one bit of information. An additional black and white border must be present around the outside of the bits.
FIRST has chosen the 36h11 family for 2024. This family of tags is made of a 6x6 grid of pixels, each representing one bit of information. An additional black and white border must be present around the outside of the bits.

While there are :math:`2^{16} = 65536` theoretical possible tags, only 30 are actually used. These are chosen to:
While there are :math:`2^{36} = 68,719,476,736` theoretical possible tags, only 587 are actually used. These are chosen to:

1. Be robust against some bit flips (IE, issues where a bit has its color incorrectly identified).
2. Not involve "simple" geometric patterns likely to be found on things which are not tags. (IE, squares, stripes, etc.)
3. Ensure the geometric pattern is asymmetric enough that you can always figure out which way is up.

|

All tags will be printed such that the tag's main "body" is 6 inches in length.
All tags will be printed such that the tag's main "body" is 6.5 inches in length.

.. image:: images/tag_size.png
:alt: Diagram showing the dimensions of an FRC AprilTag fiducial target.
Expand All @@ -48,7 +45,7 @@ For home usage, tag files may be printed off and placed around your practice are
Software Support
----------------

The main repository for the source code that detects and decodes AprilTags `is located here <https://github.com/AprilRobotics/apriltag>`__.
The main repository for the source code that detects and decodes AprilTags `is located here <https://github.com/wpilibsuite/apriltag/tree/main>`__.

WPILib has forked the repository to add new features for FRC. These include:

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.