Adaptive Regelung am Quadrocopter #6: Gesamtsystemsimulation – Identifikation sekundärer Pfad und Wahl der Reglerparameter

Zum vorherigen Beitrag: Digitale Signalverarbeitung, adaptiver FxLMS-Regler

Zum nachfolgenden Beitrag: Gesamtsystemsimulation – Implementierung der Reglervarianten

 

Hallo liebe OpenAdaptroniker,

Heute mache ich weiter mit der Implementierung des Gesamtsystems in der Simulation. Vorab nochmal ein Kommentar zum Vorgehen. Durch meine Blogbeiträge ist der Entwicklungsprozess für meinen Anwendungsfall chronologisch etwas falsch dargestellt. Ich habe zuerst die Modellierung dargestellt, und komme jetzt auf die Simulation. Im Entwicklungsprozess wird aber eher eine Wechselwirkung zwischen Modellierung und Simulation durchgeführt. Das heißt man beginnt mit ganz einfachen Modellen (bsp. Zwei-Massen-Schwinger Kamera und Quadrocopter), simuliert und entscheidet dann nach und nach ob Teile des Modelles genauer modelliert werden müssen. Es muss nur klar sein, dass die Modellierung und die Simulation parallel verlaufen.

Wie in vorherigen Beiträgen erklärt, bietet die Simulation den Vorteil Komponenten leicht auszutauschen. Sollte zum Beispiel ein Aktor nicht richtig dimensioniert sein, kann man in der Simulation einfach die Parameter von einem neuen Aktor übernehmen und verändern, was an einem Prototypen mehr Zeitaufwand bedeuten würde. Ziel der Simulation ist also eine Einschätzung der Funktionsweise des Systems zu bekommen. Sie ist dennoch kein Ersatz für einen Prototypen, da durch vereinfachende Annahmen in der Modellierung die Implementierung in der Realität anders ist.

Die gesamten dargestellten Ergebnisse wurden mit Scilab/Xcos realisiert.

Bild6.1

Abbildung: Xcos-Diagramm der Gesamtsystemsimulation für den Feedback-Regler

Die Modelle der Komponenten werden zusammengeführt und für die Identifikation und die Simulation verwendet. In der Simulation simuliere ich zweimal  parallel die angeregte Quadrocopterstruktur, einmal mit eingeschaltetem aktivem System einmal ohne.

Identifikation des sekundären Pfads

Im letzten Blogbeitrag wurden der Regler und seine Funktionsweise eingeführt, insbesondere die Notwendigkeit eines digitalen Filters, das das dynamische Verhalten des sekundären Pfads nachmodelliert. Die Identifikation mit dem digitalen Filter wird vorab des Systembetriebs durchgeführt, indem der sekundäre Pfad mit einem breitbandigen Rauschen angeregt wird, und nach dem Prinzip des LMS-Algorithmus mit einem optimalen Filter identifiziert wird (siehe Blogbeitrag 5).

Für den gesamten Regler arbeite ich in meiner Arbeit mit digitalen FIR-Filtern. Diese benötigen zwar höhere Filterordnungen und beanspruchen somit eine höhere Rechenleistung, haben dafür aber den großen Vorteil ein stabiles Verhalten zu haben. Die Ordnung des Filters für die Systemidentifikation habe ich ausgehend von folgender Schätzung realisiert.

Die Faltung eines digitalen Filters W mit seinem Eingangssignal x wird für die Filterordnung mathematisch folgendermaßen beschrieben:

Gleichung6.1

Wobei zwischen x(n) und x(n-1) die Abtastperiode ts zeitlich enthalten ist. Somit bildet das Filter eine Antwort y anhand eines Ausschnitts des Signals x der zeitlichen Länge t=a_filter*ts. Um die Impulsantwort eines Systems vollständig abzubilden müsste die Filterordnung folgende Gleichung erfüllen:

Gleichung6.2

Um die Starrkörpermoden aus der Aufhängung bei der Vermessung der mechanischen Struktur nicht zu berücksichtigen (siehe Blogbeitrag 4), wird der Frequenzbereich von 0 bis 8Hz vernachlässigt. Somit kann für die Länge der Periode einer 8Hz-Schwingung die Filterordnung für eine Abbildung des sekundären Pfads ab 8Hz abgeschätzt werden:

Gleichung6.3

Mit der Abtastfrequenz der digitalen Signalverarbeitung von 5000Hz kann somit die Filterordnung auf 400Hz geschätzt werden. Ausgehend von 400 habe ich die Ordnung auf 1000 erhöht um die Abweichungen besonders in der ersten Eigenfrequenz zu reduzieren. Oberhalb von 1000 müsste die Ordnung  stark erhöht werden um eine Verbesserung zu erlangen.

