The principles behind it are simple, you have a hemisphere attached to a motor which in turn is attached to a gimbal. The gimbal allows you to angle the motor and therefore change which bit of the hemisphere is in contact with the ground. When the hemisphere and motor are 90 degrees to the surface that they are on the overall movement will be zero, however if you tilt the hemisphere and therefore change which part of it is in contact with the ground it will move, the more you tilt it the faster it will move.
This is because the motor is always spinning at roughly the same speed however as we tilt the hemisphere the circumference of the circle that is in contact with the ground increases and therefore the distance travelled with each rotation is greater and the speed increases. I have derived the following equation: speed=((RPM(2π(R1sinθ)/60000, where RPM is the revolutions per minute of the motor; R1 is the radius of the sphere and theta (θ) is the angle of the gimbal.
The direction that you tilt the hemisphere controls which direction it moves in. As the hemisphere is always spinning in the same direction there is always some momentum in the spinning hemisphere so it takes less time for it to accelerate. in my design there is a drawing pin in the bottom of the hemisphere so that when it is on a soft surface such as carpet the rubber hemisphere will still spin freely rather than burning out the motor.
The gimbal is controlled by 2 servos, one controls the inner gimbal and the other controls the outer. The servos are connected to their respective gimbals by bent metal rods which allows them to turn the gimbals both ways.
Attached are my current designs as I'm still developing ideas however without a quick, easy and cheap way of prototyping projects the development of this project has ground to a halt. I am developing this idea in the hope that the robotics team at my college will use it in one of the robots, the only problem is the cost of making it. The hemisphere is just a hemisphere with a radius of about 30mm, my hemisphere has a radius of 31.85mm as it is a rubber ball cut in half, this is the only bit of this that I have made. There are 4 threaded holes in the inner gimbal for grub screws to hold the motor in place, the inner gimbal is attached to the outer gimbal and the outer gimbal attached to the mount using 4 M5 bolts.
If you would like to use my designs you are free to however I would appreciate if you were to acknowledged how much or how little you got from this instructable.