Rezero & tune robot

Rezero values; tune intake; separate out transfer roller speeds for when
extend is moving.

Change-Id: Ia6c574e81f9655396c2333fc921c67b91cbaf554
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024/constants/971.json b/y2024/constants/971.json
index dbdc3d9..5cee276 100644
--- a/y2024/constants/971.json
+++ b/y2024/constants/971.json
@@ -39,11 +39,11 @@
     "catapult_constants": {
       {% set _ = catapult_zero.update(
           {
-              "measured_absolute_position" : 2.8342002173381
+              "measured_absolute_position" : 0.741253220327565
           }
       ) %}
       "zeroing_constants": {{ catapult_zero | tojson(indent=2)}},
-      "potentiometer_offset": {{ 8.54315997763211 - 0.189243355470936 + 0.148884325074452 }}
+      "potentiometer_offset": {{ 9.41595277209342 }}
     },
     "altitude_constants": {
       {% set _ = altitude_zero.update(
@@ -57,20 +57,20 @@
     "turret_constants": {
       {% set _ = turret_zero.update(
           {
-              "measured_absolute_position" : 0.143052032770428
+              "measured_absolute_position" : 0.138686395993591
           }
       ) %}
       "zeroing_constants": {{ turret_zero | tojson(indent=2)}},
-      "potentiometer_offset": {{ -6.26847263904651 + 0.00657023078932103 }}
+      "potentiometer_offset": {{ -6.47164779835404 }}
     },
     "extend_constants": {
       {% set _ = extend_zero.update(
           {
-              "measured_absolute_position" : 0.0223997590714573
+              "measured_absolute_position" : 0.0314256815130559
           }
       ) %}
       "zeroing_constants": {{ extend_zero | tojson(indent=2)}},
-      "potentiometer_offset": {{ -0.2574404033256 + 0.0170793439542 }}
+      "potentiometer_offset": {{ -0.2574404033256 + 0.0170793439542 - 0.177097393974999 }}
     }
   },
   {% include 'y2024/constants/common.json' %}
diff --git a/y2024/constants/common.json b/y2024/constants/common.json
index e7c9ca4..1050815 100644
--- a/y2024/constants/common.json
+++ b/y2024/constants/common.json
@@ -24,7 +24,7 @@
   ],
   "intake_roller_voltages": {
     "spitting": -4.0,
-    "intaking": 6.0
+    "intaking": 12.0
   },
   "intake_pivot_set_points": {
     "extended": -0.03,
@@ -32,14 +32,14 @@
   },
   "intake_pivot": {
     "zeroing_voltage": 3.0,
-    "operating_voltage": 6.0,
+    "operating_voltage": 12.0,
     "zeroing_profile_params": {
       "max_velocity": 0.5,
       "max_acceleration": 3.0
     },
     "default_profile_params":{
-      "max_velocity": 2.0,
-      "max_acceleration": 5.0
+      "max_velocity": 4.0,
+      "max_acceleration": 10.0
     },
     "range": {
         "lower_hard": -0.2,
@@ -53,8 +53,8 @@
   // TODO: (niko) update the stator and supply current limits for the intake
   "current_limits": {
     // Values in amps
-    "intake_pivot_supply_current_limit": 5,
-    "intake_pivot_stator_current_limit": 40,
+    "intake_pivot_supply_current_limit": 40,
+    "intake_pivot_stator_current_limit": 100,
     "intake_roller_supply_current_limit": 20,
     "intake_roller_stator_current_limit": 50,
     "transfer_roller_supply_current_limit": 20,
@@ -79,11 +79,12 @@
     "retention_roller_supply_current_limit": 10
   },
   "transfer_roller_voltages": {
-    "transfer_in": 6.0,
-    "transfer_out": -4.0
+    "transfer_in": 12.0,
+    "transfer_out": -4.0,
+    "extend_moving": 4.0
   },
   "extend_roller_voltages": {
-    "scoring": 6.0,
+    "scoring": 12.0,
     "reversing": -4.0
   },
   "climber_set_points": {
diff --git a/y2024/constants/constants.fbs b/y2024/constants/constants.fbs
index dc41ec1..31e2057 100644
--- a/y2024/constants/constants.fbs
+++ b/y2024/constants/constants.fbs
@@ -89,8 +89,13 @@
 }
 
 table TransferRollerVoltages {
+  // Voltage to apply while intaking the game piece.
   transfer_in:double (id: 0);
+  // Voltage to apply while spitting the game piece.
   transfer_out:double (id: 1);
+  // Voltage to apply while the extend is moving and dragging the
+  // game piece out of the rollers.
+  extend_moving:double (id: 2);
 }
 
 table ExtendRollerVoltages {
diff --git a/y2024/control_loops/superstructure/superstructure.cc b/y2024/control_loops/superstructure/superstructure.cc
index 6abdd3b..495f8ad 100644
--- a/y2024/control_loops/superstructure/superstructure.cc
+++ b/y2024/control_loops/superstructure/superstructure.cc
@@ -228,7 +228,7 @@
                            robot_constants_->common()
                                ->turret_avoid_extend_collision_position(),
                            kTurretLoadingThreshold);
-          transfer_roller_status = TransferRollerStatus::TRANSFERING_IN;
+          transfer_roller_status = TransferRollerStatus::EXTEND_MOVING;
 
           if (turret_ready_for_extend_move.value()) {
             state_ = SuperstructureState::MOVING;
@@ -247,7 +247,7 @@
       }
       break;
     case SuperstructureState::MOVING:
-      transfer_roller_status = TransferRollerStatus::TRANSFERING_IN;
+      transfer_roller_status = TransferRollerStatus::EXTEND_MOVING;
 
       if (catapult_requested_) {
         extend_goal = ExtendStatus::CATAPULT;
@@ -420,6 +420,11 @@
                                                   ->transfer_roller_voltages()
                                                   ->transfer_out();
       break;
+    case TransferRollerStatus::EXTEND_MOVING:
+      output_struct.transfer_roller_voltage = robot_constants_->common()
+                                                  ->transfer_roller_voltages()
+                                                  ->extend_moving();
+      break;
   }
 
   // Update Extend Roller voltage based on status from state machine.
diff --git a/y2024/control_loops/superstructure/superstructure_lib_test.cc b/y2024/control_loops/superstructure/superstructure_lib_test.cc
index 1738181..5c8676d 100644
--- a/y2024/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2024/control_loops/superstructure/superstructure_lib_test.cc
@@ -400,7 +400,7 @@
 
     EXPECT_NEAR(set_point,
                 superstructure_status_fetcher_->intake_pivot()->position(),
-                0.015);
+                0.03);
 
     if (superstructure_goal_fetcher_->has_shooter_goal() &&
         superstructure_goal_fetcher_->note_goal() != NoteGoal::AMP &&
diff --git a/y2024/control_loops/superstructure/superstructure_status.fbs b/y2024/control_loops/superstructure/superstructure_status.fbs
index e9fff2f..cd3e65b 100644
--- a/y2024/control_loops/superstructure/superstructure_status.fbs
+++ b/y2024/control_loops/superstructure/superstructure_status.fbs
@@ -75,6 +75,7 @@
     NONE = 0,
     TRANSFERING_IN = 1,
     TRANSFERING_OUT = 2,
+    EXTEND_MOVING = 3,
 }
 
 // Contains status of extend rollers