Skip to content

Commit d5a696b

Browse files
committed
AutoAlign Cleanup
1 parent fb705d2 commit d5a696b

1 file changed

Lines changed: 76 additions & 92 deletions

File tree

src/main/java/frc/robot/subsystems/auto/AutoAlign.java

Lines changed: 76 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,75 @@ public static boolean poseInPlace(AlignType type) {
182182
private static final Pose2d rRedReefFaceKL =
183183
aprilTagFieldLayout.getTagPose(6).get().toPose2d().plus(l1RightOfReef);
184184

185+
private static final List allBlueBranches =
186+
List.of(
187+
blueBranchA,
188+
blueBranchB,
189+
blueBranchC,
190+
blueBranchD,
191+
blueBranchE,
192+
blueBranchF,
193+
blueBranchG,
194+
blueBranchH,
195+
blueBranchI,
196+
blueBranchJ,
197+
blueBranchK,
198+
blueBranchL);
199+
private static final List allRedBranches =
200+
List.of(
201+
redBranchA,
202+
redBranchB,
203+
redBranchC,
204+
redBranchD,
205+
redBranchE,
206+
redBranchF,
207+
redBranchG,
208+
redBranchH,
209+
redBranchI,
210+
redBranchJ,
211+
redBranchK,
212+
redBranchL);
213+
private static final List leftBlueBranches =
214+
List.of(blueBranchA, blueBranchC, blueBranchE, blueBranchG, blueBranchI, blueBranchK);
215+
private static final List leftRedBranches =
216+
List.of(redBranchA, redBranchC, redBranchE, redBranchG, redBranchI, redBranchK);
217+
private static final List rightBlueBranches =
218+
List.of(blueBranchB, blueBranchD, blueBranchF, blueBranchH, blueBranchJ, blueBranchL);
219+
private static final List rightRedBranches =
220+
List.of(redBranchB, redBranchD, redBranchF, redBranchH, redBranchJ, redBranchL);
221+
private static final List leftL1BluePoses =
222+
List.of(
223+
lBlueReefFaceAB,
224+
lBlueReefFaceCD,
225+
lBlueReefFaceEF,
226+
lBlueReefFaceGH,
227+
lBlueReefFaceIJ,
228+
lBlueReefFaceKL);
229+
private static final List leftL1RedPoses =
230+
List.of(
231+
lRedReefFaceAB,
232+
lRedReefFaceCD,
233+
lRedReefFaceEF,
234+
lRedReefFaceGH,
235+
lRedReefFaceIJ,
236+
lRedReefFaceKL);
237+
private static final List rightL1BluePoses =
238+
List.of(
239+
rBlueReefFaceAB,
240+
rBlueReefFaceCD,
241+
rBlueReefFaceEF,
242+
rBlueReefFaceGH,
243+
rBlueReefFaceIJ,
244+
rBlueReefFaceKL);
245+
private static final List rightL1RedPoses =
246+
List.of(
247+
rRedReefFaceAB,
248+
rRedReefFaceCD,
249+
rRedReefFaceEF,
250+
rRedReefFaceGH,
251+
rRedReefFaceIJ,
252+
rRedReefFaceKL);
253+
185254
private static class AutoAlignCommand extends Command {
186255

187256
protected final PIDController pidX = new PIDController(4, 0, 0);
@@ -256,102 +325,17 @@ public void end(boolean interrupted) {
256325

257326
public static Pose2d getTargetPose(Pose2d pose, AlignType type) {
258327
return switch (type) {
259-
case LEFTB -> getNearestLeftBranch(pose);
260-
case RIGHTB -> getNearestRightBranch(pose);
261-
case L1LB -> getNearestL1L(pose);
262-
case L1RB -> getNearestL1R(pose);
263-
case ALLB -> getNearestBranch(pose);
328+
case LEFTB -> getNearestBranch(pose, leftBlueBranches, leftRedBranches);
329+
case RIGHTB -> getNearestBranch(pose, rightBlueBranches, rightRedBranches);
330+
case L1LB -> getNearestBranch(pose, leftL1BluePoses, leftL1RedPoses);
331+
case L1RB -> getNearestBranch(pose, rightL1BluePoses, rightL1RedPoses);
332+
case ALLB -> getNearestBranch(pose, allBlueBranches, allRedBranches);
264333
};
265334
}
266335

267-
private static Pose2d getNearestBranch(Pose2d p) {
268-
List<Pose2d> branchPose2ds =
269-
AllianceUtils.isBlue()
270-
? List.of(
271-
blueBranchA,
272-
blueBranchB,
273-
blueBranchC,
274-
blueBranchD,
275-
blueBranchE,
276-
blueBranchF,
277-
blueBranchG,
278-
blueBranchH,
279-
blueBranchI,
280-
blueBranchJ,
281-
blueBranchK,
282-
blueBranchL)
283-
: List.of(
284-
redBranchA,
285-
redBranchB,
286-
redBranchC,
287-
redBranchD,
288-
redBranchE,
289-
redBranchF,
290-
redBranchG,
291-
redBranchH,
292-
redBranchI,
293-
redBranchJ,
294-
redBranchK,
295-
redBranchL);
296-
return p.nearest(branchPose2ds);
297-
}
298-
299-
private static Pose2d getNearestLeftBranch(Pose2d p) {
300-
List<Pose2d> branchPose2ds =
301-
AllianceUtils.isBlue()
302-
? List.of(
303-
blueBranchA, blueBranchC, blueBranchE, blueBranchG, blueBranchI, blueBranchK)
304-
: List.of(redBranchA, redBranchC, redBranchE, redBranchG, redBranchI, redBranchK);
336+
private static Pose2d getNearestBranch(Pose2d p, List bluePoses, List redPoses) {
337+
List<Pose2d> branchPose2ds = AllianceUtils.isBlue() ? bluePoses : redPoses;
305338
return p.nearest(branchPose2ds);
306339
}
307-
308-
private static Pose2d getNearestRightBranch(Pose2d p) {
309-
List<Pose2d> branchPose2ds =
310-
AllianceUtils.isBlue()
311-
? List.of(
312-
blueBranchB, blueBranchD, blueBranchF, blueBranchH, blueBranchJ, blueBranchL)
313-
: List.of(redBranchB, redBranchD, redBranchF, redBranchH, redBranchJ, redBranchL);
314-
return p.nearest(branchPose2ds);
315-
}
316-
317-
private static Pose2d getNearestL1L(Pose2d p) {
318-
List<Pose2d> reefFacesPose2ds =
319-
AllianceUtils.isBlue()
320-
? List.of(
321-
lBlueReefFaceAB,
322-
lBlueReefFaceCD,
323-
lBlueReefFaceEF,
324-
lBlueReefFaceGH,
325-
lBlueReefFaceIJ,
326-
lBlueReefFaceKL)
327-
: List.of(
328-
lRedReefFaceAB,
329-
lRedReefFaceCD,
330-
lRedReefFaceEF,
331-
lRedReefFaceGH,
332-
lRedReefFaceIJ,
333-
lRedReefFaceKL);
334-
return p.nearest(reefFacesPose2ds);
335-
}
336-
337-
private static Pose2d getNearestL1R(Pose2d p) {
338-
List<Pose2d> reefFacesPose2ds =
339-
AllianceUtils.isBlue()
340-
? List.of(
341-
rBlueReefFaceAB,
342-
rBlueReefFaceCD,
343-
rBlueReefFaceEF,
344-
rBlueReefFaceGH,
345-
rBlueReefFaceIJ,
346-
rBlueReefFaceKL)
347-
: List.of(
348-
rRedReefFaceAB,
349-
rRedReefFaceCD,
350-
rRedReefFaceEF,
351-
rRedReefFaceGH,
352-
rRedReefFaceIJ,
353-
rRedReefFaceKL);
354-
return p.nearest(reefFacesPose2ds);
355-
}
356340
}
357341
}

0 commit comments

Comments
 (0)