mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Adds a section on design philosophy so we have something to point to when people suggest features that aren't compatible with the way WPILib is designed. Fixes some missed reorg changes (although the native-utils link intentionally points to main as to be up-to-date in the future) and generally cleans up any outdated information. Also includes wording about supporting FTC. Per discussion in Slack, the LabVIEW wording has been removed, and anything to do with LabVIEW is going to have to be NI's job. And pursuant to #2757 and #5331, additional (light) developer documentation has been added to some subprojects, mostly being a quick summary of the what the project does and what it's for (or not for). --------- Co-authored-by: sciencewhiz <sciencewhiz@users.noreply.github.com> Co-authored-by: Joseph Eng <91924258+KangarooKoala@users.noreply.github.com>
1.5 KiB
1.5 KiB
AprilTag
A C++ wrapper around the University of Michigan's AprilTag detector, alongside a vendored copy of their code with some patches (patches are located in upstream_utils).
Adding new field to AprilTagFields
Adding field JSON
- Add a field layout CSV file to
src/main/native/resources/org/wpilib/vision/apriltag- See docstring in
convert_apriltag_layouts.pyfor more
- See docstring in
- Run
convert_apriltag_layouts.pyin the same directory as this readme to generate the JSON - That script overwrites all generated JSONs, so undo undesired changes if necessary
- Update the field dimensions at the bottom of the JSON
- Length should be in meters from alliance wall to alliance wall
- Width should be in meters from inside guardrail plastic to plastic
Java updates
- Update
src/main/java/org/wpilib/vision/apriltag/AprilTagFields.java- Add enum value for new field to
AprilTagFields - Update
AprilTagFields.kDefaultFieldif necessary
- Add enum value for new field to
C++ updates
- Update
src/main/native/include/wpi/apriltag/AprilTagFields.hpp- Add enum value for new field to
AprilTagFields - Update
AprilTagFields::kDefaultFieldif necessary
- Add enum value for new field to
- Update
src/main/native/cpp/AprilTagFieldLayout.cpp- Add resource getter prototype like
std::string_view GetResource_2024_crescendo_json() - Add case for new field to switch in
LoadField(AprilTagField field)
- Add resource getter prototype like