Safety Filter
- Catégorie: Control › Feedback control
- Mots-clés: safety, safe-control, optimization, learning-based-control, runtime-assurance
Une couche d'exécution qui vérifie chaque commande d'un contrôleur nominal, d'un humain ou d'une politique apprise et la remplace par la commande la plus proche qui maintient le système, de façon prouvable, dans un ensemble sûr.
Définition
Un filtre de sécurité (safety filter) se place entre un contrôleur nominal et les actionneurs. Le contrôleur nominal, qui peut être une loi réglée à la main, un planificateur, un téléopérateur ou une politique apprise, propose une commande u_nom. Le filtre vérifie si son application maintient le système dans un ensemble d'états sûrs et, sinon, la remplace par une commande sûre, généralement la plus proche de u_nom. Lorsque la commande proposée est déjà sûre, elle passe sans modification. Cette séparation permet aux ingénieurs de concevoir le contrôleur nominal pour la performance et d'imposer la sécurité dans un seul composant, petit et analysable.
Plusieurs constructions sont courantes. Les filtres à fonction barrière de contrôle (control barrier function) résolvent un petit programme quadratique à chaque pas de commande : minimiser ‖u − u_nom‖² sous une contrainte linéaire qui empêche une fonction barrière de décroître trop vite, plus les limites des actionneurs. Les filtres fondés sur l'atteignabilité de Hamilton-Jacobi calculent hors ligne l'ensemble des états à partir desquels la sécurité peut être maintenue, et basculent vers un contrôleur sûr, ou le mélangent à la commande, lorsque l'état approche de sa frontière. Les filtres de sécurité prédictifs utilisent la commande prédictive par modèle : ils vérifient si la commande proposée peut être suivie d'une trajectoire de repli sûre sur un horizon et la modifient sinon. Les travaux orientés apprentissage utilisent des idées étroitement apparentées sous des noms comme boucliers (shields) et couches de sécurité (safety layers).
Un filtre de sécurité ne vaut que ce que valent le modèle et l'estimation d'état sur lesquels il s'appuie. Les erreurs de modèle, les retards, la saturation des actionneurs et les erreurs de perception peuvent tous rompre la garantie ; les variantes robustes resserrent donc les contraintes en fonction de bornes sur ces erreurs, par exemple pour tenir compte d'estimations d'état produites par une perception apprise. Les filtres peuvent aussi provoquer des comportements indésirables, comme un robot qui s'arrête près d'un obstacle lorsque le but nominal se trouve derrière, parce qu'ils agissent localement et ne replanifient pas. L'entrée fonction barrière de contrôle décrit le certificat lui-même ; le filtre de sécurité est l'architecture d'exécution qui utilise un tel certificat, ou un ensemble atteignable ou une vérification prédictive, pour modifier les commandes.
Pourquoi c'est important
Les politiques apprises et les opérateurs humains ne s'accompagnent d'aucune garantie de sécurité, et les réentraîner pour qu'ils soient sûrs dans toutes les situations est rarement praticable. Un filtre de sécurité ajoute une couche vérifiable qui impose des limites comme l'évitement de collision, les butées articulaires ou les géobarrières, quoi que fasse le contrôleur nominal, ce qui en fait un schéma courant pour déployer une commande fondée sur l'apprentissage sur des robots réels.
Applications principales
- Évitement de collision autour de contrôleurs appris ou téléopérés
- Respect des limites articulaires, de vitesse et d'espace de travail sur les manipulateurs
- Géorepérage et évitement d'obstacles pour les drones
- Exploration sûre pendant l'apprentissage par renforcement sur le matériel
- Autonomie partagée, où une commande humaine est corrigée au minimum
En pratique
Une équipe déploie une politique d'apprentissage par renforcement sur un robot mobile dans un laboratoire où se trouvent des personnes. Elle l'enveloppe dans un filtre de sécurité fondé sur une CBF : pour chaque obstacle proche, la fonction barrière est la distance moins une marge, et un programme quadratique exécuté à la fréquence de commande trouve la commande de vitesse la plus proche de la sortie de la politique qui satisfait toutes les contraintes de barrière et les limites de vitesse du robot. Comme les positions des obstacles proviennent d'un détecteur appris aux bornes d'erreur connues, l'équipe agrandit la marge de cette borne. Pendant les essais, elle enregistre à quelle fréquence et avec quelle intensité le filtre intervient, ce qui montre où la politique elle-même a besoin de davantage d'entraînement.
Idées reçues
- Un filtre de sécurité rend n'importe quel contrôleur sûr — sa garantie dépend de l'exactitude du modèle, de l'estimation d'état et des limites des actionneurs ; les erreurs sur ces éléments doivent être bornées et prises en compte
- Un filtre de sécurité remplace la planification — il modifie les commandes localement et peut laisser le robot bloqué ou en interblocage ; un planificateur reste nécessaire pour atteindre les buts
- Filtre de sécurité et fonction barrière de contrôle veulent dire la même chose — une CBF est un type de certificat ; les filtres peuvent aussi être construits à partir d'ensembles atteignables ou de trajectoires de repli prédictives
Qui devrait le savoir
- Ingénieurs en commande qui déploient des contrôleurs fondés sur l'apprentissage
- Ingénieurs sécurité pour robots mobiles et drones
- Chercheurs en apprentissage par renforcement travaillant sur l'exploration sûre
- Développeurs en téléopération et en autonomie partagée
Technologies associées
- Programmation quadratique (Quadratic Programming)
- OSQP
- Atteignabilité de Hamilton-Jacobi (Hamilton-Jacobi Reachability)
- Filtre de sécurité prédictif (Predictive Safety Filter)
- Shielding
Termes associés
- Control Barrier Function
- Hamilton-Jacobi-Bellman Equation (HJB)
- Model Predictive Control
- Region of attraction
- Obstacle Avoidance
- Reinforcement Learning
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
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
- NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions
- OpEn (Optimization Engine): Embedded nonconvex optimization solver in Rust for real-time MPC on robots
- ProxSuite: High-performance QP/LP solver for robotics control and optimization