Control Barrier Function
- Detto anche: CBF, barrier function, CBF-QP
- Categoria: Control › Feedback control
- Tag: safety, nonlinear-control, optimization, quadratic-programming, safety-filter, collision-avoidance
Una funzione dello stato di un robot il cui segno delimita un insieme sicuro, usata per vincolare gli ingressi di controllo in modo che un sistema che parte all'interno dell'insieme sicuro, in modo dimostrabile, non ne esca mai.
Definizione
Funzioni barriera di controllo (control barrier functions, CBF) sono uno strumento della teoria del controllo non lineare per imporre vincoli di sicurezza ai sistemi dinamici. Un insieme sicuro è descritto come la regione in cui una funzione scalare dello stato h(x) è non negativa, per esempio la distanza da un ostacolo meno un margine. Una funzione barriera di controllo aggiunge una condizione su quanto velocemente h può diminuire: l'ingresso di controllo deve mantenere la derivata temporale di h al di sopra di una funzione negativa di h stessa. Se questa condizione vale in ogni istante, l'insieme sicuro è invariante in avanti, cioè un sistema che parte in sicurezza resta in sicurezza.
La formulazione più usata in robotica è stata sviluppata da Aaron Ames e colleghi verso la metà degli anni 2010. Per i sistemi affini nel controllo, la cui dinamica ha la forma ẋ = f(x) + g(x)u, la condizione di barriera è lineare nell'ingresso di controllo u. Un ingresso sicuro può quindi essere trovato online risolvendo un piccolo programma quadratico (QP) a ogni passo di controllo: trovare l'ingresso più vicino a un comando nominale desiderato, soggetto al vincolo di barriera e agli eventuali limiti degli attuatori.
Questo QP viene spesso chiamato filtro di sicurezza. Qualsiasi controllore, che sia un controllore di inseguimento tarato a mano, un pianificatore o una policy appresa, propone un comando, e il CBF-QP lo modifica solo quanto basta per soddisfare il vincolo di sicurezza. Le CBF si abbinano naturalmente alle funzioni di controllo di Lyapunov (CLF), che codificano obiettivi di stabilità o di inseguimento; un QP combinato CLF-CBF bilancia prestazioni e sicurezza trattando la sicurezza come un vincolo rigido.
L'uso pratico solleva diverse questioni. Trovare una funzione barriera valida per geometrie complesse o robot ad alta dimensionalità può essere difficile. Quando il vincolo non dipende direttamente dall'ingresso, come un limite di posizione su un robot comandato in accelerazione, servono estensioni come le CBF esponenziali o di ordine superiore. Le garanzie valgono solo nella misura in cui il modello è accurato, quindi le varianti robuste e basate sui dati tengono conto dell'errore di modello, dei limiti di ingresso e del tempo di campionamento. I vincoli CBF possono anche essere inseriti in un problema di controllo predittivo basato su modello, così che il controllore guardi avanti su un orizzonte invece di agire solo sullo stato corrente.
Perché è importante
I robot operano sempre più spesso vicino a persone, ostacoli e ai propri limiti fisici, e le funzioni barriera di controllo offrono un modo matematicamente fondato per far rispettare questi limiti indipendentemente da quale controllore generi il comando nominale. Poiché il filtro di sicurezza è un piccolo problema di ottimizzazione, può girare alla frequenza di controllo su hardware embedded, il che rende pratiche, e non solo teoriche, le argomentazioni formali sulla sicurezza.
Applicazioni principali
- Prevenzione delle collisioni — mantenere robot mobili, droni e manipolatori a distanza di sicurezza dagli ostacoli
- Filtri di sicurezza per policy apprese — modificare il meno possibile i comandi di controllori ad apprendimento per rinforzo o ad apprendimento per imitazione
- Robot con gambe e umanoidi — imporre vincoli sul posizionamento dei piedi, sull'equilibrio o sull'autocollisione
- Sistemi multi-robot — mantenere la separazione tra robot in formazioni e sciami
- Guida automatizzata — mantenere distanze di sicurezza dal veicolo che precede nel cruise control adattivo
In pratica
Un team di solito inizia scrivendo i requisiti di sicurezza come disuguaglianze sullo stato, come la distanza minima dagli ostacoli, i limiti dei giunti o una regione per il posizionamento dei piedi, e trasforma ciascuno in una funzione barriera h(x). Il controllore esistente del robot o la policy appresa produce un comando nominale e, a ogni ciclo di controllo, un risolutore QP come OSQP o qpOASES trova il comando più vicino che soddisfa tutti i vincoli di barriera e i limiti degli attuatori. Gli ingegneri tarano la funzione di classe K estesa, spesso un semplice guadagno lineare su h, per stabilire con quanto anticipo interviene il filtro, e fanno prove con comandi nominali deliberatamente non sicuri per confermare che il filtro mantenga il confine. Poiché il QP può diventare non ammissibile quando i vincoli sono in conflitto o gli ingressi saturano, il sistema ha bisogno anche di un comportamento di ripiego definito.
Idee sbagliate comuni
- Una CBF garantisce la sicurezza sul robot reale in modo incondizionato — la garanzia vale per il modello usato; dinamiche non modellate, ritardi e limiti di ingresso richiedono formulazioni robuste e margini
- Le CBF sostituiscono il controllore principale — agiscono come un filtro attorno a un controllore nominale e intervengono solo vicino al bordo dell'insieme sicuro
- Qualsiasi funzione di distanza è una CBF valida — la funzione deve soddisfare la condizione di barriera data l'attuazione del sistema, cosa che molte scelte ingenue con grado relativo elevato non fanno
- Il CBF-QP è sempre risolvibile — vincoli in conflitto o saturazione degli attuatori possono renderlo non ammissibile, quindi serve un comportamento di ripiego
Chi dovrebbe saperlo
- Ingegneri di controllo che progettano controllori per robot critici per la sicurezza
- Ricercatori di apprendimento robotico che aggiungono livelli di sicurezza a policy apprese
- Sviluppatori di droni e veicoli autonomi
- Dottorandi e studenti magistrali che studiano il controllo non lineare e il controllo basato sull'ottimizzazione
Tecnologie correlate
- Funzione di controllo di Lyapunov (Control Lyapunov Function)
- Programmazione quadratica (Quadratic Programming)
- Controllo predittivo basato su modello (Model Predictive Control)
- Filtro di sicurezza (Safety Filter)
- Raggiungibilità di Hamilton-Jacobi (Hamilton-Jacobi Reachability)
- OSQP
Termini correlati
Progetti correlati
- 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
Video
- Lec 40 Control Barrier Function (CBF): NPTEL - Indian Institute of Science, Bengaluru