About this documentation#

Swerve IS HARD#

We’re not joking. SWERVE IS HARD! Please do not attempt to do swerve if your team does not have:

  1. lots of mechanical knowledge

  2. lots of programming experience

  3. substantial funding for a crazy expensive drivetrain

  4. ridiculous persistence and dedication

We DON’T want to deter you from achieving your dream machine. We DO want to limit the number of broken-down robots on the field. As FRC Team 1684’s drive coach Jon Uren says, “Build within your means.” If your team doesn’t meet all the requirements listed above, please reconsider attempting to do swerve. Poorly implemented swerve (in both a programming and mechanical sense) will do your team a major disservice. Sure, that robot might look cool or sound epic. But, does it work!? Most of the time, the simpler the better.

We’re Not THE EXPERTS… Just Experienced People#

If your team decides to go down this path, please pay close attention to the advice in this documentation. We have lived through the joys and sorrows of swerve. Please note that we are not claiming to be THE EXPERTS at swerve. Regardless, we are just experienced people . We just want to share everything we’ve learned since day 1 of the 2022 season. Like everyone, we are still learning from our mistakes . We will continue to iterate our designs so our robot can be its absolute best. We urge you all to do the same.

Don’t Be Afraid To Ask For Help!#

We all know that time on the robot is limited. Programmers always wish for more time on the finished robot. Time is the most valuable build season commodity. Before something does not go as planned, it should be part of your programming strategy to know when to reach out for help. Help can mean looking for sample code, asking on a forum if someone has had a similar issue, or even reaching out to other teams to review your code. Remember that other FRC programmers will likely be in the same semi-frantic state that you are trying to figure out the one thing that isn’t working. Someone outside of your programming team may not have the time to help you. Asking for another team’s time during build season is a BIG ASK!

Some day, you may be the one being asked for assistance. It is an honor to be worthy of being asked to help. Give whatever assistance that you can, but your responsibility will still be getting your own robot ready to go.

This Is A Living Document#

We intend to revise this document as we acquire new swerve knowledge. Additionally, we will modify this document as needed to help add clarification and answer commonly asked questions. We also public our code for this documentation on the Github, you can see it from the top-right page. So, you can either open an issue or send me an e-mail if you want to contribute to this documentation

We want your feedback! Please let us know how we can improve this documentation!