Negotiating Large Obstacles with a Humanoid Robot via Multi-Contact Motion Planning