blob: 4b1d8e99b0101615835d1aa05a359a8af5ec702d [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
19 //0 = Linkage on sprocket is pointing straight up
20 //Positive = forward
21 intake:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Tyler Chatow1879acc2020-02-01 13:26:48 -080022
Sabina Davis6b61de32020-02-02 12:42:51 -080023 //Positive is rollers intaking to Washing Machine.
24 roller_voltage:float;
Tyler Chatow1879acc2020-02-01 13:26:48 -080025
26 // 0 = facing the front of the robot. Positive rotates counterclockwise.
27 // TODO(Kai): Define which wrap of the shooter is 0 if it can rotate past
28 // forward more than once.
29 turret:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Tyler Chatowcf413662020-02-09 14:36:36 -080030
31 // Only applies if shooter_tracking = false.
32 shooter:ShooterGoal;
33
34 // Whether the robot should be shooting balls. Waits until hood, turret, and
35 // shooter are at goal (as determined by auto-tracking or override).
36 shooting:bool;
37
38 // Whether the hood should adjust its position automatically.
39 hood_tracking:bool;
40
41 // Whether the turret should follow the target automatically.
42 turret_tracking:bool;
43
44 // Whether the kicker and flywheel should choose a velocity automatically.
45 shooter_tracking:bool;
Stephan Massaltd021f972020-01-05 20:41:23 -080046}
47
48root_type Goal;