diff --git a/y2022/constants.cc b/y2022/constants.cc
index 764e82b..1ec0349 100644
--- a/y2022/constants.cc
+++ b/y2022/constants.cc
@@ -11,6 +11,7 @@
 #include "aos/mutex/mutex.h"
 #include "aos/network/team_number.h"
 #include "glog/logging.h"
+#include "y2022/control_loops/superstructure/catapult/integral_catapult_plant.h"
 #include "y2022/control_loops/superstructure/climber/integral_climber_plant.h"
 #include "y2022/control_loops/superstructure/intake/integral_intake_plant.h"
 #include "y2022/control_loops/superstructure/turret/integral_turret_plant.h"
@@ -108,6 +109,27 @@
 
   // No integral loops for flipper arms
 
+  // Catapult
+  Values::PotAndAbsEncoderConstants *const catapult = &r.catapult;
+  ::frc971::control_loops::StaticZeroingSingleDOFProfiledSubsystemParams<
+      ::frc971::zeroing::PotAndAbsoluteEncoderZeroingEstimator>
+      *const catapult_params = &catapult->subsystem_params;
+
+  catapult_params->zeroing_voltage = 4.0;
+  catapult_params->operating_voltage = 12.0;
+  catapult_params->zeroing_profile_params = {0.5, 2.0};
+  catapult_params->default_profile_params = {15.0, 40.0};
+  catapult_params->range = Values::kCatapultRange();
+  catapult_params->make_integral_loop =
+      &control_loops::superstructure::catapult::MakeIntegralCatapultLoop;
+  catapult_params->zeroing_constants.average_filter_size =
+      Values::kZeroingSampleSize;
+  catapult_params->zeroing_constants.one_revolution_distance =
+      M_PI * 2.0 * constants::Values::kCatapultEncoderRatio();
+  catapult_params->zeroing_constants.zeroing_threshold = 0.0005;
+  catapult_params->zeroing_constants.moving_buffer_size = 20;
+  catapult_params->zeroing_constants.allowable_encoder_error = 0.9;
+
   switch (team) {
     // A set of constants for tests.
     case 1:
@@ -123,6 +145,9 @@
           0.0;
       flipper_arm_left->potentiometer_offset = 0.0;
       flipper_arm_right->potentiometer_offset = 0.0;
+
+      catapult_params->zeroing_constants.measured_absolute_position = 0.0;
+      catapult->potentiometer_offset = 0.0;
       break;
 
     case kCompTeamNumber:
@@ -138,6 +163,9 @@
           0.0;
       flipper_arm_left->potentiometer_offset = 0.0;
       flipper_arm_right->potentiometer_offset = 0.0;
+
+      catapult_params->zeroing_constants.measured_absolute_position = 0.0;
+      catapult->potentiometer_offset = 0.0;
       break;
 
     case kPracticeTeamNumber:
@@ -153,6 +181,9 @@
           0.0;
       flipper_arm_left->potentiometer_offset = 0.0;
       flipper_arm_right->potentiometer_offset = 0.0;
+
+      catapult_params->zeroing_constants.measured_absolute_position = 0.0;
+      catapult->potentiometer_offset = 0.0;
       break;
 
     case kCodingRobotTeamNumber:
@@ -168,6 +199,9 @@
           0.0;
       flipper_arm_left->potentiometer_offset = 0.0;
       flipper_arm_right->potentiometer_offset = 0.0;
+
+      catapult_params->zeroing_constants.measured_absolute_position = 0.0;
+      catapult->potentiometer_offset = 0.0;
       break;
 
     default:
