diff --git a/y2022/vision/camera_definition.py b/y2022/vision/camera_definition.py
index f59f2cf..5bf8c15 100644
--- a/y2022/vision/camera_definition.py
+++ b/y2022/vision/camera_definition.py
@@ -100,16 +100,16 @@
 
     if pi_number == "pi1":
         camera_yaw = 90.0 * np.pi / 180.0
-        T = np.array([-8.25 * 0.0254, 3.25 * 0.0254, 32.0 * 0.0254])
+        T = np.array([-11.0 * 0.0254, 5.5 * 0.0254, 29.5 * 0.0254])
     elif pi_number == "pi2":
         camera_yaw = 0.0
-        T = np.array([-7.5 * 0.0254, -3.5 * 0.0254, 34.0 * 0.0254])
+        T = np.array([-9.5 * 0.0254, -3.5 * 0.0254, 34.5 * 0.0254])
     elif pi_number == "pi3":
         camera_yaw = 178.5 * np.pi / 180.0
-        T = np.array([-1.0 * 0.0254, 8.5 * 0.0254, 34.25 * 0.0254])
+        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([-9.0 * 0.0254, -5 * 0.0254, 27.5 * 0.0254])
+        T = np.array([-10.25 * 0.0254, -5.0 * 0.0254, 27.5 * 0.0254])
 
     return compute_extrinsic(camera_pitch, camera_yaw, T, is_turret)
 
