85 chassis.setPose(62.5, -33, 180);
89 chassis.turnToHeading(240, 2000, {},
false);
92 chassis.moveToPoint(45, -47, 2000, {});
93 chassis.turnToHeading(90, 2000);
94 chassis.moveToPose(27, -47, 270, 2000, {},
false);
97 chassis.moveToPose(56.5, 47, 90, 2000, {.minSpeed = 30},
false);
102 chassis.moveToPoint(50,
chassis.getPose().y, 1500, {.forwards = false, .minSpeed = 80, .earlyExitRange = 8});
105 chassis.moveToPose(24,-61, 90, 1500, {.forwards =
false, .minSpeed = 30, .earlyExitRange = 7});
108 chassis.moveToPoint(-29, -58.5, 1500, {.forwards =
false, .minSpeed = 80, .earlyExitRange = 8});
110 chassis.moveToPose(-45, -45, 130, 1500, {.forwards =
false, .minSpeed = 20});
111 chassis.turnToHeading(270, 1500, {.direction = lemlib::AngularDirection::CW_CLOCKWISE},
false);
113 chassis.moveToPoint(-27, -46, 1500, {.forwards =
false, .minSpeed = 40},
false);
123 chassis.turnToPoint(-56.5, -46.5, 1200, { .minSpeed = 30, .earlyExitRange = 5});
124 chassis.moveToPose(-56.5, -46.5, 90, 1200, {.minSpeed = 30},
false);
125 int collision_timeout = 0;
130 collision_timeout += 10;
132 if(collision_timeout > 100)
141 chassis.turnToPoint(-27, -47.5, 1200, {.forwards =
false, .minSpeed = 35, .earlyExitRange = 25});
144 chassis.moveToPose(-27, -47.5, 270, 1200, {.forwards =
false, .minSpeed = 20},
false);
169 chassis.setPose(-51.6, 16.5, 90);
170 chassis.moveToPoint(-26.8, 21.8, 2000, {.minSpeed = 30, .earlyExitRange = 5});
176 chassis.turnToPoint(-36, 42.5, 1500, {.forwards =
false, .minSpeed = 30, .earlyExitRange = 15});
177 chassis.moveToPose(-36, 42.5, 140, 1000, {.forwards =
false, .minSpeed = 75, .earlyExitRange = 8});
179 chassis.swingToHeading(270, lemlib::DriveSide::LEFT, 200, {.minSpeed = 127, .earlyExitRange = 20});
180 chassis.turnToHeading(270, 2000, {.minSpeed = 127});
181 chassis.moveToPoint(-27, 48, 1500, {.forwards =
false},
false);
185 chassis.moveToPose(-37, 36.6, 240, 1500, {.minSpeed = 70, .earlyExitRange = 9});
186 chassis.turnToPoint(-2.5, 37.25, 1000, {.forwards =
false, .minSpeed = 55, .earlyExitRange = 15});
188 chassis.moveToPose(-2.5, 37.25, 270, 1500, {.forwards =
false, .minSpeed = 20});
194 chassis.turnToHeading(285, 1000, {},
false);
204 chassis.setPose(-49.7, -14, 180);
205 chassis.moveToPoint(-49.7, -45, 1500, {});
209 chassis.turnToPoint(-69, -47, 1500, {},
false);
212 chassis.moveToPose(-56.5, -47, 270, 1000, {.lead = 0.2, .minSpeed = 50},
false);
216 chassis.moveToPose(-28, -48, 270, 1500, {.forwards =
false, .minSpeed = 60, .earlyExitRange = 5},
false);
221 chassis.turnToPoint(-27, -22, 900, {},
false);
224 chassis.moveToPoint(-24, -20, 2000, {.minSpeed = 55, .earlyExitRange = 8});
231 chassis.turnToPoint(-10, -8, 1200, {.minSpeed = 35, .earlyExitRange = 10});
232 chassis.moveToPose(-10, -8, 43, 1300, {.lead = 0.3});
242 chassis.moveToPoint(-39, -35, 2000, {.forwards =
false},
false);
243 chassis.turnToPoint(-14, -36, 2000, {.minSpeed = 45, .earlyExitRange = 30},
false);
245 chassis.moveToPose(-11.5, -36, 90,2000, {.lead = 0.2, .minSpeed = 20});
250 chassis.turnToHeading(60, 2000, {.minSpeed = 35},
false);
319 const float starting_roll =
imu.get_roll();
323 chassis.setPose(-51.6, 16.5, 90);
324 chassis.moveToPoint(-20, 25, 2000, {.minSpeed = 30, .earlyExitRange = 5});
330 chassis.turnToPoint(-37.5, 42.5, 1500, {.forwards =
false, .minSpeed = 40, .earlyExitRange = 15});
331 chassis.moveToPose(-37.5, 42.5, 140, 1000, {.forwards =
false, .minSpeed = 75, .earlyExitRange = 8});
333 chassis.swingToHeading(270, lemlib::DriveSide::LEFT, 200, {.minSpeed = 127, .earlyExitRange = 20});
334 chassis.turnToHeading(270, 2000, {.minSpeed = 127});
335 chassis.moveToPoint(-27, 48, 600, {.forwards =
false},
false);
339 chassis.turnToPoint(-58, 47, 2000, {.minSpeed = 35, .earlyExitRange = 30},
false);
341 chassis.moveToPose(-58.5, 47, 270, 1500, {.lead = 0.2, .minSpeed = 20});
349 chassis.moveToPose(-10, 11, 315, 2000, {.forwards =
false, .minSpeed = 65},
false);
361 chassis.moveToPoint(-36, 37, 2000, {});
363 chassis.turnToPoint(-10, 37.5, 2000, {.forwards =
false, .minSpeed = 45, .earlyExitRange = 6});
365 chassis.moveToPose(-7, 37.5, 270,2000, {.forwards =
false, .lead = 0.5});
376 chassis.setPose(-49.7, -14, 180);
377 chassis.moveToPoint(-49.7, -45, 1500, {});
381 chassis.turnToPoint(-69, -47, 1500, {},
false);
384 chassis.moveToPoint(-55.5, -47, 1000, {.minSpeed = 50},
false);
388 chassis.moveToPose(-28, -46.7, 270, 1500, {.forwards =
false, .minSpeed = 70, .earlyExitRange = 5},
false);
392 chassis.turnToPoint(-24, -22, 2000, {.minSpeed = 127, .earlyExitRange = 10},
false);
395 ltv.followPath(
awp_2, {.q_x = 7, .q_y = 450, .q_theta = 190, .r_ang = 0.2, .r_vel = 1.35});
408 chassis.turnToPoint(-27.5, 48, 1200, {.forwards =
false, .minSpeed = 70, .earlyExitRange = 30});
410 chassis.moveToPoint(-27.5, 48, 1000, {.forwards =
false, .minSpeed = 60, .earlyExitRange = 7},
false);
421 chassis.moveToPose(-57, 46, 270, 1600, {.lead = 0.3, .minSpeed = 40},
false);
425 chassis.moveToPose(-10, 10, 320, 1300, {.forwards =
false, .minSpeed = 75, .earlyExitRange = 3.5},
false);
445 const int lowgoal_delay = 2000;
476 chassis.turnToHeading(270, 2000, {},
false);
481 chassis.moveToPoint(-40, 0, 1000, {.forwards =
false, .minSpeed = 40, .earlyExitRange = 7});
484 chassis.turnToPoint(-25, -24, 1000, {},
false);
487 chassis.moveToPoint(-25, -24, 1500, {},
false);
490 chassis.turnToHeading(46.7, 1500, {},
false);
504 unsigned int time_outtake = pros::millis();
505 while(pros::millis() - time_outtake < 2000)
523 chassis.moveToPoint(-20.5, -20.5, 1000, {.forwards =
false, .minSpeed = 45, .earlyExitRange = 5});
526 chassis.turnToPoint(-21.3, 5.7, 2000, { .minSpeed = 45, .earlyExitRange = 50},
false);
529 ltv.followPath(
skills_1, {.q_x = 4, .q_y = 550, .q_theta = 160, .r_ang = 0.25, .r_vel = 1.35});
549 chassis.moveToPoint(-50,
chassis.getPose().y, 1500, {.forwards = false, .minSpeed = 70, .earlyExitRange = 8});
551 chassis.moveToPose(-24,59, 270, 1500, {.forwards =
false, .minSpeed = 80, .earlyExitRange = 8.5});
555 chassis.moveToPoint(29, 58, 1500, {.forwards =
false, .minSpeed = 70});
556 chassis.moveToPose(45, 42, 320, 1500, {.forwards =
false, .minSpeed = 20});
557 chassis.turnToHeading(90, 1500, {.direction = lemlib::AngularDirection::CW_CLOCKWISE},
false);
560 chassis.moveToPose(24, 47.5, 90, 1500, {.forwards =
false, .minSpeed = 20},
false);
575 chassis.turnToPoint(56.5, 46.5, 1200, {.minSpeed = 30, .earlyExitRange = 5});
578 chassis.moveToPoint(56.5, 46.5, 2000, {.minSpeed = 20});
585 while(!
chassis.detect_collision() && col_time < 600)
593 chassis.turnToPoint(26.5, 48, 1500, {.forwards =
false, .minSpeed = 25, .earlyExitRange = 15});
595 chassis.moveToPose(26.5, 48, 90, 1200, {.forwards =
false, .minSpeed = 20});
620 std::vector<std::pair<float, float>> velocityData = {
621 {0.00f, 0.137449f}, {0.02f, 0.122294f}, {0.04f, 0.117480f}, {0.06f, 0.147628f},
622 {0.08f, 0.144711f}, {0.10f, 0.139913f}, {0.12f, 0.162864f}, {0.14f, 0.190873f},
623 {0.16f, 0.203905f}, {0.18f, 0.219595f}, {0.20f, 0.240017f}, {0.22f, 0.265108f},
624 {0.24f, 0.287801f}, {0.26f, 0.312827f}, {0.28f, 0.332407f}, {0.30f, 0.355553f},
625 {0.32f, 0.383497f}, {0.34f, 0.415525f}, {0.36f, 0.441199f}, {0.38f, 0.448785f},
626 {0.40f, 0.484185f}, {0.42f, 0.522956f}, {0.44f, 0.500458f}, {0.46f, 0.539618f},
627 {0.48f, 0.584095f}, {0.50f, 0.596803f}, {0.52f, 0.592848f}, {0.54f, 0.652431f},
628 {0.56f, 0.661443f}, {0.58f, 0.679596f}, {0.60f, 0.736456f}, {0.62f, 0.815490f},
629 {0.64f, 0.898349f}, {0.66f, 0.914428f}, {0.68f, 0.945937f}, {0.70f, 1.014728f},
630 {0.72f, 1.100764f}, {0.74f, 0.987562f}, {0.76f, 0.922663f}, {0.78f, 0.891802f},
631 {0.80f, 0.892580f}, {0.82f, 0.869044f}, {0.84f, 0.939259f}, {0.86f, 0.998388f},
632 {0.88f, 1.075087f}, {0.90f, 1.002472f}, {0.92f, 0.851732f}
637 for (
const auto& [time, velocity] : velocityData) {
646 vel = velocity * 1.65;
648 if(time >= 0.2 && time <= 0.5)
650 vel = velocity * 2.2;
664 u_int32_t startTime = pros::millis();
669 pros::millis() - startTime > 600) {
675 chassis.turnToHeading(215, 2000, {},
false);
679 chassis.moveToPoint(45, -48, 2000, {});
681 chassis.turnToHeading(90, 2000);
683 chassis.moveToPose(26, -48, 270, 1500, {.forwards =
false, .minSpeed = 25},
false);
689 chassis.moveToPose(56.5, -47, 90, 2000, {.minSpeed = 30},
false);
695 chassis.moveToPoint(50,
chassis.getPose().y, 1500, {.forwards = false, .minSpeed = 80, .earlyExitRange = 8});
699 chassis.moveToPose(24,-61, 90, 1500, {.forwards =
false, .minSpeed = 30, .earlyExitRange = 7});
703 chassis.moveToPoint(-29, -58.5, 1500, {.forwards =
false, .minSpeed = 80, .earlyExitRange = 8});
706 chassis.moveToPose(-45, -45, 130, 1500, {.forwards =
false, .minSpeed = 20});
707 chassis.turnToHeading(270, 1500, {.direction = lemlib::AngularDirection::CW_CLOCKWISE},
false);
710 chassis.moveToPoint(-25.5, -46, 1300, {.forwards =
false, .minSpeed = 40},
false);
721 chassis.turnToPoint(-56.5, -46.5, 1200, { .minSpeed = 30, .earlyExitRange = 5});
723 chassis.moveToPose(-56.5, -46.5, 90, 1200, {.minSpeed = 30},
false);
725 int collision_timeout = 0;
730 collision_timeout += 10;
732 if(collision_timeout > 100)
742 chassis.turnToPoint(-25.5, -47.5, 1200, {.forwards =
false, .minSpeed = 35, .earlyExitRange = 25});
746 chassis.moveToPose(-25.5, -47.5, 270, 1550, {.forwards =
false, .minSpeed = 20},
false);