  In this paper, we present an approach for generating a variety of whole-body
motions for a humanoid robot. We extend the available Model Predictive Control
(MPC) approaches for walking on flat terrain to plan for both vertical motion
of the Center of Mass (CoM) and external contact forces consistent with a given
task. The optimization problem is comprised of three stages, i. e. the CoM
vertical motion, joint angles, and contact forces planning. The choice of
external contact (e. g. hand contact with the object or environment) among all
available locations and the appropriate time to reach and maintain a contact
are all computed automatically within the algorithm. The presented algorithm
benefits from the simplicity of the Linear Inverted Pendulum Model (LIPM),
while it overcomes the common limitations of this model and enables us to
generate a variety of whole-body motions through external contacts. Simulation
and experimental implementation of several whole-body actions in multi-contact
scenarios on a humanoid robot show the capability of the proposed algorithm.
