9#include "core/robot_specs.h"
10#include "core/subsystems/odometry/odometry_tank.h"
11#include "core/competition/command_structure/auto_command.h"
12#include "core/utils/controls/feedback_base.h"
13#include "core/utils/controls/pid.h"
14#include "core/utils/pure_pursuit.h"
41 vex::motor_group& left_motors, vex::motor_group& right_motors,
robot_specs_t& config,
45 AutoCommand* DriveToPointCmd(
46 Translation2d pt, vex::directionType dir = vex::forward,
double max_speed = 1.0,
47 double end_speed = 0.0
49 AutoCommand* DriveToPointCmd(
50 Feedback& fb, Translation2d pt, vex::directionType dir = vex::forward,
51 double max_speed = 1.0,
double end_speed = 0.0
54 AutoCommand* DriveToPointCmd(
55 double x,
double y, vex::directionType dir = vex::forward,
double max_speed = 1.0,
56 double end_speed = 0.0
59 AutoCommand* DriveForwardCmd(
60 double dist, vex::directionType dir = vex::forward,
double max_speed = 1.0,
61 double end_speed = 0.0
63 AutoCommand* DriveForwardCmd(
64 Feedback& fb,
double dist, vex::directionType dir = vex::forward,
65 double max_speed = 1.0,
double end_speed = 0.0
68 AutoCommand* TurnToHeadingCmd(
double heading,
double max_speed = 1.0,
double end_speed = 0.0);
69 AutoCommand* TurnToHeadingCmd(
70 Feedback& fb,
double heading,
double max_speed = 1.0,
double end_speed = 0.0
73 AutoCommand* TurnToPointCmd(
74 double x,
double y, vex::directionType dir = vex::directionType::fwd,
75 double max_speed = 1.0,
double end_speed = 0.0
77 AutoCommand* TurnToPointCmd(
78 Translation2d point, vex::directionType dir = vex::directionType::fwd,
79 double max_speed = 1.0,
double end_speed = 0.0
82 AutoCommand* TurnDegreesCmd(
double degrees,
double max_speed = 1.0,
double start_speed = 0.0);
83 AutoCommand* TurnDegreesCmd(
84 Feedback& fb,
double degrees,
double max_speed = 1.0,
double end_speed = 0.0
87 AutoCommand* PurePursuitCmd(
91 AutoCommand* PurePursuitCmd(
93 double max_speed = 1,
double end_speed = 0
95 Condition* DriveStalledCondition(
double stall_time);
96 AutoCommand* DriveTankCmd(
double left,
double right);
153 double inches, vex::directionType dir,
Feedback& feedback,
double max_speed = 1,
170 double inches, vex::directionType dir,
double max_speed = 1,
double end_speed = 0
187 double degrees,
Feedback& feedback,
double max_speed = 1,
double end_speed = 0
203 bool turn_degrees(
double degrees,
double max_speed = 1,
double end_speed = 0);
220 double x,
double y, vex::directionType dir,
Feedback& feedback,
double max_speed = 1,
239 double x,
double y, vex::directionType dir,
double max_speed = 1,
double end_speed = 0
254 double heading_deg,
Feedback& feedback,
double max_speed = 1,
double end_speed = 0
266 bool turn_to_heading(
double heading_deg,
double max_speed = 1,
double end_speed = 0);
299 double max_speed = 1,
double end_speed = 0
322 vex::motor_group& left_motors;
323 vex::motor_group& right_motors;
330 Feedback* drive_default_feedback = NULL;
331 Feedback* turn_default_feedback = NULL;
336 bool func_initialized =
339 bool is_pure_pursuit =
false;
Definition auto_command.h:25
Definition feedback_base.h:10
Definition odometry_base.h:30
Definition pure_pursuit.h:14
bool turn_to_heading(double heading_deg, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:559
void drive_tank_raw(double left, double right)
Definition tank_drive.cpp:149
bool drive_forward(double inches, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:243
bool turn_degrees(double degrees, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:324
BrakeType
Definition tank_drive.h:25
@ None
just send 0 volts to the motors
Definition tank_drive.h:26
void drive_tank(double left, double right, int power=1, BrakeType bt=BrakeType::None)
Definition tank_drive.cpp:162
void reset_auto()
Reset the initialization for autonomous drive functions.
Definition tank_drive.cpp:138
TankDrive(vex::motor_group &left_motors, vex::motor_group &right_motors, robot_specs_t &config, OdometryBase *odom=NULL)
Definition tank_drive.cpp:8
static double modify_inputs(double input, int power=2)
Definition tank_drive.cpp:630
Pose2d get_position()
Returns the Robot position as a Pose2d.
Definition tank_drive.cpp:147
void drive_arcade(double forward_back, double left_right, int power=1, BrakeType bt=BrakeType::None)
Definition tank_drive.cpp:220
bool drive_to_point(double x, double y, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:386
void stop()
Stops rotation of all the motors using their "brake mode".
Definition tank_drive.cpp:141
bool pure_pursuit(PurePursuit::Path path, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:645
Definition robot_specs.h:11