(placeholder text)
(more discussion)
...
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[5]. Conventions used to described the Jansen's linkage are established in Figure 4.
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 5.
Figure 5. Algorithm minimizing error between data and simulation paths using the default lengths of a Jansen's linkage as initial conditions (step size = 0.1).
The algorithm continues addressing each of the 16 variables in sequence until the area between paths does not change during an iteration (that is, any increases or decreases to any variable would result in an increase in area error). This represents a local minimum in the system. Because the model is a complex system with 16 independent variables, local minima are extremely common, and as shown in Figure 4, they do not always represent suitably accurate solutions. In order to find more accurate combinations of link lengths, the algorithm is run repeatedly with normally-distributed random variation applied to each link with a standard deviation equal to 1% of that dimension's nominal length. When a particularly successful combination was discovered, it was used as the new basis for the initial conditions and the stochastic process was repeated. Lastly, the step size was reduced from it's starting value of 0.1 to further reduce error. The final result of this process is shown in Figure 6.
Figure 6. Final simulated ankle path (solid red) compared to ankle path from data (blue).
The final path generated by the Jansen's linkage retains some error at the rightmost point and at the top of the path, but otherwise closely matches the path of the ankle in the data. As the algorithm optimized this solution, the area error term decreased more and more slowly, as though approaching an asymptote. It is believed this is associated with approaching the toggle position of Link 6 (green in Figure 7) and Link 8 (maroon in Figure 7). Therefore, this wall represents a limitation in the adaptability of the Jansen's linkage rather than a limit of the algorithm. All optimized link dimensions are shown in Table 1 at right. While some dimensions changed drastically, others were altered by less than 1%.
Figure 7. Comparison of default Jansen's linkage (left) with optimized Jansen's linkage (right).
Figure 4. Conventions used in this report for referring to a Jansen's linkage, including link numbers (red), points (orange uppercase letters) dimensions (violet lowercase letters), and angles (blue).
Table 1. Initial and final link dimensions (unitless). Refer to conventions in Figure 4.
Link | Dimension | Default Values | Optimized Values | Percent Change |
---|---|---|---|---|
1 | a | 38 | 39.72 | 4.5% |
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% |
g | 40.1 | 40.35 | 0.6% | |
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% |
q | 49 | 35.8 | -26.9% | |
r | 65.7 | 56.23 | -14.4% |