Rabbit Flight Controller

Status
Nicht offen für weitere Antworten.

Jokey

Hexakopterjunkie
Entweder auf den "Zitieren" Button unter dem Beitrag klicken, dann ist es gleich geschlossen oder mit "[/QUOTE]" selber schließen.

Edit: Was passiert eigentlich wenn ich den Rabbit im PositionHold über die Gierachse drehe? Hält er die Position dann trotzdem oder ist es wie mit HeightLock, dass beim Bewegen eines Knüppels die Funktion kurz ausgeschaltet wird und er in dieser Zeit dann driften kann wohin er gerade Lust hat?

Edit2:
PositionHold Mode:This mode need GPS module supports.The aircraft will automatically hovering near to the coordinate position where the GPS module acquired when released the joystick of throttle at any time any where in flying.
Das steht nur etwas über das Gas. Zum Rest schweigen die sich aus...
 
Zuletzt bearbeitet:
Der PID-Regler: Steller, Regler, Regelkreis

Hallo PID-Regler Interessierte!

Hier die Fortsetzung von http://fpv-community.de/showthread.php?6912-Rabbit-Flight-Controller&p=146496&viewfull=1#post146496

Ein Steller (auch Stellglied genannt) dient dazu, die Ausgangsgröße eines technischen Systems zu beeinflussen. Manchmal hört man in der Umgangssprache auch, dass die Ausgangsgröße damit geregelt wird. Technisch gesehen ist das aber unkorrekt. Das Gaspedal im Auto z. B. dient dazu, die Geschwindigkeit (besser Leistung des Motors) einzustellen. Das Gaspedal bewegt einen Steller am Motor und der kann nicht regeln. Ein Steller hat eine Eingangsgröße (im Beispiel die beabsichtigte Motorleistung) und eine Ausgangsgröße (die Geschwindigkeit unter den gegebenen Einflussfaktoren wie Fahrzeugform, Luftwiderstand, etc.).

Würde man z. B. das Gaspedal bei einer bestimmten Geschwindigkeit festklemmen, dann würde das Auto mit konstanter Geschwindigkeit fahren, jedoch die Geschwindigkeit nur so lange konstant halten, bis der nächste Berg kommt. Wer auch am Berg eine konstante Geschwindigkeit möchte, der benötigt einen Regler. Das kann ein elektronischer Regler sein (Tempomat) oder der Fahrer selbst.

Ein Steller ist deshalb immer da ausreichend, wo es keine Störeinflüsse gibt. Ein Regler dagegen kann Störeinflüssen entgegen wirken.
Der Regler hat, wie der Steller eine Eingangsgröße (Führungsgröße genannt) und eine Ausgangsgröße (Regelgröße genannt) und kann zusätzlich auf Störgrößen reagieren.
Dazu bedient sich der Regler einer Rückführung und vergleicht den Sollwert (Führungsgröße) mit dem Istwert (Regelgröße). Wenn diese Werte nicht gleich sind, dann greift der Regler ein und verändert die Ausgangsgröße auch dann, wenn die Führungsgröße gleich geblieben ist. Die Regelgröße wird somit beeinflußt von der Führungsgröße und/oder der Störgröße.
Nur der Vollständigkeit halber, soll angemerkt werden, dass das Verhalten des Reglers bei Änderung der Führungsgröße (Führungsverhalten) allgemein etwas anders ist, als das Störungsverhalten, obwohl letztlich beides zu einer Änderung der Regelgröße führt. So gibt es Regler mit Führungsoptimierung und andere mit Störungsoptimierung.
Da beim Hasen die Führungsgröße relativ langsam und durch den Bediener intuitiv an der Fernlenkung vorgenommen wird, interessiert hier besonders das Störungsverhalten.

