From b2aa4d052cf1f27c101b86fa87cb89d1332649b7 Mon Sep 17 00:00:00 2001 From: GZod01 Date: Fri, 5 Apr 2024 16:52:42 +0200 Subject: [PATCH] zfzfafafafeafaefaefaef --- README.md | 1 + ftc2024_auto_b4d.java | 5 + ftc2024_autonome_api.java | 311 ++++++++++++++++++++------------------ ftc_new.java | 4 +- 4 files changed, 174 insertions(+), 147 deletions(-) create mode 100644 ftc2024_auto_b4d.java diff --git a/README.md b/README.md index 81bf163..33894bf 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,4 @@ moissoneuse: b moissoneuse reverse: b + right\_bumber déplacement: left\_joystick +jkdssdhdssdf \ No newline at end of file diff --git a/ftc2024_auto_b4d.java b/ftc2024_auto_b4d.java new file mode 100644 index 0000000..17f818c --- /dev/null +++ b/ftc2024_auto_b4d.java @@ -0,0 +1,5 @@ +package org.firstinspires.ftc.teamcode; +import org.firstinspires.ftc.teamcode.Ftc2024_autonome_api; +public class ftc2024_auto_b4d extends Ftc2024_autonome_api{ + public AutoMode autonomous_mode = AutoMode.B4D; +} \ No newline at end of file diff --git a/ftc2024_autonome_api.java b/ftc2024_autonome_api.java index 2b3a3a5..f23a138 100644 --- a/ftc2024_autonome_api.java +++ b/ftc2024_autonome_api.java @@ -3,6 +3,7 @@ package org.firstinspires.ftc.teamcode; //import FTC2024WeRobotControl; //a tester car pas sur que ça fonctionne import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.hardware.DcMotorEx; import com.qualcomm.robotcore.hardware.IMU; import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; @@ -22,150 +23,168 @@ import com.qualcomm.robotcore.util.ElapsedTime; @Autonomous public class Ftc2024_autonome_api extends LinearOpMode { - public String autonomous_mode; - public DcMotor lm; - public DcMotor rm; - public DcMotor harvestmotor; - public IMU imu; - - @Override - public void runOpMode() { - lm = hardwareMap.get(DcMotor.class, "blm"); - rm = hardwareMap.get(DcMotor.class, "brm"); - harvestmotor = hardwareMap.get(DcMotor.class, "moissonneuse"); - - rm.setDirection(DcMotor.Direction.REVERSE); - - imu = hardwareMap.get(IMU.class, "imu"); - imu.initialize( - new IMU.Parameters( - new RevHubOrientationOnRobot( - RevHubOrientationOnRobot.LogoFacingDirection.UP, - RevHubOrientationOnRobot.UsbFacingDirection.FORWARD))); - imu.resetYaw(); - YawPitchRollAngles robotOrientation; - FTC2024WeRobotControl robot = new FTC2024WeRobotControl(this); - autonomous_mode = "b4d"; - - telemetry.addData("wait for start", ""); - telemetry.update(); - - waitForStart(); - telemetry.addData("started", ""); - telemetry.update(); - robotOrientation = imu.getRobotYawPitchRollAngles(); - - if (opModeIsRunning()) { - /* - * autonomous_mode differents possibles values respect the next scheme: - * team_color_shortcode + start_line_index + direct_or_no - * - * team_color_shortcode = "b" for blue & "r" for red - * start_line_index = 4 or 2 see competition manual appendix B Tile location - * plan - * direct_or_no = "d" to direct go to pixel deliver zone or "n" to harvest - * pixels before to go in deliver zone - * - * default is "b4d" - */ - switch (autonomous_mode) { - default: - robot.forward(0.5); - robot.rotate((-90)); - robot.forward(1.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("b2d"): - robot.forward(0.5); - robot.rotate((-90)); - robot.forward(2.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("r4d"): - robot.forward(0.5); - robot.rotate(90); - robot.forward(1.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("r2d"): - robot.forward(0.5); - robot.rotate(90); - robot.forward(2.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("b4n"): - robot.forward(1.5); - robot.rotate(90); - robot.harvest(); - robot.forward(3); - robot.harvest(0); - robot.rotate(180); - robot.forward(1); - robot.rotate(-90); - robot.forward(1); - robot.rotate(90); - robot.forward(2.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("b2n"): - robot.forward(1.5); - robot.rotate(90); - robot.harvest(); - robot.forward(1); - robot.harvest(0); - robot.rotate(180); - robot.forward(1); - robot.rotate(-90); - robot.forward(1); - robot.rotate(90); - robot.forward(2.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("r4n"): - robot.forward(1.5); - robot.rotate(-90); - robot.harvest(); - robot.forward(3); - robot.harvest(0); - robot.rotate(180); - robot.forward(1); - robot.rotate(90); - robot.forward(1); - robot.rotate(-90); - robot.forward(2.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - case ("r2n"): - robot.forward(1.5); - robot.rotate(-90); - robot.harvest(); - robot.forward(1); - robot.harvest(0); - robot.rotate(180); - robot.forward(1); - robot.rotate(90); - robot.forward(1); - robot.rotate(-90); - robot.forward(2.5); - robot.harvest(-1); - robot.backward(1); - robot.harvest(0); - break; - } - } + public enum AutoMode{ + B2D,B4D,B2N,B4N,R2D,R4D,R2N,R4N } -} + public AutoMode autonomous_mode; + public DcMotor lm; + public DcMotor rm; + public DcMotorEx lmelevator; + public DcMotorEx rmelevator; + public DcMotor harvestmotor; + public IMU imu; + public DcMotorEx rotation; + + @Override + public void runOpMode() { + lm = hardwareMap.get(DcMotor.class, "blm"); + rm = hardwareMap.get(DcMotor.class, "brm"); + harvestmotor = hardwareMap.get(DcMotor.class, "moissonneuse"); + rotation = hardwareMap.get(DcMotorEx.class, "elvRot"); + + rm.setDirection(DcMotor.Direction.REVERSE); + rotation.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE); + + imu = hardwareMap.get(IMU.class, "imu"); + imu.initialize( + new IMU.Parameters( + new RevHubOrientationOnRobot( + RevHubOrientationOnRobot.LogoFacingDirection.UP, + RevHubOrientationOnRobot.UsbFacingDirection.FORWARD))); + imu.resetYaw(); + YawPitchRollAngles robotOrientation; + FTC2024WeRobotControl robot = new FTC2024WeRobotControl(this); + autonomous_mode = "b4d"; + + telemetry.addData("wait for start", ""); + telemetry.update(); + + + + waitForStart(); + telemetry.addData("started", ""); + telemetry.update(); + robotOrientation = imu.getRobotYawPitchRollAngles(); + + if (opModeIsActive()) { + /* + * autonomous_mode differents possibles values respect the next scheme: + * team_color_shortcode + start_line_index + direct_or_no + * + * team_color_shortcode = "b" for blue & "r" for red + * start_line_index = 4 or 2 see competition manual appendix B Tile location + * plan + * direct_or_no = "d" to direct go to pixel deliver zone or "n" to harvest + * pixels before to go in deliver zone + * + * default is "b4d" + */ + switch (autonomous_mode) { + default: + robot.boxElv(); + robot.forward(0.5); + robot.rotate((-90)); + robot.forward(1.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("b2d"): + robot.boxElv(); + robot.forward(0.5); + robot.rotate((-90)); + robot.forward(2.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("r4d"): + robot.boxElv(); + robot.forward(0.5); + robot.rotate(90); + robot.forward(1.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("r2d"): + robot.boxElv(); + robot.forward(0.5); + robot.rotate(90); + robot.forward(2.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("b4n"): + robot.boxElv(); + robot.forward(1.5); + robot.rotate(90); + robot.harvest(); + robot.forward(3); + robot.harvest(0); + robot.rotate(180); + robot.forward(1); + robot.rotate(-90); + robot.forward(1); + robot.rotate(90); + robot.forward(2.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("b2n"): + robot.boxElv(); + robot.forward(1.5); + robot.rotate(90); + robot.harvest(); + robot.forward(1); + robot.harvest(0); + robot.rotate(180); + robot.forward(1); + robot.rotate(-90); + robot.forward(1); + robot.rotate(90); + robot.forward(2.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("r4n"): + robot.boxElv(); + robot.forward(1.5); + robot.rotate(-90); + robot.harvest(); + robot.forward(3); + robot.harvest(0); + robot.rotate(180); + robot.forward(1); + robot.rotate(90); + robot.forward(1); + robot.rotate(-90); + robot.forward(2.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + case ("r2n"): + robot.boxElv(); + robot.forward(1.5); + robot.rotate(-90); + robot.harvest(); + robot.forward(1); + robot.harvest(0); + robot.rotate(180); + robot.forward(1); + robot.rotate(90); + robot.forward(1); + robot.rotate(-90); + robot.forward(2.5); + robot.harvest(-1); + robot.backward(1); + robot.harvest(0); + break; + } + } + } +} \ No newline at end of file diff --git a/ftc_new.java b/ftc_new.java index 2e2a4ca..f707c90 100644 --- a/ftc_new.java +++ b/ftc_new.java @@ -370,6 +370,7 @@ public class WEROBOT_FTC2024_New_carlike extends LinearOpMode { rotation.setMode(DcMotor.RunMode.RUN_USING_ENCODER); box.setMode(DcMotor.RunMode.RUN_USING_ENCODER); + telemetry.addData("mode","MANUEL"); // Elevator manual mode if (gamepad1.dpad_up) { // rmelevator.setPower(0.3); @@ -406,6 +407,7 @@ public class WEROBOT_FTC2024_New_carlike extends LinearOpMode { // lmelevator.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE); // rmelevator.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE); rotation.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE); + } // Box manual mode if (gamepad1.dpad_left) { @@ -434,6 +436,7 @@ public class WEROBOT_FTC2024_New_carlike extends LinearOpMode { } else { gamepad1.setLedColor(0.0, 0.0, 0.0,10); + telemetry.addData("mode","AUTOMATIQUE"); if (!gamepad1.dpad_right && already_padright) { already_padright = false; @@ -539,7 +542,6 @@ public class WEROBOT_FTC2024_New_carlike extends LinearOpMode { telemetry.addData("ltrigg", t); telemetry.addData("t2", t2); telemetry.addData("rotation power", boxRot); - telemetry.addData("mode manuel", manualMode); telemetry.addData("Position elevateur l", lmelevator.getCurrentPosition()); telemetry.addData("Position elevateur r", rmelevator.getCurrentPosition()); telemetry.addData("Position rotation", rotation.getCurrentPosition());