diff --git a/y2022/BUILD b/y2022/BUILD
index 5d29f04..4a351a5 100644
--- a/y2022/BUILD
+++ b/y2022/BUILD
@@ -47,6 +47,7 @@
     ],
     data = [
         ":aos_config",
+        ":message_bridge_client.sh",
         "//y2022/image_streamer:image_streamer_start",
     ],
     dirs = [
diff --git a/y2022/constants.cc b/y2022/constants.cc
index c97058e..444e87d 100644
--- a/y2022/constants.cc
+++ b/y2022/constants.cc
@@ -131,23 +131,23 @@
 
   // Interpolation table for comp and practice robots
   r.shot_interpolation_table = InterpolationTable<Values::ShotParams>({
-      {1.0, {0.05, 19.4}},
-      {1.6, {0.05, 19.4}},
-      {1.9, {0.1, 19.4}},
-      {2.12, {0.13, 19.4}},
-      {2.9, {0.24, 19.9}},
+      {1.0, {0.12, 19.4}},
+      {1.6, {0.12, 19.4}},
+      {1.9, {0.17, 19.4}},
+      {2.12, {0.21, 19.4}},
+      {2.9, {0.30, 19.9}},
 
-      {3.2, {0.26, 20.7}},
+      {3.2, {0.33, 20.1}},
 
-      {3.60, {0.33, 20.9}},
-      {4.50, {0.38, 22.5}},
-      {4.9, {0.4, 22.9}},
-      {5.4, {0.4, 23.9}},
+      {3.60, {0.39, 20.65}},
+      {4.50, {0.44, 22.3}},
+      {4.9, {0.43, 22.75}}, // up to here
+      {5.4, {0.43, 23.85}},
 
-      {6.0, {0.40, 25.4}},
-      {7.0, {0.37, 28.1}},
+      {6.0, {0.42, 25.3}},
+      {7.0, {0.40, 27.7}},
 
-      {10.0, {0.37, 28.1}},
+      {10.0, {0.40, 27.7}},
   });
 
   if (false) {
@@ -238,13 +238,22 @@
           0.0634440443622909 + 0.213601224728352 + 0.0657973101027296 -
           0.114726411377978 - 0.980314029089968 - 0.0266013159299456 +
           0.0631240002215899 + 0.222882504808653 + 0.0370686419434252 -
-          0.0965027214840068 - 0.126737479717192;
+          0.0965027214840068 - 0.126737479717192 - 0.0773753775457 +
+          2.8132444751306;
       turret->subsystem_params.zeroing_constants.measured_absolute_position =
-          1.3081068967929;
+          1.16683731504739;
 
       flipper_arm_left->potentiometer_offset = -6.4;
       flipper_arm_right->potentiometer_offset = 5.56;
 
+      *turret_range = ::frc971::constants::Range{
+          .lower_hard = -7.0,  // Back Hard
+          .upper_hard = 3.4,   // Front Hard
+          .lower = -6.4,       // Back Soft
+          .upper = 2.9         // Front Soft
+      };
+      turret_params->range = *turret_range;
+
       catapult_params->zeroing_constants.measured_absolute_position =
           1.71723370408082;
       catapult->potentiometer_offset = -2.03383240293769;
@@ -256,6 +265,8 @@
       break;
 
     case kPracticeTeamNumber:
+      catapult_params->range.lower = -0.885;
+
       r.shot_interpolation_table = InterpolationTable<Values::ShotParams>({
           {1.0, {0.08, 20.0}},
           {1.6, {0.08, 20.0}},
@@ -276,7 +287,8 @@
           {10.0, {0.39, 28.25}},
       });
 
-      climber->potentiometer_offset = -0.1209073362519 + 0.0760598;
+      climber->potentiometer_offset =
+          -0.1209073362519 + 0.0760598 - 0.0221716219244 - 0.00321684;
       intake_front->potentiometer_offset = 3.06604378582351 - 0.60745632979918;
       intake_front->subsystem_params.zeroing_constants
           .measured_absolute_position = 0.143667561169188;
@@ -291,14 +303,18 @@
           0.0718028442723373 - 0.0793332946417493 + 0.233707527214682 +
           0.0828349540635251 + 0.677740533247017 - 0.0828349540635251 -
           0.0903654044329345 - 0.105426305171759 - 0.150609007388226 -
-          0.0338870266623506 - 0.0677740533247011;
+          0.0338870266623506 - 0.0677740533247011 - 0.135548106649404 - 0.6852;
       turret->subsystem_params.zeroing_constants.measured_absolute_position =
-          1.50798193457968;
-      turret_range->upper = 2.9;
-      turret_range->lower = -6.4;
+          0.8306;
+      *turret_range = ::frc971::constants::Range{
+          .lower_hard = -7.0,  // Back Hard
+          .upper_hard = 3.4,   // Front Hard
+          .lower = -6.4,       // Back Soft
+          .upper = 2.9         // Front Soft
+      };
       turret_params->range = *turret_range;
-      flipper_arm_left->potentiometer_offset = -4.39536583413615;
-      flipper_arm_right->potentiometer_offset = 4.36264091401229;
+      flipper_arm_left->potentiometer_offset = -4.39536583413615 - 0.108401297910291;
+      flipper_arm_right->potentiometer_offset = 4.36264091401229 + 0.175896445665755;
 
       catapult_params->zeroing_constants.measured_absolute_position =
           1.62909518684227;
diff --git a/y2022/message_bridge_client.sh b/y2022/message_bridge_client.sh
index c81076a..733905e 100755
--- a/y2022/message_bridge_client.sh
+++ b/y2022/message_bridge_client.sh
@@ -5,7 +5,37 @@
   ping -c 1 pi1 -W 1 && break;
   sleep 1
 done
+while true;
+do
+  ping -c 1 pi2 -W 1 && break;
+  sleep 1
+done
+while true;
+do
+  ping -c 1 pi3 -W 1 && break;
+  sleep 1
+done
+while true;
+do
+  ping -c 1 pi4 -W 1 && break;
+  sleep 1
+done
+while true;
+do
+  ping -c 1 pi5 -W 1 && break;
+  sleep 1
+done
+while true;
+do
+  ping -c 1 pi6 -W 1 && break;
+  sleep 1
+done
+while true;
+do
+  ping -c 1 roborio -W 1 && break;
+  sleep 1
+done
 
 echo Pinged
 
-exec /home/admin/bin/message_bridge_client "$@"
+exec message_bridge_client "$@"
diff --git a/y2022/vision/camera_definition.py b/y2022/vision/camera_definition.py
index d3e44b7..3b34ca2 100644
--- a/y2022/vision/camera_definition.py
+++ b/y2022/vision/camera_definition.py
@@ -109,24 +109,24 @@
             camera_yaw = 0.0
             T = np.array([-9.5 * 0.0254, -3.5 * 0.0254, 34.5 * 0.0254])
         elif pi_number == "pi3":
-            camera_yaw = 179.0 * np.pi / 180.0
+            camera_yaw = 182.0 * np.pi / 180.0
             T = np.array([-9.5 * 0.0254, 3.5 * 0.0254, 34.5 * 0.0254])
         elif pi_number == "pi4":
             camera_yaw = -90.0 * np.pi / 180.0
             T = np.array([-10.25 * 0.0254, -5.0 * 0.0254, 27.5 * 0.0254])
     elif team_number == 9971:
         if pi_number == "pi1":
-            camera_yaw = 180.5 * np.pi / 180.0
+            camera_yaw = 179.0 * np.pi / 180.0
             T = np.array([-9.5 * 0.0254, 3.25 * 0.0254, 35.5 * 0.0254])
         elif pi_number == "pi2":
             camera_yaw = 0.0
             T = np.array([-9.0 * 0.0254, -3.25 * 0.0254, 35.5 * 0.0254])
         elif pi_number == "pi3":
             camera_yaw = 90.0 * np.pi / 180.0
-            T = np.array([-10.5 * 0.0254, -5.0 * 0.0254, 29.5 * 0.0254])
+            T = np.array([-10.5 * 0.0254, 5.0 * 0.0254, 29.5 * 0.0254])
         elif pi_number == "pi4":
             camera_yaw = -90.0 * np.pi / 180.0
-            T = np.array([-10.5 * 0.0254, 5.0 * 0.0254, 28.0 * 0.0254])
+            T = np.array([-10.5 * 0.0254, -5.0 * 0.0254, 28.5 * 0.0254])
     else:
         glog.fatal("Unknown team number for extrinsics")
 
diff --git a/y2022/y2022_imu.json b/y2022/y2022_imu.json
index 817f051..bd2b326 100644
--- a/y2022/y2022_imu.json
+++ b/y2022/y2022_imu.json
@@ -367,7 +367,7 @@
   "applications": [
     {
       "name": "message_bridge_client",
-      "executable_name": "message_bridge_client",
+      "executable_name": "message_bridge_client.sh",
       "nodes": [
         "imu"
       ]
diff --git a/y2022/y2022_logger.json b/y2022/y2022_logger.json
index a8a4bbd..4024bf6 100644
--- a/y2022/y2022_logger.json
+++ b/y2022/y2022_logger.json
@@ -502,7 +502,7 @@
   "applications": [
     {
       "name": "logger_message_bridge_client",
-      "executable_name": "message_bridge_client",
+      "executable_name": "message_bridge_client.sh",
       "args": ["--rmem=8388608", "--rt_priority=16"],
       "nodes": [
         "logger"
diff --git a/y2022/y2022_pi_template.json b/y2022/y2022_pi_template.json
index a6b3f4a..99b04a1 100644
--- a/y2022/y2022_pi_template.json
+++ b/y2022/y2022_pi_template.json
@@ -186,7 +186,7 @@
       "name": "/pi{{ NUM }}/camera",
       "type": "y2022.vision.TargetEstimate",
       "source_node": "pi{{ NUM }}",
-      "frequency": 40,
+      "frequency": 80,
       "num_senders": 2,
       "max_size": 40000,
       "logger": "LOCAL_AND_REMOTE_LOGGER",
@@ -358,7 +358,7 @@
   "applications": [
     {
       "name": "message_bridge_client",
-      "executable_name": "message_bridge_client",
+      "executable_name": "message_bridge_client.sh",
       "args": ["--rt_priority=16"],
       "nodes": [
         "pi{{ NUM }}"
