ary 8329ff34f2 motion profile testing auton
updated
autons.hpp/cpp
main.cpp

added motion profile testing auton
2023-10-28 16:30:47 -04:00

130 lines
4.4 KiB
C++

#include <stdlib.h>
#include "main.h"
#include "globals.hpp"
#include "superstructure.hpp"
using namespace globals;
using namespace superstruct;
// **CONSTANTS** //
const int DRIVE_SPEED = 110;
const int TURN_SPEED = 101.5;
const int SWING_SPEED = 101.5;
bool taskSwing = true;
void swingAsync() {
while (true) {
if (taskSwing) {
chassisRight.set_swing_pid(ary::RIGHT_SWING, 60, -SWING_SPEED);
pros::delay(10);
taskSwing = false;
}
pros::delay(10);
}
}
pros::Task swingTask(swingAsync);
void default_constants() {
chassisRight.set_slew_min_power(80, 80);
chassisRight.set_slew_distance(7, 7);
chassisRight.set_pid_constants(&chassisRight.headingPID, 11, 0, 17.5, 0);
chassisRight.set_pid_constants(&chassisRight.forward_drivePID, 2, 0, 6.5, 0);
chassisRight.set_pid_constants(&chassisRight.backward_drivePID, 2, 0, 6.5, 0);
chassisRight.set_pid_constants(&chassisRight.turnPID, 8, 0.003, 27, 15);
chassisRight.set_pid_constants(&chassisRight.swingPID, 7, 0, 35, 0);
chassisLeft.set_slew_min_power(80, 80);
chassisLeft.set_slew_distance(7, 7);
chassisLeft.set_pid_constants(&chassisRight.headingPID, 11, 0, 17.5, 0);
chassisLeft.set_pid_constants(&chassisRight.forward_drivePID, 2, 0, 6.5, 0);
chassisLeft.set_pid_constants(&chassisRight.backward_drivePID, 2, 0, 6.5, 0);
chassisLeft.set_pid_constants(&chassisRight.turnPID, 8, 0.003, 27, 15);
chassisLeft.set_pid_constants(&chassisRight.swingPID, 7, 0, 35, 0);
}
void exit_condition_defaults() {
chassisRight.set_exit_condition(chassisRight.turn_exit, 50, 2, 220, 3, 500, 500);//100, 3, 500, 7, 500, 500 //100, 2, 500, 4, 500, 500// 70, 1, 220, 3, 500, 500
chassisRight.set_exit_condition(chassisRight.swing_exit, 100, 3, 500, 7, 500, 500);//100, 3, 500, 7, 500, 500
chassisRight.set_exit_condition(chassisRight.drive_exit, 40, 80, 300, 150, 500, 500);//80, 50, 300, 150, 500, 500//20, 60, 300, 150, 500, 500
chassisLeft.set_exit_condition(chassisRight.turn_exit, 50, 2, 220, 3, 500, 500);//100, 3, 500, 7, 500, 500 //100, 2, 500, 4, 500, 500// 70, 1, 220, 3, 500, 500
chassisLeft.set_exit_condition(chassisRight.swing_exit, 100, 3, 500, 7, 500, 500);//100, 3, 500, 7, 500, 500
chassisLeft.set_exit_condition(chassisRight.drive_exit, 40, 80, 300, 150, 500, 500);//80, 50, 300, 150, 500, 500//20, 60, 300, 150, 500, 500
}
// ** other stufff** //
// ** AUTONS ** //
void test_auton() {
chassisRight.set_drive_pid(48, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_turn_pid(-65, TURN_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(60, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_drive_pid(-10, DRIVE_SPEED, false, true);
chassisRight.wait_drive();
chassisRight.set_turn_pid(57, TURN_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(43, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_swing_pid(LEFT_SWING, 80, SWING_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(2, DRIVE_SPEED, false, true);
chassisRight.wait_drive();
chassisRight.set_drive_pid(-26, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_turn_pid(-45, TURN_SPEED);
chassisRight.wait_drive();
}
void test_second() {
chassisRight.set_drive_pid(107, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
//chassisRight.set_swing_pid(LEFT_SWING, 100, SWING_SPEED);
//chassisRight.wait_drive();
chassisRight.set_drive_pid(-38, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_turn_pid(-99, TURN_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(95, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_drive_pid(-10, DRIVE_SPEED, false, true);
chassisRight.wait_drive();
chassisRight.set_turn_pid(15, TURN_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(40, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_swing_pid(LEFT_SWING, 60, SWING_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(-48, DRIVE_SPEED, true, true);
chassisRight.wait_drive();
chassisRight.set_turn_pid(-90, TURN_SPEED);
chassisRight.wait_drive();
chassisRight.set_drive_pid(12, DRIVE_SPEED, false, true);
chassisRight.wait_drive();
// chassisRight.set_drive_pid(2, DRIVE_SPEED, false, true);
// chassisRight.wait_drive();
}
void motion_profile_test() {
chassisRight.set_profiled_drive(20, 1000);
}