$URL: svn+ssh://aaron@birenboim.com/home/users/svn/Jansen/trunk/README.html $
$Id: README.html 73 2013-05-18 15:23:58Z aaron $

Mr. What's Theo Jansen Walking Linkage

This folder contains source code for solving the locations of nodes of a Theo Jansen walking linkage, through its cycle, and Octave (MATLAB) code to plot this data. JansenCycle.gif is an animation of these plots.
The triVertex.m function has useful printouts of various dimensions of trianges, which were used to create the .scad drawings.

This drawing will help explain my conventions for naming parts of the linkage:

Building parts

install OpenSCAD, then type make in this folder. It should generate all the individual parts models you will need.

Then, for each balanced leg pair, build:

  1. (1) main, crankArm, BEDa, BEDb, FootA, FootB, pulley
  2. (2) CH, CD BH, BHbrace
  3. (4) EF
Build double of all of the above for a balanced, trotting, quad-foot pair.
(The double main is only needed if you want a longer main crankshaft, perhaps with a driving gear or pully between the two main bars)
The pulley is only of use on full, 8-leg assembly. The two halves can be glued together to make a central pulley for the crankaxle.

Print summary, for each "half" assembly :

Might want to add some spacers for future print. Using rubber bands and washers for initial prototypes.

Plotting

Plots can be converted to animated .gif's with a command like:
     convert -remap orbit00.png -crop 768x512+100+120 +repage orbit44.png cropped44.png
The -remap tells convert to use the 8-bit colormap from the first frame, and +repage is necessary to force the image to resize, not just set stuff outside the crop area to "unused".

To create an animated gif, delay betwee frames is in 1/100ths of a second:

     convert -delay 20 cropped??.png cropped.gif

Klann Linkage

Another popular walking linkage is the Klann linkage.

A Klann linkage was described in a manner similar to the method used to characterize the Jansen linkage above, and animated. The dimensions recovered from the patent seem to be sub-optimal in several ways, but the measurements have many round numbers and seem very symetric, as if they were designed by a human, and not (yet) optimized by a computer.

I wrote an optimizer for the Klann linkage, and it yielded this walking cycle. It is possible that the optimizer got "stuck" around an edge case where the rocker-bar is flat. It is possible that one could do better with more work to stay farther away from this edge case. The bottom of the foot path is not as flat as I'd like to see. Fixing the flat bar, or adding more weight to flattness of the "active" part of the cycle might help.

After tweaking the quality metric, for a flatter step, and preventing the tip of the leg from crossing the Y axis, I got a more reasonable cycle, using these parameters (origin at A):

        Bx = -36.6771  By = -11.8165
        Dx = -11.6454  Dy = 45.3425
        AC = 17.5
        BH = 24.6959
        CF = 70.1769
        CH = 39.8880
        DE = 32.5176
        EF = 53.7343
        EG = 110.0125
        FG = 57.1142
        FH = 31.2540

After tweaking the metric more, and more optimizations, I got:

        _Bx = -34.7326;  _By = -14.1046;
    	_Dx = -11.9342;  _Dy = 46.6916;
    	_AC=17.5000;
    	_BH=27.0449;
    	_CF=70.9096;
    	_CH=41.2391;
    	_DE=36.0792;
    	_EF=54.2367;
    	_EG=113.0327;
    	_FG=58.8777;
    	_FH=29.7236;
With this orbit.

After more work on the metric for Jansen, I re-ran Klann, and is now my preferred geometry,

        AC=17.5;
        Bx=-38.8; By=-12.5;
        Dx=-14.6; Dy=41.9;
        BH=23.7;
        CF=73.4;
        CH=38.8;
        DE=34.1;
        EF=57.7;
        EG=111.7;
        FG=59;
        FH=35.2;
with this orbit.

I worry that this linkage is just not as smooth (torque ripple) as Jansen. It looks to me like we are at some extreme geometry at some parts of the orbit, where the ground forces on a moving mass will not do much to help keep the crank rotating. (Nearly parallel forces, little vector in the direction helping crank rotation)

Building parts (Klann)

Some simple (non-braced) parts have been drawn for 3D printing. The complete (non-braced) assembly has 7 unique parts. The leg and rocker-bar can be re-used on each side by flipping them over. You can type make klann to generate these parts from openscad.

For each half-assembly (one leg pair, sharing a crank), print:

  1. (1 ea) main, crankArm, pulley
  2. (2 ea) DE, BH, leg, rocker
Glue two pulley halves together to make a full pulley for the central crankshaft at A. The two "main" parts can be glued together around the main crankshaft and pulley for the main central brace. Large axles can be used at B and D as a primary structure to hold the payload, and connect two quad-leg assemblies together for a walker. An additional brace/frame can be attached below the B pivots, or along the top of the main assembly.

Ghassaei Linkage

Amanda Ghassaei published a swell paper from Pamona College in 2011. She designed a linkage, which is shown here for completeness. Something must be amiss, since her paper does not have this tilt in the footpath. I could fix it by optimization, but I have not (yet) done that since this linkage is not under serious consideration for my project.
Last modified: Wed May 15 12:19:34 MDT 2013