Model Predictive Control Toolbox

 

Model Predictive Control Toolbox

Entwerfen und Simulieren von modellprädiktiven Reglern

Jetzt beginnen:

Entwurf linearer modellprädiktiver Regler

Entwerfen Sie einen MPC-Regler zur Regelung von MIMO-Systemen, die Eingangs- und Ausgangsbeschränkungen unterliegen. Führen Sie Simulationen im geschlossenen Regelkreis durch, um die Reglergüte zu bewerten.

MPC Designer-App

Definieren Sie ein internes Anlagenmodell, passen Sie Zeithorizonte, Gewichte und Beschränkungen an, um interaktiv MPC-Regler zu entwerfen. Simulieren Sie die Systemantwort, um die Reglergüte zu bewerten. Vergleichen Sie das Verhalten verschiedener MPC-Regler.

MPC-Entwurf in Simulink

Modellieren und simulieren Sie MPC-Regler in Simulink mit dem MPC-Reglerblock sowie anderen in der Toolbox verfügbaren Blöcken. Trimmen und linearisieren Sie ein Simulink-Modell, um ein internes LTI-Anlagenmodell für Ihren MPC-Regler zu berechnen, und berechnen Sie die nominale Werte für die Ein- und Ausgänge der Anlage mit Simulink Control Design™.

MPC-Entwurf in MATLAB

Verwenden Sie Funktionen aus der Kommandozeile, um MPC-Regler zu entwerfen. Definieren Sie ein internes Anlagenmodell, passen Sie Gewichte, Beschränkungen und andere Reglerparameter an und simulieren Sie die Systemantwort im geschlossenen Regelkreis, um die Reglergüte zu bewerten.

Entwurf von MPC-Reglern aus der Kommandozeile

Anwendungen für automatisiertes Fahren

Beschleunigen Sie die Entwicklung Ihres ADAS-Systems mit vorgefertigten Simulink-Blöcken. Verwenden Sie die Referenzbeispiele zur schnellen Entwicklung von ADAS-Reglern. Erzeugen Sie Codes aus den Simulink-Blöcken, um MPC-Regler in Fahrzeugen einzusetzen.

Vorgefertigte Blöcke

Nutzen Sie die Blöcke für adaptive Geschwindigkeitsregelung, Spurhalteassistent und Wegfolgesystem als Ausgangspunkt für Ihre ADAS-Anwendung und personalisieren Sie das Design wie gewünscht. Erzeugen Sie Code aus den vorgefertigten Blöcken, um MPC-Regler einzusetzen.

Verwendung des vorgefertigten Simulink-Blocks zum Entwurf adaptiver Geschwindigkeitsregelungssysteme.

Referenzanwendungen

Nutzen Sie Referenzanwendungen, die Ihnen die Abläufe des Entwurfs und Einsatzes von MPC-Reglern für Ihre automatisierten Fahrsysteme Schritt für Schritt näherbringen. Referenzanwendungen zeigen Ihnen ebenso, wie die verschiedenen Teile Ihres Systems mit unterschiedlichen Genauigkeitsgraden modelliert werden können.

Lineare modellprädiktive Regler

Entwerfen Sie MPC-Regler für Systeme mit linearer Dynamik. Entwickeln Sie adaptive bzw. MPC-Regler mit Gainscheduling für Anlagen mit Dynamiken, die sich abhängig von den Betriebsbedingungen ändern.

Lineare MPC-Regler

Entwerfen Sie mit der Control System Toolbox™ einen linearen MPC-Regler, indem Sie ein internes Anlagenmodell als ein lineares zeitinvariantes (LTI) System spezifizieren oder ein Simulink-Modell mittels Simulink Control Design linearisieren. Alternativ können Sie mit der System Identification Toolbox™ ein mit gemessenen Eingangs- und Ausgangsdaten erstelltes Modell importieren.

Spezifizierung eines internen Anlagenmodells für den Entwurf eines linearen MPC-Reglers.

