Skip to content

Model Predictive Control with discrete-time Control Barrier Functions (MPC-CBF) for a wheeled mobile robot.

License

Notifications You must be signed in to change notification settings

elena-ecn/mpc-cbf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

aa6f122 · Dec 24, 2022

History

37 Commits
Nov 27, 2022
Nov 27, 2022
Nov 27, 2022
Oct 26, 2022
Dec 24, 2022
Dec 2, 2022
Nov 27, 2022
Dec 2, 2022
Nov 27, 2022
Nov 27, 2022
Nov 27, 2022
Nov 27, 2022

Repository files navigation

mpc-cbf

Model Predictive Control with discrete-time Control Barrier Functions (MPC-CBF) for a wheeled mobile robot.

The MPC-CBF optimization problem is given by:

min u t : t + N 1 t 1 2 x ~ N T Q x x ~ N + k = 0 N 1 1 2 x ~ k T Q x x ~ k + 1 2 u k T Q u u k   s.t. x t + k + 1 t = x t + k t + f ( x t + k t , u t + k t ) T s , k = 0 , . . , N 1 ,   x min x t + k t x max , k = 0 , , N 1 ,   u min u t + k t u max , k = 0 , , N 1 ,   x t t = x t ,   Δ h ( x t + k t , u t + k t ) γ h ( x t + k t ) , k = 0 , , N 1  

where x ~ k = x d e s , k x k .

Results

Scenario 1

Path comparison for different values of γ for MPC-CBF and with MPC-DC


Path comparison

MPC-CBF


Robot path


Trajectories

Scenario 3


Robot path


CBF values

Scenario 4


Robot path


CBF values


Trajectories

Scenario 5


Robot path

Scenario 6


Robot path


CBF values

Gazebo simulation with turtlebot3

Installation

To use this project, install it locally via:

git clone https://github.com/elena-ecn/mpc-cbf.git

The dependencies can be installed by running:

pip install -r requirements.txt

The controller configuration can be changed through the config.py.

To execute the code, run:

python3 main.py

License

The contents of this repository are covered under the MIT License.

References

About

Model Predictive Control with discrete-time Control Barrier Functions (MPC-CBF) for a wheeled mobile robot.

Topics

Resources

License

Stars

Watchers

Forks

Languages