diff --git a/Docs/General/Java.md b/Docs/1_General/1.1_Java.md similarity index 100% rename from Docs/General/Java.md rename to Docs/1_General/1.1_Java.md diff --git a/Docs/General/BasicGit.md b/Docs/1_General/1.2_BasicGit.md similarity index 100% rename from Docs/General/BasicGit.md rename to Docs/1_General/1.2_BasicGit.md diff --git a/Docs/General/GitWorkflow.md b/Docs/1_General/1.3_GitWorkflow.md similarity index 100% rename from Docs/General/GitWorkflow.md rename to Docs/1_General/1.3_GitWorkflow.md diff --git a/Docs/General/ReadingList.md b/Docs/1_General/1.4_ReadingList.md similarity index 100% rename from Docs/General/ReadingList.md rename to Docs/1_General/1.4_ReadingList.md diff --git a/Docs/2_Architecture/2.10_Superstructure.md b/Docs/2_Architecture/2.10_Superstructure.md new file mode 100644 index 0000000..e69de29 diff --git a/Docs/Architecture/WPILib.md b/Docs/2_Architecture/2.1_WPILib.md similarity index 100% rename from Docs/Architecture/WPILib.md rename to Docs/2_Architecture/2.1_WPILib.md diff --git a/Docs/General/ElectronicsCrashCourse.md b/Docs/2_Architecture/2.2_ElectronicsCrashCourse.md similarity index 100% rename from Docs/General/ElectronicsCrashCourse.md rename to Docs/2_Architecture/2.2_ElectronicsCrashCourse.md diff --git a/Docs/Architecture/CommandBased.md b/Docs/2_Architecture/2.3_CommandBased.md similarity index 100% rename from Docs/Architecture/CommandBased.md rename to Docs/2_Architecture/2.3_CommandBased.md diff --git a/Docs/Architecture/CommandBasedPresentationNotes.md b/Docs/2_Architecture/2.4_CommandBasedPresentationNotes.md similarity index 100% rename from Docs/Architecture/CommandBasedPresentationNotes.md rename to Docs/2_Architecture/2.4_CommandBasedPresentationNotes.md diff --git a/Docs/Architecture/KitbotExampleWalkthrough.md b/Docs/2_Architecture/2.5_KitbotExampleWalkthrough.md similarity index 100% rename from Docs/Architecture/KitbotExampleWalkthrough.md rename to Docs/2_Architecture/2.5_KitbotExampleWalkthrough.md diff --git a/Docs/Architecture/AdvantageKit.md b/Docs/2_Architecture/2.6_AdvantageKit.md similarity index 100% rename from Docs/Architecture/AdvantageKit.md rename to Docs/2_Architecture/2.6_AdvantageKit.md diff --git a/Docs/Architecture/AKitStructureReference.md b/Docs/2_Architecture/2.7_AKitStructureReference.md similarity index 100% rename from Docs/Architecture/AKitStructureReference.md rename to Docs/2_Architecture/2.7_AKitStructureReference.md diff --git a/Docs/Architecture/Simulation.md b/Docs/2_Architecture/2.8_Simulation.md similarity index 100% rename from Docs/Architecture/Simulation.md rename to Docs/2_Architecture/2.8_Simulation.md diff --git a/Docs/Architecture/KitbotExampleWalkthroughSim.md b/Docs/2_Architecture/2.9_KitbotExampleWalkthroughSim.md similarity index 100% rename from Docs/Architecture/KitbotExampleWalkthroughSim.md rename to Docs/2_Architecture/2.9_KitbotExampleWalkthroughSim.md diff --git a/Docs/Specifics/ControlsIntro.md b/Docs/3_Specifics/3.1_ControlsIntro.md similarity index 100% rename from Docs/Specifics/ControlsIntro.md rename to Docs/3_Specifics/3.1_ControlsIntro.md diff --git a/Docs/Specifics/MotionProfiling.md b/Docs/3_Specifics/3.2_MotionProfiling.md similarity index 100% rename from Docs/Specifics/MotionProfiling.md rename to Docs/3_Specifics/3.2_MotionProfiling.md diff --git a/Docs/3_Specifics/3.3_Swerve.md b/Docs/3_Specifics/3.3_Swerve.md new file mode 100644 index 0000000..e69de29 diff --git a/Docs/Specifics/Choreo.md b/Docs/3_Specifics/3.4_Choreo.md similarity index 100% rename from Docs/Specifics/Choreo.md rename to Docs/3_Specifics/3.4_Choreo.md diff --git a/Docs/Specifics/Vision.md b/Docs/3_Specifics/3.5_Vision.md similarity index 100% rename from Docs/Specifics/Vision.md rename to Docs/3_Specifics/3.5_Vision.md diff --git a/Docs/Specifics/PathPlanner.md b/Docs/Specifics/PathPlanner.md deleted file mode 100644 index ea63226..0000000 --- a/Docs/Specifics/PathPlanner.md +++ /dev/null @@ -1,30 +0,0 @@ -# PathPlanner - -## A library enabling advanced autonomous path following for FRC - -Pathplanner is a combination of an app which lets you draw spline paths on a map of the field and a library which translates that path into commands for our robot to follow. -The library allows extremely easy and concise autonomous programming and is what enables us to have high-level autos. -The library also has features to trigger non-drivetrain Commands during auto letting us do most of the work of writing new auto paths in the path editor instead of in code. - -### Resources - -- [PathPlanner Repository](https://github.com/mjansen4857/pathplanner) -- [PathPlanner Docs](https://github.com/mjansen4857/pathplanner/wiki) -- _Make a demo video of setting up pathplanner and making an auto_ - -### Examples - -- Previous years code - - `AutoChooser.java` in 2023 -- _example code from video to make_ - -### Exercises - -- Set up PathPlanner in kitbot drive code - - Make a method that returns a `DifferentialDriveAutoBuilder` - - Use that `AutoBuilder` to generate a full auto command - -### Notes - -- We may be reworking how we do our autos in the near future, including doing a partial rewrite of PathPlanner. - Talk to a software lead or mentor for more details (and _update this page later_!) diff --git a/Docs/Specifics/image.png b/Docs/Specifics/image.png deleted file mode 100644 index 4412468..0000000 Binary files a/Docs/Specifics/image.png and /dev/null differ diff --git a/Examples/KitbotDemoFinal/src/main/java/frc/robot/Robot.java b/Examples/KitbotDemoFinal/src/main/java/frc/robot/Robot.java index 01aa48d..d35c9d1 100644 --- a/Examples/KitbotDemoFinal/src/main/java/frc/robot/Robot.java +++ b/Examples/KitbotDemoFinal/src/main/java/frc/robot/Robot.java @@ -20,6 +20,7 @@ public class Robot extends LoggedRobot { private RobotContainer m_robotContainer; @Override + @SuppressWarnings("resource") public void robotInit() { Logger.recordMetadata("ProjectName", "KitbotExample"); // Set a metadata value diff --git a/Examples/KitbotDemoSim/src/main/java/frc/robot/Robot.java b/Examples/KitbotDemoSim/src/main/java/frc/robot/Robot.java index a14483b..e3f9502 100644 --- a/Examples/KitbotDemoSim/src/main/java/frc/robot/Robot.java +++ b/Examples/KitbotDemoSim/src/main/java/frc/robot/Robot.java @@ -20,6 +20,7 @@ public class Robot extends LoggedRobot { private RobotContainer m_robotContainer; @Override + @SuppressWarnings("resource") public void robotInit() { Logger.recordMetadata("ProjectName", "KitbotExample"); // Set a metadata value diff --git a/README.md b/README.md index 3247e8a..9816827 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This material is _not_ made to comprehensively teach everything you need to know We believe that the best way to learn what is needed to be successful on the team is to work hands-on on real projects, not be taught by a rigid curriculum (if the classroom was the best way, we would be doing that instead of building robots, after all). To that end, these materials exist primarily to soften the learning curve and provide reference material. -If you feel that this material is going too slow, you may skip or skim through the material. +You should progress through these in order, but if you feel that this material is going too slow, you may skip or skim through the material. However, understand that the material marked as required is done so for a reason, and try to make sure you understand it before skipping ahead, as you may be referred back to the material if you have questions that it covers later. If you feel that this material is too fast or too much, talk to your lead or a mentor. @@ -23,38 +23,45 @@ Each link down below corresponds to one "course" in the team training system. Each page will have a brief description of the topic and may include links to other resources. At the end of each page, there will be one or two exercises to complete. Once you complete them, show a lead or mentor to get checked off as having completed that course and move on to the next one as suggested on the page. -The order that these need to be completed roughly matches the order on this page. -Everything through [Architecture](#architecture) including simulation is required, but pages after it do provide useful information. -Controls in particular contain techniques used in most mechanisms on the robot. +Everything through **3.1 PID and Feedforward Control Intro** is required, but pages after it do provide useful information. + +The Examples folder contains full code for the kitbot demos. + +The Stage-3-Writeups folder contains various writeups from team members about specific subjects, particularly offseason projects and other "research". +We encourage you to browse through these, and to ask a lead if you'd like to learn more! ## Docs ### General Programming -- [**JIN** - Java Basics](Docs/General/Java.md) -- [**GIT** - Git Basics](Docs/General/BasicGit.md) -- [**GWF** - Team Git Workflow](Docs/General/GitWorkflow.md) +- [1.1 Java Basics](Docs/1_General/1.1_Java.md) +- [1.2 Git Basics](Docs/1_General/1.2_BasicGit.md) +- [1.3 Team Git Workflow](Docs/1_General/1.3_GitWorkflow.md) ### Architecture -- [**FPI** - WPILib / Intro to FRC Programming](Docs/Architecture/WPILib.md) -- [**ARC** - Team Architecture / Command Based](Docs/Architecture/CommandBased.md) -- [**AKT** - AdvantageKit and Logging](Docs/Architecture/AdvantageKit.md) -- [**SIM** - Simulation](Docs/Architecture/Simulation.md) +- [2.1 WPILib / Intro to FRC Programming](Docs/2_Architecture/2.1_WPILib.md) +- [2.2 Electrical Intro](Docs/2_Architecture/2.2_ElectronicsCrashCourse.md) +- [2.3-2.5 Command Based](Docs/2_Architecture/2.3_CommandBased.md) +- [2.6-2.7 AdvantageKit and Logging](Docs/2_Architecture/2.6_AdvantageKit.md) +- [2.8-2.9 Simulation](Docs/2_Architecture/2.8_Simulation.md) +- [2.10 Overall architecture(??)](Docs/2_Architecture/2.10_Superstructure.md) ### Controls -- [**PID** - PID and Feedforward Control Intro](Docs/Specifics/ControlsIntro.md) +- [3.1 PID and Feedforward Control Intro](Docs/3_Specifics/3.1_ControlsIntro.md) +- [3.2 Motion Profiling](Docs/3_Specifics/3.2_MotionProfiling.md) -### Libraries and Tooling +### Swerve - This section is a work in progress, due to changes in how we do auto paths and vision in the 2023 offseason. +- [3.3 Swerve](Docs/3_Specifics/3.3_Swerve.md) -- [**AUT** - PathPlanner and Auto](Docs/Specifics/PathPlanner.md) +### Libraries and Tooling -- [**PVN** - PhotonVision and Vision](Docs/Specifics/Vision.md) +- [3.4 Choreo and Auto](Docs/3_Specifics/3.4_Choreo.md) +- [3.5 PhotonVision and Vision](Docs/3_Specifics/3.5_Vision.md) ### See Also - [Training Docs Template](Template.md) -- [Further Reading](Docs/General/ReadingList.md) +- [Further Reading](Docs/1_General/1.4_ReadingList.md)