Heim > Technologie-Peripheriegeräte > KI > Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

王林
Freigeben: 2024-06-09 09:57:28
Original
805 Leute haben es durchsucht

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

MPC-Steuerungsalgorithmus, der vollständige Name lautet Model Predictive Control (Model Predictive Control), ist eine Steuerungstechnologie, die auf dem dynamischen Systemmodell basiert. Es funktioniert, indem es das zukünftige Verhalten des Systems durch mathematische Modelle vorhersagt und die Steuereingaben des Systems auf der Grundlage dieser Vorhersagen optimiert, um die gewünschte Ausgabe zu erzielen. Die Kernidee des MPC-Steuerungsalgorithmus besteht darin, die beste Steuerungseingabe zu erhalten, indem die Vorhersageergebnisse für einen bestimmten Zeitraum in der Zukunft in jedem Steuerungszyklus optimiert werden. Diese Optimierung basiert auf einigen Vorhersageergebnissen, um die Steuereingabe des Systems zu optimieren, um die gewünschte Ausgabe zu erzielen. Der MPC-Steuerungsalgorithmus ist weit verbreitet und eignet sich besonders für Steuerungssysteme, die bestimmte Einschränkungen erfüllen müssen. Durch die Kombination von Systemmodellen und Optimierungstechniken kann MPC in verschiedenen Branchen eingesetzt werden. Der Kern des MPC-Steuerungsalgorithmus liegt in seinem Vorhersagemodell, das den zukünftigen Systemzustand basierend auf den aktuellen Zustandsinformationen des Systems vorhersagen kann. Die Form des Vorhersagemodells ist nicht festgelegt und kann eine Zustandsraumgleichung, eine Übertragungsfunktion, ein Sprungantwortmodell, ein Impulsantwortmodell, ein Fuzzy-Modell usw. sein. Die spezifische Form hängt vom gesteuerten Objekt und dem Zustand ab, der vorhergesagt werden muss.

TinyMPC ist ein Open-Source-Löser, der auf die prädiktive Steuerung konvexer Modelle zugeschnitten ist und Hochgeschwindigkeitsberechnungen ermöglicht. TinyMPC ist in C++ mit minimalen Abhängigkeiten implementiert und eignet sich besonders für eingebettete Steuerungs- und Robotikanwendungen auf Plattformen mit eingeschränkten Ressourcen. TinyMPC kann Zustands- und Eingabegrenzen sowie Einschränkungen zweiter Ordnung verarbeiten. Zur Unterstützung der Codegenerierung für eingebettete Systeme stehen Python-, Julia- und MATLAB-Schnittstellen zur Verfügung.

Bot-Demo

TinyMPC bietet Unterstützung für datenschutzerweiterte Computeranwendungen und kann verwendet werden, um die Lücke zwischen sicherer Mehrparteienberechnung und ressourcenbeschränkten Verarbeitungsplattformen zu schließen. Durch die Integration von TinyMPC in Roboter mit unzureichender Rechenleistung können diese Vorgänge schnell ausführen und die Vorteile einer sicheren Ausführung nutzen.

Dynamische Hindernisvermeidung

TinyMPC läuft schnell genug, um Einschränkungen bei jedem Zeitschritt neu zu linearisieren, sodass es Überlegungen zu sich bewegenden Hindernissen anstellen kann. Auf der linken Seite wird eine virtuelle Kugel, die am Ende des Joysticks zentriert ist, bei jedem Zeitschritt in einen neuen Satz von Hyperebenenbeschränkungen linearisiert. Der Algorithmus kann auch eine beliebige Anzahl beliebiger linearer Einschränkungen verarbeiten. Auf der rechten Seite wird beispielsweise vermieden, dass das Ende des Stocks am Ende des Stocks liegt, während es in der yz-Ebene bleibt.

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

Extreme Haltungswiederherstellung

TinyMPC kann die Wiederherstellung unter extremen Bedingungen einleiten. In diesem Beispiel wird er mit dem Original-Controller von Crazyflie 2.1 verglichen. Nur TinyMPC kann Kontrollgrenzen durchbrechen und saubere Wiederherstellungsvorgänge erzielen.

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

Abbildung-8-Verfolgung

Wir haben den gleichen Standardcontroller für die undurchführbare schnelle Abbildung-8-Verfolgungsaufgabe verwendet (eine einzelne Abbildung-8-Zeit konnte nur erreicht werden, wenn die Drohne leistungsstärker war). TinyMPC und PID können aufrecht bleiben, aber die Flugbahn von TinyMPC ähnelt eher einer Acht.

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

Mikrocontroller-Benchmarks

Bei Mikrocontroller-Benchmarks übertrifft TinyMPC modernste Solver in Bezug auf Geschwindigkeit und Speicherbedarf. Wir lösen zufällig generierte QP-basierte MPC-Probleme und vergleichen die Iterationszeit und den Speicherbedarf mit OSQP. Die maximale Geschwindigkeitssteigerung von TinyMPC auf OSQP beträgt das Achtfache der von OSQP bei deutlich weniger Speicher.

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon UniversityTinyMPC ist jetzt auch in der Lage, konische Einschränkungen zu verarbeiten! In (b) vergleichen wir TinyMPC mit zwei vorhandenen Kegellösern (SCS und ECOS) mit integrierter Unterstützung für das Problem der sanften Landung von Raketen. TinyMPC erreicht eine durchschnittliche Geschwindigkeitssteigerung von 13x auf SCS und 137x auf ECOS.

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon UniversityDie Echtzeitsteuerung erfordert, dass der Löser innerhalb eines strengen Zeitfensters eine Lösung zurückgibt. Die Flugbahnverfolgungsleistung von TinyMPC wurde mit der von SCS und ECOS beim Problem der sanften Landung von Raketen verglichen, wobei die für jede Lösung verfügbare Zeit künstlich variiert wurde. TinyMPC weist über alle Kontrolldauern hinweg weniger Einschränkungsverletzungen und geringere Tracking-Fehler auf als SCS und ECOS.

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon UniversityAlgorithmus-Mitwirkender:

Ein geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University

Code-Erfassungsadresse:

GitHub - TinyMPC/TinyMPC: Modellprädiktive Steuerung für Mikrocontroller

Das obige ist der detaillierte Inhalt vonEin geschmeidigerer Regelalgorithmus als PID und Carnegie Mellon University. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage