  The optimal performance of robotic systems is usually achieved near the limit
of state and input bounds. Model predictive control (MPC) is a prevalent
strategy to handle these operational constraints, however, safety still remains
an open challenge for MPC as it needs to guarantee that the system stays within
an invariant set. In order to obtain safe optimal performance in the context of
set invariance, we present a safety-critical model predictive control strategy
utilizing discrete-time control barrier functions (CBFs), which guarantees
system safety and accomplishes optimal performance via model predictive
control. We analyze the stability and the feasibility properties of our control
design. We verify the properties of our method on a 2D double integrator model
for obstacle avoidance. We also validate the algorithm numerically using a
competitive car racing example, where the ego car is able to overtake other
racing cars.
