Add generic drivetrain EKF
This will be followed by a commit with specific utilities for handling
localization in the 2019 game with cameras and targets.
Change-Id: Ic15084e8f7c8b21eb7ac65a493d04da5d2dd941b
diff --git a/frc971/control_loops/drivetrain/BUILD b/frc971/control_loops/drivetrain/BUILD
index ee05fc5..6725987 100644
--- a/frc971/control_loops/drivetrain/BUILD
+++ b/frc971/control_loops/drivetrain/BUILD
@@ -41,6 +41,31 @@
)
cc_library(
+ name = "hybrid_ekf",
+ hdrs = ["hybrid_ekf.h"],
+ deps = [
+ ":drivetrain_config",
+ "//aos/containers:priority_queue",
+ "//frc971/control_loops:c2d",
+ "//frc971/control_loops:runge_kutta",
+ "//third_party/eigen",
+ ],
+)
+
+cc_test(
+ name = "hybrid_ekf_test",
+ srcs = ["hybrid_ekf_test.cc"],
+ deps = [
+ ":drivetrain_test_lib",
+ ":hybrid_ekf",
+ ":trajectory",
+ "//aos/testing:googletest",
+ "//aos/testing:random_seed",
+ "//aos/testing:test_shm",
+ ],
+)
+
+cc_library(
name = "gear",
hdrs = [
"gear.h",
@@ -57,12 +82,12 @@
"splinedrivetrain.h",
],
deps = [
+ ":distance_spline",
":drivetrain_config",
":drivetrain_queue",
":spline",
- ":distance_spline",
":trajectory",
- ]
+ ],
)
cc_library(
@@ -186,8 +211,8 @@
":drivetrain_queue",
":gear",
":polydrivetrain",
- ":ssdrivetrain",
":splinedrivetrain",
+ ":ssdrivetrain",
"//aos/controls:control_loop",
"//aos/logging:matrix_logging",
"//aos/logging:queue_logging",
@@ -304,6 +329,7 @@
cc_binary(
name = "spline.so",
srcs = ["libspline.cc"],
+ linkshared = True,
deps = [
":distance_spline",
":spline",
@@ -313,7 +339,6 @@
"//third_party/eigen",
"//y2019/control_loops/drivetrain:drivetrain_base",
],
- linkshared=True,
)
cc_test(