I am from Team 955 and this year we have decided to attempt swerve drive in the offseason. It will not be super fast, as we are really just trying to do a proof of concept and show that we are capable of creating it. The plan is that it will be coaxial and use two miniCIMs. Ideally, both motors would be static. (We want to make wiring easier and less likely to break). We will transfer rotation to the wheel by having a shaft turn a 90 degree bevel gear setup and having that turn the wheel. The module will be attached to a versa pulley which will rotate on the shaft, independently from the wheel turning itself. The entire module will be swiveled by a separate pulley that will run to the large versa pulley. The module will be held steady by running the shaft through two 1/2 inch hex bearings, and the versa pulley will be below both.
Looking at other designs, we have noticed that most other coaxial swerves are able to swivel the module from a pulley or sprocket that is above the supporting plates and bearings, but we are struggling to determine how this is done. We realize that with that setup, the entire module would be more compact and efficient. If anyone here has ideas or explanations on how it can be done, we would greatly appreciate it.
Another question we have is about the swiveling of the module. With some prototypes, we have noticed that when you swivel it, the wheel also turns (some of the force is transferred to the turning of the wheel). Would this be a problem when you are turning the swerve base and the wheels are pointing in different directions? If so, how can this be avoided?
Here is a link to Andymark’s swerve module, which has a very helpful assembly guide linked near the bottom of the product description that would be useful to look at and get a better understanding of a swerve module’s mechanical function even if you do not buy them and choose to build your own.
Please please please do not use 1/2" hex bearings to support your module. They are not intended to handle the thrust loads that they would experience supporting ~1/4 of the weight of your robot. Look in to “thrust bearings” – they are designed to take those loads. In addition, if you get one that has a large enough diameter, you can steer the module from above the bearing. Aren Hill’s swerve module is a great example of this using a Silverthin bearing.
2767 Stryke Force uses a coaxial design very similar to what you describe. The history of “Third Coast Swerve” is laid out in the following white paper:
It is also on our website along with links to our CAD and code.
This history covers a lot of the design decisions we made and it was written to help people in your position. It’ll receive its annual update in about a month, but the latest CAD is already out there. That said, I’d advise looking at either the 2017 or 2018 versions for your first foray rather than the current version. The main advantages to the 2019 version are weight (~1/3# per corner) and volume savings, but it requires access to a Markforged MkII printer.
As AnthonyC stated though, make sure you consider this decision carefully. From our perspective, something like ten iterations into it, swerve is easy from an engineering standpoint. Even so, it eats up fully half of your motors, and a lot of your BOM budget, which can make design of the remainder of the robot challenging. It also requires more fabrication effort than more standard drive systems.
On the support of the module: If you look at the Third Coast design, you’ll see we use bushings, not bearings to handle the module support loads. These interfaces are low speed, and, with the dimensions of our design, the pressures are also low–optimal conditions for bushings. One of the side effects of the “posi-traction spring” is also low contact force on the thrust bushing surface, which further helps. We take them apart and clean them after tournaments, but our bushings show almost no wear at the end of the season.