diff --git a/y2016/constants.cc b/y2016/constants.cc
index 4f87312..3e228e8 100644
--- a/y2016/constants.cc
+++ b/y2016/constants.cc
@@ -50,19 +50,6 @@
 
 const double kRobotWidth = 25.0 / 100.0 * 2.54;
 
-// TODO(comran): Remove comments from ratios for pots when they are actually
-// used.
-const double kIntakeEncoderRatio = 18.0 / 48.0 * 16.0 / 72.0;
-//const double kIntakePotRatio = 48.0 / 48.0 * 16.0 / 72.0;
-const double kShoulderEncoderRatio = 18.0 / 48.0 * 16.0 / 72.0;
-//const double kShoulderPotRatio = 48.0 / 48.0 * 16.0 / 72.0;
-const double kWristEncoderRatio = 18.0 / 48.0 * 16.0 / 72.0;
-//const double kWristPotRatio = 48.0 / 48.0 * 16.0 / 72.0;
-
-const double kIntakeEncoderIndexDifference = 2.0 * M_PI * kIntakeEncoderRatio;
-const double kShoulderEncoderIndexDifference = 2.0 * M_PI * kShoulderEncoderRatio;
-const double kWristEncoderIndexDifference = 2.0 * M_PI * kWristEncoderRatio;
-
 const int kZeroingSampleSize = 200;
 
 const Values *DoGetValuesForTeam(uint16_t team) {
@@ -81,20 +68,20 @@
 
           // Intake
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kIntakeEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, INTAKE_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
 
           // Shoulder
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kShoulderEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, SHOULDER_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
 
           // Wrist
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kWristEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, WRIST_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
       };
       break;
@@ -112,20 +99,20 @@
 
           // Intake
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kIntakeEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, INTAKE_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
 
           // Shoulder
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kShoulderEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, SHOULDER_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
 
           // Wrist
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kWristEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, WRIST_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
       };
       break;
@@ -143,20 +130,20 @@
 
           // Intake
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kIntakeEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, INTAKE_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
 
           // Shoulder
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kShoulderEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, SHOULDER_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
 
           // Wrist
           {
-            {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
-            {kZeroingSampleSize, kWristEncoderIndexDifference, 0.9, 0.3},
+           {-M_PI - 0.05, M_PI + 0.05, -M_PI, M_PI},
+           {kZeroingSampleSize, WRIST_ENCODER_INDEX_DIFFERENCE, 0.9, 0.3},
           },
       };
       break;
