mirror of
https://github.com/TimeCrafters/CenterStage
synced 2025-12-15 16:52:35 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -7,12 +7,12 @@ import org.timecrafters.CenterStage.Autonomous.States.ProtoBotStateSodi;
|
||||
|
||||
import dev.cyberarm.engine.V2.CyberarmEngine;
|
||||
|
||||
@Autonomous(name = "Autonomous- Sodi", group = "Simple Test")
|
||||
@Autonomous(name = "Autonomous- Sodi", group = "Arm Sequence")
|
||||
public class ProtoBotEngineSodi extends CyberarmEngine {
|
||||
private ProtoBotSodi robot;
|
||||
@Override
|
||||
public void setup() {
|
||||
this.robot = new ProtoBotSodi("Autonomous - Sodi");
|
||||
this.robot = new ProtoBotSodi("Autonomous- Sodi");
|
||||
this.robot.setup();
|
||||
|
||||
addState(new ProtoBotStateSodi(robot));
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package org.timecrafters.CenterStage.Autonomous.States;
|
||||
|
||||
/**BEGAN WITH 43 LINES**/
|
||||
|
||||
import com.arcrobotics.ftclib.hardware.motors.Motor;
|
||||
|
||||
import org.timecrafters.CenterStage.Common.ProtoBotSodi;
|
||||
import org.timecrafters.CenterStage.Common.PrototypeRobot;
|
||||
|
||||
@@ -10,12 +14,24 @@ public class ArmStateSodi extends CyberarmState {
|
||||
private final boolean stateDisabled;
|
||||
ProtoBotSodi robot;
|
||||
private int testSequence;
|
||||
private int targetPos;
|
||||
private int currentPos;
|
||||
private int totalDist;
|
||||
|
||||
|
||||
public ArmStateSodi(ProtoBotSodi robot, String groupName, String actionName) {
|
||||
this.robot = robot;
|
||||
this.stateDisabled = !robot.configuration.action(groupName, actionName).enabled;
|
||||
}
|
||||
|
||||
private int getTotalDist() {
|
||||
int totalDist = targetPos - currentPos;
|
||||
return totalDist;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
//add variables that need to be reinitialized
|
||||
@@ -23,18 +39,34 @@ public class ArmStateSodi extends CyberarmState {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exec() {
|
||||
|
||||
if (robot.liftMotor.motor.getCurrentPosition() < 0) {
|
||||
robot.liftMotor.motor.setPower(0);
|
||||
}
|
||||
if (robot.liftMotor.motor.getCurrentPosition() >= 0 && robot.liftMotor.motor.getCurrentPosition() <= 49) {
|
||||
|
||||
}
|
||||
if (robot.liftMotor.motor.getCurrentPosition() >= 50 && robot.liftMotor.motor.getCurrentPosition() <= 250) {
|
||||
|
||||
}
|
||||
public void init() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exec() {
|
||||
|
||||
// if (robot.liftMotor.motor.getCurrentPosition() >= 2800 &&
|
||||
// Math.abs(robot.liftMotor.motor.getPower()) != robot.liftMotor.motor.getPower()) {
|
||||
// robot.liftMotor.motor.setPower(0);
|
||||
// }
|
||||
//
|
||||
// if (robot.liftMotor.motor.getCurrentPosition() < 0 &&
|
||||
// Math.abs(robot.liftMotor.motor.getPower()) != robot.liftMotor.motor.getPower()) {
|
||||
// robot.liftMotor.motor.setPower(0);
|
||||
// }
|
||||
//
|
||||
// if (robot.liftMotor.motor.getCurrentPosition() >= 0 &&
|
||||
// robot.liftMotor.motor.getCurrentPosition() <= 50) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// if (robot.liftMotor.motor.getCurrentPosition() >= 50 &&
|
||||
// robot.liftMotor.motor.getCurrentPosition() <= 250) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.timecrafters.CenterStage.Autonomous.States;
|
||||
|
||||
import com.arcrobotics.ftclib.hardware.motors.Motor;
|
||||
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||
import com.qualcomm.robotcore.hardware.DcMotorSimple;
|
||||
import com.qualcomm.robotcore.hardware.Servo;
|
||||
@@ -10,15 +11,16 @@ import org.timecrafters.CenterStage.Common.ProtoBotSodi;
|
||||
|
||||
public class ProtoBotStateSodi extends CyberarmState {
|
||||
ProtoBotSodi robot;
|
||||
private double avgVelocity, avgDrivePower;
|
||||
private long lastTimeChecked;
|
||||
private int testSequence;
|
||||
private int targetPos;
|
||||
private int currentPos;
|
||||
private int totalDist;
|
||||
|
||||
public ProtoBotStateSodi(ProtoBotSodi robot) {
|
||||
this.robot = robot;
|
||||
}
|
||||
public void telemetry() {
|
||||
// engine.telemetry.addData("Avg Drive Velocity", avgVelocity);
|
||||
// engine.telemetry.addData("Avg Drive Power", avgDrivePower);
|
||||
engine.telemetry.addData("Front Left Velocity", robot.flDrive.getVelocity());
|
||||
engine.telemetry.addData("Front Right Velocity", robot.frDrive.getVelocity());
|
||||
engine.telemetry.addData("Back Left Velocity", robot.blDrive.getVelocity());
|
||||
@@ -27,18 +29,15 @@ public class ProtoBotStateSodi extends CyberarmState {
|
||||
engine.telemetry.addData("Front Right Power", robot.frDrive.motor.getPower());
|
||||
engine.telemetry.addData("Back Left Power", robot.blDrive.motor.getPower());
|
||||
engine.telemetry.addData("Back Right Power", robot.brDrive.motor.getPower());
|
||||
engine.telemetry.addData("FL Position",robot.flDrive.motor.getCurrentPosition());
|
||||
engine.telemetry.addData("Test Sequence", testSequence);
|
||||
|
||||
}
|
||||
|
||||
// public double getAvgDrivePower() {
|
||||
// avgDrivePower = (robot.flDrive.motor.getPower() + robot.frDrive.motor.getPower() + robot.blDrive.motor.getPower() + robot.brDrive.motor.getPower())/4;
|
||||
// return avgDrivePower;
|
||||
// }
|
||||
|
||||
// public double getAvgVelocity() {
|
||||
// avgVelocity = (robot.flDrive.getVelocity() + robot.frDrive.getVelocity() + robot.blDrive.getVelocity() + robot.brDrive.getVelocity())/4;
|
||||
// return avgVelocity;
|
||||
// }
|
||||
@Override
|
||||
public void start() {
|
||||
testSequence = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
@@ -46,69 +45,54 @@ public class ProtoBotStateSodi extends CyberarmState {
|
||||
robot.frDrive.motor.setPower(0);
|
||||
robot.blDrive.motor.setPower(0);
|
||||
robot.brDrive.motor.setPower(0);
|
||||
robot.liftMotor.motor.setPower(0);
|
||||
|
||||
robot.grabJaw.setPosition(0);
|
||||
robot.grabElbow.setPosition(0);
|
||||
robot.grabShoulder.setPosition(0);
|
||||
robot.dropShoulder.setPosition(0);
|
||||
robot.dropElbow.setPosition(0);
|
||||
robot.dropJaw.setPosition(0);
|
||||
// robot.liftMotor.motor.setPower(0);
|
||||
//
|
||||
// robot.grabJaw.setPosition(0);
|
||||
// robot.grabElbow.setPosition(0);
|
||||
// robot.grabShoulder.setPosition(0);
|
||||
// robot.dropShoulder.setPosition(0);
|
||||
// robot.dropElbow.setPosition(0);
|
||||
// robot.dropJaw.setPosition(0);
|
||||
|
||||
lastTimeChecked = System.currentTimeMillis();
|
||||
testSequence = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exec() {
|
||||
//
|
||||
// if (System.currentTimeMillis() - lastTimeChecked >= 500 && System.currentTimeMillis() - lastTimeChecked < 2500) {
|
||||
// robot.flDrive.motor.setPower(0.5);
|
||||
// robot.frDrive.motor.setPower(0.5);
|
||||
// robot.blDrive.motor.setPower(0.5);
|
||||
// robot.brDrive.motor.setPower(0.5);
|
||||
// robot.liftMotor.motor.setPower(0.5);
|
||||
// } else if (System.currentTimeMillis() - lastTimeChecked >= 2500 && System.currentTimeMillis() - lastTimeChecked < 4500) {
|
||||
// robot.flDrive.motor.setPower(-0.5);
|
||||
// robot.frDrive.motor.setPower(-0.5);
|
||||
// robot.blDrive.motor.setPower(-0.5);
|
||||
// robot.brDrive.motor.setPower(-0.5);
|
||||
// robot.liftMotor.motor.setPower(-0.5);
|
||||
// } else if (System.currentTimeMillis() - lastTimeChecked >= 4500 && System.currentTimeMillis() - lastTimeChecked < 6500) {
|
||||
// robot.flDrive.motor.setPower(0.5);
|
||||
// robot.frDrive.motor.setPower(0.5);
|
||||
// robot.blDrive.motor.setPower(-0.5);
|
||||
// robot.brDrive.motor.setPower(-0.5);
|
||||
// robot.liftMotor.motor.setPower(0);
|
||||
// } else if (System.currentTimeMillis() - lastTimeChecked >= 6500 && System.currentTimeMillis() - lastTimeChecked < 8500) {
|
||||
// robot.flDrive.motor.setPower(-0.5);
|
||||
// robot.frDrive.motor.setPower(-0.5);
|
||||
// robot.blDrive.motor.setPower(0.5);
|
||||
// robot.brDrive.motor.setPower(0.5);
|
||||
// robot.liftMotor.motor.setPower(0);
|
||||
// } else if (System.currentTimeMillis() - lastTimeChecked >= 8600){
|
||||
// robot.flDrive.motor.setPower(0);
|
||||
// robot.frDrive.motor.setPower(0);
|
||||
// robot.blDrive.motor.setPower(0);
|
||||
// robot.brDrive.motor.setPower(0);
|
||||
// robot.liftMotor.motor.setPower(0);
|
||||
// setHasFinished(true);
|
||||
// }
|
||||
|
||||
switch (testSequence) {
|
||||
case 1:
|
||||
currentPos = robot.flDrive.motor.getCurrentPosition();
|
||||
|
||||
//lift motor go up for some way
|
||||
//wait for about 0.25
|
||||
if (testSequence < 1) {
|
||||
testSequence = 1;
|
||||
}
|
||||
|
||||
case 2:
|
||||
if (testSequence == 1) {
|
||||
robot.flDrive.motor.setTargetPosition(1000);
|
||||
robot.frDrive.motor.setTargetPosition(1000);
|
||||
robot.blDrive.motor.setTargetPosition(1000);
|
||||
robot.brDrive.motor.setTargetPosition(1000);
|
||||
|
||||
//lift motor go down
|
||||
//repeat
|
||||
//wait for about 0.25
|
||||
if (robot.flDrive.motor.getCurrentPosition() < robot.flDrive.motor.getTargetPosition() - 50) {
|
||||
robot.flDrive.motor.setPower(0.5 * (robot.flDrive.motor.getTargetPosition() - robot.flDrive.motor.getCurrentPosition()));
|
||||
robot.frDrive.motor.setPower(0.5 * (robot.frDrive.motor.getTargetPosition() - robot.frDrive.motor.getCurrentPosition()));
|
||||
robot.blDrive.motor.setPower(0.5 * (robot.blDrive.motor.getTargetPosition() - robot.blDrive.motor.getCurrentPosition()));
|
||||
robot.brDrive.motor.setPower(0.5 * (robot.brDrive.motor.getTargetPosition() - robot.brDrive.motor.getCurrentPosition()));
|
||||
} else if (robot.flDrive.motor.getCurrentPosition() < robot.flDrive.motor.getTargetPosition() + 50 ||
|
||||
robot.flDrive.motor.getCurrentPosition() > robot.flDrive.motor.getTargetPosition() - 50) {
|
||||
|
||||
robot.flDrive.motor.setPower(0);
|
||||
robot.frDrive.motor.setPower(0);
|
||||
robot.blDrive.motor.setPower(0);
|
||||
robot.brDrive.motor.setPower(0);
|
||||
|
||||
testSequence = 2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package org.timecrafters.CenterStage.Common;
|
||||
|
||||
import com.arcrobotics.ftclib.hardware.motors.MotorEx;
|
||||
import com.qualcomm.hardware.rev.RevHubOrientationOnRobot;
|
||||
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||
import com.qualcomm.robotcore.hardware.DcMotorSimple;
|
||||
import com.qualcomm.robotcore.hardware.HardwareMap;
|
||||
import com.qualcomm.robotcore.hardware.IMU;
|
||||
|
||||
import org.timecrafters.Library.Robot;
|
||||
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration;
|
||||
|
||||
import dev.cyberarm.engine.V2.CyberarmEngine;
|
||||
|
||||
public class MiniYTeleOPBot extends Robot {
|
||||
|
||||
public HardwareMap hardwareMap;
|
||||
public MotorEx flDrive, frDrive, blDrive, brDrive;
|
||||
public IMU imu;
|
||||
private String string;
|
||||
|
||||
public TimeCraftersConfiguration configuration;
|
||||
|
||||
public MiniYTeleOPBot() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setup() {
|
||||
this.hardwareMap = CyberarmEngine.instance.hardwareMap;
|
||||
CyberarmEngine engine = CyberarmEngine.instance;
|
||||
|
||||
imu = engine.hardwareMap.get(IMU.class, "imu");
|
||||
|
||||
IMU.Parameters parameters = new IMU.Parameters(
|
||||
new RevHubOrientationOnRobot(
|
||||
RevHubOrientationOnRobot.LogoFacingDirection.LEFT,
|
||||
RevHubOrientationOnRobot.UsbFacingDirection.UP));
|
||||
|
||||
imu.initialize(parameters);
|
||||
|
||||
//Motors
|
||||
frDrive = new MotorEx(hardwareMap, "FrontRight");
|
||||
flDrive = new MotorEx(hardwareMap, "FrontLeft");
|
||||
brDrive = new MotorEx(hardwareMap, "BackRight");
|
||||
blDrive = new MotorEx(hardwareMap, "BackLeft");
|
||||
|
||||
flDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD);
|
||||
frDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD);
|
||||
blDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD);
|
||||
brDrive.motor.setDirection(DcMotorSimple.Direction.FORWARD);
|
||||
|
||||
flDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
frDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
blDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
brDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
|
||||
flDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
frDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
blDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
brDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -28,22 +28,20 @@ public class ProtoBotSodi extends Robot {
|
||||
public MotorEx flDrive, frDrive, blDrive, brDrive, liftMotor;
|
||||
public Servo grabJaw, grabElbow, grabShoulder, dropShoulder, dropElbow, dropJaw;
|
||||
private String string;
|
||||
private CyberarmEngine engine;
|
||||
|
||||
public TimeCraftersConfiguration configuration;
|
||||
|
||||
|
||||
public ProtoBotSodi(String string) {
|
||||
this.engine = engine;
|
||||
this.string = string;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setup() {System.out.println("Bacon: " + this.string);
|
||||
this.hardwareMap = CyberarmEngine.instance.hardwareMap;
|
||||
this.engine = CyberarmEngine.instance;
|
||||
CyberarmEngine engine = CyberarmEngine.instance;
|
||||
|
||||
TimeCraftersConfiguration configuration = new TimeCraftersConfiguration("Robbie");
|
||||
// TimeCraftersConfiguration configuration = new TimeCraftersConfiguration();
|
||||
|
||||
//Motors
|
||||
frDrive = new MotorEx(hardwareMap, "FrontRight");
|
||||
@@ -52,16 +50,22 @@ public class ProtoBotSodi extends Robot {
|
||||
blDrive = new MotorEx(hardwareMap, "BackLeft");
|
||||
liftMotor = new MotorEx(hardwareMap, "Lift");
|
||||
|
||||
flDrive.motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
|
||||
frDrive.motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
|
||||
blDrive.motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
|
||||
brDrive.motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
|
||||
liftMotor.motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
|
||||
|
||||
flDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
frDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
blDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
brDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
liftMotor.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
flDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
frDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
blDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
brDrive.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
liftMotor.motor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
|
||||
|
||||
flDrive.motor.setDirection(FORWARD);
|
||||
frDrive.motor.setDirection(REVERSE);
|
||||
// frDrive.motor.setDirection(REVERSE);
|
||||
blDrive.motor.setDirection(FORWARD);
|
||||
brDrive.motor.setDirection(REVERSE);
|
||||
// brDrive.motor.setDirection(REVERSE);
|
||||
|
||||
//Servos
|
||||
grabJaw = hardwareMap.servo.get("GrabJaw");
|
||||
@@ -70,7 +74,7 @@ public class ProtoBotSodi extends Robot {
|
||||
dropShoulder = hardwareMap.servo.get("DropShoulder");
|
||||
dropElbow = hardwareMap.servo.get("DropElbow");
|
||||
dropJaw = hardwareMap.servo.get("DropJaw");
|
||||
|
||||
|
||||
grabElbow.setDirection(Servo.Direction.FORWARD);
|
||||
grabJaw.setDirection(Servo.Direction.FORWARD);
|
||||
grabShoulder.setDirection(Servo.Direction.FORWARD);
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.timecrafters.CenterStage.TeleOp.Engines;
|
||||
|
||||
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||
|
||||
import org.timecrafters.CenterStage.Common.MiniYTeleOPBot;
|
||||
import org.timecrafters.CenterStage.TeleOp.States.YellowMinibotTeleOP;
|
||||
|
||||
import dev.cyberarm.engine.V2.CyberarmEngine;
|
||||
|
||||
@TeleOp(name = "A Yellow Minibot")
|
||||
|
||||
public class MiniYTeleOPEngine extends CyberarmEngine {
|
||||
private MiniYTeleOPBot robot;
|
||||
@Override
|
||||
public void setup() {
|
||||
this.robot = new MiniYTeleOPBot();
|
||||
this.robot.setup();
|
||||
|
||||
addState(new YellowMinibotTeleOP(robot));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package org.timecrafters.CenterStage.TeleOp.States;
|
||||
|
||||
import dev.cyberarm.engine.V2.CyberarmState;
|
||||
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||
import com.qualcomm.robotcore.hardware.Gamepad;
|
||||
import com.qualcomm.robotcore.hardware.Servo;
|
||||
|
||||
import dev.cyberarm.engine.V2.GamepadChecker;
|
||||
import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit;
|
||||
import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit;
|
||||
import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles;
|
||||
import org.timecrafters.CenterStage.Common.MiniYTeleOPBot;
|
||||
|
||||
public class YellowMinibotTeleOP extends CyberarmState {
|
||||
private final MiniYTeleOPBot robot;
|
||||
public float angleDelta, drivePower;
|
||||
YawPitchRollAngles imuInitAngle;
|
||||
|
||||
public YellowMinibotTeleOP(MiniYTeleOPBot robot) {
|
||||
this.robot = robot;
|
||||
}
|
||||
|
||||
|
||||
public float getAngleDelta() {
|
||||
robot.imu.getRobotYawPitchRollAngles().getYaw(AngleUnit.DEGREES);
|
||||
|
||||
return angleDelta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void telemetry() {
|
||||
engine.telemetry.addData("Front Left Velocity", robot.flDrive.getVelocity());
|
||||
engine.telemetry.addData("Front Right Velocity", robot.frDrive.getVelocity());
|
||||
engine.telemetry.addData("Back Left Velocity", robot.blDrive.getVelocity());
|
||||
engine.telemetry.addData("Back Right Velocity", robot.brDrive.getVelocity());
|
||||
engine.telemetry.addData("Front Left Power", robot.flDrive.motor.getPower());
|
||||
engine.telemetry.addData("Front Right Power", robot.frDrive.motor.getPower());
|
||||
engine.telemetry.addData("Back Left Power", robot.blDrive.motor.getPower());
|
||||
engine.telemetry.addData("Back Right Power", robot.brDrive.motor.getPower());
|
||||
engine.telemetry.addData("FL Position",robot.flDrive.motor.getCurrentPosition());
|
||||
engine.telemetry.addData("IMU Angles", robot.imu.getRobotYawPitchRollAngles().getYaw(AngleUnit.DEGREES));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
drivePower = 0;
|
||||
robot.flDrive.motor.setPower(0);
|
||||
robot.frDrive.motor.setPower(0);
|
||||
robot.blDrive.motor.setPower(0);
|
||||
robot.brDrive.motor.setPower(0);
|
||||
|
||||
robot.imu.resetYaw();
|
||||
imuInitAngle = robot.imu.getRobotYawPitchRollAngles();
|
||||
|
||||
GamepadChecker gamepad1Checker = new GamepadChecker(engine, engine.gamepad1);
|
||||
GamepadChecker gamepad2Checker = new GamepadChecker(engine, engine.gamepad2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exec() {
|
||||
|
||||
if (Math.abs(engine.gamepad1.right_stick_y) < 0.1 && Math.abs(engine.gamepad1.right_stick_x) < 0.1 && Math.abs(engine.gamepad1.left_stick_x) < 0.1) {
|
||||
drivePower = 0;
|
||||
robot.flDrive.motor.setPower(0);
|
||||
robot.frDrive.motor.setPower(0);
|
||||
robot.blDrive.motor.setPower(0);
|
||||
robot.brDrive.motor.setPower(0);
|
||||
}
|
||||
|
||||
if (engine.gamepad1.start && !engine.gamepad1.a) {
|
||||
robot.flDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
robot.frDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
robot.blDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
robot.brDrive.motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||
robot.imu.resetYaw();
|
||||
}
|
||||
|
||||
if (Math.abs(engine.gamepad1.right_stick_y) > 0.1 && Math.abs(engine.gamepad1.right_stick_x) < 0.1) {
|
||||
drivePower = engine.gamepad1.right_stick_y;
|
||||
robot.flDrive.motor.setPower(drivePower);
|
||||
robot.frDrive.motor.setPower(drivePower);
|
||||
robot.blDrive.motor.setPower(drivePower);
|
||||
robot.brDrive.motor.setPower(drivePower);
|
||||
}
|
||||
|
||||
if (Math.abs(engine.gamepad1.right_stick_x) > 0.1) {
|
||||
drivePower = engine.gamepad1.right_stick_x;
|
||||
robot.flDrive.motor.setPower(-drivePower);
|
||||
robot.frDrive.motor.setPower(drivePower);
|
||||
robot.blDrive.motor.setPower(drivePower);
|
||||
robot.brDrive.motor.setPower(-drivePower);
|
||||
}
|
||||
|
||||
if (Math.abs(engine.gamepad1.left_stick_x) > 0.1){
|
||||
drivePower = engine.gamepad1.left_stick_x;
|
||||
robot.flDrive.motor.setPower(-drivePower);
|
||||
robot.frDrive.motor.setPower(drivePower);
|
||||
robot.blDrive.motor.setPower(-drivePower);
|
||||
robot.brDrive.motor.setPower(drivePower);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user