  In this work, we present an extension to a linear Model Predictive Control
(MPC) scheme that plans external contact forces for the robot when given
multiple contact locations and their corresponding friction cone. To this end,
we set up a two-step optimization problem. In the first optimization, we
compute the Center of Mass (CoM) trajectory, foot step locations, and introduce
slack variables to account for violating the imposed constraints on the Zero
Moment Point (ZMP). We then use the slack variables to trigger the second
optimization, in which we calculate the optimal external force that compensates
for the ZMP tracking error. This optimization considers multiple contacts
positions within the environment by formulating the problem as a Mixed Integer
Quadratic Program (MIQP) that can be solved at a speed between 100-300 Hz. Once
contact is created, the MIQP reduces to a single Quadratic Program (QP) that
can be solved in real-time ($<$ 1kHz). Simulations show that the presented
walking control scheme can withstand disturbances 2-3x larger with the
additional force provided by a hand contact.
