Skip to content

Matlab Interface for Control Barrier Function (CBF) and Control Lyapunov Function (CLF) based control methods.

Notifications You must be signed in to change notification settings

HybridRobotics/CBF-CLF-Helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CBF-CLF-Helper

Matlab library for Control Barrier Function (CBF) and Control Lyapunov Function (CLF) based control methods. The library is designed to let users easily implement safety controller based on CBFs and CLFs with Matlab. We provide:

  • An easy interface for construction and simulation of nonlinear control-affine systems.
  • Safety controllers including CLF-QP, CBF-QP, and CBF-CLF-QP as built-in functions.
  • Demonstrations on toy examples.

Requirements

Usage

  1. Create a class that inherit CtrlAffineSys.
  2. Create a class function defineSystem and define your dynamics using the symbolic toolbox.
  3. Create class functions defineClf and defineCbf and define your CLF and CBF in each function respectively using the same symbolic expressions.
  4. To run the simulation or run the controller, create a class instance with parameters specified as a Matlab structure array, and use the built-in functions—dynamics and other controllers such as ctrlCbfClfQp, ctrlClfQp, etc.

Please checkout the Manual for more details.

Demos

Run files in the directory demos in Matlab.

Citation

@misc{choi2020cbfclfhelper,
  author       = {Jason J. Choi},
  title        = {CBF-CLF-Helper 1.0: Library for Control Barrier Function (CBF) and Control Lyapunov Function (CLF) based control methods},
  year         = {2020},
  version      = {1.0.0},
  url          = {https://github.com/HybridRobotics/CBF-CLF-Helper}
}

Notes

Unofficial 2.0 version is under development at this repo. If you want to see new demos, please check out this folder.