@@ -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