  Thanks to recent advancements in accelerating non-linear model predictive
control (NMPC), it is now feasible to deploy whole-body NMPC at real-time rates
for humanoid robots. However, enforcing inequality constraints in real time for
such high-dimensional systems remains challenging due to the need for
additional iterations. This paper presents an implementation of whole-body NMPC
for legged robots that provides low-accuracy solutions to NMPC with general
equality and inequality constraints. Instead of aiming for highly accurate
optimal solutions, we leverage the alternating direction method of multipliers
to rapidly provide low-accuracy solutions to quadratic programming subproblems.
Our extensive simulation results indicate that real robots often cannot benefit
from highly accurate solutions due to dynamics discretization errors, inertial
modeling errors and delays. We incorporate control barrier functions (CBFs) at
the initial timestep of the NMPC for the self-collision constraints, resulting
in up to a 26-fold reduction in the number of self-collisions without adding
computational burden. The controller is reliably deployed on hardware at 90 Hz
for a problem involving 32 timesteps, 2004 variables, and 3768 constraints. The
NMPC delivers sufficiently accurate solutions, enabling the MIT Humanoid to
plan complex crossed-leg and arm motions that enhance stability when walking
and recovering from significant disturbances.
