  Control Barrier Functions (CBFs) allow for efficient synthesis of controllers
to maintain desired invariant properties of safety-critical systems. However,
the problem of identifying a CBF remains an open question. As such, this paper
provides a constructive method for control barrier function synthesis around
one expert demonstration that realizes a desired system specification
formalized in Signal Temporal Logic (STL). First, we prove that all STL
specifications have Lipschitz-continuous robustness measures. Second, we
leverage this Lipschitz continuity to synthesize a time-varying control barrier
function. By filtering control inputs to maintain the positivity of this
function, we ensure that the system trajectory satisfies the desired STL
specification. Finally, we demonstrate the effectiveness of our approach on the
Robotarium.