Als Regeleinheit bezeichnet man die Kombination aus einem Regler und einem Steller. Der Regler steuert den Steller an und regelt damit ein technisches System (beim Auto den Motor). Jedes technische System hat sein eigenes, ganz spezifisches Verhalten. So ist das spezifische Verhalten eines voll beladenen LKW ganz anders, als das eines Sportwagens, obwohl beide einen Motor haben und über das Gaspedal gesteuert werden.
Die Regeleinheit (also Regler und Steller) wird zusammen mit dem spezifischen Verhalten des technischen Systems und der Rückführung als Regelkreis bezeichnet, welches im Bild dargestellt ist.

http://fpv-community.de/images/attach/png.gif

Im Beispiel des Geschwindigkeitsreglers im Auto entspricht die Führungsgröße (im Eingang der Regelstrecke) der Geschwindigkeit, mit welcher das Auto fahren soll (Sollwert).
Die Regelgröße (im Ausgang der Regelstrecke) entspricht der Geschwindigkeit mit der das Auto wirklich fährt (Istwert).
Die Regelabweichung wird durch den Differenzbildung von Führungsgröße und Regelgröße ermittelt und teilt dem Regler mit, ob etwas zu regeln ist, in welche Richtung zu regeln ist und mit welcher Stärke.

Beispiel:
Das Auto soll 80 Km/h fahren. Es geht bergauf und der Tacho zeigt nur 70 Km/h. Die Regelabweichung ist also 80 – 70 = 10. Der Regler weiß also, dass die Regelabweichung positiv ist, was Gas geben bedeutet (negativ wäre Gas reduzieren). Der Regler kennt außerdem die Größe der Regelabweichung, also 10 Km/h. Entsprechend der eingestellten Verstärkung der Regelabweichung wird der Regler nun die Stellgröße bestimmen und über den Steller (hier das Gaspedal) eine Korrektur einleiten.
Es sollte einleuchten, dass die Verstärkung der Regelabweichung und damit die Wirkung auf den Steller bei einem LKW viel höher sein muß, als beim Sportwagen. Der LKW benötigt für 10 Km/h mehr schon recht viel Gas über längere Zeit, der Sportwagen würde dagegen mit den selben Einstellungen vermutlich einen Auffahrunfall verursachen.
Man sieht daran, dass man die Reglereinstellungen des Hasen von Copter A, nicht immer direkt auf Copter B übertragen kann.

Es gibt reine P-Regler und reine I-Regler (und auch noch andere, die der Hase aber nicht hat). Einen D-Regler gibt es nicht. Man kann lediglich einem P- oder I-Regler eine andere Charakteristik geben. Das ist dann die D-Komponente welche Einfluß auf die sogenannte Vorstellzeit hat. Was das genau ist und wie sich das auswirkt, werde ich später erläutern.
Ein PID Regler ist deshalb eine Kombination aus einem P-Regler und einem I-Regler, die beide zusätzlich eine D-Charakteristik bekommen können.

Damit möchte ich diesen Beitrag vorerst schließen. Als nächstes werde ich den P-Regler beschreiben.

Gruß Nitram
 

Anhänge

Airpac

I'll be watching you ...
Hi,

da ich den text hier heute eh schon als mail geschrieben hatte und es grad zum Thema passt:

Vielleicht hilft es die PID zu verstehen, wenn ich erzähle was sie macht, wenn man ihren OUTput zu den ESC mißt. Also was an berechnetem Wert als PWM-Signal an die Motorregler geht.
Als Basis dazu habe ich in der GUI alle Regler ganz nach links geschoben, so das jegliche Regelung aus ist. Dann hängt man ein Meßgerät bei einem + quad an den Rabbit Reglerausgang zB. des vorderen Motors. Wenn du jetzt alle Knüppel gecentert hast und Throttle auf 0 mißt du eine Pulsweite von ca.1 milli sec. Das entspricht dem Throttle low Wert. Wenn du Throttle auf max schiebst mißt du dann ca. 2ms.
Das sind nebenbei auch die Werte die in der Gui angezeigt werden und die es einzuhalten gilt, um den Vogel scharf zubekommen.
Bei den ESC entspricht das auch der maximalen Refreshrate: 1 s durch 2ms gleich 500 Refresh. Soviel zu dem PWM Signal.

