7#include "core/robot_specs.h"
8#include "core/subsystems/odometry/odometry_tank.h"
9#include "core/utils/command_structure/auto_command.h"
10#include "core/utils/controls/feedback_base.h"
11#include "core/utils/controls/pid.h"
12#include "core/utils/pure_pursuit.h"
39 AutoCommand *DriveToPointCmd(
40 Translation2d pt, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0
42 AutoCommand *DriveToPointCmd(
44 double end_speed = 0.0
47 AutoCommand *DriveToPointCmd(
48 double x,
double y, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0
52 DriveForwardCmd(
double dist, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0);
53 AutoCommand *DriveForwardCmd(
54 Feedback &fb,
double dist, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0
57 AutoCommand *TurnToHeadingCmd(
double heading,
double max_speed = 1.0,
double end_speed = 0.0);
58 AutoCommand *TurnToHeadingCmd(
Feedback &fb,
double heading,
double max_speed = 1.0,
double end_speed = 0.0);
60 AutoCommand *TurnToPointCmd(
61 double x,
double y, vex::directionType dir = vex::directionType::fwd,
double max_speed = 1.0,
62 double end_speed = 0.0
64 AutoCommand *TurnToPointCmd(
65 Translation2d point, vex::directionType dir = vex::directionType::fwd,
double max_speed = 1.0,
66 double end_speed = 0.0
69 AutoCommand *TurnDegreesCmd(
double degrees,
double max_speed = 1.0,
double start_speed = 0.0);
70 AutoCommand *TurnDegreesCmd(
Feedback &fb,
double degrees,
double max_speed = 1.0,
double end_speed = 0.0);
72 AutoCommand *PurePursuitCmd(
PurePursuit::Path path, vex::directionType dir,
double max_speed = 1,
double end_speed = 0);
73 AutoCommand *PurePursuitCmd(
76 Condition *DriveStalledCondition(
double stall_time);
77 AutoCommand *DriveTankCmd(
double left,
double right);
134 drive_forward(
double inches, vex::directionType dir,
Feedback &feedback,
double max_speed = 1,
double end_speed = 0);
148 bool drive_forward(
double inches, vex::directionType dir,
double max_speed = 1,
double end_speed = 0);
161 bool turn_degrees(
double degrees,
Feedback &feedback,
double max_speed = 1,
double end_speed = 0);
176 bool turn_degrees(
double degrees,
double max_speed = 1,
double end_speed = 0);
192 double x,
double y, vex::directionType dir,
Feedback &feedback,
double max_speed = 1,
double end_speed = 0
209 bool drive_to_point(
double x,
double y, vex::directionType dir,
double max_speed = 1,
double end_speed = 0);
232 bool turn_to_heading(
double heading_deg,
double max_speed = 1,
double end_speed = 0);
286 vex::motor_group &left_motors;
287 vex::motor_group &right_motors;
294 Feedback *drive_default_feedback = NULL;
295 Feedback *turn_default_feedback = NULL;
300 bool func_initialized =
false;
302 bool is_pure_pursuit =
false;
Definition auto_command.h:25
Definition feedback_base.h:10
Definition odometry_base.h:31
Definition pure_pursuit.h:13
bool turn_to_heading(double heading_deg, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:508
void drive_tank_raw(double left, double right)
Definition tank_drive.cpp:125
bool drive_forward(double inches, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:215
bool turn_degrees(double degrees, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:291
BrakeType
Definition tank_drive.h:23
@ ZeroVelocity
try to bring the robot to rest. But don't try to hold position
Definition tank_drive.h:25
@ None
just send 0 volts to the motors
Definition tank_drive.h:24
@ Smart
bring the robot to rest and once it's stopped, try to hold that position
Definition tank_drive.h:26
void drive_tank(double left, double right, int power=1, BrakeType bt=BrakeType::None)
Definition tank_drive.cpp:138
void reset_auto()
Definition tank_drive.cpp:110
TankDrive(vex::motor_group &left_motors, vex::motor_group &right_motors, robot_specs_t &config, OdometryBase *odom=NULL)
Definition tank_drive.cpp:7
static double modify_inputs(double input, int power=2)
Definition tank_drive.cpp:571
Pose2d get_position()
Definition tank_drive.cpp:123
void drive_arcade(double forward_back, double left_right, int power=1, BrakeType bt=BrakeType::None)
Definition tank_drive.cpp:193
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:351
void stop()
Definition tank_drive.cpp:115
bool pure_pursuit(PurePursuit::Path path, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:584
Definition translation2d.h:21
Definition robot_specs.h:11