package org.firstinspires.ftc.teamcode; import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; import com.qualcomm.robotcore.hardware.IMU; import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; import com.qualcomm.robotcore.hardware.ImuOrientationOnRobot; import com.qualcomm.hardware.rev.RevHubOrientationOnRobot; import org.firstinspires.ftc.robotcore.external.navigation.Orientation; import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; import com.qualcomm.robotcore.eventloop.opmode.TeleOp; import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import com.qualcomm.robotcore.hardware.DcMotor; import com.qualcomm.robotcore.util.ElapsedTime; @Autonomous public class ftc2024_autonome_api extends LinearOpMode { private DcMotor rm; private DcMotor lm; private IMU imu; private static double wheel_width = 9.0e-2; // metres private static double wheel_perimeter = Math.PI * wheel_width; private static double tour_par_minutes = 300.0; private static double ground_tiles_width = 61.0e-2; // metres /* * return a metre/sec speed * @param motor_speed = double between 0 and 1 */ public double getSpeedFromMotorSpeed(double motor_speed = 1.0){ double speed_tour_par_minutes = this.tour_par_minutes*motor_speed; double speed = (speed_tour_par_minutes/60)*this.wheel_perimeter; return speed; } public double time_for_dist(double dist, double motor_speed=1.0){ double speed = getSpeedFromMotorSpeed(motor_speed); return (dist/speed); } public void forward(double n_tiles, double motor_speed = 1.0){ double total_time = time_for_dist(n_tiles, motor_speed); double start_time = runtime.seconds(); while( opModeIsActive() && ((runtime.seconds()-start_time)