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"
41 AutoCommand *DriveToPointCmd(
42 Translation2d pt, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0
44 AutoCommand *DriveToPointCmd(
46 double end_speed = 0.0
49 AutoCommand *DriveToPointCmd(
50 double x,
double y, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0
54 DriveForwardCmd(
double dist, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0);
55 AutoCommand *DriveForwardCmd(
56 Feedback &fb,
double dist, vex::directionType dir = vex::forward,
double max_speed = 1.0,
double end_speed = 0.0
59 AutoCommand *TurnToHeadingCmd(
double heading,
double max_speed = 1.0,
double end_speed = 0.0);
60 AutoCommand *TurnToHeadingCmd(
Feedback &fb,
double heading,
double max_speed = 1.0,
double end_speed = 0.0);
62 AutoCommand *TurnToPointCmd(
63 double x,
double y, vex::directionType dir = vex::directionType::fwd,
double max_speed = 1.0,
64 double end_speed = 0.0
66 AutoCommand *TurnToPointCmd(
67 Translation2d point, vex::directionType dir = vex::directionType::fwd,
double max_speed = 1.0,
68 double end_speed = 0.0
71 AutoCommand *TurnDegreesCmd(
double degrees,
double max_speed = 1.0,
double start_speed = 0.0);
72 AutoCommand *TurnDegreesCmd(
Feedback &fb,
double degrees,
double max_speed = 1.0,
double end_speed = 0.0);
74 AutoCommand *PurePursuitCmd(
PurePursuit::Path path, directionType dir,
double max_speed = 1,
double end_speed = 0);
75 AutoCommand *PurePursuitCmd(
78 Condition *DriveStalledCondition(
double stall_time);
79 AutoCommand *DriveTankCmd(
double left,
double right);
136 drive_forward(
double inches, directionType dir,
Feedback &feedback,
double max_speed = 1,
double end_speed = 0);
150 bool drive_forward(
double inches, directionType dir,
double max_speed = 1,
double end_speed = 0);
163 bool turn_degrees(
double degrees,
Feedback &feedback,
double max_speed = 1,
double end_speed = 0);
178 bool turn_degrees(
double degrees,
double max_speed = 1,
double end_speed = 0);
194 double x,
double y, vex::directionType dir,
Feedback &feedback,
double max_speed = 1,
double end_speed = 0
211 bool drive_to_point(
double x,
double y, vex::directionType dir,
double max_speed = 1,
double end_speed = 0);
234 bool turn_to_heading(
double heading_deg,
double max_speed = 1,
double end_speed = 0);
288 motor_group &left_motors;
289 motor_group &right_motors;
296 Feedback *drive_default_feedback = NULL;
297 Feedback *turn_default_feedback = NULL;
302 bool func_initialized =
false;
304 bool is_pure_pursuit =
false;
Definition auto_command.h:25
Definition feedback_base.h:10
Definition odometry_base.h:31
Definition core/utils/controls/pid.h:23
Definition pure_pursuit.h:15
bool drive_forward(double inches, directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:215
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
TankDrive(motor_group &left_motors, motor_group &right_motors, robot_specs_t &config, OdometryBase *odom=NULL)
Definition tank_drive.cpp:7
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:25
@ ZeroVelocity
try to bring the robot to rest. But don't try to hold position
Definition tank_drive.h:27
@ None
just send 0 volts to the motors
Definition tank_drive.h:26
@ Smart
bring the robot to rest and once it's stopped, try to hold that position
Definition tank_drive.h:28
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
static double modify_inputs(double input, int power=2)
Definition tank_drive.cpp:571
bool pure_pursuit(PurePursuit::Path path, directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:584
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
Definition translation2d.h:22
Definition robot_specs.h:11