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#include "lemlib/chassis/chassis.hpp"
2#include "pros/misc.h"
3
4pros::Controller controller(pros::E_CONTROLLER_MASTER);
5
6pros::MotorGroup rightMotors({8, 9, 10});
7pros::MotorGroup leftMotors({-1, 2, -3});
8
9lemlib::Drivetrain drivetrain(&leftMotors, &rightMotors, 11.5, lemlib::Omniwheel::NEW_325, 450, 2);
10
11pros::IMU imu(4);
12
13pros::Rotation horizontal_tracking_sensor(14);
14pros::Rotation vertical_tracking_sensor(7);
15
16lemlib::TrackingWheel horizontal_tracking_wheel(&horizontal_tracking_sensor, 2, 6.5, 1); // Units are in inches
17lemlib::TrackingWheel vertical_tracking_wheel(&vertical_tracking_sensor, 2, -0.1, 1);
18
19lemlib::OdomSensors sensors(&vertical_tracking_wheel, nullptr, &horizontal_tracking_wheel, nullptr, &imu);
20
21// lateral PID controller
22lemlib::ControllerSettings lateral_controller(30, // proportional gain (kP)
23 0, // integral gain (kI)
24 100, // derivative gain (kD)
25 3, // anti windup
26 1, // small error range, in inches
27 100, // small error range timeout, in milliseconds
28 3, // large error range, in inches
29 500, // large error range timeout, in milliseconds
30 20 // maximum acceleration (slew)
31);
32
33// angular PID controller
34lemlib::ControllerSettings angular_controller(4, // proportional gain (kP)
35 0, // integral gain (kI)
36 24.5, // derivative gain (kD)
37 3, // anti windup
38 1, // small error range, in degrees
39 100, // small error range timeout, in milliseconds
40 3, // large error range, in degrees
41 500, // large error range timeout, in milliseconds
42 0 // maximum acceleration (slew)
43);
44
45lemlib::ExpoDriveCurve throttle_curve(5, // joystick deadband out of 127
46 35, // minimum output where drivetrain will move out of 127
47 1.002 // expo curve gain
48);
49
50// input curve for steer input during driver control
51lemlib::ExpoDriveCurve steer_curve(5, // joystick deadband out of 127
52 10, // minimum output where drivetrain will move out of 127
53 1.002 // expo curve gain
54);
55
lemlib::OdomSensors sensors & vertical_tracking_wheel
Definition globals.cpp:19
lemlib::TrackingWheel horizontal_tracking_wheel & horizontal_tracking_sensor
Definition globals.cpp:16
lemlib::Drivetrain drivetrain & leftMotors
Definition globals.cpp:9
lemlib::TrackingWheel vertical_tracking_wheel & vertical_tracking_sensor
Definition globals.cpp:17
lemlib::ExpoDriveCurve steer_curve
lemlib::OdomSensors sensors
pros::Rotation horizontal_tracking_sensor
Definition globals.cpp:16
lemlib::ControllerSettings lateral_controller
pros::Rotation vertical_tracking_sensor
Definition globals.cpp:17
pros::MotorGroup rightMotors
pros::IMU imu
lemlib::Chassis chassis
lemlib::TrackingWheel horizontal_tracking_wheel
lemlib::TrackingWheel vertical_tracking_wheel
Definition globals.cpp:19
lemlib::ControllerSettings angular_controller
pros::MotorGroup leftMotors
Definition globals.cpp:9
pros::Controller controller
lemlib::ExpoDriveCurve throttle_curve
lemlib::Drivetrain drivetrain