Holonomic drives and tradeoffs
I noticed that I could get a used toy car that has Mecanum wheels for around $12. This is pretty neat, because the wheels themselves can be pretty spendy. The reason to use Mecanum wheels is that, with 4 of them, you can get rotation and translation in any direction by varying the speed of each wheel independently. It’s a properly holonomic drive, letting you do stuff you can’t do with tank style steering, like orbiting a point while facing it.
Of course, this is cheap crap from China, so I was also curious where the corners had been cut to make it cheap. I assumed I wasn’t getting four motors, four encoders, and a closed loop controller, but what I got is kind of interesting.
The car has two gearboxes, one one each side, and two motors. Each motor drives one wheel on each gearbox, on opposite corners. So one motor drives the left front and right rear wheels, and vice versa. Driving just one motor will make the car translate diagonally, driving both will make it translate forward, backwards, or sideways, depending on which direction they are driven.
Unfortunately, what this design gives up is turning. Any turning at all. Rotation around an axis is just Not The Done Thing. I think the only way to change heading is to hit something.
The wheels are pretty nice, though. There seems to be an informal standard of 5.75mm across the flats hexagonal shafts for toy robot motors, and these follow it, so I can get a set of motors and encoders to use the wheels.