Add superstructure state machine

Managing balls from the intake into the catapult

Change-Id: I88535ee82a876d63fe49e3607c6986690d704daf
Signed-off-by: Milind Upadhyay <milind.upadhyay@gmail.com>
Signed-off-by: Ravago Jones <ravagojones@gmail.com>
diff --git a/y2022/control_loops/superstructure/collision_avoidance.h b/y2022/control_loops/superstructure/collision_avoidance.h
index 94b454c..7c25964 100644
--- a/y2022/control_loops/superstructure/collision_avoidance.h
+++ b/y2022/control_loops/superstructure/collision_avoidance.h
@@ -69,7 +69,10 @@
                       double min_turret_collision_position,
                       double max_turret_collision_position);
   // Checks and alters goals to make sure they're safe.
-  void UpdateGoal(const Status &status, const Goal *unsafe_goal);
+  void UpdateGoal(
+      const Status &status,
+      const frc971::control_loops::StaticZeroingSingleDOFProfiledSubsystemGoal
+          *unsafe_turret_goal);
   // Limits if goal is in collision spots.
   void CalculateAvoidance(bool intake_front, double intake_position,
                           double turret_goal, double mix_turret_collision_goal,