Ich habe einige Artikel zur Steuerung nichtlinearer Systeme (z. B. nichtlineares Pendel) gelesen . Es gibt verschiedene Ansätze für das Targeting nichtlinearer Systeme. Die gebräuchlichsten sind Rückkopplungslinearisierungs- , Rückschritt- und Gleitmodusregler .
In meinem Fall habe ich die theoretischen und praktischen Teile der Steuerung des nichtlinearen Modells eines einfachen Pendels sowie anderer Manipulatorprobleme in C ++ ausgeführt. Für das Pendel habe ich einen Rückschrittregler verwendet, um die Verfolgungsaufgabe für die Winkelverschiebung und Geschwindigkeit zu lösen. Die Ergebnisse sind
wobei und g = 9,81 .
Die Ergebnisse sind gut. Das Einstellen des Controllers ist jedoch zeitaufwändig. Die meisten Artikel verwenden genetische Algorithmen zur Optimierung ihrer Regler wie PD-, PID- und Backstepping-Regler. Ich bin auf diesem Gebiet ahnungslos und hoffe, dass jemand etwas Licht in dieses Konzept bringt, vorzuziehen, wenn es eine MATLAB-Probe gibt, um zumindest ein einfaches Pendel zu steuern.
Bisher habe ich eine einfache GUI in C ++ / Qt entworfen, um den Controller manuell einzustellen. In der folgenden Abbildung die Reaktion der Steuerung auf die Schrittfunktion.
Genetische Algorithmen sind eine maschinelle Lerntechnik, mit der ein Benutzer die Feinabstimmung eines Systems überflüssig machen und stattdessen einem Computer die Möglichkeit geben muss, das System zu optimieren. Der Vorteil dieses Ansatzes besteht darin, dass er den Forschern / Benutzern Zeit spart und häufig zu einem System führt, das besser abgestimmt ist als das, was der Forscher / Benutzer selbst hätte erreichen können.
Die allgemeine Idee der Verwendung eines genetischen Algorithmus würde einem grundlegenden Kontrollfluss folgendermaßen folgen:
Das beste Beispiel, das ich in der Praxis leicht für dieses Prinzip zeigen kann, ist dieses „Spiel“, bei dem mithilfe der genetischen Evolution Fahrzeuge entwickelt werden, die über einen Kurs fahren können. Die gleiche Idee gilt für jedes System, das Sie fein einstellen möchten, ohne dass Sie selbst eine Einstellung vornehmen müssen. Beispiel: http://rednuht.org/genetic_cars_2/
quelle
Ich bin verwirrt von dem, was Sie einen genetischen Algorithmus nennen. Die PD-, PID- usw. Regler sind weder heuristische noch stochastische Methoden und basieren nicht auf evolutionären Algorithmen. Sie sind stattdessen deterministische Algorithmen, die die Platzierung von Polen und Nullen einer Systemantwort ermöglichen sollen, um die gewünschte Leistung zu erzielen (Fehlerminimierung, Reaktionsgeschwindigkeit, Einschwingzeit, Stabilität und Störungsunterdrückung). Eine gute Lernreferenz ist meiner Meinung nach das Buch Automatic Control Systems von Kuo . Eine weniger strenge Behandlung finden Sie in Raven's Automatic Control Engineering- Buch.
quelle