Optimization-based locomotion planning, estimation, and control design for the atlas humanoid robot