1#include "autonFunctions.h"
3#include "lemlib/util.hpp"
4#include "pros/rtos.hpp"
8#include "IntakeAntiJam.h"
11const VelocityControllerConfig
config{
31 if(
hood.is_extended()) {
hood.retract(); }
32 jamManager.set_velocities((
int)power/3, -(
int)power/3, power);
38 jamManager.set_velocities(-((
int)power/3), ((
int)power/3), -power);
43 if(!
hood.is_extended()) {
hood.extend(); }
44 jamManager.set_velocities((
int)power/3, -(
int)power/3, power);
50 if(!hood_state)
hood.retract();
58 jamManager.set_velocities((
int)power/3, (
int)power/3, power);
63 u_int32_t start_time = pros::millis();
65 while(pros::millis() - start_time < (u_int32_t)time) {
66 jamManager.set_velocities((
int)power/3, (
int)power/3, power);
77 u_int32_t start_time = pros::millis();
79 while(pros::millis() - start_time < (u_int32_t)time) {
80 if(!
hood.is_extended()) {
hood.extend(); }
81 jamManager.set_velocities((
int)power/3, -(
int)power/3, power);
107void relativeMotion(
float expected_x,
float expected_y,
float expected_theta,
float distance,
int timeout_ms,
bool forw,
float earlyExit)
109 lemlib::Pose targetPose(
110 expected_x + distance * std::sin(lemlib::degToRad(expected_theta)),
111 expected_y + distance * std::cos(lemlib::degToRad(expected_theta)),
115 chassis.moveToPoint(targetPose.x, targetPose.y, timeout_ms, {.forwards = forw, .earlyExitRange = earlyExit});
120 double d2 = frontDistance2.get() + 10;
122 if (d1 > 1800 || d2 > 1800)
return -1;
123 double wallAngleDeg = atan2((d1 - d2) * 0.0393701, 10.75) * 180.0 / M_PI;
125 if ((robotHeading >= 315 && robotHeading < 360) || (robotHeading >= 0 && robotHeading < 45)) {
128 else if (robotHeading >= 45 && robotHeading < 135) {
129 return 90 + wallAngleDeg;
131 else if (robotHeading >= 135 && robotHeading < 225) {
132 return 180 + wallAngleDeg;
134 else if (robotHeading >= 225 && robotHeading < 315) {
135 return 270 + wallAngleDeg;
void relativeMotion(float expected_x, float expected_y, float expected_theta, float distance, int timeout_ms, bool forw, float earlyExit)
void score_midgoal_auton(int power, Color allianceColor, int time)
const VelocityControllerConfig config
void score_longgoal(int power, Color allianceColor)
double calculateAngle(double robotHeading)
void matchload_state(bool state)
void score_midgoal(int power)
void intake_stop(bool hood_state)
void score_longgoal_auton(int power, Color allianceColor, int time)
Chassis chassis(drivebase, lateral_controller, angular_controller, sensors, &throttle_curve, &steer_curve)
pros::adi::Pneumatics matchloader('C', false)
IntakeAntiJam jamManager(intakeMotor, outtakeMotor, storageMotor, 55)
pros::adi::Pneumatics intake_lift('A', false)
pros::adi::Pneumatics hood('B', false)
pros::Distance frontDistance(8)