Online Hierarchical Optimization for Humanoid Control
This thesis presents an online approach for controlling humanoid robots using hierarchical optimization. While our primary focus is to develop a fast and robust walking controller that is able to follow desired foot steps, full body manipulation capability is also achieved. The proposed hierarchical system consists of three levels: a high level trajectory optimizer that generates nominal center of mass and swing foot trajectories, together with useful information such as a local value function approximation and a linear policy along the nominal trajectory; a middle level receding-horizon controller that tracks the nominal plan and handles large disturbances by rapidly replanning for a short horizon; a low level controller that computes joint level commands by solving full body inverse dynamics and kinematics using quadratic programming. Using just the high level and the low level controller, we achieved rough terrain walking and close to human walking speed and stride length in simulation. Walking and manipulation controllers were also developed for the Atlas robot based on the same architecture, and performed reliably during the DARPA Robotics Challenge. The full hierarchy with the middle level controller is implemented afterwards, and dynamic walking with strong perturbations is successfully demonstrated on the Atlas robot.