A robot with three omniwheels set 120° apart (a kiwi drive) can move in any direction and turn at the same time. Before building one I wanted to see it move, so I simulated it: first as a small 2-D kinematic model, then as a full physical simulation in MuJoCo that I can drive around with the keyboard or a gamepad.
how it works
Each omniwheel has two staggered rows of six passive rollers, 36 in total, each its own body in the simulation, so the sideways sliding comes from the contact physics and not from a shortcut. Stick input becomes a desired body velocity, inverse kinematics turns it into three wheel speeds, and motor servos turn the wheels. Commanded and measured speeds agree within about 1 %.
kinematic model
The 2-D version first: the path of the robot on the left, the three wheel speeds on the right. Circling while spinning turns into three shifted sine waves.
tools