Designing the steering mechanism
The toy car has a real steering mechanism, controlled by a servomotor. The metal parts are made of 4 mm brass rod using hand tools for shaping and Dremel for drilling. Most important factor was the strength against upward force, which occurs when pressing the car against the floor while playing.
Other factors include the turning radius and the need for front suspension. Every floor is a bit bumpy, so without suspension the wheels would lose contact. I wanted as simple suspension as possible, and actually the same spring also protects the steering servo.
There is plenty of theory on automotive steering, such as Ackermann steering geometry and caster angle. I read these a bit too late; otherwise I would definitely have used a non-zero caster angle to make the wheels self-centering.
The actual mechanism I made is quite naive; it ignores both of these important subjects. All angles in my mechanism are 90 degrees and wheel directions on both sides are equal. As a result, the car often steers a little bit to either side even if the software tries to go straight.
The front suspension uses a spring that pulls two connector pins together. The pins are glued to the L-shaped parts that hold the wheels. There is some loose in the mounting of the L's, so they tilt towards each other, causing the wheels to press against the floor.
The same spring has a double function: it also protects the servo motor. If the servo was directly connected to the control rod, turning the wheels by hand while playing could damage the mechanism. Instead, the servo connects to the spring, so if there is external force the spring will give way.
The basic material is 4 mm brass rod, which is used for the control rod and L-parts. For extra strength, the connector pins are made of 2 mm steel (a floppy drive axis) that I lathed with Dremel.
The L-shaped parts are mounted to car body with special screws that I found in a CD-ROM drive. Normal screws could have done fine, but these were perfect for the purpose because they have a smooth surface that the part can turn around. The screw is locked in place with a drop of superglue so that it does not unscrew when the car turns.
A servo motor was an obvious choice for simple and easy steering actuator. However, the model I chose is a bit too large and constrained the dimensions of the car front. A smaller servo would have done better, because force is not important here. The drive electronics give only 3.6 volts when used with NiMH batteries, but a normal 5 volt servo seems to work even at this voltage.
Front wheels turn around ball bearings that I took from several floppy drives — did you notice a pattern? Old drives are an excellent source for small parts. The wheels have mounting nuts, but these are really just to aesthetically match the back wheels. The nut doesn't touch the wheel, as it is held in place by the tight fit between the ball bearing and the L-part.
Finally, the steering mechanism is protected under a piece of clear plastic. You can cut such plastic from e.g. plastic bottles. The piece is bent so that it presses tightly against the body and mounted with four small screws.
The turning radius of the car is approximately 40 cm, i.e. 3 times the length of the car. Steering accuracy is not perfect because the friction between steering parts and wood causes the mechanism to stop a little bit before it reaches the target position.
A bigger problem is that the wheels don't always spin freely and the car starts veering. I underestimated the expansion of wood when painted, so the wheels occassionally touch the fender. Also, hairs in the bearings can cause the same.
The suspension, on the other hand, works fine. The car is stable on four wheels when it is stationary, though it wobbles a bit when moving because of the back axis.
Overall, the defiencies in the turning don't matter in the simple obstacle avoidance program and toy use. It might need some improvement if someone decides to make a complex mapping program for it :)
– Petteri Aimonen on 19.7.2010