  This work combines control barrier functions (CBFs) with a whole-body
controller to enable self-collision avoidance for the MIT Humanoid. Existing
reactive controllers for self-collision avoidance cannot guarantee
collision-free trajectories as they do not leverage the robot's full dynamics,
thus compromising kinematic feasibility. In comparison, the proposed CBF-WBC
controller can reason about the robot's underactuated dynamics in real-time to
guarantee collision-free motions. The effectiveness of this approach is
validated in simulation. First, a simple hand-reaching experiment shows that
the CBF-WBC enables the robot's hand to deviate from an infeasible reference
trajectory to avoid self-collisions. Second, the CBF-WBC is combined with a
linear model predictive controller (LMPC) designed for dynamic locomotion, and
the CBF-WBC is used to track the LMPC predictions. Walking experiments show
that adding CBFs avoids leg self-collisions when the footstep location or swing
trajectory provided by the high-level planner are infeasible for the real
robot, and generates feasible arm motions that improve disturbance recovery.
