Model Predictive Control Toolbox
Progettazione e simulazione di controller predittivi basati su modelli
Model Predictive Control Toolbox™ mette a disposizione funzioni, un’app e blocchi Simulink® per la progettazione e la simulazione di controller usando il controllo predittivo basato su modelli (MPC) lineare e non lineare. Il toolbox permette di specificare modelli di disturbo e impianti, orizzonti, vincoli e pesi. Tramite simulazioni ad anello chiuso, è possibile valutare le prestazioni dei controller.
Il comportamento del controller può essere regolato variandone i pesi e i vincoli al momento dell’esecuzione. Il toolbox contiene risolutori di ottimizzazione distribuibili e permette anche di usare un risolutore personalizzato. Per controllare un impianto non lineare, è possibile implementare controller MPC adattativi, gain-scheduled e non lineari. Per le applicazioni a frequenze di campionamento elevate, il toolbox consente di generare un controller predittivo esplicito basato su modelli a partire da un controller regolare, oppure di implementare una soluzione approssimata.
Per la prototipazione rapida e l’implementazione su sistemi embedded, compresa la distribuzione di risolutori di ottimizzazione, il toolbox supporta la generazione di codice C e testo strutturato IEC 61131-3.
Inizia ora:
- Progettazione di controller predittivi basati su modelli
- Applicazioni per la guida autonoma
- Controller predittivi basati su modelli lineari
- Specifica dei parametri MPC, stima dello stato e verifica del progetto
- Regolazione dei parametri e monitoraggio delle prestazioni in runtime
- Implementazione di controller predittivi rapidi basati su modelli
Scheda tecnica gratuita
Implementazione di un sistema di cruise control adattivo con Simulink
App MPC Designer
Progetta controller MPC in modo interattivo definendo un modello di impianto interno e regolando gli orizzonti, i pesi e i vincoli. Verifica le prestazioni dei controller utilizzando scenari di simulazione. Confronta le risposte di più controller MPC.
Progettazione MPC in Simulink
Modella e simula controller MPC in Simulink usando il blocco MPC Controller e altri blocchi disponibili nel toolbox. Trova punti operativi di equilibrio e linearizza un modello Simulink per calcolare un modello di impianto interno lineare tempo-invariante per il tuo controller MPC, quindi calcola i valori nominali degli input e degli output dell’impianto usando Simulink Control Design™.
Progettazione MPC in MATLAB
Usa funzioni a riga di comando per progettare controller MPC. Definisci un modello di impianto interno, regola i pesi, i vincoli e altri parametri dei controller. Simula la risposta del sistema ad anello chiuso per valutare le prestazioni del controller.
Blocchi predefiniti
Usa i blocchi Adaptive Cruise Control System, Lane Keeping Assist System e Path Following Control System come punto di partenza per la tua applicazione ADAS e personalizza il progetto in base alle tue necessità. Genera codice dai blocchi predefiniti per un’implementazione su veicolo.
Applicazioni di riferimento di esempio
Usa le applicazioni di riferimento di esempio che ti guidano attraverso il workflow di progettazione e implementazione dei controller MPC per i tuoi sistemi di guida autonoma. Le applicazioni di riferimento ti mostrano anche le varie possibilità di modellazione delle parti del sistema a livelli di fedeltà diversi.
MPC lineare
Progetta un controller MPC lineare specificando un modello di impianto interno come sistema lineare tempo-invariante (LTI) creato con Control System Toolbox™, oppure linearizzando un modello Simulink con Simulink Control Design. In alternativa, importa un modello creato a partire da dati di input-output misurati usando System Identification Toolbox™.
MPC adattivo
Progetta e simula controller MPC adattativi utilizzando funzioni da riga di comando e il blocco Adaptive MPC Controller. Aggiorna il tuo modello di impianto a ogni esecuzione e invialo come input al controller. Usa un filtro di Kalman lineare variabile nel tempo (LTV) integrato con garanzia di stabilità asintotica per la stima dello stato nei controller predittivi adattativi basati su modelli.
MPC gain-scheduled
Controlla impianti non lineari in svariate condizioni operative con il blocco Multiple MPC Controllers. Progetta un controller MPC per ciascun punto operativo e passa da un controller all’altro durante l’esecuzione.
Specifica dei parametri MPC, stima dello stato e verifica del progetto
Migliora in modo iterativo il progetto del tuo controller definendo un modello di impianto interno, regolando i parametri del controller e simulando la risposta del sistema ad anello chiuso per valutare le prestazioni del controller stesso. Esamina il controller per individuare possibili problemi di progettazione.
Parametri del controller
Dopo aver definito il modello di impianto interno, completa il progetto del tuo controller MPC specificando il tempo di campionamento, gli orizzonti di controllo e predizione, i fattori di scala, i vincoli di input e output e i pesi. Il toolbox supporta anche il softening dei vincoli oltre a pesi e vincoli variabili nel tempo.
Stima dello stato
Stima gli stati del controller in base agli output misurati utilizzando lo stimatore di stato integrato. In alternativa, usa un algoritmo personalizzato per la stima dello stato.
Analisi dei progetti
Rileva i possibili problemi di stabilità e robustezza del tuo controller MPC usando la funzione di diagnostica integrata. Usa i risultati ottenuti per regolare i pesi e i vincoli del controller in fase di progettazione del controller stesso per evitare errori in runtime.
Regolazione dei parametri in runtime
Regola pesi e vincoli del tuo controller MPC in runtime per ottimizzarne le prestazioni durante l’esecuzione senza doverlo riprogettare o implementare di nuovo. Esegui la regolazione del controller in runtime sia in MATLAB® che in Simulink.
Monitoraggio delle prestazioni in runtime
Accedi al segnale dello stato di ottimizzazione per rilevare le rare occasioni in cui un’ottimizzazione potrebbe non convergere. Usa queste informazioni per scegliere la strategia di controllo di backup da adottare.
MPC esplicito
Genera un controller MPC esplicito a partire da un progetto MPC implicito per un’esecuzione più rapida. Semplifica un controller MPC esplicito generato per un footprint di memoria dalle dimensioni ridotte.
Soluzione approssimata (sub-ottimale)
Progetta, simula e distribuisci un controller MPC con WCET (Worst-Case Execution Time) garantito usando una soluzione approssimata (sub-ottimale).
Pianificazione ottimale
Usa controller MPC non lineari per la pianificazione ottimale di applicazioni che richiedono un modello non lineare con vincoli o costi non lineari.
Controllo in retroazione
Simula il controllo ad anello chiuso di impianti non lineari con vincoli e costi non lineari. Per impostazione predefinita, i controller MPC non lineari usano Optimization Toolbox™ per risolvere il problema di programmazione non lineare. È anche possibile specificare un risolutore non lineare personalizzato.
MPC economico
Progetta controller MPC economici per ottimizzare il controller per una funzione di costo arbitraria in presenza di vincoli non lineari arbitrari. È possibile usare un modello predittivo lineare o non lineare, una funzione di costo non lineare personalizzata e vincoli non lineari personalizzati.
Generazione di codice con MATLAB e Simulink
Progetta un controller MPC in Simulink e genera codice C o testo strutturato IEC 61131-3 usando rispettivamente Simulink Coder™ o Simulink PLC Coder™. Usa MATLAB Coder™ per generare codice C in MATLAB e distribuiscilo per il controllo in tempo reale. In alternativa, usa MATLAB Compiler™ per pacchettizzare e condividere il tuo controller MPC come applicazione standalone.
Risolutori integrati
Genera codice dai risolutori di programmazione quadratica (QP) active-set e interior-point forniti per un’implementazione efficace su processori embedded. Per problemi non lineari, usa un solutore di programmazione quadratica sequenziale (SQP) presente in Optimization Toolbox per effettuare simulazioni e generare codice. Distribuisci il codice generato su un numero arbitrario di processori.
Risolutori personalizzati
Usa i risolutori di programmazione non lineare (NLP) e Embotech FORCES PRO QP per simulare e generare codice per controller MPC lineari e non lineari. In alternativa, usa risolutori QP e NLP personalizzati per le simulazioni e la generazione di codice.
Integrazione con FORCES PRO
Simulazione e generazione di codice per controller MPC con risolutori FORCES PRO sviluppati da Embotech AG
Risolutore QP interior-point
Calcolo efficiente delle variabili di comando ottimali per problemi MPC su larga scala
Generazione di codice per MPC non lineari
Generazione di codice per controller MPC non lineari che utilizzano il risolutore fmincon predefinito con l’algoritmo SQP
Consulta le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.