Create y2024 localizer
This is primarily a copy of the y2023 localizer, with updates to
better characterize the noise of the april tag readings (by separating
out heading/distance/skew measurements).
It also listens to the drivetrain Position message for encoder readings
rather than relying on the IMU board to send them.
This adds a few things:
* The main localizer libraries and processes themselves.
* Updates to the AOS configs to pull in the appropriate localization
channels.
* Creates the typescript plots for localization debugging.
* Creates some dummy camera extrinsics for use in the tests.
Change-Id: I58d5c1da0d3dc2dad98bd2a9fc10965db51c4f84
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024/BUILD b/y2024/BUILD
index f9102f9..f710e7b 100644
--- a/y2024/BUILD
+++ b/y2024/BUILD
@@ -58,6 +58,7 @@
"//frc971/vision:intrinsics_calibration",
"//y2024/vision:viewer",
"//y2024/constants:constants_sender",
+ "//y2024/localizer:localizer_main",
"//y2024/vision:foxglove_image_converter",
],
data = [
@@ -121,6 +122,8 @@
"//y2024/constants:constants_fbs",
"//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
"//frc971/can_logger:can_logging_fbs",
+ "//y2024/localizer:status_fbs",
+ "//y2024/localizer:visualization_fbs",
"//aos/network:timestamp_fbs",
"//aos/network:remote_message_fbs",
],
@@ -149,6 +152,7 @@
"//y2024/control_loops/superstructure:superstructure_can_position_fbs",
"//y2024/control_loops/superstructure:superstructure_output_fbs",
"//y2024/control_loops/superstructure:superstructure_position_fbs",
+ "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
"//y2024/control_loops/superstructure:superstructure_status_fbs",
"//frc971/can_logger:can_logging_fbs",
],
@@ -175,6 +179,7 @@
"//frc971/vision:calibration_fbs",
"//frc971/vision:target_map_fbs",
"//frc971/vision:vision_fbs",
+ "//y2024/localizer:visualization_fbs",
"@com_github_foxglove_schemas//:schemas",
],
target_compatible_with = ["@platforms//os:linux"],