• Stars
    star
    153
  • Rank 243,368 (Top 5 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An open source repository for control, planning and navigation about control barrier functions.

cbf

This repo serves as a toolkit for testing different algorithm for control barrier functions.

Status: This repository is still under development, expecting new features/papers and a complete tutorial to explain it. Feel free to raise questions/suggestions through GitHub Issues, if you want to use the current version of this repository. Please watch and star for subscribing further updates which will be related to our latest preprints and published papers.

Citing

If you find this repository useful in your work, please consider citing following work:

@inproceedings{thirugnanam2022safety,
  title={Safety-Critical Control and Planning for Obstacle Avoidance between Polytopes with Control Barrier Functions},
  author={Thirugnanam, Akshay and Zeng, Jun and Sreenath, Koushil},
  booktitle={2022 IEEE International Conference on Robotics and Automation (ICRA)},
  year={2022}
}

Environments

  • Create your environment via conda env create -f environment.yml. The default conda environment name is cbf, and you could also choose that name with your own preferences by editing the .yml file.

Maze navigation with duality-based obstacle avoidance

This represents the implementation of the following paper:

  • A. Thirugnanam, J. Zeng, K. Sreenath. "Safety-Critical Control and Planning for Obstacle Avoidance between Polytopes with Control Barrier Functions." 2022 IEEE International Conference on Robotics and Automation (ICRA). [arXiv] [Video]

Run python models/kinematic_car_test.py. This simulates maze navigation (two maze setups) with duality-based obstacle avoidance (four robot shapes including rectangle, pentagon, triangle and l-shape) in the discrete-time domain. The animations and snapshots can be found in folder animations and figures. An example animation video can be generated as follows,

pentagon_oblique_maze.mp4

Contributors

Jun Zeng, Akshay Thirugnanam.

More Repositories

1

CBF-CLF-Helper

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

GenLoco

Python
226
star
3

NMPC-DCLF-DCBF

A collection of work using nonlinear model predictive control (NMPC) with discrete-time control Lyapunov functions (CLFs) and control barrier functions (CBFs)
MATLAB
205
star
4

MPC-CBF

"Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function" by J. Zeng, B. Zhang and K. Sreenath https://arxiv.org/abs/2007.11718
199
star
5

car-racing

A toolkit for testing control and planning algorithm for car racing.
Python
164
star
6

Lane-Change-CBF

Rule-Based Safety-Critical Control Design with Application to Autonomous Lane Change https://arxiv.org/abs/2103.12382
MATLAB
88
star
7

quadruped_nmpc_dcbf_duality

C++
83
star
8

prompt2walk

Code for Prompt a Robot to Walk with Large Language Models https://arxiv.org/abs/2309.09969
Python
78
star
9

isaac_berkeley_humanoid

Python
45
star
10

multiple-quadrotor-flexible-hose

Multiple quadrotors carrying a flexible hose: dynamics, differential flatness and control
MATLAB
37
star
11

CBF-Pointwise-Feasibility

"Safety-Critical Control using Optimal-decay Control Barrier Functions with Guaranteed Point-wise Feasibility" by J. Zeng, B. Zhang, Z. Li and K. Sreenath https://arxiv.org/pdf/2103.12375.pdf
MATLAB
25
star
12

berkeley_humanoid_description

OpenSCAD
16
star
13

ilqr-iterative-tasks

i2LQR: Iterative LQR for Iterative Tasks in Dynamic Environments (CDC 2023) https://arxiv.org/abs/2302.14246
Python
15
star
14

geometric-toolbox

Contains all the functions (such as hat map, rotations, transport map, etc.) used during the development of geometric mechanics and control of robotic systems.
MATLAB
15
star
15

Quad-Load

Geometric control and differential flatness of a quadrotor UAV with a cable-suspended load.
MATLAB
9
star
16

PPQL

Differential flatness based path planning with direct collocation on hybrid modes for a quadrotor with a cable-suspended payload (RA-L 2020)
MATLAB
6
star
17

dynamics_on_manifolds

Symbolic Computation of Dynamics on Smooth Manifolds
Scala
5
star
18

vo-polytope

Velocity Obstacle for Polytopic Collision Avoidance for Distributed Multi-Robot Systems (RA-L 2023)
Python
5
star
19

Quad-Load-Pulley

"Geometric Control and Differential Flatness of a Quadrotor UAV with Load Suspended from a Pulley" by J. Zeng, P. Kotaru and K. Sreenath https://ieeexplore.ieee.org/document/8815173
MATLAB
5
star
20

ball-and-beam-project

EE222/ME237 Nonlinear Systems, Spring 2022, Starter code for the course project.
MATLAB
4
star
21

Quad-Load-Offset

"Geometric Control of a Quadrotor with a Load Suspended from an Offset" by J. Zeng and K. Sreenath https://ieeexplore.ieee.org/document/8814939
MATLAB
3
star
22

depth_cbf

Point Cloud-Based Control Barrier Function Regression for Safe and Efficient Vision-Based Control
2
star