pic: Butterfly Drive

A new butterfly drivetrain that we hope to test in the offseason. This allows for strafing in addition to a “high/low speed configurations. FESTO pistons are connected to the wheel pods, which serve to switch between a 4” omni wheel and a 2.5" colson wheel. In “colson-mode,” the sprocket and gearbox reduction allows a speed suitable for lasting some time in a pushing match, and in “omni-mode,” the drivetrain has a high speed, and the omnis also allow for strafing using the 2-omni system in the middle, which is similar to Vader from 148.

Weight: ~38.5 lbs
High speed: 16.09 fps
Low speed: 7.31 fps

Note: Speeds were calculated by JVN using the “Drivetrain Adjusted Speed” column.

This is on my GrabCAD under DEC-102: https://workbench.grabcad.com/workbench/projects/gcOhfXOehYETdalk4HNJ_3A0HceTxrt6Dv4ytxedJppYkO#/space/gcy-RpuR7fueMhPxpys8KUh7yF1NwcTEWAlStxFm6c3ypj

STEP Files will be uploaded in a bit.

I would be very concerned the loads placed on a set-up like this, particularly in traction mode. You can’t cantilever everything - when this is in traction mode, there will be quite the bending moment placed on the omni wheel output shaft. It’s just an order of magnitude more load than a regular WCD output shaft would have to deal with since the module is effectively a very long moment arm.

Making a WCD-type butterfly drive requires a little out of the box thinking to carefully manage your loads and to ensure they are transferred through the chassis in a safe manner. Look at what 624’s butterfly drive did as a good example. Also consider the possibility of the pivot module straddling the drive tube and using plastic slider blocks, etc. to transfer the loads placed on the module to the chassis directly.

Looks good. The only things I am wondering about are:
Why did you choose to use the top of the module as your cylinder attachment point instead of the spacer closer to the front/back rail? Clearance issues?
Have you considered putting the screws for mounting the cylinder mount diagonally to each other or front/back instead of left/right in order to better take the loads from the cylinder?
What made you choose the double-omnis in the middle over a suspension?

Wouldn’t this be the best case scenario for this design since most of the force is transferred into the frame via the pneumatic cylinder? Or have I just been working too many night shifts?

(Awesome PPT force diagram below)

Either way, I don’t think the lever arm for the bending moment on the cantilevered shaft changes since the force isn’t any farther away from the frame rail.

If I were doing grasshopper/butterfly with omni wheels, I would definitely put the solid wheels on the hard, fixed axis which would be better at handling scrub forces, and cantilever/actuate the omnis, which (by design), do not exert much scrub force. I understand the desire to gear the solid wheels lower, but I’d rather make that work by actuating the motors and gearbox and providing some slack in all the wiring than to pull the scrub force through a cantilever.


Pneumatic cylinders should never be used to transmit significant forces except along the shaft axis. Solid wheels are going to be called upon for scrub (sideways, or into/out of the plane as you’ve sketched above) forces, especially in pin situations, and also in pushing matches. The pneumatic cylinder is not equipped to handle this force, and the parallel plates of a butterfly module are likely to “parallelogram” under this force. Exactly where this turns ugly requires more info than I have on your drive system, but at some point, you will have problems with the module hitting the side wall, a chain binding, or metal bending beyond its elastic limits.

When the robot is pushed sideways with its traction wheels down, the friction force resisting being pushed is exerting a torque on the cantilevered output shaft and that could be much higher loading than it’d see in normal operation.

Gah. Sideways. Darn non-ideal situations.

I’d recommend switching the placement of the omni and traction wheels. With butterflies, it’s almost always better to have the tractions as the interior wheels as it reduces the distance between the wheels reducing wheel scrub when turning.

We used this setup on our 2014 and 2014 off-season upgrade drivetrains to much success. It kept everything compact and supported, helping eliminate those pesky bending moments. We also used the same setup on our actuating perpendicular middle wheel in both 2014 and 2015.

Another thing to consider is where you place your cylinders. We were space limited in our 2014 drivetrain, so we tried mounting the cylinders directly to the top of our 2x1 side tubes. We were surprised to find that our cylinders still generated enough force to lift the entire robot off the omni wheels even at such an inefficient angle. Just a thought to maybe save you some space later.

Also, don’t forget to think about your chain runs. If I’m seeing it correctly, it looks like you’re wanting to run the “TexasTube” chain-in-tube style setup. If so, you might want to think about how your gussets for your center bar will attach to the side bars. Chain doesn’t usually like to run when it has bolts or rivets getting in its way. Trust me, I’ve tried it before. :wink:

Depends on what you want. Some teams like the longer wheelbase so they don’t get turned around as easily when hit on the corner.

Theoretically, the omnis are used for the majority of the match since that’s when you technically have the most maneuverability.

Speaking from experience however, I agree with you, having traction on the inside can be super helpful when making precise movements on the field. I think it just comes down to preference.

We use Butterfly on Team Neutrino and we really like it. As far as the point about pushing it down while being right above, I never really thought about the force required to lift the robot 30 pounds per pneumatic cylinder/piston, but I just really like the awesome low-rider effect (and the piston sound with it) :smiley: Also, having the axle through the omni is REALLY nice in that you just have to remove 1 bolt if you need to change modules out :slight_smile:
Also as far as the side impact forces, wouldn’t the twisting/bending be directed to the side plates which would be held in the frame and restricted on how far they could flex? We used steel for our side plates which seemed to work well.

