Add rudimentary inverse kinematics calculator
This adds some swerve inverse kinematics that primarily serve to provide
a sanity-check and seed for more sophisticated calculations.
Change-Id: I6b214026eb53e6e47c24f4538a0b3c057f9d1751
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/control_loops/swerve/BUILD b/frc971/control_loops/swerve/BUILD
index 637e42c..50130e8 100644
--- a/frc971/control_loops/swerve/BUILD
+++ b/frc971/control_loops/swerve/BUILD
@@ -469,3 +469,21 @@
"@com_google_absl//absl/log",
],
)
+
+cc_library(
+ name = "inverse_kinematics",
+ hdrs = ["inverse_kinematics.h"],
+ deps = [
+ ":simplified_dynamics",
+ "//aos/util:math",
+ ],
+)
+
+cc_test(
+ name = "inverse_kinematics_test",
+ srcs = ["inverse_kinematics_test.cc"],
+ deps = [
+ ":inverse_kinematics",
+ "//aos/testing:googletest",
+ ],
+)