Swerve Software for FRC cRIO Control System in C++ or Java

In order to quickly get a rudimentary swerve drive robot working, I am looking to see if any other teams that have written Swerve Drive control software for the FRC cRIO in C++ or Java would be willing to share their complete software implementation?

I’ve tried to search for this in old ChiefDelphi postings and white papers and have found many folks describing the math and the approach. However, I haven’t yet found any complete software implementation examples.

I realize that the software is part of the challenge and also realize that the control software for a given swerve robot may need to be changed significantly in order to work well on other robot designs. However, having a complete working example as a starting point would be very helpful.

Does anybody have a complete working software implementation for a swerve drive on the FRC cRIO control system that they would be willing and able to share?


PS: The specific swerve drive chassis for which I’ll be trying to implement swerve drive control software is a 4-wheel swerve with independent steering on all four pods and coaxial power distribution with right/left sides sharing drive power, similar to that shown in the swerve presentation of Cyber Blue 234 in slide 15. (See http://www.chiefdelphi.com/media/papers/2378 )

Hey Ken,

Please check your PM box. I can have you contact one of my programmers.


Let me know if he gets back to you. Otherwise we’ll just have him update the Codeplex page.

Our 2009 robot had a swerve drive with 4 independently steerable wheels that could rotate 360 degrees.