Calibrate the comp robot's arm
Change-Id: I02a782442984114290285ed4d9299c6c1d4ce834
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2023/constants.cc b/y2023/constants.cc
index 9497c7f..e2e8522 100644
--- a/y2023/constants.cc
+++ b/y2023/constants.cc
@@ -79,14 +79,19 @@
break;
case kCompTeamNumber:
- arm_proximal->zeroing.measured_absolute_position = 0.0;
- arm_proximal->potentiometer_offset = 0.0;
+ arm_proximal->zeroing.measured_absolute_position = 0.908708932890508;
+ arm_proximal->potentiometer_offset = 0.931355973012855 + 8.6743197253382;
- arm_distal->zeroing.measured_absolute_position = 0.0;
- arm_distal->potentiometer_offset = 0.0;
+ arm_distal->zeroing.measured_absolute_position = 0.560320674747198;
+ arm_distal->potentiometer_offset = 0.436664933370656 + 0.49457213779426 +
+ 6.78213223139724 - 0.0220711555235029 -
+ 0.0162945074111813;
- roll_joint->zeroing.measured_absolute_position = 0.0;
- roll_joint->potentiometer_offset = 0.0;
+ roll_joint->zeroing.measured_absolute_position = 0.779367181558787;
+ roll_joint->potentiometer_offset =
+ 3.87038557084874 - 0.0241774522172967 + 0.0711345168020632 -
+ 0.866186131631967 - 0.0256788357596952 + 0.18101759154572017 -
+ 0.0208958996127179;
wrist->zeroing_constants.measured_absolute_position = 0.0;
diff --git a/y2023/constants.h b/y2023/constants.h
index 66811a3..598a7d3 100644
--- a/y2023/constants.h
+++ b/y2023/constants.h
@@ -64,7 +64,7 @@
kProximalEncoderRatio() * kProximalEncoderCountsPerRevolution();
}
static constexpr double kProximalPotRatio() {
- return (24.0 / 36.0) * (24.0 / 58.0) * (15.0 / 95.0);
+ return (36.0 / 24.0) * (15.0 / 95.0);
}
static constexpr double kProximalPotRadiansPerVolt() {
@@ -80,7 +80,7 @@
kDistalEncoderRatio() * kProximalEncoderCountsPerRevolution();
}
static constexpr double kDistalPotRatio() {
- return (24.0 / 36.0) * (18.0 / 66.0) * (15.0 / 95.0);
+ return (36.0 / 24.0) * (15.0 / 95.0);
}
static constexpr double kDistalPotRadiansPerVolt() {
diff --git a/y2023/wpilib_interface.cc b/y2023/wpilib_interface.cc
index acda870..3ccb036 100644
--- a/y2023/wpilib_interface.cc
+++ b/y2023/wpilib_interface.cc
@@ -164,17 +164,17 @@
CopyPosition(proximal_encoder_, &proximal,
Values::kProximalEncoderCountsPerRevolution(),
Values::kProximalEncoderRatio(), proximal_pot_translate,
- false, values_->arm_proximal.potentiometer_offset);
+ true, values_->arm_proximal.potentiometer_offset);
frc971::PotAndAbsolutePositionT distal;
CopyPosition(distal_encoder_, &distal,
Values::kDistalEncoderCountsPerRevolution(),
- Values::kDistalEncoderRatio(), distal_pot_translate, false,
+ Values::kDistalEncoderRatio(), distal_pot_translate, true,
values_->arm_distal.potentiometer_offset);
frc971::PotAndAbsolutePositionT roll_joint;
CopyPosition(roll_joint_encoder_, &roll_joint,
Values::kRollJointEncoderCountsPerRevolution(),
Values::kRollJointEncoderRatio(), roll_joint_pot_translate,
- false, values_->roll_joint.potentiometer_offset);
+ true, values_->roll_joint.potentiometer_offset);
frc971::AbsolutePositionT wrist;
CopyPosition(wrist_encoder_, &wrist,
Values::kWristEncoderCountsPerRevolution(),