Comparison of Control Barrier Functions (CBF) and Artificial Potential Fields (APF) for controlling a drone (MATLAB)
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Comparison of Control Barrier Functions (CBF) and Artificial Potential Fields (APF) for controlling a drone (MATLAB).
This code implements the path planning method of DOI: 10.1109/IROS51168.2021.9636670 by Singletary et al., using control barrier functions (CBF).
Singletary, Andrew, Karl Klingebiel, Joseph Bourne, Andrew Browning, Phil Tokumaru, and Aaron Ames. "Comparative analysis of control barrier functions and artificial potential fields for obstacle avoidance." In 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 8129-8136. IEEE, 2021.
Authors: Francesco Bernardini, Ryan Lewis, Aaron T. Becker Last update: May 29, 2024
The main functions are:
-
ObstacleAvoidanceUsingAPF.m
-
ObstacleAvoidanceUsingCBF.m
these implement obstacle avoidance with artificial potential fields (APF) and control barrier functions (CBF), for an arbitrary number of parameters <math-renderer class="js-inline-math" style="display: inline" data-static-url="https://github.githubassets.com/static" data-run-id="ea986b8d1dfe6f5875bc83214cee91bd">$\rho_0$</math-renderer> (for APF) and <math-renderer class="js-inline-math" style="display: inline" data-static-url="https://github.githubassets.com/static" data-run-id="ea986b8d1dfe6f5875bc83214cee91bd">$\alpha$</math-renderer> (for CBF).
The functions call other two functions which compute the individual trajectories:
-
computeTrajectoryAPF.m
-
computeTrajectoryCBF.m
The auxiliary functions:
-
drawcircles.m
-
findAxisLimits.m
-
plotTrajectories.m
take care of the graphical aspects and plot the results.
Cite As
Aaron T. Becker's Robot Swarm Lab (2026). Control Barrier Functions (CBF) & Potential Fields (APF) (https://github.com/RoboticSwarmControl/CBFandAPF), GitHub. Retrieved .
General Information
- Version 1.0.0 (9.51 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.0 |
