Control Barrier Functions (CBF) & Potential Fields (APF)

Comparison of Control Barrier Functions (CBF) and Artificial Potential Fields (APF) for controlling a drone (MATLAB)
117 téléchargements
Mise à jour 31 mai 2024

CBFandAPF

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:

  1. ObstacleAvoidanceUsingAPF.m

  2. 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:

  1. computeTrajectoryAPF.m

  2. computeTrajectoryCBF.m

The auxiliary functions:

  1. drawcircles.m

  2. findAxisLimits.m

  3. plotTrajectories.m

take care of the graphical aspects and plot the results.

Citation pour cette source

Aaron T. Becker's Robot Swarm Lab (2025). Control Barrier Functions (CBF) & Potential Fields (APF) (https://github.com/RoboticSwarmControl/CBFandAPF), GitHub. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2024a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version
1.0.0

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.