Alex Perry | cb7da4b | 2019-08-28 19:35:56 -0700 | [diff] [blame^] | 1 | namespace y2016.control_loops.superstructure; |
| 2 | |
| 3 | table 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 | |
| 50 | root_type Goal; |