diff --git a/y2019/vision/constants.cc b/y2019/vision/constants.cc
index 44a143c..0fa8eda 100644
--- a/y2019/vision/constants.cc
+++ b/y2019/vision/constants.cc
@@ -5,6 +5,24 @@
 
 static constexpr double kInchesToMeters = 0.0254;
 
+CameraCalibration camera_1 = {
+    {
+        -0.874694 / 180.0 * M_PI, 338.619, 2.14651 / 180.0 * M_PI,
+    },
+    {
+        {{-5.44063 * kInchesToMeters, 2.83405 * kInchesToMeters,
+          33.0386 * kInchesToMeters}},
+        181.723 / 180.0 * M_PI,
+    },
+    {
+        1,
+        {{-12.5 * kInchesToMeters, 0.0}},
+        {{-1 * kInchesToMeters, 0.0}},
+        16,
+        "/home/alex/cam1/debug_viewer_jpeg_",
+        45,
+    }};
+
 CameraCalibration camera_4 = {
     {
         3.73623 / 180.0 * M_PI, 588.1, 0.269291 / 180.0 * M_PI,
@@ -131,6 +149,42 @@
         75,
     }};
 
+CameraCalibration camera_14 = {
+    {
+        -0.0729684 / 180.0 * M_PI, 343.569, 0.685893 / 180.0 * M_PI,
+    },
+    {
+        {{5.53867 * kInchesToMeters, 2.08897 * kInchesToMeters,
+          33.1766 * kInchesToMeters}},
+        -12.4121 / 180.0 * M_PI,
+    },
+    {
+        14,
+        {{12.5 * kInchesToMeters, 0.0}},
+        {{1 * kInchesToMeters, 0.0}},
+        16,
+        "/home/alex/cam14/debug_viewer_jpeg_",
+        71,
+    }};
+
+CameraCalibration camera_15 = {
+    {
+        -0.715538 / 180.0 * M_PI, 336.509, 1.54169 / 180.0 * M_PI,
+    },
+    {
+        {{4.57935 * kInchesToMeters, 4.16624 * kInchesToMeters,
+          33.433 * kInchesToMeters}},
+        20.9856 / 180.0 * M_PI,
+    },
+    {
+        15,
+        {{12.5 * kInchesToMeters, 0.0}},
+        {{1 * kInchesToMeters, 0.0}},
+        25,
+        "/home/alex/cam15/debug_viewer_jpeg_",
+        62,
+    }};
+
 CameraCalibration camera_16 = {
     {
         -1.30906 / 180.0 * M_PI, 347.372, 2.18486 / 180.0 * M_PI,
@@ -149,6 +203,42 @@
         55,
     }};
 
+CameraCalibration camera_17 = {
+    {
+        34.7631 / 180.0 * M_PI, 337.946, 2.48943 / 180.0 * M_PI,
+    },
+    {
+        {{3.15808 * kInchesToMeters, -2.5734 * kInchesToMeters,
+          11.8507 * kInchesToMeters}},
+        -92.1953 / 180.0 * M_PI,
+    },
+    {
+        17,
+        {{-6.5 * kInchesToMeters, 11 * kInchesToMeters}},
+        {{0.0, -1 * kInchesToMeters}},
+        29,
+        "/home/alex/cam17/debug_viewer_jpeg_",
+        58,
+    }};
+
+CameraCalibration camera_18 = {
+    {
+        33.9292 / 180.0 * M_PI, 338.44, -1.71889 / 180.0 * M_PI,
+    },
+    {
+        {{3.82945 * kInchesToMeters, 5.51444 * kInchesToMeters,
+          12.3803 * kInchesToMeters}},
+        96.0112 / 180.0 * M_PI,
+    },
+    {
+        18,
+        {{6.5 * kInchesToMeters, -11 * kInchesToMeters}},
+        {{0.0, 1 * kInchesToMeters}},
+        27,
+        "/home/alex/cam18/debug_viewer_jpeg_",
+        60,
+    }};
+
 CameraCalibration camera_19 = {
     {
         -0.341036 / 180.0 * M_PI, 324.626, 1.2545 / 180.0 * M_PI,
@@ -169,6 +259,8 @@
 
 const CameraCalibration *GetCamera(int camera_id) {
   switch (camera_id) {
+    case 1:
+      return &camera_1;
     case 4:
       return &camera_4;
     case 5:
@@ -183,8 +275,16 @@
       return &camera_9;
     case 10:
       return &camera_10;
+    case 14:
+      return &camera_14;
+    case 15:
+      return &camera_15;
     case 16:
       return &camera_16;
+    case 17:
+      return &camera_17;
+    case 18:
+      return &camera_18;
     case 19:
       return &camera_19;
     default:
