Fix signs on wheels pointed backwards

When we go backwards, we want to flip the sign of the lateral force, and
want to also flip the direction of the contact patch piece of the self
aligning moment.

The easiest way to do this is to take the sin of the angle, rather than
doing a piecewise linear function of the angle to flip the sign.

Change-Id: I7b348a7c0b9449c28c01957aea7d4a16a52b863b
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/frc971/control_loops/swerve/BUILD b/frc971/control_loops/swerve/BUILD
index 0efe040..29dbf76 100644
--- a/frc971/control_loops/swerve/BUILD
+++ b/frc971/control_loops/swerve/BUILD
@@ -126,7 +126,7 @@
 )
 
 run_binary(
-    name = "dynamics_codegen",
+    name = "dynamics_codegen_cc",
     outs = [
         "dynamics.cc",
         "dynamics.h",
@@ -143,6 +143,32 @@
     tool = ":generate_physics",
 )
 
+run_binary(
+    name = "dynamics_codegen_nocaster",
+    outs = [
+        "nocaster_dynamics.py",
+    ],
+    args = [
+        "--caster=0.0",
+        "--output_base=$(BINDIR)/",
+        "--casadi_py_output_path=$(location :nocaster_dynamics.py)",
+    ],
+    tool = ":generate_physics",
+)
+
+run_binary(
+    name = "dynamics_codegen_bigcaster",
+    outs = [
+        "bigcaster_dynamics.py",
+    ],
+    args = [
+        "--caster=0.05",
+        "--output_base=$(BINDIR)/",
+        "--casadi_py_output_path=$(location :bigcaster_dynamics.py)",
+    ],
+    tool = ":generate_physics",
+)
+
 cc_library(
     name = "dynamics",
     srcs = ["dynamics.cc"],
@@ -170,7 +196,9 @@
 py_test(
     name = "physics_test",
     srcs = [
+        "bigcaster_dynamics.py",
         "dynamics.py",
+        "nocaster_dynamics.py",
         "physics_test.py",
     ],
     target_compatible_with = ["@platforms//cpu:x86_64"],