Adaptiver MPC-Regler

Entwerfen und simulieren Sie adaptive MPC-Regler, indem Sie die Kommandozeilenfunktionen und den adaptiven MPC-Reglerblock verwenden. Aktualisieren Sie Ihr Anlagenmodell während der Laufzeit und stellen Sie das Modell als Regler-Eingabewert bereit. Verwenden Sie einen integrierten, linearen und zeitvariablen (LTV) Kalman-Filter mit garantierter asymptotischer Stabilität für die Zustandsschätzung in adaptiven modellprädiktiven Reglern.

MPC mit Gainscheduling

Regeln Sie nicht lineare Anlagen über eine Vielzahl von Betriebsbedingungen mit dem Reglerblock für multiple MPC-Regler. Entwerfen Sie einen MPC-Regler für jeden Betriebspunkt und wechseln Sie während der Laufzeit zwischen den Reglern.

Verwendung des multiplen MPC-Reglerblocks zum Entwerfen eines MPC-Reglers mit Gainscheduling.

MPC-Designparameter, Zustandsschätzung und Design-Überprüfung

Verbessern Sie Ihr Regler-Design iterativ, indem Sie ein internes Anlagenmodell definieren, Regler-Parameter anpassen und die Systemantwort im geschlossenen Regelkreis simulieren, um die Reglergüte zu bewerten. Überprüfen Sie Ihren Regler auf mögliche Designprobleme.

Regler-Parameter

Nach der Definition des internen Anlagenmodells schließen Sie das Design Ihres MPC-Reglers ab, indem Sie Abtastintervalle, Prognose- und Kontrollhorizonte, Skalierfaktoren, Eingangs- und Ausgangsbeschränkungen sowie Gewichte festlegen. Die Toolbox unterstützt ebenso die Abmilderung von Beschränkungen sowie zeitvariable Beschränkungen und Gewichte.

Festlegen der Regler-Parameter in der MPC Designer-App.

Zustandsschätzung

Schätzen Sie die Reglerzustände anhand gemessener Ausgangswerte mit dem integrierten Zustandsestimator. Alternativ können Sie einen benutzerdefinierte Zustandsschätzalgorithmus verwenden.

Benutzerdefinierte Zustandsschätzung.

Designüberprüfung

Erfassen Sie mit der integrierten Diagnosefunktion potenzielle Stabilitäts- und Robustheitsprobleme Ihres MPC-Reglers. Verwenden Sie diese Diagnoseergebnisse zum Anpassen der Regler-Gewichte und -Beschränkungen während des Entwurfsvorgangs, um Laufzeitfehler zu verhindern.

Verbesserung des Regler-Designs mithilfe von Empfehlungen des Designüberprüfungsberichts.

Laufzeit-Parametereinstellung und Überprüfung der Reglergüte

Verbessern Sie die Reglergüte durch Justieren der Gewichte und Beschränkungen während der Laufzeit. Untersuchen Sie die Laufzeitleistung des Reglers.

Laufzeit-Parameterabstimmung

Passen Sie die Gewichte und Beschränkungen Ihres MPC-Reglers während der Laufzeit an, um seine Güte ohne neues Design oder neue Implementierung zu optimieren. Nehmen Sie die Laufzeit-Regler-Abstimmung sowohl in MATLAB® als auch in Simulink vor.

Anpassung der Gewichte und Beschränkungen während der Laufzeit.

Laufzeitleistungsüberwachung

Greifen Sie auf das Optimierungsstatus-Signal zu, um die seltenen Fälle zu erfassen, in denen eine Optimierung falsch konvergiert, und entscheiden Sie dann, ob ein Backup-Regler zum Einsatz kommen soll.

Erfassen von Regler-Ausfällen in Echtzeit. 

Einsatz von schnellen, modellprädiktiven Reglern

Entwerfen, simulieren und verwenden Sie MPC-Regler in Anwendungen mit begrenzter Rechnerleistung

