forked from FIRST-Tech-Challenge/FtcRobotController
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathposeFlip.java
More file actions
31 lines (25 loc) · 1.01 KB
/
Copy pathposeFlip.java
File metadata and controls
31 lines (25 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package org.firstinspires.ftc.teamcode;
import com.acmerobotics.roadrunner.Pose2d;
public class poseFlip {
// Field dimensions (meters)
public static final double FIELD_LENGTH = 3.6576;
public static final double FIELD_WIDTH = 3.6576;
public static Pose2d flipPose(Pose2d pose, Alliance alliance) {
if (alliance == Alliance.RED) {
return pose;
} else if (alliance == Alliance.BLUE) {
// flip logic
double origX = pose.position.x;
double origY = pose.position.y;
double origHeading = pose.heading.toDouble();
double flippedX = FIELD_LENGTH - origX;
double flippedY = FIELD_WIDTH - origY;
double flippedHeading = origHeading + Math.toRadians(180);
return new Pose2d(flippedX, flippedY, flippedHeading);
} else {
// In case a new enum is added, or null passed, just return pose as default
return pose;
}
}
public enum Alliance { RED, BLUE }
}