added blue default parking behavior
This commit is contained in:
parent
0f0573c7e3
commit
bb8a4d5bc1
|
@ -0,0 +1,55 @@
|
|||
package org.firstinspires.ftc.teamcode.createdcode.enhancedautos;
|
||||
|
||||
import com.acmerobotics.roadrunner.geometry.Pose2d;
|
||||
import com.acmerobotics.roadrunner.geometry.Vector2d;
|
||||
import com.acmerobotics.roadrunner.trajectory.Trajectory;
|
||||
import com.acmerobotics.roadrunner.trajectory.TrajectoryBuilder;
|
||||
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
||||
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
||||
import org.firstinspires.ftc.teamcode.drive.SampleMecanumDrive;
|
||||
|
||||
@Autonomous
|
||||
public class AutoBlueDefaultParkingBehaviorBottom extends LinearOpMode {
|
||||
SampleMecanumDrive mecanumDrive;
|
||||
|
||||
@Override
|
||||
public void runOpMode() throws InterruptedException {
|
||||
mecanumDrive = new SampleMecanumDrive(hardwareMap);
|
||||
|
||||
|
||||
waitForStart();
|
||||
|
||||
Trajectory firstMove = makeTrajectories(
|
||||
new Pose2d(new Vector2d(-34, 60), 0),
|
||||
new int[]{-34},
|
||||
new int[]{40}
|
||||
);
|
||||
|
||||
mecanumDrive.followTrajectory(firstMove);
|
||||
|
||||
double time = getRuntime() + 5;
|
||||
/* wait for 5 seconds to allow color sensor to settle */
|
||||
while (true) {
|
||||
if (!(getRuntime() < time)) break; // needed to stop android studio from yelling
|
||||
}
|
||||
|
||||
// init move to default terminal
|
||||
Trajectory endpos = makeTrajectories(firstMove.end(),
|
||||
new int[]{-34, -70},
|
||||
new int[]{60, 60}
|
||||
);
|
||||
|
||||
mecanumDrive.followTrajectory(endpos);
|
||||
}
|
||||
|
||||
private Trajectory makeTrajectories(Pose2d startPos, int[] x, int[] y) {
|
||||
assert x.length == y.length;
|
||||
TrajectoryBuilder builder = mecanumDrive.trajectoryBuilder(startPos);
|
||||
|
||||
for (int i = 0; i < x.length; i++) {
|
||||
builder.splineTo(new Vector2d(x[i], y[i]), 0);
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
package org.firstinspires.ftc.teamcode.createdcode.enhancedautos;
|
||||
|
||||
import com.acmerobotics.roadrunner.geometry.Pose2d;
|
||||
import com.acmerobotics.roadrunner.geometry.Vector2d;
|
||||
import com.acmerobotics.roadrunner.trajectory.Trajectory;
|
||||
import com.acmerobotics.roadrunner.trajectory.TrajectoryBuilder;
|
||||
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
|
||||
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
|
||||
import org.firstinspires.ftc.teamcode.drive.SampleMecanumDrive;
|
||||
|
||||
@Autonomous
|
||||
public class AutoBlueDefaultParkingBehaviorTop extends LinearOpMode {
|
||||
SampleMecanumDrive mecanumDrive;
|
||||
|
||||
@Override
|
||||
public void runOpMode() throws InterruptedException {
|
||||
mecanumDrive = new SampleMecanumDrive(hardwareMap);
|
||||
|
||||
|
||||
waitForStart();
|
||||
|
||||
Trajectory firstMove = makeTrajectories(
|
||||
new Pose2d(new Vector2d(36, 60), 0),
|
||||
new int[]{36},
|
||||
new int[]{40}
|
||||
);
|
||||
|
||||
mecanumDrive.followTrajectory(firstMove);
|
||||
|
||||
double time = getRuntime() + 5;
|
||||
/* wait for 5 seconds to allow color sensor to settle */
|
||||
while (true) {
|
||||
if (!(getRuntime() < time)) break; // needed to stop android studio from yelling
|
||||
}
|
||||
|
||||
// init move to default terminal
|
||||
Trajectory endpos = makeTrajectories(firstMove.end(),
|
||||
new int[]{36, 70},
|
||||
new int[]{60, 60}
|
||||
);
|
||||
|
||||
mecanumDrive.followTrajectory(endpos);
|
||||
}
|
||||
|
||||
private Trajectory makeTrajectories(Pose2d startPos, int[] x, int[] y) {
|
||||
assert x.length == y.length;
|
||||
TrajectoryBuilder builder = mecanumDrive.trajectoryBuilder(startPos);
|
||||
|
||||
for (int i = 0; i < x.length; i++) {
|
||||
builder.splineTo(new Vector2d(x[i], y[i]), 0);
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue