Trajectory planning on the Romi (and FRC robots)

My team has always had problems trying to do trajectory following with our robots, and we’ve often been jealous of robots making smooth, complex paths on the field, while ours uh… do the jerky “i-think-this-is-where-i-need-to-be” driving. Apart from the usual problems of not having a robot ready until 10 minutes before our first match, it’s been extra hard last year (and this year), since we are fully remote, and have no access to our robot, nor a build space. With the Romi however, we can get a lot more students learning how to path-plan and get familiar with the WPILib Trajectory system.

Now you too can slalom at home with your Romi! I built a modified version 11 of the RamseteCommand WPILib example and added in a bunch of extra waypoints.

The drivetrain constants were found using the frc-characterization tool, and a Romi characterization template project 7. The README on that link has a little more information on how to use frc-characterization to get useful numbers about your Romi. The constants defined in the Romi trajectory project were based off a stock Romi kit with no additional components. You may need to tweak values a little to compensate for physical differences between the Romis, or better yet, characterize your own!

Hopefully this helps more teams learn about the joys of trajectory following, on a smaller scale.

You can use the Romi to learn about trajectory planning that can then be applied to your full-sized FRC robot. Maybe you can find some use in a FIRST At Home challenge.

Zhiquan Yeo