Attitudecontrol Prof. Sergio Montenegro Lehrstuhl Informatik 8 Attitudecontrol Nils Gageik.

Slides:



Advertisements
Ähnliche Präsentationen
Wichtig für richtiges Lernen: Keine Ablenkung Richtige Raumtemperatur
Advertisements

Einstieg in die Integralrechnung
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Tipps & Tricks zu benutzerdefinierten Animationspfaden
WR + WS ZEIGEN Neues aus der Mathematik.
Wilhelm-Raabe-Schule Fachbereich: Mathematik Thema: Lineare Funktionen
Berechnung und Vereinfachung von Termen
Kollisionen erkennen Kollisions- und Schnittpunkttests auf Dreieckbasis Kollisions- und Schnittpunkttests auf Viereckbasis Einsatz von achsenausgerichteten.
Can Bus Diagnose.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
FS_Geschwindigkeitsmessung
Dr. Hergen Scheck BBS Lüchow 2/2005
Die Steigung m In der allgemeinen Funktionsgleichung y=mx+b
Addierwerke.
Aber was genau ist der Unterschied zwischen einem Kreis und „rund sein“? Wer kann schon einen Kreis malen? Das müssen wir unbedingt ausprobieren. Zuerst.
Heute: Scherenzange zeichnen
Kakuro Regeln und Strategien
Ich möchte gerne mehrere Bilder auf ein Folie
Willkommen bei Sycarus – dem Mathematikprogramm, das neue Wege geht.
1.) Programmaufruf und Einloggen:
COPYTEST FÜR NEU_ZWANZIGER
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Sortieralgorithmen Sortieren von Arrays.
Zum verständlich machen, wozu die Trigger-Funktion geeignet ist,
Excel 97 Einführung - Start -.
Effiziente Algorithmen
Digitale Regelungstechnik für Dummies
Von wegen nur Männer sind chauvinistisch:
"Die vier Gesetze der Spiritualität"
Effiziente Algorithmen
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
Von wegen nur Männer sind chauvinistisch....
Für das tägliche Glück....
Von wegen nur Männer sind chauvinistisch....
Von Patrik, Yannik, Marc und Luca
ProSeminar WS 2007/08 Leo Hackstein
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Soziogramm und Soziogramm Designer
Schicke dieses Herz an allen, die du in 2011 nicht verlieren möchtest
Kalibrierung eines Mikrofons unter DASYLab
Also lautet ein Beschluss,
Lösen von quadratischen Ungleichungen
Ein Überblick über verschiedene Verfahren
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Stationskarte Jonglieren
Hypothenuse berechnen
Wichtige Foto-Regeln   Wenn ich mir die von den Kindern der Zeitungs-AG in den letzten Wochen gemachten Fotos ansehe, kann ich einige Fehler finden, die.
Vom graphischen Differenzieren
Elektronisch Kommutierter Gleichstrommotor Patrick Weiss
Von wegen nur Männer sind chauvinistisch:
DataGround UG (haftungsbeschränk). DataGround UG (haftungsbeschränk) IST - Status: In der Produktion tritt an einem Arbeitsplatz ein Problem auf. Der.
Übung 10 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 10 – Smarter mit LEGO Objektorientierte.
Datenaustausch Wenn Sie diese Präsentation im Internet-Explorer ablaufen lassen wollen, so klicken Sie bitte auf das Leinwandsymbol unten rechts. Mit.
Zwei- oder besser Dreikreissystem zur Kostenabgrenzung
Schritt für Schritt-Anleitung
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Roboter programmieren
Tachogenerator an DC Motor
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Reihenfolge der Operatoren
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Gedanken G.W
Tutorium Software-Engineering SS14 Florian Manghofer.
Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Nils Gageik Luft- und Raumfahrtlabor Telemetrie.
Kalman Filter Kalman Filter Prof. Sergio Montenegro
Yawcontrol Prof. Sergio Montenegro Lehrstuhl Informatik 8 Yawcontrol Nils Gageik.
Graphen.
 Präsentation transkript:

Attitudecontrol Prof. Sergio Montenegro Lehrstuhl Informatik 8 Attitudecontrol Nils Gageik

Inhalt: (1) Wieso Attitudecontrol? (2) Brushless Motoren (3) Brushless Controller (4) Framework (5) Sicherheitseinweisung (6) Theorie zur Regelung & Überblick (7) Aufgaben & Hinweise Prof. Sergio Montenegro Lehrstuhl Informatik 8 Attitudecontrol Inhalt Nils Gageik

Wieso Attitudecontrol? Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Die Attitudecontrol ist das Kernstück des Quadcopters. Durch sie wird er in der Luft gehalten. Im Gegensatz zu anderen Fluggeräten (Flugzeug, Hubschrauber) ist der Quadcopter ein instabiles System und eine Regelung unverzichtbar: -> 2 Attitudecontroller übernehmen die Lageregelung in der z- Ebene -> Entspricht dem Problem der Wippenregelung: 2 Motorenregelung Attitudecontrol Wieso?