Check out our CAD/Info Page here and how we integrated them here (and a video of the pistons down here).

Feel free to message me with any questions :slight_smile:

1 Like

Just curious, wouldn’t a octocanum drive be lighter and take up less room inside the robot while performing about the same as this butterfly? What about the butterfly makes it better than octocanum or is it just preference? I would like to present an octocanum or butterfly idea to my team but I have no real experience with either one.

Yes. We had problems with this in 2014.

I recall that some of our modules twisted quite a bit from the side (static and impact) forces. We had inner and outer 2 x 1 tubes so our main axle would not twist. Our gears were between the inner tube and the module so we could tolerate quite a bit of twisting in the module. In the OP’s design, the twist in the modules would likely cause them to bind on the chassis tubes. (I just noticed that Gus is writing about the same thing).

The design has to be done with serviceability in mind. It took about an hour of fiddling to swap out one of our modules since they essentially had to be assembled in place. 148’s design worked as Runneals describes, requiring about 2 minutes. The OP may want to consider what happens to the sprocket and chain inside the tube when the axle bolt is removed and how the axle can be put back in.

The OP may want to consider removing or reducing the pocketing of the module plates due to the shock loads the module may be subjected to. Depending on what the upper structure is like, it may be possible to install the cylinders in the space between the modules. This would require adding something sticking up on the top of the module for the cylinder to push against.

I’m interested in the side-to-side module design. How do you insure it puts enough force down onto the floor so that the wheels don’t slide?

The two systems would take essentially the same space. The differences:

  • The Octanum must be designed to transmit scrub forces from the holonomic wheels as well as the solid wheels.
  • When the holonomic wheels are engaged, just as for regular mecanum and 4-wheel omni:
    [list] - The Octanum will be able to use 71% of the acceleration indicated by the Coefficient of Friction in the forward, reverse, left or right directions.
  • The Butterfly will be able to use 100% of the acceleration indicated by the CoF in the forward in reverse directions, but will not be able to drive in, nor resist, strafe motion.


Sorry, but I’m not at all sure what you’re asking. What side-to-side module? What is “it”? Which wheels? Slide which direction?

You mean the strafing module, right?

We took inspiration from 148’s strafing module (from their 2014 robot, Vader). The module itself spins on the axle that’s powered by the CIM. So when the CIM is powered, the module spins down until a wheel contacts the wheel. The CIM will exert enough force to push down the module enough to have the ground exert a normal force on the wheel (which is what traction is dependent on) before the torque of the CIM spins the omniwheel.

At least that’s how I understood it while designing this. We haven’t actually done more serious math outside of a simple free body diagram. If someone from 148 or anyone with experience with this type of strafing module could explain more/clarify/prove me wrong, that would be awesome.

Yep. That’s what I’m talking about. The diameter of the wheel, clearance from the ground when horizontal, and gearing all play a role in how much normal force the wheel can exert on the ground.

We struggled with tuning the amount of force our strafing modules needed in 2015, but that was going over the bump + with and without totes, so it had to move more weight / accelerate more mass than just a robot and that weight varied quite a bit.

I looked at 148’s design when thinking about ours, but we had one shot at getting it right (we swapped our drive from mechanum to this at state champs) so I ended up going with 2 strafe modules, held down with gas shocks counter balanced by surgical tubing so we could adjust the downward force.

The 148 solution is lighter and more elegant, but more difficult to get right.

Hm… so I think the main issue revolves around when the tractions are down and the robot gets hit on the side, which might damage the modules, and the shaft especially over time. In addition, the way the piston is mounted probably also causes it to receive a lot of force on impact.

I might consider another design of the Butterfly, although I might move on to intakes or something other than drivetrains, because I’ve been doing that a lot. But anyways, here’s what I was thinking about the new design:

  • Module goes into a 3x2 boxtubing; there I can maybe make the modules almost as wide as the interior of the tube to have minimal flex and bending (this is my logic to this problem, but I might be wrong…)
  • Pistons push down on the modules without any special mounting, similar to Neutrino’s design
  • Change in material of the module plates. Maybe something like polycarbonate? Not really sure on this one: I know polycarb is flexible, but to some extent

My understanding of 148’s strafing module design is that it works even better than that. The wheel in contact with the ground rotates in the opposite direction as the module itself tips, meaning that the wheel is basically driving itself into the ground. For an intuition of this, consider the boundary cases (module tilt angles close to 0 degrees and close to 90 degrees). While the omni wheel would just skip along the ground if it made contact while the module was barely tilted, at close to 90 degrees it would actually be able to lift the robot up, supporting most of its weight. Obviously one would want to design for a tilt angle somewhere between these extremes, but they illustrate what’s going on very well. The great thing about this design is that the normal force on the strafing wheel varies drastically depending on what the robot is doing, so you only have high normal force on the strafing wheel when high torque is applied to it.

For those more knowledgeable than I: Is my understanding correct?

Edit: As far as I can tell, it would follow from this understanding that, in theory, a tilt angle from horizontal of greater than the inverse tangent of the wheel-to-ground coefficient of friction would guarantee that the wheel wouldn’t slip (Well, until the point at which the linear relationship between torque and normal force ends because there simply isn’t more weight available for the strafe wheel to support). However, in reality, friction is also a fickle beast and is highly dependent on the exact conditions of the interaction at any given time.

Yeah you’re right. I remember discussing this with someone when we watched the reveal video for the first time in 2014. But I completely forgot this time around, even while reviewing this CAD…