| {% from 'y2024/constants/common.jinja2' import intake_upper, intake_lower %} |
| |
| "common": { |
| "target_map": {% include 'y2024/vision/maps/target_map.json' %}, |
| "shooter_shuttle_interpolation_table": [ |
| // Deliberately add a bit of extra shot table on either side of the |
| // actual upper bounds to allow slightly more dubious shots to still be shot. |
| // Note: Speed over ground is untuned |
| { |
| "distance_from_goal": 4.0, |
| "shot_params": { |
| "shot_altitude_angle": 0.93, |
| "shot_speed_over_ground": 100000.0 |
| } |
| }, |
| { |
| "distance_from_goal": 6.5, |
| "shot_params": { |
| "shot_altitude_angle": 0.93, |
| "shot_speed_over_ground": 100000.0 |
| } |
| }, |
| { |
| "distance_from_goal": 8.5, |
| "shot_params": { |
| "shot_altitude_angle": 0.85, |
| "shot_speed_over_ground": 100000.0 |
| } |
| }, |
| { |
| "distance_from_goal": 10.0, |
| "shot_params": { |
| "shot_altitude_angle": 0.8, |
| "shot_speed_over_ground": 100000.0 |
| } |
| }, |
| { |
| "distance_from_goal": 15.0, |
| "shot_params": { |
| "shot_altitude_angle": 0.75, |
| "shot_speed_over_ground": 100000.0 |
| } |
| } |
| ], |
| "shooter_interpolation_table": [ |
| { |
| "distance_from_goal": 0.5, |
| "shot_params": { |
| "shot_altitude_angle": 0.85, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 1.24, |
| "shot_params": { |
| "shot_altitude_angle": 0.825, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 1.904, |
| "shot_params": { |
| "shot_altitude_angle": 0.66, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 2.404, |
| "shot_params": { |
| "shot_altitude_angle": 0.59, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| // 2.2 -> high. |
| { |
| "distance_from_goal": 2.744, |
| "shot_params": { |
| "shot_altitude_angle": 0.56, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 3.274, |
| "shot_params": { |
| "shot_altitude_angle": 0.515, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 3.76, |
| "shot_params": { |
| "shot_altitude_angle": 0.50, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 4.00, |
| "shot_params": { |
| "shot_altitude_angle": 0.465, |
| "shot_speed_over_ground": 16.0 |
| } |
| }, |
| { |
| "distance_from_goal": 4.68, |
| "shot_params": { |
| "shot_altitude_angle": 0.47, |
| "shot_speed_over_ground": 16.0 |
| } |
| } |
| ], |
| "note_interpolation_table": [ |
| { |
| "amperage": 6.0, |
| "note_params": { |
| "turret_offset": 0.09 |
| } |
| }, |
| { |
| "amperage": 10.0, |
| "note_params": { |
| "turret_offset": 0.09 |
| } |
| } |
| ], |
| "intake_roller_voltages": { |
| "spitting": -6.0, |
| "intaking": 9.0 |
| }, |
| "intake_pivot_set_points": { |
| "extended": 0.045, |
| "retracted": 1.73 |
| }, |
| "intake_pivot": { |
| "zeroing_voltage": 3.0, |
| "operating_voltage": 12.0, |
| "zeroing_profile_params": { |
| "max_velocity": 0.5, |
| "max_acceleration": 3.0 |
| }, |
| "default_profile_params":{ |
| "max_velocity": 6.0, |
| "max_acceleration": 40.0 |
| }, |
| "range": { |
| "lower_hard": -0.2, |
| "upper_hard": 1.80, |
| "lower": {{ intake_lower }}, |
| "upper": {{ intake_upper }} |
| }, |
| "loop": {% include 'y2024/control_loops/superstructure/intake_pivot/integral_intake_pivot_plant.json' %} |
| }, |
| "drivetrain": {% include 'y2024/control_loops/drivetrain/drivetrain_config.json' %}, |
| // TODO: (niko) update the stator and supply current limits for the intake |
| "current_limits": { |
| // Values in amps |
| "intake_pivot_supply_current_limit": 40, |
| "intake_pivot_stator_current_limit": 100, |
| "intake_roller_supply_current_limit": 20, |
| "intake_roller_stator_current_limit": 100, |
| "transfer_roller_supply_current_limit": 40, |
| "transfer_roller_stator_current_limit": 50, |
| "drivetrain_supply_current_limit": 50, |
| "drivetrain_stator_current_limit": 70, |
| "climber_supply_current_limit": 40, |
| "climber_stator_current_limit": 150, |
| "extend_supply_current_limit": 30, |
| "extend_stator_current_limit": 180, |
| "extend_roller_supply_current_limit": 50, |
| "extend_roller_stator_current_limit": 180, |
| "turret_supply_current_limit": 30, |
| "turret_stator_current_limit": 100, |
| "altitude_supply_current_limit": 30, |
| "altitude_stator_current_limit": 150, |
| "catapult_supply_current_limit": 60, |
| "catapult_stator_current_limit": 250, |
| "retention_roller_stator_current_limit": 20, |
| "slower_retention_roller_stator_current_limit": 12, |
| "shooting_retention_roller_stator_current_limit": -20, |
| "retention_roller_supply_current_limit": 10 |
| }, |
| "transfer_roller_voltages": { |
| "transfer_in": 11.0, |
| "transfer_out": -4.0, |
| "extend_moving": 4.0 |
| }, |
| "extend_roller_voltages": { |
| "scoring": 6.0, |
| "reversing": -4.0 |
| }, |
| "catapult": { |
| "zeroing_voltage": 3.0, |
| "operating_voltage": 12.0, |
| "zeroing_profile_params": { |
| "max_velocity": 1.0, |
| "max_acceleration": 6.0 |
| }, |
| "default_profile_params":{ |
| "max_velocity": 0.025, |
| "max_acceleration": 0.05 |
| }, |
| "range": { |
| "lower_hard": -0.05, |
| "upper_hard": 4.2, |
| "lower": 0.0, |
| "upper": 2.38 |
| }, |
| "loop": {% include 'y2024/control_loops/superstructure/catapult/integral_catapult_plant.json' %} |
| }, |
| // TODO: (max) update the constants for the shooter subsystems |
| "altitude": { |
| "zeroing_voltage": 3.0, |
| "operating_voltage": 12.0, |
| "zeroing_profile_params": { |
| "max_velocity": 0.5, |
| "max_acceleration": 3.0 |
| }, |
| "default_profile_params":{ |
| "max_velocity": 5.0, |
| "max_acceleration": 30.0 |
| }, |
| "range": { |
| "lower_hard": -0.01, |
| "upper_hard": 1.66, |
| "lower": 0.0135, |
| "upper": 1.57 |
| }, |
| "loop": {% include 'y2024/control_loops/superstructure/altitude/integral_altitude_plant.json' %} |
| }, |
| "turret": { |
| "zeroing_voltage": 3.0, |
| "operating_voltage": 12.0, |
| "zeroing_profile_params": { |
| "max_velocity": 0.5, |
| "max_acceleration": 3.0 |
| }, |
| "default_profile_params":{ |
| "max_velocity": 12.0, |
| "max_acceleration": 55.0 |
| }, |
| "range": { |
| "lower_hard": -4.8, |
| "upper_hard": 4.8, |
| "lower": -4.7, |
| "upper": 4.7 |
| }, |
| "loop": {% include 'y2024/control_loops/superstructure/turret/integral_turret_plant.json' %} |
| }, |
| "extend": { |
| "zeroing_voltage": 3.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": 10.0 |
| }, |
| "range": { |
| "lower_hard": -0.005, |
| "upper_hard": 0.47, |
| "lower": 0.005, |
| "upper": 0.46 |
| }, |
| "loop": {% include 'y2024/control_loops/superstructure/extend/integral_extend_plant.json' %} |
| }, |
| "shooter_targets": { |
| "red_alliance": { |
| "pos": { |
| "rows": 3, |
| "cols": 1, |
| "storage_order": "ColMajor", |
| // The data field contains the x, y and z |
| // coordinates of the speaker on the red alliance |
| "data": [8.209, 1.4435, 2.0705] |
| }, |
| "theta": 0.0 |
| }, |
| "blue_alliance": { |
| "pos": { |
| "rows": 3, |
| "cols": 1, |
| "storage_order": "ColMajor", |
| // The data field contains the x, y and z |
| // coordinates of the speaker on the blue alliance |
| "data": [-8.209, 1.4435, 2.0705] |
| }, |
| "theta": 0.0 |
| } |
| }, |
| "shooter_shuttle_targets": { |
| "red_alliance": { |
| "pos": { |
| "rows": 3, |
| "cols": 1, |
| "storage_order": "ColMajor", |
| //TODO(Filip): Update positions |
| // The data field contains the x, y and z |
| // coordinates of the shuttle target, amp area on the red alliance |
| "data": [5.968526, 2.654766, 0.006045] |
| }, |
| "theta": 0.0 |
| }, |
| "blue_alliance": { |
| "pos": { |
| "rows": 3, |
| "cols": 1, |
| "storage_order": "ColMajor", |
| //TODO(Filip): Update positions |
| // The data field contains the x, y and z |
| // coordinates of the shuttle target, amp area on the blue alliance |
| "data": [-5.968526, 2.655, 0.006] |
| }, |
| "theta": 0.0 |
| } |
| }, |
| "altitude_loading_position": 0.02, |
| "turret_loading_position": 0.58, |
| "catapult_return_position": 0.0, |
| "min_altitude_shooting_angle": 0.4, |
| "max_altitude_shooting_angle": 0.94, |
| "retention_roller_voltages": { |
| "intaking": 1.5, |
| "retaining": 0.6, |
| "spitting": 6.0 |
| }, |
| // TODO(Filip): Update the speaker and amp shooter setpoints |
| "shooter_speaker_set_point": { |
| "turret_position": 0.13, |
| "altitude_position": 0.85, |
| "shot_velocity": 0.0 |
| }, |
| "shooter_podium_set_point":{ |
| "turret_position": 0.0, |
| "altitude_position": 0.0, |
| "shot_velocity": 0.0 |
| }, |
| "extend_set_points": { |
| "trap": 0.46, |
| "amp": 0.35, |
| "catapult": 0.022, |
| "retracted": 0.022 |
| }, |
| "turret_avoid_extend_collision_position": 0.0, |
| "altitude_avoid_extend_collision_position": 0.3, |
| "autonomous_mode": "FIVE_PIECE", |
| "ignore_targets": { |
| "red": [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16], |
| "blue": [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16] |
| } |
| } |