Brushless Motoren: Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Es werden sogenannte bürstenlose Gleichstrommotoren (Brushless-Motoren) verwendet. Im Gegensatz zu Bürstenmotoren wird hier also eine elektronische Kommutierung verwendet. Trotz des Namens entspricht das Funktionsprinzip einem Drehstrom-Motor mit Permanentmagneten und sogenannten drei Phasen: (+/-/0) Vorteile der Bl-Motoren: -Hohe Leistungsdichte (Leistung / Gewicht) -Hohe Drehzahlen -Kaum Verschleiß (nur Lager, keine Bürsten) -Verbreitung / Auswahl Nachteil: -Es wird ein BlCtrl (oder etwas Vergleichbares) benötigt, womit das synchrone Drehfeld für die Motoren erzeugt werden kann (Motoren haben 3 Anschlüsse ). - Kosten Attitudecontrol Bl-Motoren

Brushless Controller von Mikrokopter: Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Steuert die Motoren an und wird per I²C angesprochen. Vorteile des BlCtrls: -Verkabelung (I²C) -Sollwertstellzeit < 0,5ms (schnell) Nachteil: -Kosten (Deutschland) I²C-Addressen: Motor 10x29 Motor 20x2A Motor 30x2B Motor 40x2C Stellwert: 1 Byte U8 Wertebereich 0 bis 255 Attitudecontrol Bl-Ctrl

Brushless Controller von Afro (SimonK): Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Kompatibel zum Mikrokopter Vorteile des BlCtrls vs. Mikrokopter: -Erheblich Günstiger (China) Nachteil: -Bleibt abzuwarten Unterschied: Am Anfang müssen zum Initialisieren „Nullen“ Geschickt werden. BlCtrl = ESC Electronic Speed Control Attitudecontrol Bl-Ctrl

Framework: Zwei Klassen als Vorlage Actuator: Fertig Thread, enthält Objekt der zweiten Klasse Control engine_on aktiviert Motoren Motoren sind vor Start stets zu initialisieren: init() Mit set_engine() werden die Stellwerte übergeben: 1 Byte pro Motor Control: Klasse für Regler zu „befüllen“ wird von Actuator aus aufgerufen Vorgabe ist nur Hilfe, kein muss oder soll Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Attitudecontrol Framework

Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Attitudecontrol Framework BLCTRL Modul: Ein fertiges Modul (Actuator.cpp & Actuator.cpp.h) soll dir das Leben erleichtern. In diesem Modul ist die Ansteuerung der Motoren bereits implementiert. Über die Funktion set_Engine() können Stellwerte an die vier Brushless-Controller übergeben werden, die die Motoren ansteuern. Die Stellwerte sind je ein Byte (Character) pro Motor. Die Stellwerte müssen kontinuierlich gesendet werden, sonst schalten die Motoren aus. Es ist angedacht, dass die Übergabe der Stellwerte in der run()-Methode des Actuator-Threads geschieht. Die neusten Stellwerte werden kurz zuvor durch den Regler neu berechnet. Ein extra Thread für den Regler ist zwar möglich, aber wenig sinnvoll und daher wird zunächst davon abgeraten. Die Motoren werden nur angesteuert, wenn engine_on wahr, d.h. > 0 ist.

Sicherheitsbelehrung: Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik -Vor dem Start der Motoren prüfen, dass alle Schrauben festsitzen. (Motoren, Ausleger, Y-Teil). -NUR mit Genehmigung des Betreuers die Motoren anschließen und starten. -Abstand halten. Nachbarn warnen. Vorsicht walten lassen. Ausknopf parat! Attitudecontrol Sicherheit Not-Aus: Spannungsquelle ausschalten bzw. trennen I2C Kabel trennen (herausziehen) STM ausschalten

Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Mit einem PD-Regler und einem Gyrosensor lässt sich das System regeln. Als Regelgröße dient der Neigungswinkel. Attitudecontrol Theorie zur Regelung P D - Sollwert Istwert / Messwert + Drehrate Winkel System Stellwert Problem: 2 Motoren / Stellwerte, 1 Messwert (Winkel) Lösung: Vereinfach durch Regelung der Differenz der Stellwerte beider Motoren

Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Attitudecontrol Quadcopter Überblick Signal- verarbeitung Init Treiber & HW Regelung alle 10ms Signalverarbeitung: Auslesen der Sensoren Konditionieren der Werte (Verarbeitung) Datenfusion (Kalman Filter) Regelung Implementierung des Reglers (PID/PD) Ansteuerung der Motoren mit neuen Stellwerten Wichtig: Die Samplezeit muss stets genau eingehalten werden Kali- brieren

