Compare commits
11 commits
a32ecee7dc
...
80c29131ad
Author | SHA1 | Date | |
---|---|---|---|
80c29131ad | |||
93f98c6dbc | |||
c585224909 | |||
![]() |
61ddc2ecc0 | ||
0d6c5d569f | |||
5442791e2d | |||
863d61307d | |||
f94dc391a0 | |||
![]() |
fc977dec94 | ||
![]() |
e2fdb4bd51 | ||
7e089127ef |
2 changed files with 112 additions and 28 deletions
|
@ -1,44 +1,39 @@
|
||||||
package org.firstinspires.ftc.teamcode;
|
package org.firstinspires.ftc.teamcode;
|
||||||
|
// https://prod.liveshare.vsengsaas.visualstudio.com/join?03587C25F0BC652DEF22BF0B00ACEDD85FD3
|
||||||
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles;
|
|
||||||
import com.qualcomm.robotcore.robot.Robot;
|
import com.qualcomm.robotcore.robot.Robot;
|
||||||
|
import com.qualcomm.robotcore.robot.Robot;
|
||||||
import java.text.spi.DecimalFormatSymbolsProvider;
|
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
||||||
import org.firstinspires.ftc.robotcore.external.Telemetry;
|
|
||||||
import com.qualcomm.robotcore.hardware.Gamepad;
|
import com.qualcomm.robotcore.hardware.Gamepad;
|
||||||
import com.qualcomm.robotcore.hardware.DcMotorEx;
|
import com.qualcomm.robotcore.hardware.DcMotorEx;
|
||||||
import com.qualcomm.robotcore.robot.Robot;
|
|
||||||
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
|
|
||||||
import com.qualcomm.robotcore.hardware.DcMotor;
|
import com.qualcomm.robotcore.hardware.DcMotor;
|
||||||
import com.qualcomm.robotcore.hardware.DcMotorSimple;
|
import com.qualcomm.robotcore.hardware.DcMotorSimple;
|
||||||
import com.qualcomm.robotcore.hardware.Servo;
|
import com.qualcomm.robotcore.hardware.Servo;
|
||||||
|
|
||||||
import com.qualcomm.robotcore.hardware.IMU;
|
import com.qualcomm.robotcore.hardware.IMU;
|
||||||
import com.qualcomm.robotcore.hardware.ImuOrientationOnRobot;
|
import com.qualcomm.robotcore.hardware.ImuOrientationOnRobot;
|
||||||
import com.qualcomm.hardware.rev.RevHubOrientationOnRobot;
|
import com.qualcomm.hardware.rev.RevHubOrientationOnRobot;
|
||||||
|
|
||||||
|
import org.firstinspires.ftc.robotcore.external.Telemetry;
|
||||||
|
import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles;
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit;
|
import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit;
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder;
|
import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder;
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.AxesReference;
|
import org.firstinspires.ftc.robotcore.external.navigation.AxesReference;
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.Orientation;
|
import org.firstinspires.ftc.robotcore.external.navigation.Orientation;
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.Position;
|
import org.firstinspires.ftc.robotcore.external.navigation.Position;
|
||||||
import org.firstinspires.ftc.robotcore.external.navigation.Velocity;
|
import org.firstinspires.ftc.robotcore.external.navigation.Velocity;
|
||||||
|
dqsdqs
|
||||||
@TeleOp(name = "FGC2024", group = "WeRobot")
|
@TeleOp(name = "FGC2024", group = "WeRobot")
|
||||||
public class FGC_2024 extends LinearOpMode {
|
public class FGC_2024 extends LinearOpMode {
|
||||||
|
|
||||||
|
|
||||||
private DcMotorEx rm;
|
private DcMotorEx rm;
|
||||||
private DcMotorEx lm;
|
private DcMotorEx lm;
|
||||||
private DcMotorEx elv1;
|
private DcMotorEx elv1;
|
||||||
//private DcMotorEx elv2;
|
//private DcMotorEx elv2;
|
||||||
//private DcMotorEx elv3;
|
//private DcMotorEx elv3;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void runOpMode() throws InterruptedException {
|
public void runOpMode() throws InterruptedException {
|
||||||
|
|
||||||
|
|
||||||
telemetry.addData("Status"," Initialized");
|
telemetry.addData("Status"," Initialized");
|
||||||
telemetry.update();
|
telemetry.update();
|
||||||
|
|
||||||
|
@ -49,15 +44,17 @@ public class FGC_2024 extends LinearOpMode {
|
||||||
//rm.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
//rm.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
||||||
elv1 = hardwareMap.get(DcMotorEx.class, "elv1");
|
elv1 = hardwareMap.get(DcMotorEx.class, "elv1");
|
||||||
elv1.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
elv1.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
||||||
|
elv1.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||||
//elv2 = hardwareMap.get(DcMotorEx.class, "elv2");
|
//elv2 = hardwareMap.get(DcMotorEx.class, "elv2");
|
||||||
//elv2.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
//elv2.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
||||||
|
//elv2.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||||
//elv3 = hardwareMap.get(DcMotorEx.class, "elv3");
|
//elv3 = hardwareMap.get(DcMotorEx.class, "elv3");
|
||||||
//elv3.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
//elv3.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.FLOAT);
|
||||||
|
//elv3.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);
|
||||||
|
|
||||||
|
|
||||||
boolean already_up = false;
|
boolean already_up = false;
|
||||||
boolean already_down = false;
|
boolean already_down = false;
|
||||||
int hauteur = 0;
|
|
||||||
|
|
||||||
waitForStart();
|
waitForStart();
|
||||||
while(opModeIsActive()){
|
while(opModeIsActive()){
|
||||||
|
@ -81,19 +78,35 @@ public class FGC_2024 extends LinearOpMode {
|
||||||
lpower = lpower*gamepad1.right_trigger;
|
lpower = lpower*gamepad1.right_trigger;
|
||||||
rpower = rpower*gamepad1.right_trigger;
|
rpower = rpower*gamepad1.right_trigger;
|
||||||
}
|
}
|
||||||
|
if(gamepad1.dpad_right){
|
||||||
|
elv1.setVelocity(20);
|
||||||
|
elv1.setTargetPosition(elv1.getCurrentPosition()+1);
|
||||||
|
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
|
}
|
||||||
|
if(gamepad1.dpad_left){
|
||||||
|
elv1.setVelocity(20);
|
||||||
|
elv1.setTargetPosition(elv1.getCurrentPosition()-1);
|
||||||
|
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
|
}
|
||||||
|
if(gamepad1.right_bumber && gamepad1.dpad_down){
|
||||||
|
elv1.setVelocity(0);
|
||||||
|
elv1.setTargetPosition(elv1.getCurrentPosition());
|
||||||
|
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
|
}
|
||||||
|
telemetry.addData("targetPos",elv1.getTargetPosition());
|
||||||
|
telemetry.addData("pos", elv1.getCurrentPosition())
|
||||||
|
|
||||||
if (gamepad1.dpad_up && !already_up && i<3){
|
if (gamepad1.dpad_up && !already_up){
|
||||||
|
|
||||||
elv1.setVelocity(250);
|
elv1.setVelocity(250);
|
||||||
// elv2.setVelocity(250);
|
// elv2.setVelocity(250);
|
||||||
// elv3.setVelocity(250);
|
// elv3.setVelocity(250);
|
||||||
elv1.setTargetPosition(elv1.getCurrentPosition()+10);
|
elv1.setTargetPosition(elv1.getCurrentPosition()+277);
|
||||||
// elv2.setTargetPosition(elv2.getCurrentPosition()+15);
|
// elv2.setTargetPosition(elv2.getCurrentPosition()+15);
|
||||||
// elv3.setTargetPosition(elv3.getCurrentPosition()+160);
|
// elv3.setTargetPosition(elv3.getCurrentPosition()+15);
|
||||||
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
// elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
// elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
// elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
// elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
hauteur += 1;
|
|
||||||
|
|
||||||
already_up = !already_up;
|
already_up = !already_up;
|
||||||
|
|
||||||
|
@ -101,18 +114,17 @@ public class FGC_2024 extends LinearOpMode {
|
||||||
already_up = false;
|
already_up = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gamepad1.dpad_down && !already_up && i>0){
|
if (gamepad1.dpad_down && !already_up && hauteur>0){
|
||||||
|
|
||||||
elv1.setVelocity(250);
|
elv1.setVelocity(250);
|
||||||
elv2.setVelocity(250);
|
//elv2.setVelocity(250);
|
||||||
elv3.setVelocity(250);
|
//elv3.setVelocity(250);
|
||||||
elv1.setTargetPosition(elv1.getCurrentPosition()-10);
|
elv1.setTargetPosition(elv1.getCurrentPosition()-277);
|
||||||
elv2.setTargetPosition(elv2.getCurrentPosition()-15);
|
// elv2.setTargetPosition(elv2.getCurrentPosition()-15);
|
||||||
elv3.setTargetPosition(elv3.getCurrentPosition()-160);
|
// elv3.setTargetPosition(elv3.getCurrentPosition()-15);
|
||||||
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
elv1.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
// elv2.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
// elv3.setMode(DcMotor.RunMode.RUN_TO_POSITION);
|
||||||
hauteur -= 1;
|
|
||||||
|
|
||||||
already_down = !already_down;
|
already_down = !already_down;
|
||||||
|
|
||||||
|
|
72
MaxSpeed.java
Normal file
72
MaxSpeed.java
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
package org.firstinspires.ftc.teamcode;
|
||||||
|
import java.io.File; // Import the File class
|
||||||
|
import java.io.IOException; // Import the IOException class to handle errors
|
||||||
|
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
||||||
|
import org.firstinspires.ftc.robotcore.external.Telemetry;
|
||||||
|
import com.qualcomm.robotcore.robot.Robot;
|
||||||
|
import com.qualcomm.robotcore.hardware.DcMotorEx;
|
||||||
|
|
||||||
|
|
||||||
|
@TeleOp
|
||||||
|
public class MaxVelocityTest extends LinearOpMode {
|
||||||
|
DcMotorEx motor;
|
||||||
|
double currentVelocity;
|
||||||
|
double maxVelocity = 0.0;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runOpMode() {
|
||||||
|
motor = hardwareMap.get(DcMotorEx.class, "elv1");
|
||||||
|
motor.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
|
||||||
|
motor.setPower(1);
|
||||||
|
waitForStart();
|
||||||
|
|
||||||
|
|
||||||
|
while (opModeIsActive()) {
|
||||||
|
currentVelocity = motor.getVelocity();
|
||||||
|
|
||||||
|
if (currentVelocity > maxVelocity) {
|
||||||
|
maxVelocity = currentVelocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
telemetry.addData("current velocity", currentVelocity);
|
||||||
|
telemetry.addData("maximum velocity", maxVelocity);
|
||||||
|
telemetry.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void writeFile(String filename, String content){
|
||||||
|
File file = getFile(filename);
|
||||||
|
FileOutputStream stream = new FileOutputStream(file);
|
||||||
|
try {
|
||||||
|
stream.write(content.getBytes());
|
||||||
|
} finally {
|
||||||
|
stream.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private File getFile(String filename){
|
||||||
|
File file = new File(filename);
|
||||||
|
try{
|
||||||
|
file.createNewFile();
|
||||||
|
}
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String readFile(String filename){
|
||||||
|
File file = getFile(filename);
|
||||||
|
int length = (int) file.length();
|
||||||
|
|
||||||
|
byte[] bytes = new byte[length];
|
||||||
|
|
||||||
|
FileInputStream in = new FileInputStream(file);
|
||||||
|
try {
|
||||||
|
in.read(bytes);
|
||||||
|
} finally {
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
String contents = new String(bytes);
|
||||||
|
return contents;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue