blob: 4274bd82d90abacf71bb3e957be53231affc5af3 [file] [log] [blame]
Alex Perrycb7da4b2019-08-28 19:35:56 -07001namespace y2016.control_loops.superstructure;
2
3table Goal {
4 // Zero on the intake is when the horizontal tube stock members are level
5 // with the top frame rails of the robot. This will be essentially when we
6 // are in the intaking position. Positive is up. The angle is measured
7 // relative to the top
8 // of the robot frame.
9 // Zero on the shoulder is when the shoulder is down against the hard stop
10 // blocks. Positive is up. The angle is measured relative to the top of
11 // the robot frame.
12 // Zero on the wrist is horizontal and landed in the bellypan. Positive is
13 // the same direction as the shoulder. The angle is measured relative to
14 // the top of the robot frame. For calibration, 0 is measured as parallel
15 // to the big frame supporting the shooter.
16
17 // Goal angles and angular velocities of the superstructure subsystems.
18 angle_intake:double;
19 angle_shoulder:double;
20 // In relation to the ground plane.
21 angle_wrist:double;
22
23 // Caps on velocity/acceleration for profiling. 0 for the default.
24 max_angular_velocity_intake:float;
25 max_angular_velocity_shoulder:float;
26 max_angular_velocity_wrist:float;
27
28 max_angular_acceleration_intake:float;
29 max_angular_acceleration_shoulder:float;
30 max_angular_acceleration_wrist:float;
31
32 // Voltage to send to the rollers. Positive is sucking in.
33 voltage_top_rollers:float;
34 voltage_bottom_rollers:float;
35
36 // Voltage to sent to the climber. Positive is pulling the robot up.
37 voltage_climber:float;
38 // If true, unlatch the climber and allow it to unfold.
39 unfold_climber:bool;
40
41 force_intake:bool;
42
43 // If true, release the latch which holds the traverse mechanism in the
44 // middle.
45 traverse_unlatched:bool;
46 // If true, fire the traverse mechanism down.
47 traverse_down:bool;
48}
49
50root_type Goal;