From-Scratch Mecanum Wheel Rover

Here’s a small 3d-printed mecanum-wheel rover that was 3d-printed. The goal was to do as much of the design as possible from scratch as a fun learning exercise.

It’s over at Thingiverse.

The Pololu motor controller carrier boards helped to save me from having to do any PCB layout. Thanks! One concept I was exploring with this design was a “printed protoboard” where a 3d-printed open frame snugly holds female headers for each of the breakout boards, and wires for the circuit are soldered to the header pins like you’d do with a regular protoboard. A couple drops of superglue helps keep the headers extra-secure.


I’m not sure how I feel about this approach. It’s definitely more work than ordering a PCB, though much cheaper if you have access to a 3d printer, as well as being immediately usable. I think it’s probably more work than milling a PCB if you have a CNC mill. It was less work than doing a toner-transfer/acid-etch and hand-drilling a PCB, though!

1 Like

Hello.

That’s really cool! It looks like you are running the mecanum wheels on carpet; how well do the wheels work on hard floors?

- Grant

They’re not great on hard surfaces at all, especially uneven tile floors where one wheel might catch more than the others. You can still do sideways and diagonal translation, but it’s very hard to control. (Since I’m using a cheap gamepad, it’s hard to control even on carpet.) The printed parts are all ABS, and that’s pretty hard.

Three things I’ve thought about are:

  • A softer roller surface, either by printing in a softer material, or coating them with something like silicone or tool-dip.
  • More weight. That would help with traction.
  • Closed-loop control on the wheels. PWM voltage control gives whatever torque response the gearmotors have. I suspect it’s not linear. In practice, some wheels tend to spin quickly once they lose traction, or some wheels will start moving faster than others. I bet with encoders, the MCU could adjust torque to get the actual wheel motion closer to the command input.

Glad you like it!

I reprinted the rollers with the outer portion using ninjaflex filament, and it now drives fantastically well on smooth, hard surfaces like tables and tile. I was really shocked at how much better it is with the stickier wheels.

In particular, it tracks well in just about any directional vector, including diagonals that would have been unreliable before. I was also surprised to see that if you combine sideways and rotational input vectors (interpolating the requested wheel motion between the two control results), then only the front or rear wheels move, resulting in the rover “circle strafing” with an adjustable radius depending on how much translation vs rotation you combine.

I didn’t expect that degree of improvement just changing the surface material without adding any texturing or tread!

2 Likes