Rezero & tune robot
Rezero values; tune intake; separate out transfer roller speeds for when
extend is moving.
Change-Id: Ia6c574e81f9655396c2333fc921c67b91cbaf554
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024/constants/971.json b/y2024/constants/971.json
index dbdc3d9..5cee276 100644
--- a/y2024/constants/971.json
+++ b/y2024/constants/971.json
@@ -39,11 +39,11 @@
"catapult_constants": {
{% set _ = catapult_zero.update(
{
- "measured_absolute_position" : 2.8342002173381
+ "measured_absolute_position" : 0.741253220327565
}
) %}
"zeroing_constants": {{ catapult_zero | tojson(indent=2)}},
- "potentiometer_offset": {{ 8.54315997763211 - 0.189243355470936 + 0.148884325074452 }}
+ "potentiometer_offset": {{ 9.41595277209342 }}
},
"altitude_constants": {
{% set _ = altitude_zero.update(
@@ -57,20 +57,20 @@
"turret_constants": {
{% set _ = turret_zero.update(
{
- "measured_absolute_position" : 0.143052032770428
+ "measured_absolute_position" : 0.138686395993591
}
) %}
"zeroing_constants": {{ turret_zero | tojson(indent=2)}},
- "potentiometer_offset": {{ -6.26847263904651 + 0.00657023078932103 }}
+ "potentiometer_offset": {{ -6.47164779835404 }}
},
"extend_constants": {
{% set _ = extend_zero.update(
{
- "measured_absolute_position" : 0.0223997590714573
+ "measured_absolute_position" : 0.0314256815130559
}
) %}
"zeroing_constants": {{ extend_zero | tojson(indent=2)}},
- "potentiometer_offset": {{ -0.2574404033256 + 0.0170793439542 }}
+ "potentiometer_offset": {{ -0.2574404033256 + 0.0170793439542 - 0.177097393974999 }}
}
},
{% include 'y2024/constants/common.json' %}
diff --git a/y2024/constants/common.json b/y2024/constants/common.json
index e7c9ca4..1050815 100644
--- a/y2024/constants/common.json
+++ b/y2024/constants/common.json
@@ -24,7 +24,7 @@
],
"intake_roller_voltages": {
"spitting": -4.0,
- "intaking": 6.0
+ "intaking": 12.0
},
"intake_pivot_set_points": {
"extended": -0.03,
@@ -32,14 +32,14 @@
},
"intake_pivot": {
"zeroing_voltage": 3.0,
- "operating_voltage": 6.0,
+ "operating_voltage": 12.0,
"zeroing_profile_params": {
"max_velocity": 0.5,
"max_acceleration": 3.0
},
"default_profile_params":{
- "max_velocity": 2.0,
- "max_acceleration": 5.0
+ "max_velocity": 4.0,
+ "max_acceleration": 10.0
},
"range": {
"lower_hard": -0.2,
@@ -53,8 +53,8 @@
// TODO: (niko) update the stator and supply current limits for the intake
"current_limits": {
// Values in amps
- "intake_pivot_supply_current_limit": 5,
- "intake_pivot_stator_current_limit": 40,
+ "intake_pivot_supply_current_limit": 40,
+ "intake_pivot_stator_current_limit": 100,
"intake_roller_supply_current_limit": 20,
"intake_roller_stator_current_limit": 50,
"transfer_roller_supply_current_limit": 20,
@@ -79,11 +79,12 @@
"retention_roller_supply_current_limit": 10
},
"transfer_roller_voltages": {
- "transfer_in": 6.0,
- "transfer_out": -4.0
+ "transfer_in": 12.0,
+ "transfer_out": -4.0,
+ "extend_moving": 4.0
},
"extend_roller_voltages": {
- "scoring": 6.0,
+ "scoring": 12.0,
"reversing": -4.0
},
"climber_set_points": {
diff --git a/y2024/constants/constants.fbs b/y2024/constants/constants.fbs
index dc41ec1..31e2057 100644
--- a/y2024/constants/constants.fbs
+++ b/y2024/constants/constants.fbs
@@ -89,8 +89,13 @@
}
table TransferRollerVoltages {
+ // Voltage to apply while intaking the game piece.
transfer_in:double (id: 0);
+ // Voltage to apply while spitting the game piece.
transfer_out:double (id: 1);
+ // Voltage to apply while the extend is moving and dragging the
+ // game piece out of the rollers.
+ extend_moving:double (id: 2);
}
table ExtendRollerVoltages {
diff --git a/y2024/control_loops/superstructure/superstructure.cc b/y2024/control_loops/superstructure/superstructure.cc
index 6abdd3b..495f8ad 100644
--- a/y2024/control_loops/superstructure/superstructure.cc
+++ b/y2024/control_loops/superstructure/superstructure.cc
@@ -228,7 +228,7 @@
robot_constants_->common()
->turret_avoid_extend_collision_position(),
kTurretLoadingThreshold);
- transfer_roller_status = TransferRollerStatus::TRANSFERING_IN;
+ transfer_roller_status = TransferRollerStatus::EXTEND_MOVING;
if (turret_ready_for_extend_move.value()) {
state_ = SuperstructureState::MOVING;
@@ -247,7 +247,7 @@
}
break;
case SuperstructureState::MOVING:
- transfer_roller_status = TransferRollerStatus::TRANSFERING_IN;
+ transfer_roller_status = TransferRollerStatus::EXTEND_MOVING;
if (catapult_requested_) {
extend_goal = ExtendStatus::CATAPULT;
@@ -420,6 +420,11 @@
->transfer_roller_voltages()
->transfer_out();
break;
+ case TransferRollerStatus::EXTEND_MOVING:
+ output_struct.transfer_roller_voltage = robot_constants_->common()
+ ->transfer_roller_voltages()
+ ->extend_moving();
+ break;
}
// Update Extend Roller voltage based on status from state machine.
diff --git a/y2024/control_loops/superstructure/superstructure_lib_test.cc b/y2024/control_loops/superstructure/superstructure_lib_test.cc
index 1738181..5c8676d 100644
--- a/y2024/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2024/control_loops/superstructure/superstructure_lib_test.cc
@@ -400,7 +400,7 @@
EXPECT_NEAR(set_point,
superstructure_status_fetcher_->intake_pivot()->position(),
- 0.015);
+ 0.03);
if (superstructure_goal_fetcher_->has_shooter_goal() &&
superstructure_goal_fetcher_->note_goal() != NoteGoal::AMP &&
diff --git a/y2024/control_loops/superstructure/superstructure_status.fbs b/y2024/control_loops/superstructure/superstructure_status.fbs
index e9fff2f..cd3e65b 100644
--- a/y2024/control_loops/superstructure/superstructure_status.fbs
+++ b/y2024/control_loops/superstructure/superstructure_status.fbs
@@ -75,6 +75,7 @@
NONE = 0,
TRANSFERING_IN = 1,
TRANSFERING_OUT = 2,
+ EXTEND_MOVING = 3,
}
// Contains status of extend rollers