Zur Betrachtung der weiteren Funktionen von PID gehen wird davon aus das alle Knüppel in der Mitte sind; auch Throttle.
Wenn man nun an den vier ECS mißt bekommt man 1,5 ms angezeigt.
Das heißt der Vogel schwebt in der Theorie vor uns mit Halbgas. Nun stört der Wind, oder aber die eigene Trägheit oder beides, die Fluglage und der PI(D) Regler soll Rückstellwerte errechnen.

Als Erstes wird immer empfohlen den P Wert zu justieren. Also schieben wir in der GUI den Stability Level Regler mal auf 80%. (Alle anderen Regler auf 0%) um zu sehen was der Regeler macht. Wenn ich den Copter nun nach vorne neige, detektiert der ACC die Nickbeschleunigung und gibt sofort das Kommando Nase hoch.
Dazu gibt er für den Zeitraum in der der Copter bewegt wird, z.B. 1.7ms an den Motor. Je stärker du drehst umso stärker die rückführende Spannung. Wenn du stopst ist der Wert sofort wieder 1.5 ms. Mit dem GUI Regler legst du fest wie stark die Rückführung ansprechen soll. (wobbeln und oszillieren als Übersteuen)

Als Zweites messen wir dann den I Wert. Dazu wird der Stability Regler wieder auf null genommen und nur der Aux Stability hoch geregelt (80-100%).
Nun kippst du den Vogel wieder nach vorn. ACC detektiert Nase runter wie eben, aber es wird nun nicht ein sofortiger Impuls generiert, der beim Anhalten der Drehung aufhört, sondern einer der mit der Dauer des "Nase runter" aufsummiert wird und dann langsam abgebaut wird.
Das heißt der Wert für Motor vorn steigt langsam von 1,5 ms bis zum in dem durch den GUI-Schieber eingestellten Wert (max 2,0 ms).
Wenn der Wert zu hoch gewählt wird, wird der Vogel schwammig und schiebt nach deiner Steuereingabe noch nach.
Wenn er zu klein wird verlierst du an Stabilität (3D).

Als Drittes: Der D Wert bei Dynamic Stability kann nur schwer gemessen werden. Wie vorher werden alle Regler auf null gezogen und nur Dyn Stab auf 80-100% gelegt. Eine langsame Drehrate reicht nicht aus um hier eine Meßwertänderung zu erzeugen. Man muss nun den Copter sehr schnell um eine Achse drehen.
Als Ergebnis mißt man dann einen kurzen Peak (Spitzenwert), der wiederum dem GUI Schieber in der Stärke entspricht.

Zusammen gefaßt wird mit Schieber 1 und 3 ein sofortiger Rückstellwert erzeugt. Bei 1 immer und 3 kommt nur bei heftigen Drehraten als zusätzlicher Puffer dazu. 2 hingegen macht den Vogel erst angenehm zu fliegen.
Im normal Fall sind in der GUI nun alle 3 Regler justiert und die 3 einzelnd errechneten PWM Signale addiert sich am Ausgang zur jeweiligen ESC.

Ach man sieht nebenbei auch das im Normalmode die Wege limitiert sind und im 3D max sind.
Deswegen sollte auch Dualrate problemlos sein.

Die gleichen Werte können bei den anderen Schiebern gemessen werden. Welche Sensoren
(ACC oder GYRO oder beide zusammen) genutzt werden spielt für PID erstmal keine Rolle
und hängt vom Programmierer und der Aufgabe ab)

Die Autostability *wird auf das Ganze nur obendrauf gepackt und überlagert dann die anderen Werte.

http://fpv-community.de/showthread.php?6912-Rabbit-Flight-Controller&p=121921&viewfull=1#post121921

