Update ftc2024_autonome_api.java
ça fonctionne
This commit is contained in:
parent
2af007c7de
commit
a426d6d40a
1 changed files with 106 additions and 130 deletions
|
@ -1,6 +1,6 @@
|
||||||
package org.firstinspires.ftc.teamcode;
|
package org.firstinspires.ftc.teamcode;
|
||||||
|
|
||||||
import fr.werobot.ftc2024.robotcontrol.FTC2024WeRobotControl; //a tester car pas sur que ça fonctionne
|
//import FTC2024WeRobotControl; //a tester car pas sur que ça fonctionne
|
||||||
|
|
||||||
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
||||||
|
|
||||||
|
@ -21,146 +21,122 @@ import com.qualcomm.robotcore.util.ElapsedTime;
|
||||||
|
|
||||||
@Autonomous
|
@Autonomous
|
||||||
|
|
||||||
public class ftc2024_autonome_api extends LinearOpMode {
|
public class Ftc2024_autonome_api extends LinearOpMode {
|
||||||
public String autonomous_mode;
|
public String autonomous_mode;
|
||||||
public DcMotor lm;
|
public DcMotor lm;
|
||||||
public DcMotor rm;
|
public DcMotor rm;
|
||||||
public DcMotor harvestmotor;
|
public DcMotor harvestmotor;
|
||||||
public IMU imu;
|
public IMU imu;
|
||||||
public YawPitchRollAngle robotOrientation;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void runOpMode() {
|
public void runOpMode() {
|
||||||
lm = hardwareMap.get(DcMotor.class, "blm");
|
lm = hardwareMap.get(DcMotor.class, "blm");
|
||||||
rm = hardwareMap.get(DcMotor.class, "brm");
|
rm = hardwareMap.get(DcMotor.class, "brm");
|
||||||
harvestmotor = hardwareMap.get(DcMotor.class, "flm");
|
harvestmotor = hardwareMap.get(DcMotor.class, "flm");
|
||||||
|
|
||||||
rm.setDirection(DcMotor.Direction.REVERSE);
|
rm.setDirection(DcMotor.Direction.REVERSE);
|
||||||
|
|
||||||
imu = hardwareMap.get(IMU.class, "imu");
|
imu = hardwareMap.get(IMU.class, "imu");
|
||||||
imu.initialize(
|
imu.initialize(
|
||||||
new IMU.Parameters(
|
new IMU.Parameters(
|
||||||
new RevHubOrientationOnRobot(
|
new RevHubOrientationOnRobot(
|
||||||
RevHubOrientationOnRobot.LogoFacingDirection.UP,
|
RevHubOrientationOnRobot.LogoFacingDirection.UP,
|
||||||
RevHubOrientationOnRobot.UsbFacingDirection.FORWARD
|
RevHubOrientationOnRobot.UsbFacingDirection.FORWARD
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
imu.resetYaw();
|
imu.resetYaw();
|
||||||
// YawPitchRollAngle robotOrientation; // FTC2024WeRobotControl à besoin de robotOrientation comme variable de Parent (donc de cette classe actuelle), n'est il pas posible de définir robotOrientation dans la classe?
|
YawPitchRollAngles robotOrientation;
|
||||||
FTC2024WeRobotControl robot = FTC2024WeRobotControl(this);
|
FTC2024WeRobotControl robot = new FTC2024WeRobotControl(this);
|
||||||
|
autonomous_mode = "b4d";
|
||||||
|
|
||||||
|
telemetry.addData("wait for start","");
|
||||||
|
telemetry.update();
|
||||||
|
|
||||||
waitForStart();
|
waitForStart();
|
||||||
robotOrientation = imu.getYawPitchRollAngles();
|
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){
|
||||||
|
case ("b4d"):
|
||||||
|
telemetry.addData("cas b4d lancé","");
|
||||||
|
telemetry.update();
|
||||||
|
robot.forward(0.5);
|
||||||
|
robot.rotate(-90.0);
|
||||||
|
robot.forward(1.5);
|
||||||
|
robot.harvest(-1);
|
||||||
|
robot.backward(1);
|
||||||
|
robot.harvest(0);
|
||||||
|
telemetry.addData("fin de b4d","");
|
||||||
|
telemetry.update();
|
||||||
|
break;
|
||||||
|
case ("b2d"):
|
||||||
|
telemetry.addData("cas b2d lancé","");
|
||||||
|
telemetry.update();
|
||||||
|
robot.forward(0.5);
|
||||||
|
robot.rotate(-90.0);
|
||||||
|
robot.forward(2.5);
|
||||||
|
robot.harvest(-1);
|
||||||
|
robot.backward(1);
|
||||||
|
robot.harvest(0);
|
||||||
|
telemetry.addData("fin de b2d","");
|
||||||
|
telemetry.update();
|
||||||
|
break;
|
||||||
|
case ("r4d"):
|
||||||
|
telemetry.addData("cas r4d lancé","");
|
||||||
|
telemetry.update();
|
||||||
|
robot.forward(0.5);
|
||||||
|
robot.rotate(90.0);
|
||||||
|
robot.forward(1.5);
|
||||||
|
robot.harvest(-1);
|
||||||
|
robot.backward(1);
|
||||||
|
robot.harvest(0);
|
||||||
|
telemetry.addData("fin de r4d","");
|
||||||
|
telemetry.update();
|
||||||
|
break;
|
||||||
|
case ("r2d"):
|
||||||
|
telemetry.addData("cas r2d lancé","");
|
||||||
|
telemetry.update();
|
||||||
|
robot.forward(0.5);
|
||||||
|
robot.rotate(90.0);
|
||||||
|
robot.forward(2.5);
|
||||||
|
robot.harvest(-1);
|
||||||
|
robot.backward(1);
|
||||||
|
robot.harvest(0);
|
||||||
|
telemetry.addData("fin de r2d","");
|
||||||
|
telemetry.update();
|
||||||
|
break;
|
||||||
|
|
||||||
if(opModeIsRunning()){
|
case ("b4n"):
|
||||||
/*
|
|
||||||
* autonomous_mode differents possibles values respect the next scheme:
|
break;
|
||||||
* team_color_shortcode + start_line_index + direct_or_no
|
case ("b2n"):
|
||||||
*
|
|
||||||
* team_color_shortcode = "b" for blue & "r" for red
|
break;
|
||||||
* start_line_index = 4 or 2 see competition manual appendix B Tile location plan
|
case ("r4n"):
|
||||||
* direct_or_no = "d" to direct go to pixel deliver zone or "n" to harvest pixels before to go in deliver zone
|
|
||||||
*
|
break;
|
||||||
* default is "b4d"
|
case ("r2n"):
|
||||||
*/
|
|
||||||
switch (autonomous_mode){
|
break;
|
||||||
default:
|
default:
|
||||||
robot.forward(0.5);
|
break;
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue