blob: bade51edf3393ee9d47ce7403290d1558db07f73 [file] [log] [blame]
Stephan Massaltd021f972020-01-05 20:41:23 -08001include "frc971/control_loops/profiled_subsystem.fbs";
2
3namespace y2020.control_loops.superstructure;
4
Tyler Chatowcf413662020-02-09 14:36:36 -08005table ShooterGoal {
6 // Angular velocity in rad/s of the slowest (lowest) wheel in the kicker.
7 // Positive is shooting the ball.
8 velocity_kicker:double;
9
10 // Angular velocity in rad/s of the flywheel. Positive is shooting.
11 velocity_flywheel:double;
12}
13
Stephan Massaltd021f972020-01-05 20:41:23 -080014table Goal {
Sabina Davis70d5e912020-01-31 21:10:37 -080015 // Zero is at the horizontal, positive towards the front (meters on the lead screw).
Tyler Chatowcf413662020-02-09 14:36:36 -080016 // Only applies if hood_tracking = false.
Sabina Davis70d5e912020-01-31 21:10:37 -080017 hood:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Sabina Davis6b61de32020-02-02 12:42:51 -080018
Sabina Davis5187f862020-02-09 13:16:51 -080019 // Positive = counterclockwise from above; rotates Wheel of Fortune clockwise
20 // Zero is relative to start.
21 control_panel:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
22
Sabina Davis6737b092020-02-17 12:59:32 -080023 // 0 = Linkage on sprocket is pointing straight up
24 // Positive = forward
Sabina Davis6b61de32020-02-02 12:42:51 -080025 intake:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Tyler Chatow1879acc2020-02-01 13:26:48 -080026
Sabina Davis6b61de32020-02-02 12:42:51 -080027 //Positive is rollers intaking to Washing Machine.
28 roller_voltage:float;
Tyler Chatow1879acc2020-02-01 13:26:48 -080029
30 // 0 = facing the front of the robot. Positive rotates counterclockwise.
31 // TODO(Kai): Define which wrap of the shooter is 0 if it can rotate past
32 // forward more than once.
33 turret:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Tyler Chatowcf413662020-02-09 14:36:36 -080034
35 // Only applies if shooter_tracking = false.
36 shooter:ShooterGoal;
37
38 // Whether the robot should be shooting balls. Waits until hood, turret, and
39 // shooter are at goal (as determined by auto-tracking or override).
40 shooting:bool;
41
42 // Whether the hood should adjust its position automatically.
43 hood_tracking:bool;
44
45 // Whether the turret should follow the target automatically.
46 turret_tracking:bool;
47
48 // Whether the kicker and flywheel should choose a velocity automatically.
49 shooter_tracking:bool;
Sabina Davis6737b092020-02-17 12:59:32 -080050
51 // Positive is deploying climber and to climb; cannot run in reverse
52 climber_winch_voltage:double;
Stephan Massaltd021f972020-01-05 20:41:23 -080053}
54
55root_type Goal;