Updated constants and wpilib_interface.
Updated wpilib_interface and the constants files to have the
superstructure components.
Updated the linear_system codegen to output free speed in radians.
Updated the intake python file with the correct gear ratio.
Created the superstructure plants.
Change-Id: I5a2b54fe3de8d9ae9b0f79820465a2f97baed22d
diff --git a/y2019/constants.cc b/y2019/constants.cc
index 0851577..e91a49c 100644
--- a/y2019/constants.cc
+++ b/y2019/constants.cc
@@ -26,19 +26,99 @@
const uint16_t kCompTeamNumber = 971;
const uint16_t kPracticeTeamNumber = 9971;
+const uint16_t kCodingRobotTeamNumber = 7971;
const Values *DoGetValuesForTeam(uint16_t team) {
Values *const r = new Values();
+ Values::PotAndAbsConstants *const elevator = &r->elevator;
+ Values::Intake *const intake = &r->intake;
+ Values::PotAndAbsConstants *const stilts = &r->stilts;
+ Values::PotAndAbsConstants *const wrist = &r->wrist;
+
+ elevator->zeroing.average_filter_size = Values::kZeroingSampleSize;
+ elevator->zeroing.one_revolution_distance =
+ M_PI * 2.0 * constants::Values::kElevatorEncoderRatio();
+ elevator->zeroing.zeroing_threshold = 0.0005;
+ elevator->zeroing.moving_buffer_size = 20;
+ elevator->zeroing.allowable_encoder_error = 0.9;
+
+ intake->zeroing.average_filter_size = Values::kZeroingSampleSize;
+ intake->zeroing.one_revolution_distance =
+ M_PI * 2.0 * constants::Values::kIntakeEncoderRatio();
+ intake->zeroing.zeroing_threshold = 0.0005;
+ intake->zeroing.moving_buffer_size = 20;
+ intake->zeroing.allowable_encoder_error = 0.9;
+
+ stilts->zeroing.average_filter_size = Values::kZeroingSampleSize;
+ stilts->zeroing.one_revolution_distance =
+ M_PI * 2.0 * constants::Values::kStiltsEncoderRatio();
+ stilts->zeroing.zeroing_threshold = 0.0005;
+ stilts->zeroing.moving_buffer_size = 20;
+ stilts->zeroing.allowable_encoder_error = 0.9;
+
+ wrist->zeroing.average_filter_size = Values::kZeroingSampleSize;
+ wrist->zeroing.one_revolution_distance =
+ M_PI * 2.0 * constants::Values::kWristEncoderRatio();
+ wrist->zeroing.zeroing_threshold = 0.0005;
+ wrist->zeroing.moving_buffer_size = 20;
+ wrist->zeroing.allowable_encoder_error = 0.9;
switch (team) {
// A set of constants for tests.
case 1:
+ elevator->zeroing.measured_absolute_position = 0.0;
+ elevator->potentiometer_offset = 0.0;
+
+ intake->zeroing.measured_absolute_position = 0.0;
+ intake->zeroing.middle_position = 0.0;
+
+ stilts->zeroing.measured_absolute_position = 0.0;
+ stilts->potentiometer_offset = 0.0;
+
+ wrist->zeroing.measured_absolute_position = 0.0;
+ wrist->potentiometer_offset = 0.0;
break;
case kCompTeamNumber:
+ elevator->zeroing.measured_absolute_position = 0.0;
+ elevator->potentiometer_offset = 0.0;
+
+ intake->zeroing.measured_absolute_position = 0.0;
+ intake->zeroing.middle_position = 0.0;
+
+ stilts->zeroing.measured_absolute_position = 0.0;
+ stilts->potentiometer_offset = 0.0;
+
+ wrist->zeroing.measured_absolute_position = 0.0;
+ wrist->potentiometer_offset = 0.0;
break;
case kPracticeTeamNumber:
+ elevator->zeroing.measured_absolute_position = 0.0;
+ elevator->potentiometer_offset = 0.0;
+
+ intake->zeroing.measured_absolute_position = 0.0;
+ intake->zeroing.middle_position = 0.0;
+
+ stilts->zeroing.measured_absolute_position = 0.0;
+ stilts->potentiometer_offset = 0.0;
+
+ wrist->zeroing.measured_absolute_position = 0.0;
+ wrist->potentiometer_offset = 0.0;
+ break;
+
+ case kCodingRobotTeamNumber:
+ elevator->zeroing.measured_absolute_position = 0.0;
+ elevator->potentiometer_offset = 0.0;
+
+ intake->zeroing.measured_absolute_position = 0.0;
+ intake->zeroing.middle_position = 0.0;
+
+ stilts->zeroing.measured_absolute_position = 0.0;
+ stilts->potentiometer_offset = 0.0;
+
+ wrist->zeroing.measured_absolute_position = 0.0;
+ wrist->potentiometer_offset = 0.0;
break;
default:
@@ -78,6 +158,5 @@
return *values[team_number];
}
-
} // namespace constants
} // namespace y2019