Practical Considerations for Discrete-Time Implementations of Continuous-Time Control Barrier Function-Based Safety Filters
<|reference_start|>Practical Considerations for Discrete-Time Implementations of Continuous-Time Control Barrier Function-Based Safety Filters: Safety filters based on control barrier functions (CBFs) have become a popular method to guarantee safety for uncertified control policies, e.g., as resulting from reinforcement learning. Here, safety is defined as staying in a pre-defined set, the safe set, that adheres to the system's state constraints, e.g., as given by lane boundaries for a self-driving vehicle. In this paper, we examine one commonly overlooked problem that arises in practical implementations of continuous-time CBF-based safety filters. In particular, we look at the issues caused by discrete-time implementations of the continuous-time CBF-based safety filter, especially for cases where the magnitude of the Lie derivative of the CBF with respect to the control input is zero or close to zero. When overlooked, this filter can result in undesirable chattering effects or constraint violations. In this work, we propose three mitigation strategies that allow us to use a continuous-time safety filter in a discrete-time implementation with a local relative degree. Using these strategies in augmented CBF-based safety filters, we achieve safety for all states in the safe set by either using an additional penalty term in the safety filtering objective or modifying the CBF such that those undesired states are not encountered during closed-loop operation. We demonstrate the presented issue and validate our three proposed mitigation strategies in simulation and on a real-world quadrotor.<|reference_end|>
@article{brunke2024practical,
    title={Practical Considerations for Discrete-Time Implementations of
  Continuous-Time Control Barrier Function-Based Safety Filters},
    author={Lukas Brunke and Siqi Zhou and Mingxuan Che and Angela P. Schoellig},
    journal={arXiv preprint arXiv:2404.12329},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.12329},
    primaryClass={eess.SY cs.SY}
}