Skip to content

Debugged AutoBuilder and Created Better Paths#19

Merged
Orcasphynx merged 4 commits intodevelopmentfrom
debug/AutoBuilder
Feb 14, 2026
Merged

Debugged AutoBuilder and Created Better Paths#19
Orcasphynx merged 4 commits intodevelopmentfrom
debug/AutoBuilder

Conversation

@Orcasphynx
Copy link
Collaborator

No description provided.

@github-actions
Copy link

github-actions bot commented Feb 12, 2026

AI Code Review

This pull request introduces significant updates to our autonomous capabilities, and it's fantastic to see so much progress in defining and organizing our PathPlanner routines! The changes demonstrate a strong effort to create a flexible and well-structured autonomous system.

Positive Highlights

  • Excellent PathPlanner Organization: The new .auto and .path files are clearly organized into specific folders like "Basic Comp Paths," "Test Autos," "Plus Sign Test," etc., and these folders are correctly referenced in settings.json. This is a huge win for maintaining a clean and understandable autonomous codebase!
  • Robust AutoBuilder Integration: The DrivetrainSubsystem now uses SwerveRequest.ApplyRobotSpeeds and dynamically pulls PID constants from DrivePreferences for the PPHolonomicDriveController. This makes our autonomous driving more precise and easily tunable, which is a great practice.
  • Comprehensive Autonomous Routines: The addition of multiple new auto sequences (Basic Comp Auto, Plus Auto, Rotate and Move Auto, Square Auto) shows a thorough approach to testing and preparing diverse autonomous strategies.

Suggestions

FRC/WPILib Best Practices

  • networktables.json.bck:

    • Suggestion: networktables.json.bck seems to be a backup file. It might be helpful to consider if this file is truly necessary to track in the main repository. Often, temporary or backup files are best kept out of version control to keep the repository clean. If it's a generated file or a temporary backup, removing it might be a good idea.
    • Why it matters: Keeping the repository focused on active, essential code and configuration files makes it easier for everyone to navigate and understand the codebase.
  • Simple Auto.auto and Simple Path.path Folder Consistency:

    • Suggestion: You've done a great job assigning folders to most of the new auto and path files. Simple Auto.auto and Simple Path.path currently have "folder": null. To maintain consistency, you might consider assigning these to a folder as well, perhaps "Test Autos" or a new "Simple Tests" folder, so all PathPlanner assets are clearly categorized.
    • Why it matters: Consistent organization helps team members quickly locate and understand the purpose of different autonomous routines and paths within the PathPlanner UI and the repository.

Java Standards

  • Javadoc for configureAutoBuilder():
    • Suggestion: The configureAutoBuilder() method in DrivetrainSubsystem.java is a crucial setup point for our autonomous system. Adding Javadoc comments to this method would be very beneficial. Explaining what each lambda (supplier for pose, consumer for resetting pose, supplier for speeds, consumer for driving, etc.) provides to AutoBuilder, and why the alliance check is important for path flipping, would greatly enhance understanding for anyone working with the drivetrain or autonomous code.
    • Why it matters: Clear documentation, especially for complex integration points like AutoBuilder, makes the code more maintainable and easier for new team members to learn from.

Safety & Error Handling

  • Enhanced Error Reporting in configureAutoBuilder():
    • Observation: The try-catch block in configureAutoBuilder() is excellent for fault detection, logging issues with AutoBuilder configuration.
    • Suggestion: When reporting errors with DriverStation.reportError, sometimes including ex.getMessage() in addition to ex.getStackTrace() can provide immediate, human-readable context about what went wrong, before digging into the full stack trace. For example: DriverStation.reportError("Failed to load PathPlanner config and configure AutoBuilder: " + ex.getMessage(), ex.getStackTrace());
    • Why it matters: Clearer and more informative error messages can significantly speed up debugging, especially during critical match times.

Questions

  1. networktables.json.bck: Could you clarify if the networktables.json.bck file is intended to be a permanent part of the repository, or if it was a temporary file that can be removed?
  2. Simple Auto.auto / Simple Path.path Folder: Was there a specific reason to leave Simple Auto.auto and Simple Path.path without an explicit folder defined, unlike the other new auto/path files?

Great work getting these autonomous paths defined and integrated! This is a huge step forward for our robot's autonomous capabilities. Keep up the fantastic work!


This review was automatically generated by AI. Please use your judgment and feel free to discuss any suggestions!

@github-actions
Copy link

✓ Build successful and code formatting check passed!

@github-actions
Copy link

✓ Build successful and code formatting check passed!

@Orcasphynx Orcasphynx merged commit 02f4781 into development Feb 14, 2026
2 checks passed
@Orcasphynx Orcasphynx deleted the debug/AutoBuilder branch February 14, 2026 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant