Walking Linkage Optimization
The OptWalker class is a front end for optimizing
the dimensions of a walking linkage.
It has been use primarily for Jansen, but had been used for Klann
in the past, and could be used for others.
It is research grade code, and I tended to just poke
parameters into the optimizer using the debugger, rather than
write proper I/O.
The main parameters of interest are in WalkerMetric a :
- _contactThresh
- Amount above lowest point of cycle to be considered above the ground.
Within this distance of the lowest point of the walking cycle, the foot
is considered to be close enough to be touching the ground.
- _dutyCycleWeight
- Multiplier for how important the active walking part of the cycle is.
Larger numbers tend to place a greater percentage of the cycle with the foot
"on the ground".
- _lenWeight
- Multiplier for how important the length of the active part of the walking cycle is.
- _reachWeight
- Multiplier for how important it is that the closest point on the walking cycle is far away from the center of the linkage.
i.e. How far out is the minimum reach of the foot.
- _stepHeightWeight
- Weight for how important it is that the foot step high above the ground
when in its return cycle. (The height of each step)
- _stepMetric._heightWeight
- Weight for how important the flatness of the active part of the step is.
A lower number (like 0.2) allows more curvature/oscillation in step height while the foot is in contact with the ground.
A higher number (like 2) tries to make the walking phase of the orbit flatter.
- _trackWeight
- Weight for how important it is that the walking (on ground) phase of
the orbit be shaped like a tank track.
We try to make the bottom part of the step curve up at the edges
like a tank track on a pulley, and the bottom part of the tread be flat.
While running, there are a few local variables that I often change
in main to control the run :
- best
- Set this to a low number to force new output for a maxima.
Sometimes when we get degenerate high metrics, it will stop saving
possible optimizations until this parameter relaxes to a more reasonable value.
Resetting this to a small number forces optimization output to start again.
- reset
- Set this to true to re-start the whole search from the
seed linkage configuration
Aaron Birenboim
Last modified: Thu May 16 17:04:35 MDT 2013