3#include "lemlib/chassis/chassis.hpp"
5#include "pros/motors.h"
6#include "pros/rtos.hpp"
23 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
26 chassis.moveToPoint(0, -27, 1800, {.forwards =
false, .maxSpeed = 60},
true);
27 chassis.moveToPoint(0, -35, 2050, {.forwards =
false, .maxSpeed = 30},
true);
40 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
44 chassis.moveToPose(0, -28, 0, 2000, {.forwards =
false});
51 chassis.turnToPoint(-25, -27, 1000);
60 chassis.moveToPoint(-25, -27, 1250, {.forwards =
true});
61 chassis.turnToPoint(-33.5, 6, 1000);
63 chassis.moveToPoint(-35, 7, 1500);
68 chassis.moveToPose(-25, -4, 170, 2000, {.horizontalDrift = 2});
69 chassis.moveToPoint(-32, 10, 1000, {.forwards =
false});
73 chassis.turnToPoint(14, -36, 800);
77 chassis.moveToPoint(14, -36, 5000);
83 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
87 chassis.moveToPose(0, -28, 0, 2000, {.forwards =
false});
94 chassis.turnToPoint(25, -27, 1000);
103 chassis.moveToPoint(25, -27, 1250, {.forwards =
true});
104 chassis.turnToPoint(33.5, 6, 1000);
106 chassis.moveToPoint(35, 7, 1500);
111 chassis.moveToPose(25, -4, 170, 2000, {.horizontalDrift = 2});
112 chassis.moveToPoint(32, 10, 1000, {.forwards =
false});
116 chassis.turnToPoint(-14, -36, 800);
120 chassis.moveToPoint(-14, -36, 5000);
163 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
167 chassis.moveToPose(0, -28, 0, 2000, {.forwards =
false});
174 chassis.turnToPoint(25, -27, 1000);
182 chassis.moveToPoint(25, -27, 1250, {.forwards =
true});
183 chassis.turnToPoint(25, 0, 1000, {.forwards =
false});
187 chassis.moveToPoint(28, 3, 1250, {.forwards =
false});
194 chassis.moveToPoint(25, -30, 1500, {.forwards =
true},
true);
195 chassis.turnToPoint(25, -40, 1000, {.forwards =
false});
196 chassis.moveToPoint(25, -38,1000, {.forwards =
false});
238 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
242 chassis.moveToPose(0, -28, 0, 2000, {.forwards =
false});
249 chassis.turnToPoint(-25, -27, 1000);
257 chassis.moveToPoint(-25, -27, 1250, {.forwards =
true});
258 chassis.turnToPoint(-25, 0, 1000, {.forwards =
false});
262 chassis.moveToPoint(-28, 3, 1250, {.forwards =
false});
268 chassis.moveToPoint(-25, -30, 1500, {.forwards =
true},
true);
269 chassis.turnToPoint(-25, -40, 1000, {.forwards =
false});
270 chassis.moveToPoint(-25, -38,1000, {.forwards =
false});
278 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
281 chassis.moveToPoint(0, -27, 1800, {.forwards =
false, .maxSpeed = 60},
true);
282 chassis.moveToPoint(0, -35, 2050, {.forwards =
false, .maxSpeed = 30},
true);
302 RedNeg(intake, latch, distance);
306 RedPos(intake, latch, sweeper, distance, ladybrown);
314 BluePos(intake, latch, sweeper, distance, ladybrown);
318 BlueNeg(intake, latch, distance);
326 Skills(intake, latch, distance, ladybrown);
constexpr int delay_constant
void BluePos(Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
Runs the puncher routine for the Skills Challenge.
void RedNeg(Intake &intake, Latch &latch, DistanceSensor &distance)
Runs the autonomous path for the far side defensive game strategy.
void RedPosLateGoalRush(Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
void RedPos(Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
Runs the autonomous path for the near side offensive game strategy.
static std::string autonName
The name of the autonomous program.
void Skills(Intake &intake, Latch &latch, DistanceSensor &distance, LadyBrown &ladybrown)
void AutoDrive(Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
Drives the robot autonomously.
void BluePosLateGoalRush(Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
static AUTON_ROUTINE auton
Sets the number of the autonomous program to use.
static void AutonSwitcher(int autonNum)
Switches the autonomous program.
void BlueNeg(Intake &intake, Latch &latch, DistanceSensor &distance)
Runs the autonomous path for the far side offensive game strategy. This function executes the autonom...
The Intake class represents a robot intake system.
The LadyBrown class represents the robot lady brown subsystem.
void MoveToPoint(LadyBrown::LADYBROWN_STATE state, int max_error=150, int timeout=1000)
The Latch class represents a latching mechanism.
void toggle()
Toggles latch state.
The Latch class represents a latching mechanism.
pros::MotorGroup drive_({LeftFront.get_port(), RightFront.get_port(), LeftMid.get_port(), RightMid.get_port(), LeftBack.get_port(), RightBack.get_port()})
pros::adi::Pneumatics LatchControl('A', false)
pros::Motor IntakeMotor(-9, pros::v5::MotorGears::blue, pros::v5::MotorUnits::degrees)
pros::adi::Pneumatics SweeperControl('B', false)
pros::Motor HookMotor(7, pros::v5::MotorGears::green, pros::v5::MotorUnits::degrees)
lemlib::Chassis chassis(drivetrain, lateral_controller, angular_controller, sensors, &throttle_curve, &steer_curve)