Add roll joint to superstructure and arm UI
Arm UI changes:
- Update robot dimensions
- Support visualizing roll joint
- Add roll joint collision detection
Superstructure changes:
- Adding roll joint feedback loop and zeroing estimator
Signed-off-by: milind-u <milind.upadhyay@gmail.com>
Change-Id: I422e343890248940bba98ba3cabac94e68723a3e
diff --git a/y2023/constants.cc b/y2023/constants.cc
index 123bf2b..1d6564e 100644
--- a/y2023/constants.cc
+++ b/y2023/constants.cc
@@ -40,24 +40,12 @@
arm_distal->zeroing.moving_buffer_size = 20;
arm_distal->zeroing.allowable_encoder_error = 0.9;
- ::frc971::control_loops::StaticZeroingSingleDOFProfiledSubsystemParams<
- ::frc971::zeroing::PotAndAbsoluteEncoderZeroingEstimator>
- *const roll_joint_params = &roll_joint->subsystem_params;
-
- roll_joint_params->zeroing_voltage = 3.0;
- roll_joint_params->operating_voltage = 12.0;
- roll_joint_params->zeroing_profile_params = {0.5, 3.0};
- roll_joint_params->default_profile_params = {6.0, 30.0};
- roll_joint_params->range = Values::kRollJointRange();
- roll_joint_params->make_integral_loop =
- control_loops::superstructure::roll::MakeIntegralRollLoop;
- roll_joint_params->zeroing_constants.average_filter_size =
- Values::kZeroingSampleSize;
- roll_joint_params->zeroing_constants.one_revolution_distance =
- M_PI * 2.0 * constants::Values::kRollJointEncoderRatio();
- roll_joint_params->zeroing_constants.zeroing_threshold = 0.0005;
- roll_joint_params->zeroing_constants.moving_buffer_size = 20;
- roll_joint_params->zeroing_constants.allowable_encoder_error = 0.9;
+ roll_joint->zeroing.average_filter_size = Values::kZeroingSampleSize;
+ roll_joint->zeroing.one_revolution_distance =
+ M_PI * 2.0 * constants::Values::kDistalEncoderRatio();
+ roll_joint->zeroing.zeroing_threshold = 0.0005;
+ roll_joint->zeroing.moving_buffer_size = 20;
+ roll_joint->zeroing.allowable_encoder_error = 0.9;
wrist->zeroing_voltage = 3.0;
wrist->operating_voltage = 12.0;
@@ -83,7 +71,7 @@
arm_distal->zeroing.measured_absolute_position = 0.0;
arm_distal->potentiometer_offset = 0.0;
- roll_joint_params->zeroing_constants.measured_absolute_position = 0.0;
+ roll_joint->zeroing.measured_absolute_position = 0.0;
roll_joint->potentiometer_offset = 0.0;
wrist->zeroing_constants.measured_absolute_position = 0.0;
@@ -97,7 +85,7 @@
arm_distal->zeroing.measured_absolute_position = 0.0;
arm_distal->potentiometer_offset = 0.0;
- roll_joint_params->zeroing_constants.measured_absolute_position = 0.0;
+ roll_joint->zeroing.measured_absolute_position = 0.0;
roll_joint->potentiometer_offset = 0.0;
wrist->zeroing_constants.measured_absolute_position = 0.0;
@@ -111,7 +99,7 @@
arm_distal->zeroing.measured_absolute_position = 0.0;
arm_distal->potentiometer_offset = 0.0;
- roll_joint_params->zeroing_constants.measured_absolute_position = 0.0;
+ roll_joint->zeroing.measured_absolute_position = 0.0;
roll_joint->potentiometer_offset = 0.0;
wrist->zeroing_constants.measured_absolute_position = 0.0;
@@ -125,7 +113,7 @@
arm_distal->zeroing.measured_absolute_position = 0.0;
arm_distal->potentiometer_offset = 0.0;
- roll_joint_params->zeroing_constants.measured_absolute_position = 0.0;
+ roll_joint->zeroing.measured_absolute_position = 0.0;
roll_joint->potentiometer_offset = 0.0;
wrist->zeroing_constants.measured_absolute_position = 0.0;