package org.firstinspires.ftc.teamcode.drive.opmode; import com.acmerobotics.dashboard.FtcDashboard; import com.acmerobotics.dashboard.config.Config; import com.acmerobotics.dashboard.telemetry.MultipleTelemetry; import com.acmerobotics.roadrunner.geometry.Pose2d; import com.acmerobotics.roadrunner.trajectory.Trajectory; import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; import org.firstinspires.ftc.robotcore.external.Telemetry; import org.firstinspires.ftc.teamcode.drive.SampleMecanumDrive; /* * This is a simple routine to test translational drive capabilities. */ @Config @Autonomous(group = "drive") public class StrafeTest extends LinearOpMode { public static double DISTANCE = 60; // in @Override public void runOpMode() throws InterruptedException { Telemetry telemetry = new MultipleTelemetry(this.telemetry, FtcDashboard.getInstance().getTelemetry()); SampleMecanumDrive drive = new SampleMecanumDrive(hardwareMap); Trajectory trajectory = drive.trajectoryBuilder(new Pose2d()) .strafeRight(DISTANCE) .build(); waitForStart(); if (isStopRequested()) return; drive.followTrajectory(trajectory); Pose2d poseEstimate = drive.getPoseEstimate(); telemetry.addData("finalX", poseEstimate.getX()); telemetry.addData("finalY", poseEstimate.getY()); telemetry.addData("finalHeading", poseEstimate.getHeading()); telemetry.update(); while (!isStopRequested() && opModeIsActive()) ; } }