Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Control Barrier Function

  • Aussi appelé: CBF, barrier function, CBF-QP
  • Catégorie: Control › Feedback control
  • Mots-clés: safety, nonlinear-control, optimization, quadratic-programming, safety-filter, collision-avoidance

Une fonction de l'état d'un robot dont le signe délimite un ensemble sûr, utilisée pour contraindre les entrées de commande afin qu'un système qui démarre dans l'ensemble sûr ne le quitte jamais, de façon démontrable.

Définition

Fonctions barrières de contrôle (control barrier functions, CBFs) : outil de la théorie de la commande non linéaire permettant d'imposer des contraintes de sécurité à des systèmes dynamiques. Un ensemble sûr est décrit comme la région où une fonction scalaire h(x) de l'état est positive ou nulle, par exemple la distance à un obstacle moins une marge. Une fonction barrière de contrôle ajoute une condition sur la vitesse à laquelle h peut décroître : l'entrée de commande doit maintenir la dérivée temporelle de h au-dessus d'une fonction négative de h elle-même. Si cette condition est vérifiée à chaque instant, l'ensemble sûr est invariant vers l'avant, ce qui signifie qu'un système qui démarre en sécurité reste en sécurité.

La formulation la plus utilisée en robotique a été développée par Aaron Ames et ses collègues au milieu des années 2010. Pour les systèmes affines en la commande, dont la dynamique est de la forme ẋ = f(x) + g(x)u, la condition de barrière est linéaire en l'entrée de commande u. Une entrée sûre peut donc être trouvée en ligne en résolvant un petit programme quadratique (QP) à chaque pas de commande : trouver l'entrée la plus proche d'une commande nominale souhaitée, sous la contrainte de barrière et sous les éventuelles limites des actionneurs.

Ce QP est souvent appelé filtre de sécurité. N'importe quel contrôleur, qu'il s'agisse d'un contrôleur de suivi réglé à la main, d'un planificateur ou d'une politique apprise, propose une commande, et le CBF-QP ne la modifie que dans la mesure nécessaire pour satisfaire la contrainte de sécurité. Les CBF s'associent naturellement aux fonctions de Lyapunov de contrôle (CLF), qui encodent des objectifs de stabilité ou de suivi ; un QP combiné CLF-CBF arbitre entre performance et sécurité tout en traitant la sécurité comme une contrainte dure.

L'utilisation pratique soulève plusieurs questions. Trouver une fonction barrière valide pour une géométrie complexe ou des robots de grande dimension peut être difficile. Lorsque la contrainte ne dépend pas directement de l'entrée, comme une limite de position pour un robot commandé en accélération, des extensions telles que les CBF exponentielles ou d'ordre élevé sont nécessaires. Les garanties ne valent que dans la mesure où le modèle est exact ; des variantes robustes et fondées sur les données tiennent donc compte de l'erreur de modèle, des limites d'entrée et de la période d'échantillonnage. Les contraintes CBF peuvent aussi être placées dans un problème de commande prédictive, afin que le contrôleur anticipe sur un horizon au lieu d'agir uniquement sur l'état courant.

Pourquoi c'est important

Les robots travaillent de plus en plus près des personnes, des obstacles et de leurs propres limites physiques, et les fonctions barrières de contrôle offrent un moyen mathématiquement fondé de faire respecter ces limites, quel que soit le contrôleur qui génère la commande nominale. Comme le filtre de sécurité est un petit problème d'optimisation, il peut tourner à la fréquence de commande sur du matériel embarqué, ce qui rend les arguments formels de sécurité pratiques plutôt que purement théoriques.

Applications principales

  • Évitement de collisions — maintenir robots mobiles, drones et bras manipulateurs à une distance sûre des obstacles
  • Filtres de sécurité pour politiques apprises — modifier le moins possible les commandes de contrôleurs issus de l'apprentissage par renforcement ou de l'apprentissage par imitation
  • Robots à pattes et humanoïdes — imposer des contraintes sur le placement des pieds, l'équilibre ou l'auto-collision
  • Systèmes multirobots — maintenir l'écart entre robots dans les formations et les essaims
  • Conduite automatisée — maintenir des distances de sécurité dans le régulateur de vitesse adaptatif

En pratique

Une équipe commence généralement par écrire les exigences de sécurité sous forme d'inégalités sur l'état, comme une distance minimale aux obstacles, des limites articulaires ou une région de placement des pieds, et transforme chacune en fonction barrière h(x). Le contrôleur existant du robot ou sa politique apprise produit une commande nominale, et à chaque cycle de commande un solveur QP tel qu'OSQP ou qpOASES trouve la commande la plus proche qui satisfait toutes les contraintes de barrière et les bornes des actionneurs. Les ingénieurs règlent la fonction de classe K étendue, souvent un simple gain linéaire sur h, pour fixer à quel moment le filtre intervient, et testent avec des commandes nominales volontairement dangereuses pour vérifier que le filtre tient la frontière. Comme le QP peut devenir infaisable lorsque les contraintes se contredisent ou que les entrées saturent, le système a aussi besoin d'un comportement de repli défini.

Idées reçues

  • Une CBF garantit inconditionnellement la sécurité sur le robot réel — la garantie vaut pour le modèle utilisé ; la dynamique non modélisée, les retards et les limites d'entrée exigent des formulations robustes et des marges
  • Les CBF remplacent le contrôleur principal — elles agissent comme un filtre autour d'un contrôleur nominal et n'interviennent que près de la frontière de l'ensemble sûr
  • N'importe quelle fonction de distance est une CBF valide — la fonction doit satisfaire la condition de barrière compte tenu de l'actionnement du système, ce que de nombreux choix naïfs de degré relatif élevé ne font pas
  • Le CBF-QP a toujours une solution — des contraintes contradictoires ou la saturation des actionneurs peuvent le rendre infaisable, d'où la nécessité d'un comportement de repli

Qui devrait le savoir

  • Ingénieurs automaticiens qui conçoivent des contrôleurs de robots critiques pour la sécurité
  • Chercheurs en apprentissage robotique qui ajoutent des couches de sécurité à des politiques apprises
  • Développeurs de drones et de véhicules autonomes
  • Étudiants de master et doctorants qui étudient la commande non linéaire et la commande fondée sur l'optimisation

Technologies associées

  • Fonction de Lyapunov de contrôle (Control Lyapunov Function)
  • Programmation quadratique (Quadratic Programming)
  • Commande prédictive (Model Predictive Control)
  • Filtre de sécurité (Safety Filter)
  • Atteignabilité de Hamilton-Jacobi (Hamilton-Jacobi Reachability)
  • OSQP

Termes associés

  • Model Predictive Control
  • Obstacle Avoidance
  • Whole-Body Control

Projets associés

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions

Vidéos

  • Lec 40 Control Barrier Function (CBF): NPTEL - Indian Institute of Science, Bengaluru

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.