blob: a55c2f1701ac2bed11d13956495da60ddc37a477 [file] [log] [blame]
Austin Schuh6bcc2302019-03-23 22:28:06 -07001#ifndef Y2019_ACTORS_AUTO_SPLINES_H_
2#define Y2019_ACTORS_AUTO_SPLINES_H_
3
4#include "frc971/control_loops/control_loops.q.h"
5/*
6
7 The cooridinate system for the autonomous splines is the same as the spline
8 python generator and drivetrain spline systems.
9
10*/
11
12namespace y2019 {
13namespace actors {
14
15class AutonomousSplines {
16 public:
Austin Schuhb5b79a52019-05-08 20:32:07 -070017 // Splines for 2 Panels on the far side of the Rocket
18
19 // Path off of level 2 to the far side of the rocket with a panel
20 static ::frc971::MultiSpline HABToFarRocket(bool is_left);
21
22 // Path from the far side of the rocket to the loading station to pickup
23 static ::frc971::MultiSpline FarRocketToHP(bool is_left);
24
25 // Path from the far side of the rocket to the loading station to pickup
26 static ::frc971::MultiSpline HPToFarRocket(bool is_left);
27
28 // Path from the far side of the rocket to close to the loading station
29 static ::frc971::MultiSpline FarRocketToNearHP(bool is_left);
30
31 // Splines for 2 Panels on the far reaches of the cargo ship
32
33 // Path from level 2 to 2nd cargo ship bay with a hatch panel
34 static ::frc971::MultiSpline HABToSecondCargoShipBay(bool is_left);
35
36 // Path from 2nd cargo ship bay to loading station
37 static ::frc971::MultiSpline SecondCargoShipBayToHP(bool is_left);
38
39 // Path from loading station to 3rd cargo ship bay with a hatch panel
40 static ::frc971::MultiSpline HPToThirdCargoShipBay(bool is_left);
41
42 // Path from 3rd cargo ship bay to near the loading station
43 static ::frc971::MultiSpline ThirdCargoShipBayToNearHP(bool is_left);
44
45 // Testing Splines
46 static ::frc971::MultiSpline HPToNearRocketTest();
47 static ::frc971::MultiSpline HabToFarRocketTest(bool is_left);
48 static ::frc971::MultiSpline FarRocketToHPTest();
49
Austin Schuh6bcc2302019-03-23 22:28:06 -070050 static ::frc971::MultiSpline BasicSSpline();
Austin Schuh6bcc2302019-03-23 22:28:06 -070051 static ::frc971::MultiSpline StraightLine();
Austin Schuh6bcc2302019-03-23 22:28:06 -070052};
53
54} // namespace actors
55} // namespace y2019
56
Austin Schuhb5b79a52019-05-08 20:32:07 -070057#endif // Y2019_ACTORS_AUTO_SPLINES_H_