Swerve Drive: On a Boat!

If swerve drive can work on land, then surely it can work on water, too! Or at least, so we hoped.

What is Swerve Drive?

Swerve drive is a type of omni-directional drive. Which is cool, but may not be the best explanation. So what is an omni-directional drive? It is a drive that can move the vehicle in any direction. Imagine if your car could not only travel forwards and in reverse, but could also move sideways. That would make parking a lot easier. That’s what omni-directional drives can do (and yes, there have been cars that have employed them).

There are four common approaches to omni-directional drives in robotics, although not all can apply to the water. The first is to use carefully positioned omni-wheels, which are wheels that rotate in one direction, but can still slide (without power) in another. The simplest form of drive using these is a “kiwi drive”, which uses three of these wheels at each point in a triangle. An alternative form uses four motors, with each motor mounted at the corners of the robot at 45 degrees. This is often called an “X drive”, as the four wheels make an X.

These are great, but the problem is that the motors always compete against each other. When driving forward with an X drive all four wheels rotate in the same direction, but each provides power at 45 degrees from the direction it is travelling, halving the overall power. The beauty, though, is the simplicity, and even better this works on boats: check out the work by the University of Florida’s Robot team from 2018 for a perfect example of this approach.

Another common approach in FRC competitions is to use mecanum wheels: strangely complicated wheels which can perform very well on land, maintaining more power when moving forward (although they still loose a lot when moving sideways). But this is difficult to apply in water.

So this leaves the fourth model: swerve drive. Swerve drive allows each wheel to rotate independently, which allows the robot to move in any direction with full power. Imagine a shopping cart with powered wheels. They are great in robotics because we get to keep all our power while having the best possible manoeuvrability. The only problem is that they are complicated – hard to build, hard to program, and hard to keep from breaking down at every opportunity. Still, if you can solve those problems the rewards are great.

It was clear from looking at previous entries that manoeuvrability was essential just as power was. So all we needed to do was convert our land-based experience with swerve drive into a water-based solution.

Step one: buy the motors. Four electric motors with 50lbs thrust were selected, partly because they were the only ones we could find, but mostly because they were prefect anyway. (Supply shortages are sadly a major concern in this project, but we were lucky with this one). At 12 VDC they would provide enough power for the robot. We just had to work out how to control them and how to get them to turn.

Step two: control the motors. Control proved to be easier than expected: we just ripped out all the electronics (there wasn’t much) and grabbed a motor controller off the shelf. It was a part we normally use in FRC robots, but it was perfect here – we just had to hook up two wires and we were done! Which brings us to …

Step three: rotate the motors. Using 3D printed parts, a NEO 550 motor left over the the other robots, and a motor controller for the same, we built a little swerve drive.

Surprisingly, not only did everything work, but the overall outcome was better than we expected. When we normally build robots, the robots are deigned to move fast and get hit hard. Which means that the fragility of a swerve drive is a problem. But boats (well, at least out boats) don’t move fast! The swerve drive is under much less pressure, so it could (and should) turn slower, use less power, and constantly calibrate itself – all because we have the time to do just that.