Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
535tobor authored Sep 28, 2023
1 parent fbf91ef commit 2217537
Show file tree
Hide file tree
Showing 6 changed files with 606 additions and 0 deletions.
77 changes: 77 additions & 0 deletions teamcode/BlueBoardSide.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.Autonomous;

@Autonomous(name="Blue, Board Side")
public class BlueBoardSide extends TargetOperations {

@Override
public void runOpMode() throws InterruptedException {
runInit();
while(opModeInInit()){runInitLoop();}
waitForStart();
runStart();
if (isStopRequested()){runStop();}
while (opModeIsActive()) {runLoop();}
visionPortal.close();
}

@Override
public void runInit() {
mapMotors("fr","fl","br","bl");
forwardMotors(false,true,false,true);
initAprilTag();
}

@Override
public void runInitLoop(){}

@Override
public void runStart() {}
@Override
public void runStop() {
stopAll();
}
@Override
public void runLoop() {

// when testing the botman's robot for a test bot make back wheels half speed (fr & fl = 1 then : br & bl = 0.5);

setAprilTagVariables();
if (gamepad1.a) {
drive(0.5,0.5, 0.25,0.25);
}
else {
driveZeroPower();
}

if (gamepad1.x) {
drive(0.5,-0.5, 0.25,-0.25);
}
else {
driveZeroPower();
}

if (gamepad1.b) {
drive(-0.5,0.5, -0.25,0.25);
}
else {
driveZeroPower();
}
output(tagId);
if (tagId == 1){
output("The First Tag!");
runStop();
}
else if (tagId == 2){
output("The Second Tag!");
runStop();
}
else if (tagId == 3){
output("The Third Tag!");
runStop();
}

}
}

50 changes: 50 additions & 0 deletions teamcode/BlueFarSide.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
import org.firstinspires.ftc.robotcore.external.hardware.camera.BuiltinCameraDirection;
import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName;
import org.firstinspires.ftc.vision.VisionPortal;
import org.firstinspires.ftc.vision.apriltag.AprilTagDetection;
import org.firstinspires.ftc.vision.apriltag.AprilTagProcessor;

import java.util.List;

@Autonomous(name="Blue, Far Side")
public class BlueFarSide extends TargetOperations {

@Override
public void runOpMode() {

runInit();
while(opModeInInit()){runInitLoop();}
waitForStart();
runStart();
if (isStopRequested()){runStop();}
while (opModeIsActive()) {runLoop();}
}

@Override
public void runInit() {

}

@Override
public void runInitLoop() {

}

@Override
public void runStart() {

}

@Override
public void runLoop() {

}

@Override
public void runStop() {

}
}
81 changes: 81 additions & 0 deletions teamcode/DriveRobot.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit;

@TeleOp
public class DriveRobot extends TargetOperations {

@Override
public void runOpMode() {
runInit();
while(opModeInInit()){runInitLoop();}
waitForStart();
runStart();
if (isStopRequested()){runStop();}
while (opModeIsActive()) {runLoop();}
}

@Override
public void runInit() {
mapMotors("fr","fl","br","bl");
forwardMotors(false,true,false,true);
imuGet("imu", "LEFT", "UP");
}

@Override
public void runInitLoop() {

}

@Override
public void runStart() {

}

@Override
public void runLoop() {
double y = -gamepad1.left_stick_y; // Remember, Y stick value is reversed
double x = gamepad1.left_stick_x;
double rx = gamepad1.right_stick_x;

// This button choice was made so that it is hard to hit on accident,
// it can be freely changed based on preference.
// The equivalent button is start on Xbox-style controllers.
if (gamepad1.options) {
imu.resetYaw();
}

double botHeading = imu.getRobotYawPitchRollAngles().getYaw(AngleUnit.RADIANS);

// Rotate the movement direction counter to the bot's rotation
double rotX = x * Math.cos(-botHeading) - y * Math.sin(-botHeading);
double rotY = x * Math.sin(-botHeading) + y * Math.cos(-botHeading);

rotX = rotX * 1.1; // Counteract imperfect strafing

// Denominator is the largest motor power (absolute value) or 1
// This ensures all the powers maintain the same ratio,
// but only if at least one is out of the range [-1, 1]
double denominator = Math.max(Math.abs(rotY) + Math.abs(rotX) + Math.abs(rx), 1);
double frontLeftPower = (rotY + rotX + rx) / denominator;
double backLeftPower = (rotY - rotX + rx) / denominator;
double frontRightPower = (rotY - rotX - rx) / denominator;
double backRightPower = (rotY + rotX - rx) / denominator;

// when testing the botman's robot for a test bot make back wheels half speed (fr & fl = 1 then : br & bl = 0.5);

fl.setPower(frontLeftPower);
bl.setPower(backLeftPower);
fr.setPower(frontRightPower);


// speed is still there, more force given to joystick, more power.

}

@Override
public void runStop() {

}
}
50 changes: 50 additions & 0 deletions teamcode/RedBoardSide.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
import org.firstinspires.ftc.robotcore.external.hardware.camera.BuiltinCameraDirection;
import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName;
import org.firstinspires.ftc.vision.VisionPortal;
import org.firstinspires.ftc.vision.apriltag.AprilTagDetection;
import org.firstinspires.ftc.vision.apriltag.AprilTagProcessor;

import java.util.List;

@Autonomous(name="Red, Board Side")
public class RedBoardSide extends TargetOperations {
@Override
public void runOpMode() {

runInit();
while(opModeInInit()){runInitLoop();}
waitForStart();
runStart();
if (isStopRequested()){runStop();}
while (opModeIsActive()) {runLoop();}
}

@Override
public void runInit() {

}

@Override
public void runInitLoop() {

}

@Override
public void runStart() {

}

@Override
public void runLoop() {

}

@Override
public void runStop() {

}

}
51 changes: 51 additions & 0 deletions teamcode/RedFarSide.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
import org.firstinspires.ftc.robotcore.external.hardware.camera.BuiltinCameraDirection;
import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName;
import org.firstinspires.ftc.vision.VisionPortal;
import org.firstinspires.ftc.vision.apriltag.AprilTagDetection;
import org.firstinspires.ftc.vision.apriltag.AprilTagProcessor;

import java.util.List;

@Autonomous(name="Red, Far Side")
public class RedFarSide extends TargetOperations {

@Override
public void runOpMode() {

runInit();
while(opModeInInit()){runInitLoop();}
waitForStart();
runStart();
if (isStopRequested()){runStop();}
while (opModeIsActive()) {runLoop();}
}

@Override
public void runInit() {

}

@Override
public void runInitLoop() {

}

@Override
public void runStart() {

}

@Override
public void runLoop() {

}

@Override
public void runStop() {

}

}
Loading

0 comments on commit 2217537

Please sign in to comment.