Instructions: drag the yellow, green or magenta points to modify geometry
for optimization of design goals. Press 'R' to reset geometry.
Locus at point H should be close to a vertical line
- Linkage points ABC should be inline when leg is down (so force due to gravity is not transferred to motor)
- Point C should be vertically above same point when leg is up & down
The leg linkage used on
Ziggy is key to the operation of the robot. Using linkages has allowed me to
convert the torque from the servos into vertical lift without the need for gears
or belts. This is an important design feature for me as Ziggy is designed to go
out to the Black Rock Desert for Burning Man, and it's verrrrry dusty out there...
The servos are sealed with o-rings, and the leg joints are pretty well sealed so
dust has not been a problem.
I initially prototyped the linkage using Lego Technics, which is extremely fast
and easy to use. When I had an approximate design, I transfered the geometry to
the JavaSketchpad applet. This applet then allowed me to tweak the lengths of
the various linkage bars until I had the best compromise between design goals.
Go ahead and try it - you can drag any of the green or yellow points above and
see what happens...
Designing the linkage so that points ABC are inline when the leg is down gives
me two advantages: firstly, it maximises the force downwards at H as the leg
reaches its lowest point (think of straightening your arm against a weight).
Secondly, it means that when the leg is down, no force is transferred to the
servo, allowing Ziggy to stand on only 3 legs without the servos even on. This
is a particularly important design feature, since the servos can burn out if
they are placed under extended load. In addition, I placed a mechanical stop
just over centre which prevents the leg from over extending and allows solid
The other two main design goals were to keep point C vertically above the same
axis when the leg is up/down, so that it can be coupled to the servo using a
universal linkage. Also, the leg locus at H should be as close to vertical as
possible to prevent loss of force due to sideways dragging.