If the leg is imagined as consisting of two links, the upper and lower leg, and the hip joint is grounded, then the full motion of the leg can be controlled by driving the ankle. This ankle position is controlled using a Jansen's linkage, an eight-bar mechanism developed by Dutch artist Theo Jansen to generate a rough walking motion (citation needed?). Conventions used to described the Jansen's linkage are established in Figure 3.
Figure 3. Conventions used in this report for referring to a Jansen's linkage, including link numbers and dimension letters.
In order to generate the desired ankle path, the dimensions of the Jansen's linkage needed to be adapted. An algorithm was developed in Matlab to iteratively address each of the 13 dimensions of the device, as well as the x- and y-coordinates and rotation of the entire device. At each step, the algorithm decided whether to increase, decrease, maintain a dimension in order to minimize the area between the data path and simulated path. An animation of the algorithm in operation is shown in Figure 4. . Matlab code is documented here (attach files?).
Figure 4. Algorithm minimizing error between data and simulation paths using the default lengths of a Jansen's linkage as initial conditions (length step = 0.1).
The algorithm continues addressing each of the 16 variables in sequence until the area between paths does not change during an iteration
(more discussion)
Link | Dimension | Default Values | Optimized Values | Percent Change |
---|---|---|---|---|
1 | a | 38 | 39.72 | 4.5% |
1 | b | 7.8 | 3.19 | -59.1% |
2 | c | 15 | 13.03 | -13.1% |
3 | d | 50 | 39.29 | -21.4% |
4 | f | 41.5 | 43.3 | 4.3% |
4 | g | 40.1 | 40.35 | 0.6% |
4 | h | 55.8 | 68.47 | 22.7% |
5 | k | 61.9 | 64.53 | 4.2% |
6 | m | 39.3 | 39.37 | 0.2% |
7 | n | 39.4 | 48.58 | 23.3% |
8 | p | 36.7 | 36.73 | 0.1% |
8 | q | 49 | 35.8 | -26.9% |
8 | r | 65.7 | 56.23 | -14.4% |