Pull common extrinsics calibration code out into //frc971/vision

This sets us up to have a generic solver interface, and year specific
data munging.

Change-Id: I5cba597aa263d5061b7c71cd617706460ddb5f93
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/frc971/vision/BUILD b/frc971/vision/BUILD
index 1e3ed58..ca35f7c 100644
--- a/frc971/vision/BUILD
+++ b/frc971/vision/BUILD
@@ -33,3 +33,56 @@
         "@com_google_absl//absl/base",
     ],
 )
+
+cc_library(
+    name = "charuco_lib",
+    srcs = [
+        "charuco_lib.cc",
+    ],
+    hdrs = [
+        "charuco_lib.h",
+    ],
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//visibility:public"],
+    deps = [
+        "//aos:flatbuffers",
+        "//aos/events:event_loop",
+        "//aos/network:message_bridge_server_fbs",
+        "//aos/network:team_number",
+        "//frc971/control_loops:quaternion_utils",
+        "//frc971/vision:vision_fbs",
+        "//third_party:opencv",
+        "//y2020/vision/sift:sift_fbs",
+        "//y2020/vision/sift:sift_training_fbs",
+        "//y2020/vision/tools/python_code:sift_training_data",
+        "@com_github_google_glog//:glog",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/types:span",
+        "@org_tuxfamily_eigen//:eigen",
+    ],
+)
+
+cc_library(
+    name = "extrinsics_calibration",
+    srcs = [
+        "calibration_accumulator.cc",
+        "calibration_accumulator.h",
+        "extrinsics_calibration.cc",
+        "extrinsics_calibration.h",
+    ],
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//visibility:public"],
+    deps = [
+        ":charuco_lib",
+        "//aos:init",
+        "//aos/events/logging:log_reader",
+        "//frc971/analysis:in_process_plotter",
+        "//frc971/control_loops/drivetrain:improved_down_estimator",
+        "//frc971/wpilib:imu_batch_fbs",
+        "//frc971/wpilib:imu_fbs",
+        "//third_party:opencv",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_ceres_solver//:ceres",
+        "@org_tuxfamily_eigen//:eigen",
+    ],
+)