Model Predictive Control (MPC)
Scopri come il controllo predittivo basato su modello (MPC) prevede i risultati, ottimizza le azioni entro i vincoli e funziona con la visione artificiale nella robotica e nel controllo degli edifici.
Il controllo predittivo basato su modello (MPC) è un modo per scegliere le azioni prevedendo come risponderà un sistema nei momenti successivi, selezionando la migliore sequenza di azioni ed eseguendo solo la prima. Successivamente misura ciò che è accaduto realmente e pianifica di nuovo. Pensa a un robot di magazzino che si avvicina a una curva: anziché sterzare basandosi unicamente sulla sua posizione attuale, considera dove lo porterebbero le diverse scelte di sterzata e se quei percorsi libererebbero gli scaffali vicini.
Come funziona il controllo predittivo basato su modello (MPC)?#
Un controller di controllo predittivo basato su modello (MPC) richiede uno stato, come la posizione e la velocità di un robot; un modello di dinamica, che prevede come le azioni cambiano tale stato; e un obiettivo, che descrive un buon risultato. La sua ottimizzazione potrebbe favorire il raggiungimento di una destinazione penalizzando sterzate brusche. I vincoli escludono o scoraggiano comportamenti inaccettabili, come il superamento del limite di velocità di un motore o l'ingresso in uno spazio occupato.
A ogni intervallo di controllo, il controllo predittivo basato su modello (MPC) prevede le conseguenze di azioni candidate su un orizzonte di previsione. Sceglie la sequenza con il costo complessivo più basso, applica la sua prima azione e ripete con misurazioni aggiornate. Questa ripianificazione ripetuta è chiamata controllo a orizzonte mobile. L'introduzione di MathWorks al controllo predittivo basato su modello (MPC) illustra questo ciclo di feedback; la guida di MathWorks al tempo di campionamento e agli orizzonti spiega perché guardare più lontano nel futuro può migliorare l'anticipazione ma aumentare il calcolo.
Non esiste un'unica "formula di controllo predittivo basato su modello (MPC)" universale. In parole semplici, il controller riduce al minimo la somma prevista degli errori di tracciamento dell'obiettivo e dei costi delle azioni nel suo orizzonte, subordinatamente al suo modello e ai suoi vincoli. La spiegazione di do-mpc del controllo predittivo basato su modello (MPC) mostra anche come questa idea si estenda ai sistemi non lineari, le cui risposte non possono essere adeguatamente rappresentate da un semplice modello lineare.
Cosa contribuiscono il modello e le misurazioni?#
Il modello di dinamica prevede le conseguenze, non necessariamente le immagini. Potrebbe stimare come cambia la posizione di un robot quando cambiano le velocità delle ruote o come risponde la temperatura di una stanza al riscaldamento e alle condizioni meteorologiche esterne. I suoi parametri possono provenire da conoscenze fisiche, dati misurati o modellazione predittiva. L'apprendimento del modello non elimina la necessità di verificare se le sue previsioni rimangono accurate nell'ambiente operativo.
Le misurazioni correggono il piano. Le telecamere possono rivelare ostacoli, ma un rilevamento di immagini non è automaticamente una posizione fisica utilizzabile. Un controller potrebbe aver bisogno della calibrazione della telecamera, di informazioni sulla distanza e di uno stimatore dello stato per combinare le osservazioni con la cronologia dei movimenti. Un filtro di Kalman è un possibile stimatore; la guida di MathWorks alla stima dello stato del controller spiega perché il controllo predittivo basato su modello (MPC) spesso stima stati che non può misurare direttamente. La ripianificazione aiuta con previsioni imperfette, ma non può rendere sicuro di per sé un'osservazione ritardata o inaffidabile.
Dove viene applicato il controllo predittivo basato su modello (MPC)?#
- Navigazione di robot da magazzino: Un robot mobile utilizza le osservazioni della telecamera e le sue stime di movimento per pianificare un breve percorso attorno a lavoratori e scaffalature. Un controller di controllo predittivo basato su modello (MPC) può confrontare le sequenze di sterzata e velocità rispetto a un obiettivo di tempo di viaggio e limiti di movimento, quindi rivedere la propria scelta mentre le persone si muovono. La documentazione del controller predittivo Nav2 fornisce un esempio pratico di robotica per la valutazione di traiettorie previste.
- Climatizzazione degli edifici: Un controller per edifici può prevedere come le decisioni di riscaldamento o raffreddamento influenzeranno le temperature delle stanze nelle ore successive. Le stime di occupazione e le previsioni meteorologiche lo aiutano a prepararsi alla domanda bilanciando al contempo l'uso di energia e i limiti di comfort. La panoramica sui sensori e sui controlli per edifici del Dipartimento dell'Energia degli Stati Uniti descrive questa combinazione di apprendimento automatico e controllo predittivo.
In entrambi i casi, il beneficio non è la sola previsione. Il controllo predittivo basato su modello (MPC) utilizza le previsioni per scegliere un'azione entro i limiti operativi, quindi verifica il proprio piano rispetto all'osservazione successiva.
In che modo il controllo predittivo basato su modello (MPC) è diverso dai concetti correlati?#
Un modello del mondo rappresenta come un ambiente può evolversi; il controllo predittivo basato su modello (MPC) è una procedura di controllo che utilizza un modello di dinamica per confrontare le possibili azioni. L'apprendimento per rinforzo in genere impara come agire dall'esperienza, mentre il controllo predittivo basato su modello (MPC) risolve esplicitamente un problema di pianificazione orientato al futuro durante il funzionamento. Possono essere combinati: un modello appreso può fornire le previsioni del controllo predittivo basato su modello (MPC).
Allo stesso modo, il tracciamento degli oggetti stima dove si trova un oggetto tra i fotogrammi; non sceglie i comandi di sterzata. Il tracciamento può fornire osservazioni al controllo predittivo basato su modello (MPC), ma il controller necessita comunque di un modello di movimento, un obiettivo, vincoli e un metodo di ottimizzazione. La guida ai vincoli di MathWorks distingue i limiti rigidi dai vincoli flessibili che consentono una violazione penalizzata.
In che modo la visione artificiale può supportare una pipeline di controllo predittivo basato su modello (MPC)?#
Ultralytics YOLO26 può fornire un input di percezione tramite il rilevamento di oggetti. Questo flusso di lavoro di inferenza documentato restituisce riquadri di delimitazione per un'immagine:
from ultralytics import YOLO
# Load a pretrained detection model.
model = YOLO("yolo26n.pt")
# Observe objects in the current image.
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Inspect image-space locations available to a perception pipeline.
print(result.boxes.xyxy)L'output fornisce le coordinate dei riquadri nello spazio dell'immagine, non distanze, velocità o comandi di controllo. Per una scena in movimento, la modalità di tracciamento YOLO può aiutare a mantenere le identità degli oggetti, mentre la stima della profondità può fornire stime della distanza. Un sistema di stima e controllo predittivo basato su modello (MPC) separato deve trasformare le osservazioni idonee in uno stato, prevedere i risultati delle azioni, risolvere l'ottimizzazione vincolata e comandare l'hardware.
Prima del deployment, verifica che l'intero ciclo dalla percezione all'azione termini entro il suo intervallo di controllo. Valuta i rilevamenti mancati, la discrepanza del modello e i casi in cui i vincoli rendono un piano non fattibile; imposta un comportamento di fallback definito anziché dare per scontato che l'ottimizzatore restituirà sempre un comando sicuro.









