CBFKIT: A Control Barrier Function Toolbox for Robotics Applications
Mitchell Black, Georgios Fainekos, Bardh Hoxha, Hideki Okamoto, Danil Prokhorov
TL;DR
The paper addresses safety guarantees for mobility systems under uncertainty by leveraging Control Barrier Functions (CBFs) and presents CBFkit, a first publicly available Python/ROS toolbox implementing CBF-based control across deterministic, stochastic, and disturbed dynamics. It combines JAX autodifferentiation for barrier derivatives, relative-degree rectification, and a JAX-backed QP solver to enforce forward-invariant safety while supporting code generation, ROS integration, and comprehensive tutorials. Key contributions include the open-source CBFkit toolbox, a modular functional design, end-to-end unicycle and HSR demonstrations, and ready-to-use templates for dynamics, controllers, and barrier functions. The work enables reproducible, safety-certified planning and control in real-world robotic platforms, promotes safe multi-robot operation, and provides a practical platform for benchmarking CBF-based methods in ROS-enabled environments.
Abstract
This paper introduces CBFKit, a Python/ROS toolbox for safe robotics planning and control under uncertainty. The toolbox provides a general framework for designing control barrier functions for mobility systems within both deterministic and stochastic environments. It can be connected to the ROS open-source robotics middleware, allowing for the setup of multi-robot applications, encoding of environments and maps, and integrations with predictive motion planning algorithms. Additionally, it offers multiple CBF variations and algorithms for robot control. The CBFKit is demonstrated on the Toyota Human Support Robot (HSR) in both simulation and in physical experiments.
