Calibrate 2022 robot
Flip the intake up/down direction to be easier to measure.
Change-Id: I15eba65f8a675ff97e8891bc9a18c69177cba036
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2022/constants.cc b/y2022/constants.cc
index 0342816..225ed87 100644
--- a/y2022/constants.cc
+++ b/y2022/constants.cc
@@ -152,20 +152,25 @@
case kCompTeamNumber:
climber->potentiometer_offset = 0.0;
- intake_front->potentiometer_offset = 0.0;
- intake_front->subsystem_params.zeroing_constants
- .measured_absolute_position = 0.0;
- intake_back->potentiometer_offset = 0.0;
- intake_back->subsystem_params.zeroing_constants
- .measured_absolute_position = 0.0;
- turret->potentiometer_offset = 0.0;
- turret->subsystem_params.zeroing_constants.measured_absolute_position =
- 0.0;
- flipper_arm_left->potentiometer_offset = 0.0;
- flipper_arm_right->potentiometer_offset = 0.0;
- catapult_params->zeroing_constants.measured_absolute_position = 0.0;
- catapult->potentiometer_offset = 0.0;
+ intake_front->potentiometer_offset = 2.79628370453323;
+ intake_front->subsystem_params.zeroing_constants
+ .measured_absolute_position = 0.248921954833972;
+
+ intake_back->potentiometer_offset = 3.1409576474047;
+ intake_back->subsystem_params.zeroing_constants
+ .measured_absolute_position = 0.280099007470002;
+
+ turret->potentiometer_offset = -9.99970387166721;
+ turret->subsystem_params.zeroing_constants.measured_absolute_position =
+ 0.638321248163561;
+
+ flipper_arm_left->potentiometer_offset = -6.4;
+ flipper_arm_right->potentiometer_offset = -5.66;
+
+ catapult_params->zeroing_constants.measured_absolute_position =
+ 1.71723370408082;
+ catapult->potentiometer_offset = -2.03383240293769;
break;
case kPracticeTeamNumber:
diff --git a/y2022/constants.h b/y2022/constants.h
index 2c29950..f8b006e 100644
--- a/y2022/constants.h
+++ b/y2022/constants.h
@@ -63,7 +63,7 @@
static constexpr double kIntakeEncoderCountsPerRevolution() { return 4096.0; }
static constexpr double kIntakeEncoderRatio() {
- return (16.0 / 64.0) * (20.0 / 50.0);
+ return (16.0 / 64.0) * (18.0 / 62.0);
}
static constexpr double kIntakePotRatio() { return 16.0 / 64.0; }
diff --git a/y2022/control_loops/superstructure/superstructure_position.fbs b/y2022/control_loops/superstructure/superstructure_position.fbs
index 46dd547..ba47662 100644
--- a/y2022/control_loops/superstructure/superstructure_position.fbs
+++ b/y2022/control_loops/superstructure/superstructure_position.fbs
@@ -4,14 +4,14 @@
table Position {
climber:frc971.RelativePosition (id: 0);
- // Zero for the intake position value is up, and positive is
- // down.
+ // Zero for the intake position value is horizontal, and positive is
+ // up.
intake_front:frc971.PotAndAbsolutePosition (id: 1);
intake_back:frc971.PotAndAbsolutePosition (id: 2);
- // Zero is forwards; positive = counter-clockwise.
+ // Zero is to the front (away from the RIO); positive = counter-clockwise.
turret:frc971.PotAndAbsolutePosition (id: 3);
- // Zero is straight and positive is open
+ // Zero is closed and positive is open
flipper_arm_left:frc971.RelativePosition (id: 4);
flipper_arm_right:frc971.RelativePosition (id: 5);
diff --git a/y2022/wpilib_interface.cc b/y2022/wpilib_interface.cc
index 6bb55f7..bf5cfda 100644
--- a/y2022/wpilib_interface.cc
+++ b/y2022/wpilib_interface.cc
@@ -186,7 +186,7 @@
CopyPosition(catapult_encoder_, &catapult,
Values::kCatapultEncoderCountsPerRevolution(),
Values::kCatapultEncoderRatio(), catapult_pot_translate,
- true, values_->catapult.potentiometer_offset);
+ false, values_->catapult.potentiometer_offset);
flatbuffers::Offset<frc971::PotAndAbsolutePosition> catapult_offset =
frc971::PotAndAbsolutePosition::Pack(*builder.fbb(), &catapult);
@@ -210,12 +210,13 @@
frc971::PotAndAbsolutePositionT intake_front;
CopyPosition(intake_encoder_front_, &intake_front,
Values::kIntakeEncoderCountsPerRevolution(),
- Values::kIntakeEncoderRatio(), intake_pot_translate, false,
+ Values::kIntakeEncoderRatio(), intake_pot_translate, true,
values_->intake_front.potentiometer_offset);
frc971::PotAndAbsolutePositionT intake_back;
CopyPosition(intake_encoder_back_, &intake_back,
Values::kIntakeEncoderCountsPerRevolution(),
- Values::kIntakeEncoderRatio(), intake_pot_translate, false,
+ Values::kIntakeEncoderRatio(),
+ intake_pot_translate, true,
values_->intake_back.potentiometer_offset);
frc971::PotAndAbsolutePositionT turret;
CopyPosition(turret_encoder_, &turret,