1516X Push Back 1.0
1516X's robot code for the 2025-2026 VEX Robotics Competition
Loading...
Searching...
No Matches
globals.cpp
Go to the documentation of this file.
1// Copyright 2026 California High Robotics, Team 1516X
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4
5#include "globals.h"
6#include "lemlib/chassis/trackingWheel.hpp"
7#include "pros/distance.hpp"
8#include "lemlib/chassis/chassis.hpp"
9#include "pros/adi.hpp"
10#include "pros/optical.hpp"
11#include "pros/vision.hpp"
12#include "colorSort.h"
13#include "IntakeAntiJam.h"
14#include "Chassis.h"
15
16pros::Controller controller(pros::E_CONTROLLER_MASTER);
17
18pros::MotorGroup rightMotors({17, 19, -18}, pros::MotorGears::blue);
19pros::MotorGroup leftMotors({-12, 13, -14}, pros::MotorGears::blue);
20
21lemlib::Drivetrain drivebase(
22 &leftMotors,
24 11.45,
25 3.25,
26 450,
27 8);
28
29//-0.0756927599614
30//6.44304298828
31
32//0.066057675731
33//6.76806367608
34
35const float horizontal_offset = (-1.18588887482 -1.2351177609)/2;
36const float vertical_offset = (-0.414862637269 + 0.0661399466844)/2;
37
38pros::Imu imu(16);
39pros::Rotation horizontal_tracking_sensor(-15);
40pros::Rotation vertical_tracking_sensor(9);
41
42lemlib::TrackingWheel horizontal_tracking_wheel(&horizontal_tracking_sensor, 2, horizontal_offset, 1);
43lemlib::TrackingWheel vertical_tracking_wheel(&vertical_tracking_sensor, 2, 0,1);
44
45lemlib::OdomSensors sensors(&vertical_tracking_wheel, nullptr, &horizontal_tracking_wheel, nullptr, &imu);
46
47
48const float lateralKP = 9, lateralKI = 0.001, lateralKD = 72, angularKP = 3.07, angularKI = 0.0015, angularKD = 26.5;
49
50
51lemlib::ControllerSettings lateral_controller(lateralKP, // proportional gain (kP)
52 lateralKI, // integral gain (kI)
53 lateralKD, // derivative gain (kD)
54 3, // anti windup
55 1, // small error range, in inches
56 50, // small error range timeout, in milliseconds
57 3, // large error range, in inches
58 200, // large error range timeout, in milliseconds
59 0 // maximum acceleration (slew)
60);
61
62lemlib::ControllerSettings angular_controller(angularKP, // proportional gain (kP)
63 angularKI, // integral gain (kI)
64 angularKD, // derivative gain (kD)
65 3, // anti windup
66 1, // small error range, in inches
67 50, // small error range timeout, in milliseconds
68 3, // large error range, in inches
69 100, // large error range timeout, in milliseconds
70 0 // maximum acceleration (slew)
71);
72
73lemlib::ExpoDriveCurve throttle_curve(10, // joystick deadband out of 127
74 15, // minimum output where drivetrain will move out of 127
75 1.012 // expo curve gain
76);
77
78lemlib::ExpoDriveCurve steer_curve(10, // joystick deadband out of 127
79 15, // minimum output where drivetrain will move out of 127
80 1 // expo curve gain
81);
82
83
85
86pros::Motor intakeMotor(-1, pros::v5::MotorGears::blue);
87pros::Motor storageMotor(2, pros::v5::MotorGears::blue);
88pros::Motor outtakeMotor(3, pros::MotorGears::blue);
89
90pros::Distance rightDistance(6);
91pros::Distance leftDistance(5);
92pros::Distance frontDistance(8);
93pros::Distance backDistance(7);
94
95pros::adi::Pneumatics intake_lift('A', false);
96pros::adi::Pneumatics hood('B', false);
97pros::adi::Pneumatics matchloader('C', false);
98pros::adi::Pneumatics descore('D', false);
99pros::adi::Pneumatics mid_descore('E', false);
100
101pros::Optical color_sensor(10);
102
103Color allianceColor = Color::RED;
104bool color_sort_enable = false;
105bool midgoal_first = false;
108bool antiJamEnabled = false;
109bool liveReplay = false;
110bool auton_selected = false;
111std::atomic<bool> abortAuton = false;
112
114
pros::Distance backDistance(7)
const float lateralKD
Definition globals.cpp:48
Chassis chassis(drivebase, lateral_controller, angular_controller, sensors, &throttle_curve, &steer_curve)
pros::adi::Pneumatics matchloader('C', false)
int ramp_up_time
Definition globals.cpp:106
pros::Optical color_sensor(10)
IntakeAntiJam jamManager(intakeMotor, outtakeMotor, storageMotor, 55)
bool auton_selected
Definition globals.cpp:110
lemlib::ControllerSettings angular_controller(angularKP, angularKI, angularKD, 3, 1, 50, 3, 100, 0)
pros::Distance leftDistance(5)
pros::adi::Pneumatics intake_lift('A', false)
const float angularKD
Definition globals.cpp:48
const float angularKI
Definition globals.cpp:48
pros::adi::Pneumatics mid_descore('E', false)
lemlib::ExpoDriveCurve steer_curve(10, 15, 1)
lemlib::OdomSensors sensors & vertical_tracking_wheel
Definition globals.cpp:45
lemlib::ExpoDriveCurve throttle_curve(10, 15, 1.012)
const float angularKP
Definition globals.cpp:48
pros::Motor storageMotor(2, pros::v5::MotorGears::blue)
pros::adi::Pneumatics hood('B', false)
std::atomic< bool > abortAuton
Definition globals.cpp:111
const float horizontal_offset
Definition globals.cpp:35
bool color_sort_enable
Definition globals.cpp:104
pros::Distance rightDistance(6)
lemlib::TrackingWheel horizontal_tracking_wheel & horizontal_tracking_sensor
Definition globals.cpp:42
int low_ramp_down_time
Definition globals.cpp:107
pros::Motor outtakeMotor(3, pros::MotorGears::blue)
pros::Imu imu(16)
bool antiJamEnabled
Definition globals.cpp:108
pros::adi::Pneumatics descore('D', false)
lemlib::Drivetrain drivebase & leftMotors
Definition globals.cpp:21
Color allianceColor
Definition globals.cpp:103
const float lateralKP
Definition globals.cpp:48
pros::Motor intakeMotor(-1, pros::v5::MotorGears::blue)
bool midgoal_first
Definition globals.cpp:105
const float vertical_offset
Definition globals.cpp:36
lemlib::TrackingWheel vertical_tracking_wheel & vertical_tracking_sensor
Definition globals.cpp:43
bool liveReplay
Definition globals.cpp:109
lemlib::ControllerSettings lateral_controller(lateralKP, lateralKI, lateralKD, 3, 1, 50, 3, 200, 0)
pros::Controller controller(pros::E_CONTROLLER_MASTER)
const float lateralKI
Definition globals.cpp:48
pros::MotorGroup rightMotors({17, 19, -18}, pros::MotorGears::blue)
pros::Distance frontDistance(8)