Expliziter MPC-Regler

Erstellen Sie einen expliziten MPC-Regler basierend auf einem impliziten MPC-Entwurf zur schnelleren Ausführung. Vereinfachen Sie einen erstellten expliziten MPC-Regler und verringern Sie so den Arbeitsspeicherbedarf.

Erstellen eines expliziten MPC-Reglers basierend auf einem vorab entworfenen impliziten Regler.

(Suboptimale) Näherungslösung

Entwerfen, simulieren und verwenden Sie MPC-Regler mit garantierter Worst-Case-Ausführzeit durch Verwendung einer (suboptimalen) Näherungslösung.

Vergleich der Ausführzeiten optimaler und (suboptimaler) Näherungslösungen.

Nicht lineare modellprädiktive Regler

Entwerfen Sie nicht lineare MPC-Regler zur Regelung von Anlagen mittels nicht linearer Prognosemodelle, Kostenfunktionen oder Beschränkungen.

Optimale Planung

Verwendung nicht linearer MPC-Regler für optimale Planungsanwendungen, die ein nicht lineares Modell mit nicht linearen Kosten oder Einschränkungen erfordern.

Trajektorien-Optimierung und Regelung von Flugrobotern mit nicht linearer MPC-Regelung.

Feedback-Regelung

Simulieren Sie einen geschlossenen Regelkreis von nicht linearen Anlagen unter nicht linearen Kosten und Beschränkungen. Standardmäßig verwenden nicht lineare MPC-Regler die Optimization Toolbox™, um das Problem nicht linearer Programmierung zu beheben. Sie können ebenso einen eigenen benutzerdefiniert nicht linearen Solver festlegen.

Nichtlineare modellprädiktive Regelung eines exothermen Chemiereaktors.

Ökonomischer MPC-Regler

Designen Sie ökonomische MPC-Regler zur Optimierung des Reglers für eine beliebige Kostenfunktion unter beliebigen nicht linearen Beschränkungen. Sie können ein lineares oder ein nicht lineares Prognosemodell anwenden, eine benutzerdefinierte nicht lineare Kostenfunktion sowie benutzerdefinierte nicht lineare Beschränkungen.

Ökonomische MPC-Regelung bei der Ethylenoxidproduktion.

Codegenerierung

Erstellen Sie Code für in Simulink und MATLAB entworfene modellprädiktive Regler und nutzen Sie ihn für Echtzeit-Regler-Anwendungen.

Codegenerierung mit MATLAB und Simulink

Entwerfen Sie einen MPC-Regler in Simulink und erstellen Sie C Code und IEC 61131-3-konformen strukturierten Text mit dem Simulink Coder™ bzw. Simulink PLC Coder™. Verwenden Sie MATLAB Coder™, um C Code in MATLAB zu schreiben und ihn zur Echtzeit-Regelung zu nutzen. Alternativ können Sie MPC-Regler auch mit dem MATLAB Compiler™ einsetzen, einer eigenständig ausführbaren Anwendung.

Generieren von C Code aus dem MPC-Reglerblock.

Integrierter Solver

Generieren Sie Code mit dem verfügbaren QP-Solver (quadratische Programmierung) für eine effiziente Umsetzung in einem eingebetteten Prozessor. Nutzen Sie bei nicht linearen Problemen den SQP-Solver (sequenzielle quadratische Programmierung) aus der Optimization Toolbox zur Simulation und Codegenerierung. Stellen Sie den generierten Code für eine beliebige Anzahl von Prozessoren bereit.

Integrierte Solver.

Benutzerdefinierte Solver

Verwenden Sie Embotech FORCES PRO QP- und NLP-Solver (nicht lineare Programmierung), um lineare und nicht linear MPC-Regler zu simulieren und Code zu generieren. Alternativ lassen sich benutzerdefinierte QP- und NLP-Solver zur Simulation und Codegenerierung einsetzen.

Benutzerdefinierter QP-Solver zur Simulation und Codegenerierung.