Bitte um Kritik oder Verbesserungsvorschläge...

so long
Lars
 
Zuletzt bearbeitet:
............Der D Wert bei Dynamic Stability kann nur schwer gemessen werden. Wie vorher werden alle Regler auf null gezogen und nur Dyn Stab auf 80-100% gelegt. .........Man muss nun den Copter sehr schnell um eine Achse drehen.
Als Ergebnis mißt man dann einen kurzen Peak (Spitzenwert), der wiederum dem GUI Schieber in der Stärke entspricht.
Hallo Airpac,

ein interessanter Versuch! Der zeigt auch, dass beim Zurückstellen der P- und I-Werte beim Hasen offensichtlich noch ein kleiner Rest übrig bleibt.
Wären die Werte wirklich absolut 0, dann wäre es so, dass Du an der D-Komponente einstellen kannst, was immer Du willst, es hätte absolut keine Wirkung, nicht einmal ein kurzer Peak.

Warum das so ist, werde ich später beschreiben, wenn P-Regelverhalten und I-Regelverhalten klar sind.

So, wie Du es gemacht hast, kann man deshalb nicht nachvollziehen, wie der D-Einstellschieber in der GUI wirkt. Das D-Verhalten eines Reglers wird in der sogenannten Sprungantwort beschrieben. Das wird aber ein gesondertes Kapitel, denn da wird es etwas komplizierter.

Gruß Nitram
 

Airpac

I'll be watching you ...
Hi Nitram,

sehr schön dann finden wir ja vielleicht eine Methode D messtechnisch besser zu erfassen. Dein Beschreibungen sind supi.
Mich würde es freuen wenn du sie direkt mit einem Beispiel z.B. Servo, Klappen etc. für den Modellbau erklären könntest. Ich steh auf Bilder ... und hoffe das uns Johannes hier etwas offtread gehen lässt ...
 
Zuletzt bearbeitet:
Hi Nitram,

sehr schön dann finden wir ja vielleicht eine Methode D messtechnisch besser zu erfassen. Dein Beschreibungen sind supi.
Mich würde es freuen wenn du sie direkt mit einem Beispiel z.B. Servo, Klappen etc. für den Modellbau erklären könntest. Ich steh auf Bilder ...
Hi Airpac,

mir geht es erst einmal darum, dass der PID Regler in all seinen Komponenten richtig verstanden wird. Wenn jemand nur Werte übernimmt, dann wird er nicht zum Ziel kommen.

Ich werde dann aber noch an passender Stelle direkten Bezug zum Modellbau nehmen und z. B. erläutern, was man verändern kann, wenn man den Hasen auf maximale Stabilität bei böigem Wind oder auf sanfte Bewegungen für Videoaufnahmen trimmen will.

So lange, bis die Reglerfunktionen klar sind, werde ich aber noch beim Beispiel der Geschwindigkeitsregelung bleiben, schon allein deshalb, weil vermutlich alle ein Fahrzeug besitzen und die Reaktion einer Regelkomponente hier besser nachvollziehen können, als bei einem Copter, der von einer Windbö getroffen wird oder anfängt zu wobbeln.

Gruß Nitram
 

GF-Downloads

Erfahrener Benutzer
Bisher bin ich noch nicht draußen geflogen (zu viel Wind), aber die ersten Test´s sehen vielversprechend aus. Das initalisieren am Anfang geht viel schneller, vor allem muss man nicht erst den Gashebel auf Vollgas stellen wie vorher. Kamerstabiliserung geht wieder erst nach dem scharfschalten der Motoren. Der Servoweg der Kamera wurde etwas erhöht (sprich die Kamera lässt sich nun über einen größeren Winkel steuern). Fliegen tut er nach wie vor gut (gestetet durch Indoorhoovern).
Bin gespannt ob das GPS nun wirklich wie upapa berichtet hat nun besser funktioniert.
Wir werden es sehen. :)

Viele Grüße
Georg
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten