Table of Contents
Fetching ...

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.

CBFKIT: A Control Barrier Function Toolbox for Robotics Applications

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.
Paper Structure (13 sections, 9 equations, 4 figures, 3 tables)

This paper contains 13 sections, 9 equations, 4 figures, 3 tables.

Figures (4)

  • Figure 1: Call graph depicting relations between function calls important for building an example simulation, i.e., sensor, estimator, dynamics, controller, perturbation, and integrator, using CBFkit.
  • Figure 2: Human Support Robot (HSR). Cr: TOYOTA
  • Figure 3: $xy$ paths of the HSR and human agents taken in the goal-reaching experiment. The overlaid circles represent the specified sizes of the ego and human agents and represent temporal evolution at $0.25$ sec increments. An animation of the system behavior can be found at: https://youtu.be/MXQAK2jwLLE.
  • Figure 4: Distance between HSR and Human Agents.