Model Predictive Control Toolbox
Entwerfen und Simulieren von modellprädiktiven Reglern
Die Model Predictive Control Toolbox™ bietet Funktionen, eine App und Simulink® Blöcke zum Entwerfen und Simulieren von Reglern mit linearer und nicht linearer Modellvorhersage-Regelung (MPC). Mit der Toolbox können Sie Anlagen- und Störungsmodelle, Zeithorizonte, Beschränkungen und Gewichte festlegen. Durch Simulationen im geschlossenen Regelkreis können Sie die Reglergüte bewerten.
Sie können das Verhalten des Reglers anpassen, indem Sie die Gewichte und Begrenzungen während der Laufzeit variieren. Die Toolbox verfügt über bereitstellbare Optimierungs-Solver, ermöglicht aber auch den Einsatz benutzerdefinierter Solver. Zur Regelung einer nicht linearen Anlage können Sie adaptive, nicht lineare bzw. MPCs mit Gainscheduling einsetzen. Für Anwendungen mit schnellen Abtastraten können Sie basierend auf einem regulären Regler einen expliziten modellprädiktiven Regler generieren oder aber eine Näherungslösung anwenden.
Zur Unterstützung von Rapid Prototyping und Embedded-Systemen sowie der Bereitstellung von Optimierungs-Solvern bietet die Toolbox die Möglichkeit zur Generierung von C Code und die Erstellung von strukturiertem Text gemäß IEC 61131-3.
Jetzt beginnen:
Kostenlose technische Veröffentlichung
Implementierung eines adaptiven Geschwindigkeitsreglers mit Simulink
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.
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.
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 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.
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.
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.
Zustandsschätzung
Schätzen Sie die Reglerzustände anhand gemessener Ausgangswerte mit dem integrierten Zustandsestimator. Alternativ können Sie einen benutzerdefinierte Zustandsschätzalgorithmus verwenden.
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.
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.
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.
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.
(Suboptimale) Näherungslösung
Entwerfen, simulieren und verwenden Sie MPC-Regler mit garantierter Worst-Case-Ausführzeit durch Verwendung einer (suboptimalen) Näherungslösung.
Optimale Planung
Verwendung nicht linearer MPC-Regler für optimale Planungsanwendungen, die ein nicht lineares Modell mit nicht linearen Kosten oder Einschränkungen erfordern.
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.
Ö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.
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.
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.
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.