WPILib tools like WPICal use a json AprilTag map similar to LL .fmap files, but the two formats are not interchangeable. Some differences include:
- LL
.fmaps use 4x4 transform matrices for fiducial position and orientation, WPILib maps use translations and quaternions
- LL
.fmaps include additional "family", "size", and "unique" fields for each fiducial
- LL
.fmaps include additional "field_length", "field_width", and "type" fields for the overall map object
- LL uses a list named "fiducials", WPILib uses a list named "tags"
- LL uses capital
ID for each fiducal, WPILib uses lowercase id
The main incompatibility is the tag pose representation since WPI tools should ignore unused fields LL uses (except for slightly different names as described in the last two bullets).
Ideally, a team should be able to use the WPICal tool to generate a calibrated field map json and when that json is uploaded to the LimeLight the file would be converted to whatever format LL needs internally.
Example 2025 Reefscape WPILib field map json
Example 2025 Reefscape LimeLight field map
LimeLight .fmap spec (slightly outdated; see LimelightVision/LimelightDocs#43)
WPILib tools like WPICal use a json AprilTag map similar to LL
.fmapfiles, but the two formats are not interchangeable. Some differences include:.fmaps use 4x4 transform matrices for fiducial position and orientation, WPILib maps use translations and quaternions.fmaps include additional "family", "size", and "unique" fields for each fiducial.fmaps include additional "field_length", "field_width", and "type" fields for the overall map objectIDfor each fiducal, WPILib uses lowercaseidThe main incompatibility is the tag pose representation since WPI tools should ignore unused fields LL uses (except for slightly different names as described in the last two bullets).
Ideally, a team should be able to use the WPICal tool to generate a calibrated field map json and when that json is uploaded to the LimeLight the file would be converted to whatever format LL needs internally.
Example 2025 Reefscape WPILib field map json
Example 2025 Reefscape LimeLight field map
LimeLight
.fmapspec (slightly outdated; see LimelightVision/LimelightDocs#43)