Adaptive Regelung am Quadrocopter #1: Methodische Modellierung in Scilab/Xcos eines Massen-schwingers

Hallo Liebe Openadaptroniker,

 

Kurz zu mir, da ich heute meinen ersten Beitrag schreibe:

Ich bin Nicolas, 24 Jahre alt und Masterstudent im Maschinenbau an der TU Darmstadt. Ich arbeite zur Zeit an meiner Masterarbeit am Fraunhofer LBF und bin somit neues Mitglied im Openadaptronikteam.

Meine Arbeit ist eng mit der Arbeit von David (Beiträge zum Quadrocopter) verbunden. Ich werde ebenfalls das Beispiel der aktiven Schwingungsberuhigung einer Kamera an einem Quadrocopter bearbeiten.

Tatsächlich ist das Vibrationsproblem am Quadrocopter ein verbreitetes Problem, erkennbar durch ein schwimmendes Bild oder Streifen im Bild. Viel kann durch nachträgliche Softwarebearbeitung besonders bei Actioncams verbessert werden, aber Vibrationen stellen trotz allem eine Begrenzung für hochqualitative Filmaufnahmen oder bei „sportlichem Fliegen“ dar.

Ziel meiner Arbeit ist es zu zeigen, dass die Implementierung eines etwas komplexeren digitalen adaptiven Reglers einfach realisierbar ist, und die Werkzeuge dafür bereitzustellen. Darum führe ich in Scilab Simulationen meines Gesamtsystems durch: Quadrocopter + Kamera +  aktive Kameralagerung + digitale Verarbeitungskette. Ich werde dazu einen adaptiven Regler auslegen, der in Zukunft an Stelle eines bis dahin schon entwickelten analogen Reglers am Quadrocopter implementiert werden soll.

 

Modellbildung Struktur

Im ersten Schritt der Modellbildung gilt es das Gesamtsystem zu betrachten und als Struktur stark zu vereinfachen. Dies ist ein notwendiger Schritt, denn es vereinfacht die Simulation und den damit verbundenen Aufwand, und ermöglicht trotz Vereinfachung auswertbare Ergebnisse zu erhalten.

Wir konzentrieren uns während meiner Arbeit auf Vibrationen in vertikaler Richtung – parallel zu den Motordrehachsen- , da wir diese Vibrationen als am relevantesten zunächst annehmen. Am Quadrocopter entstehen Schwingungen hauptsächlich an den Motoren. Weiterhin muss überlegt werden, welche Teile besonders flexibel sind, nicht vernachlässigbare Massen tragen und somit Einfluss auf die Übertragung der Schwingungen haben. Im Fall des Quadrocopters mit Kamera, ist vor allem die Kameralagerung als flexibel anzusehen, und weiterhin auch die Arme an denen die Motoren befestigt sind.

Zur Vereinfachung nehmen wir die Arme jedoch zunächst als steif an. Wir werden anhand von Messungen am Quadrocopter das Modell später noch anpassen. Somit ist in dem heute vorgestellten Modell, der Quadrocopter als steife Masse anzusehen. Diese ist über die flexible Kamerahalterung  mit der Kamera verbunden. Weiterhin wird die Quadrocoptermasse über eine weiche Feder „befestigt“. Diese Ankerung modelliert die Lageregelung des Quadrocopters/das Schweben des Quadrocopters.

 

Bild1.1Bild1.2

 

 

 

 

 

Modell des Systems (links) und Freikörperbild (rechts)

Die Bewegungsgleichungen des vereinfachten Systems sind folgende:

Bild1.3

Modellierung in Scilab/Xcos

Mit zunächst geschätzten Parametern  wird dieses System in Scilab/Xcos implementiert. Mit meinem aktuellen Stand am 4.07.2017, empfehle ich die ältere Version 5.5.2 anstand der neuen Version 6.0.0 zu verwenden, da die neue Version in Xcos noch sehr fehleranfällig ist. Die Version 6.0.0 bietet vor allem folgende Vorteile laut Herstellerangaben: Programmiersprache etwas kohärenter, bessere Speicherverwaltung und kann somit größere Datenmengen verarbeiten (benötigt die stacksize- funktion nicht mehr), schneller mit großen Matrizen und Xcos ist schneller.

Das System wird in Xcos in der Impedanz-Admittanz-Darstellung implementiert, die es ermöglicht Massenschwingersysteme methodisch und fehlerfreier zu modellieren. In dieser Darstellung werden Elemente wie Massen und Strukturen als Admittanzen modelliert, und Koppelelemente wie Steifigkeiten und Dämpfung als Impedanzen.  Zwischen den Systemen werden Potential-(z.B. Kräfte) und Flussgrößen(z.B. Geschwindigkeit) ausgetauscht.

Bild1.4

Hier die Darstellung zunächst ohne aktive Lagerung (ohne F_A). „x_p“ steht für die Geschwindigkeit (zeitliche Ableitung erster Ordnung).

Im Fall unseres einfachen Massenschwingers hat der Admittanzblock folgende Struktur:

Bild1.5

Um den Block zu testen, kann eine Sprungfunktion mit Amplitude 1 als Eingang gesetzt werden, und für eine Masse mk=1 erhält man dann eine konstante Steigung 1 als Ausgang.

Der Impedanzblock hat folgende Struktur:

Bild1.6

Erneut zum Test, sollte auf eine Sprungfunktion mit Amplitude 1 als Eingang, eine Antwort mit einem Sprung der Höhe d, mit anschließender konstanter Steigung k als Ausgang zu sehen sein.

Weiterhin bietet diese Darstellung den Vorteil das Modell einfach erweitern zu können, und  auch mechanische mit elektrischen Größen koppeln zu können.

Zum nachfolgenden Beitrag: Erste Erfahrungen mit Openmodal

Bis bald!


Schreibe einen Kommentar

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