Benchmark and Optimize Biped Controllers Using Biomech Data and CMA
|Graduate Research Project||Karen Liu||Fall 2014||C++||No||Code N/A|
For my part of this project, I took the author's implementation of a SIMBICON walking controller, added code that would transparently collect performance data from the controller and save this data as MATLAB matrices by calling MATLAB from within the C++ code and populating variables within the MATLAB environment. This enabled a fast and transparent data collection mechanism for offline analysis that imapcted the controller performance minimally (there was only 1 point of data collection for each simulation step).
This data was then compared to Biomechanically collected human walking data, inverted and double pendulum simulations, and other Biomech paradigms of human walking motion to provide an objective criteria for rating controllers. We also worked with the Generalized Biped, Terrain Adaptive, and the BiologicalBase controllers, and compared the results to provide objective criteria that matched the intuitive sense of the appropriateness of the motion of each controller.
I also felt that the Biomech-collected data could be used to perform informed optimization to improve the controllers. While using human data to optimize controllers is not new, in the existing literature the optimization space was very high dimensional - over 130 variables in one case. Instead, I felt that by targeting only those benchmarks that a controller deviated from the most, and optimizing only a few dofs constrained by these benchmarks, the problem could be reduced in complexity and overhead, while the controller's overall performance could be improved.
For example, by using arm swing and duty factor (the % of time each foot is on the ground) as constraints, and optimizing the ankle and toe trajectories of the swing and stance foot at 3 control points each, we improved the overall performance of the SIMBICON controller in nearly every criteria, including those such as ground reaction force profile, that wouldn't seem to be directly related to the optimization parameters. Our conclusion was that these results inferred that these simple Biomech-inspired benchmark criteria successfully encoded what it was to have an "appropriate" biped walk in much less data than a full analysis of the walking motion itself.