Bild6.2

Abbildung: Frequenzspektren der Sekundären Strecke in der Simulation – Vergleich von identifizierten digitalen Filtern verschiedener Ordnungen mit der Simulationsmodellimpulsantwort

Die erhaltenen Filterkoeffizienten werden für alle Reglervarianten der Gesamtsystemsimulation verwendet.

Wahl der Reglerparameter

Ich habe zuerst den Feedback-Regler implementiert, da er den Vorteil bringt nur ein gemessenes Signal und somit nur einen Beschleunigungssensor zu benötigen. In der Implementierung werden die Reglerparameter variiert und bestimmt. Dazu nochmal eine kurze Zusammenfassung der Einflüsse der Parameter:

  • α ist die normierte Schrittweite des Normalized-Algorithmus zur Schrittweitensteuerung (siehe Gleichung im Blogbeitrag 5). Die normierte Schrittweite muss mit folgendem Kompromiss gewählt werden: je größer, desto schneller konvergiert der Regler (Ausgangsfehler konvergiert gegen null), aber wenn sie zu groß gewählt wird, konvergiert der Regler nicht oder divergiert sogar womit das System instabil wird.
  • β wird in der Berechnung der aktuellen Leistung des Referenzsignals verwendet. M kann als Länge des äquivalenten bewegten Zeitfensters M=1/β zur Berechnung der Leistung des Referenzsignals interpretiert werden. Wird M groß gewählt, werden viele vergangene Werte des Referenzsignals zur Berechnung verwendet, und die Schätzung der Leistung ist träge, was Sprünge in der Leistungsschätzung vermeidet. Andererseits reagiert der Regler langsamer auf Veränderungen im Referenzsignal bei großem M.
  • γ ist der Gewichtungsfaktor für den Leakage-Faktor (siehe Gleichung im Blogbeitrag 5). Der Leakage-Faktor verhindert die langfristige Divergenz, begrenzt dabei aber den minimal-erreichbaren Wert des mittleren quadratischen Fehlers. Der Gewichtungsfaktor (im Leakage-Faktor enthalten) wird als Kompromiss zwischen Robustheit und Performanceverlust gewählt. Er wird vergrößert, um die Divergenz des Systems zu vermeiden, und reduziert, um die Schwingungsminderung langfristig zu verbessern.
  • a_filter: ist die Ordnung des adaptiven Filters. Je höher die Filterordnung, desto besser ist die Abbildung einer Strecke. Andererseits haben zu große Filterordnungen einen negativen Einfluss auf den Fehler der mittleren quadratischen Abweichung. Je größer die Filterordnung desto schlechter konvergieren die Filterkoeffizienten gegen die idealen Filterkoeffizienten.

Weiterhin muss ebenfalls der Anfangswert für die geschätzte Leistung des Referenzsignals bestimmt werden. Wenn der Anfangswert weit von der durchschnittlichen Leistung des Referenzsignals ist, braucht die Schätzung der Leistung und somit auch die Schwingungsminderung etwas Zeit um optimal zu arbeiten.

Die oben genannten Parameter werden iterativ bestimmt. Der Ausgangswert für die iterative Bestimmung der Filterordnung wird anhand der oben dargestellten Gleichung geschätzt. Diese Schätzung erfolgt anhand der Periode der – mit der kleinsten Frequenz – zu mindernden Schwingung geschätzt. Weiterhin können  α und γ mit den Ergebnissen der nachfolgend dargestellten Sensitivitätsanalyse methodisch bestimmt werden.

Bild6.3

Abbildung: Reglerperformance über Variation der Parameter α und γ (Quelle: Sensitivitätsanalyse und Robustheitsverbesserungen eines adaptiven Regelalgorithmus für ein aktives Motorlager, Masterthesis, Jonathan Millitzer)

In der oben dargestellten Graphik wird die Reglerperformance über die Variation der beiden Parameter α und γ analysiert. Daraus wird festgestellt, dass für beide Parameterwerte eine obere, über die Variation des anderen Parameterwerts konstante, Grenze existiert. Unterhalb dieser Grenzen konvergiert die geregelte relative Beschleunigung gegen Null (im blauen Bereich). Die beiden Parameter werden ausgehend vom Wert 1 reduziert, bis ein optimaler Betriebspunkt erreicht ist.

 

Die Ergebnisse der Implementierung mit den verschiedenen getesteten Reglervarianten folgen im nächsten Blogbeitrag.

 

Bis bald,
Nicolas Baleynaud


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.