Giter Site home page Giter Site logo

lqr_cbf_rrtstar's Introduction

Introduction

Control Barrier Functions (CBF) are a powerful tool for designing safety-critical controllers and motion planners. The safety requirements are encoded as a continuously differentiable function that maps from state variables to a real value, in which the sign of its output determines whether safety is violated. In practice, the CBFs can be used to enforce safety by imposing itself as a constraint in a Quadratic Program (QP) solved point-wise in time. However, this approach costs computational resources and could lead to infeasibility in solving the QP.

In this project, we propose a novel motion planning framework that combines sampling-based methods with Linear Quadratic Regulator (LQR) and CBFs. Our approach does not require solving the QPs for control synthesis and avoids explicit collision checking during samplings. Instead, it uses LQR to generate optimal controls and CBF to reject unsafe trajectories.

To improve sampling efficiency, we employ the Cross-Entropy Method (CEM) for importance sampling (IS) to sample configurations that will enhance the path with higher probability and store computed optimal gain matrices in a hash table to avoid re-computation during rewiring procedure. We demonstrate the effectiveness of our method on nonlinear control affine systems in simulation.

Document

The code was tested on Mac OS 13.4 with Python 3.10.0. the required packages are listed in requirements.txt.

Preview

LQR-CBF-RRT-Exp

MPC_tracking.mp4

Citing

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

@article{yang2023efficient,
  title={Efficient LQR-CBF-RRT*: Safe and Optimal Motion Planning},
  author={Yang, Guang and Cai, Mingyu and Ahmad, Ahmad and Belta, Calin and Tron, Roberto},
  journal={arXiv preprint arXiv:2304.00790},
  year={2023}
}

Implementation

cd into linear/nonlinear_dynamic_model

python LQR_CBF_rrtStar_..py

This allows to identify the performance for both linear and non-linear systems.

Q/A Contact and Contributors

Mingyu Cai, Guang Yang, Ahmad G. Ahmad

lqr_cbf_rrtstar's People

Contributors

ahmadgahmad avatar gy2256 avatar mingyucai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.