Aufgabe 1: Brushless-Controller Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik a) Schreibe ein Programm, dass die Brushless-Controller anspricht und die Motoren steuert. Die Motoren sollen per USART Kommando gestartet und gestoppt werden. b) Das Programm soll nacheinander jeden einzelnen Motor von Stellwert 70 auf Stellwert 0 herunter drehen lassen. D.h. als erstes startet Motor 0 mit dem Stellwert 70 und dekrementiert dann in ca. 5s auf 0. Wenn Motor 0 den Wert 0 erreicht, folge Motor 1, usw. Wenn das Kommando zum Ausstellen der Motoren erfolgt, dann haben alle Motoren sofort aus zu sein (innerhalb von 10ms). Bei erneutem Starten soll das Programm fortfahren oder neustarten. c) Die vier aktuell gültigen Sollwerte der Motoren sollen zur Debug-Hilfe optional angezeigt werden können. Entweder per Konsole oder (besser aber aufwändiger) im Telemetriedisplay (Extra Graph). Hinweis: Bevor du das Programm ausprobierst (die Motoren startest), melde dich beim Betreuer und stell sicher, dass niemand zu Schaden kommen kann (Beachte Sicherheitseinweisung). Attitudecontrol Aufgabe 1

Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Attitudecontrol Aufgabe 2 Aufgabe 2: PD-Regler Implementiere einen PD-Regler als Attitudecontroller, der die Wippe in der Waagerechten hält. Stelle die Reglerparameter empirisch durch Ausprobieren ein. Die Aufgabe ist gelöst, wenn eine Regelung zu erkennen ist, die reproduzierbar das System für kurze Zeit in der Waagerechten hält und auch kleine Störungen kompensiert. Eine perfekte Lösung ist mit diesem Verfahren nicht zu erwarten! (siehe nächste Seite). Verwende zunächst nur den Gyrometer.

1. Hinweis zu Aufgabe 2: Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Folgende Parameter/Vorgaben können helfen (Richtwerte als Größenordnungshilfe, ohne Sample-Time oder weitere Skalierung ): Sample-Time:10ms Bias-Samples1000 bis 2000 P 2| 4 D 0.4| 0.8(bremst P ab) I (optional)0.01| 0.02(vs. stationäre Regelabweichung) Vorgehen bei der Reglerparameterisierung: Fange mit D = 0 und I = 0 an und erhöhe P solange, bis das System „regelt“. Wenn es instabil wird, ist P bereits zu hoch. Wenn das System den Sollwert nie erreicht, ist P zu niedrig. Im Normalfall sollte das System oszillieren, d.h. hin und her schlagen. Als Nächstes erhöhe D um ein Überschwingen abzudämpfen. D sollte der Bewegung (Änderung) entgegenwirken. Idee: Der P-Anteil gibt an, wie schnell/heftig auf einen Fehler reagiert wird. Mit dem D-Anteil kann dann das System gebremst werden (Gegenregelung), wenn z.B. ein Fehler auftritt aber das System bereits in Bewegung ist. Attitudecontrol Hinweis zu Aufgabe 2

2. Hinweis zu Aufgabe 2: Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Ein stabiles System zu finden ist ein komplexes Problem. Wenn die Sensorwerte bereits schlecht sind, z.B. aufgrund von Vibrationen springen, dann versagt auch ein ansonsten guter Regler. Deshalb empfiehlt es sich mit dem Gyrometer erstmal nur den Regler einzustellen, da Vibrationen direkt auf das Accelerometer durchschlagen und es sehr viel schwerer ist, gleichzeitig sowohl den KF (Kalman Filter) als auch den Regler richtig zu parametrisieren. D.h. verwendet für den Regler erst mal als die Messwerte des Winkels, die durch Integration der Gyrowerte gewonnen werden. Später kann dann mit dem KF ein Driften behoben werden. Ebenso darf die Sampletime nicht (stark) variieren, d.h. diese sollte unbedingt eingehalten werden. Wenn das System instabil ist (oszilliert), liegt dies, wenn der P-Anteil nicht allzu riesig gewählt wurde, oft an einem falschen D-Anteil. Wenn der D-Anteil in die falsche Richtung regelt oder zu hoch/klein ist, wird das System nicht stabil. Zunächst muss das Vorzeichen des D-Anteils stimmen, d.h. er muss einer Bewegung (Winkeländerung) entgegenwirken (dämpfen). Dann ist D so zu wählen, dass es den P-Anteil dämpft, aber nicht so stark, dass es selbst wieder zum Aufschaukeln anreget. Attitudecontrol Hinweis zu Aufgabe 2

3. Hinweis zu Aufgabe 2: Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Ein zu hoher I-Anteil führt auch zu Instabilität durch Aufschwingen. Der I-Anteil dient der stationären Regelabweichung und sollte mit Bedacht (am Ende) dazugegeben werden. Stabilität kann ohne I-Anteil erreicht werden. Somit sollte der I-Anteil zunächst immer auf 0 gelassen werden. Attitudecontrol Hinweis zu Aufgabe 2

Aufgabe 3: Kalman Filter Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Verwende nun die Datenfusion des Kalman Filters aus Gyroskope und Accelerometer. Parametrisiere den Kalman Filter so, dass Vibrationen nicht die Orientierung verfälschen. Das System sollte nun nicht mehr Driften. In diesem Zusammenhang ist auch ein schwacher I-Anteil dem Regler hinzuzufügen, damit das System die stationäre Regelabweichung überwindet. Hinweis: Aufgabe 3 muss nicht erfüllt werden um diesen Aufgabenteil abzugeben. Ohne Aufgabe 3 kann aber nicht die volle Punktzahl (100%) erreicht werden. Attitudecontrol Aufgabe 3