Hallo, ich hab mich ein bisschen in die Flugregelung von RC-Flugmodellen (Quadcopter, Flugzeuge) eingelesen. Was ich aber noch nicht so wirklich verstehe ist, wie genau bzw. gut der Regelkreis überhaupt funktioniert welche man immer so in diverse Foren findet. Z.B. wird hier der Regelkreis kurz aufgezeigt: http://ardupilot.org/plane/docs/roll-pitch-controller-tuning.html Betrachten wir hier z.B. einmal die PID-Regelung für den Roll-Autopilot: http://ardupilot.org/plane/_images/rollAP.jpg Da werden einmal die Rollrate und der Rollwinkel vom IMU eingelesen. Ich vermute mal dass die Rollrate direkt vom Giro stammt (evtl. Tiefpassgefiltert). Der Rollwinkel ist vermutlich mittels einer Fusion aus Beschleunigunssensordaten und Giro-Sensordaten berechnet worden. Kann der PID-Regler im Bild überhaupt zuverlässig (genau) funktionieren? Ich dachte die Rollrate ändert sich mit der Zeit wg. dem Giro-Drift? Oder schaut euch mal diese PID-Regelung eines Quadcopter an: http://ardupilot.org/copter/_images/Alt-Hold-PID-version-3.0.1.jpg (von http://ardupilot.org/copter/docs/altholdmode.html). Da wird die Beschleunigung gemessen (rechts: IMU - Z Accelerometer) und die Drehrate (mittig: IMU-Rate). Überall lese ich von data-fusion und kalman-filter aber hier werden die "rohen" Beschleunigungs- und Geschwindigkeitswerte verarbeitet? Sensor-fusion bzw. Kalman-Filter etc. braucht man doch nur wenn man möglichst genau die Fluglage (Winkel) bestimmen will. Was bringt dann das ganze wenn in der Kontrollschleife ganz andere Derivative (Beschleunigungs- und Geschwindigkeitswerte) benötigt werden? Ich dachte ein Beschleunigungssensor und/oder Drehratensensor alleine zu verwenden ist nutzlos wg. dem Fehler welche beide Sensor erzeugen. mfg
:
Bearbeitet durch User
Das Problem der Raumlagebestimmung (Raumlage != Position) kann man in Analogie zur Odometrie betrachten. In einer perfekten Welt könntest du von Hinter St. Veit nach Kuala Lumpur spazieren, wenn du -) deine Anfangsbedingungen (Richtung, Position) -) und Schrittlänge exakt kennst. Genau so verhält sich das mit Gyroskopen auch. Kennst du die Anfangsbedingungen (Raumlage bei t = 0) und könntest deine perfekten Drehraten exakt integrieren, dann wäre jegliche Sensor-Fusion unnötig. Nachdem die reale Welt aber fehlerbehaftet ist, wäre deine rein gyroskop-basierte Raumlagebestimmung zum Scheitern verurteilt. Binnen kürzerster Zeit stünde der Flieger Kopf, während die Auswertung meint er fliege komplett horizontal gradaus. Aus diesem Grund muss der Beschleunigungssensor den Gyro immer wieder mal ein wenig "auf den Boden der Tatsachen" zurückholen. Genau das passiert im rechten Teil der Regelschleife. Die Mathematiker würden hierfür Pitch/Roll und Yaw aus den Beschleunigungsdaten rückrechnen. Die Regelungstechniker (und Programmierer) pfeifen auf unnötige Einheiten und schmeißen das Rohklump gleich direkt in die Regelung... Grad für Prozessoren die keine Gleitkomma-Darstellung unterstützten mit Sicherheit empfehlenswerter! Grundsätzlich funktioniert die Regelung unter der Prämisse, dass die Summe aller Beschleunigungen (bzw. der Mittelwert) Null ist. Wie man die Gyroskope im Zaum hält, dafür gibt es mittlerweile unzählige Verfahren. Die von dir beschriebene Idee findet man immer wieder unter dem Namen "Complementary Filter", da es sich im Grunde um eine Kombination aus Hoch- und Tiefpass handelt. Genau so kann man auch die Daten der einzelnen Sensoren betrachten. Ein Beschleunigungssensor liefert mir "auf lange Zeiten gesehn" hin sinnvolle Werte, ein Gyroskop liefert nur auf "kurze Zeiten gesehn" hin sinnvolle Werte.
>ein Gyroskop liefert nur auf "kurze Zeiten gesehn" hin sinnvolle Werte.
Ist es nicht eher so, dass die Integration eines Gyroskops nur auf
"kurze Zeit gesehen" sinnvolle Werte liefert?
Hier ein Versuch, die Sache etwas bildlicher darzustellen: Beschleunigungssensoren und Kompass liefern einen Driftfreien Wert, der immer "richtig", dafür aber sehr verrauscht ist. Also müssen diese Daten (kräftig) gemittelt werden (Tiefpass). Das macht aber die Sensoren sehr langsam, eine schnelle Drehung wird nicht rechtzeitig erkannt. In einem großem Flugzeug stecken auch große Gyroscope, die können schon für ein paar Stunden richtig laufen, wiegen dafür aber mehr als so Multicopter. Die kleinen Gyros laufen aber schon nach wenigen Minuten weg. Dafür sind sie aber bei schnellen Drehungen sehr präzise. Um den Drift wegzukriegen, nimmt man dann auch nur die schnellen Änderungen (Hochpass). Am Anfang nimmt man als Referenz- oder Startwert Daten der Beschleunigungssensoren, später wird die Lage die ganze Zeit langsam an die Werte dieser Sensoren angepasst, so dass man keinen Drift hat. Die schnellen Änderung (und nur Diese) der Gyros werden aber sofort übernommen. Damit hat man Die "Richtigkeit" und Stabilität der gemittelten B.Sensoren und die Schnelligkeit der Gyros in einem Datensatz verrechnet --> Sensor Fusion MfG, Andreas
Chefkoch schrieb: >>ein Gyroskop liefert nur auf "kurze Zeiten gesehn" hin sinnvolle Werte. > Ist es nicht eher so, dass die Integration eines Gyroskops nur auf > "kurze Zeit gesehen" sinnvolle Werte liefert? Ah natürlich, so hieße es richtig! Noch ein Nachtrag bezüglich dem Beschleunigungssensor. Man sollte sich immer im klaren sein, dass man nicht nur intrinsische, sondern stets alle Beschleunigungen misst, die gerade eben auf das Flugzeug wirken. Die Berechnung der Raumlagewinkel aus den Beschleunigungen ist im Prinzip Vektor-Arithmetik zwischen den gemessenen Werten. Die Winkel können also nur dann stimmen, wenn der Vektor der "Z-Achse" (gegen Erde) im außenliegenden System (wie auch immer man das nennen mag) mit dem tatsächlichen Gravitationsvektor übereinstimmt. Wirken externe Beschleunigungen ein (Kurven, schneller, langsamer werden, etc.), dann ist die gemessene und die tatsächliche Gravitation zwei komplett verschiedene Dinge... und folglich stimmen die Winkel natürlich nicht mehr. Ich glaub vielen Leuten ist dieser essentielle Punkt am Anfang nicht bewusst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.