Arduino + Kreisel / Beschleunigungsmesser == Flugregler…?

7

Kann ich die Kombination eines Arduino Mega + MPU-6050 Kreisel- / Beschleunigermoduls anstelle eines Flugreglers verwenden? Wird noch etwas benötigt?

Es wird gesagt, dass der Kreisel / die Beschleunigung verwendet werden kann, um das Gleichgewicht des fliegenden Fahrzeugs aufrechtzuerhalten. Wie wird das erreicht?

Ist es ein Muss, dass ein Kreisel- / Beschleunigungsmodul mit einer höheren Rate gelesen wird, fast wie kontinuierlich?

David
quelle
2
Dies ist eine wirklich komplizierte Frage, die eine wirklich komplizierte Antwort beinhaltet. Die wirklich kürzere Antwort ist, dass Sie wahrscheinlich nur mit diesen davonkommen können, obwohl oft ein GPS enthalten ist. Viele gute Informationen finden Sie in den AeroQuad-Foren: aeroquad.com/content.php?s=c8535a515b80184c5bc7505428068e48
NickHalden
3
@ NickHalden wenn möglich, ich bevorzuge ehrlich diese wirklich komplizierte Antwort ..
Anubis
2
@ c2h2 stimmt, aber für den Zweck des Interesses ist Arduino gut geeignet. Es wird eine Verschwendung sein, dafür ein Beaglebone zu verwenden.
Anubis
2
@ c2h2 Arduino Mega hat ungefähr 64 E / A. Es ist vergleichbar mit dem sogenannten Beaglebone.
David
3
Ich habe auch ernsthaftes Interesse an Fluglotsen. Ich entwickle gerade eine Kernplatine für den Ti AM3359-Chip (wie Beaglebone) mit demselben Chip, 256 RAM / 2 GB Flash. Nur 5 cm * 5 cm, 160 Pins, gut geeignet für dieses und nur 10 Gramm Gewicht, kosten jeweils 30 USD. es wird bereits produziert. hoffentlich wird es gut funktionieren.
c2h2

Antworten:

3

Gut,

Es klingt ein bisschen begrenzt.

Ich gehe davon aus, dass ein Flugregler eine Dead Reckoning durch doppelte Integration der gemessenen Beschleunigungen durchführt. Und weil diese Berechnung relativ und nicht absolut ist, werden Fehler zusammengefasst und Sie haben eine Drift. Sie müssen also alle Fehlerquellen reduzieren. Eines davon ist das Quantisierungsrauschen aufgrund der Festkomma-Mathematik. Natürlich können Sie hochpräzise Gleitkomma-Mathematik verwenden. Wenn Sie jedoch an die Anzahl der erforderlichen Berechnungen und die Tatsache denken, dass der ATMega keine Gleitkomma-Unterstützung bietet, sieht es schwierig aus. Und wenn Sie ein GPS hinzufügen und einige Kalman-Filter für die Sensorfusion implementieren möchten, ist dies für diese MCU definitiv zu anspruchsvoll.

Um genauer zu sein:

  • Um das Gleichgewicht eines fliegenden Fahrzeugs aufrechtzuerhalten, müssen Sie die relativen Winkel Ihres Fahrzeugs bestimmen. Dies kann nicht durch einfaches Ablesen eines Beschleunigungsmesserausgangs erreicht werden, da der Beschleunigungsmesser den Schwerkraftvektor UND die Beschleunigungen Ihres Fahrzeugs misst. In realen Systemen werden hochpräzise Gyroskope verwendet. Aber es ist teuer, sperrig und nicht praktisch. Ein billigerer Weg, dies zu tun, ist die Verwendung eines Kreiselsensors. Es ist klein, einfach zu bedienen und billig. Der Ausgang eines Geschwindigkeitskreisels ist ein Signal, das proportional zur vom Chip gemessenen Winkelgeschwindigkeit ist. Wenn Sie dieses Signal (Summe) integrieren, haben Sie die Winkelposition des Chips. Es klingt schön. Aber das Problem ist die Drift. Sie müssen kontinuierlich Messwerte hinzufügen. In realen Systemen wird der gemessene Wert jedoch definiert durch:

    measuredValue=measuredEffects+errors
    Selbst wenn sich das Fahrzeug überhaupt nicht bewegt, unterscheiden sich die von Ihrem Algorithmus zurückgegebenen Winkel nach einiger Zeit erheblich von der tatsächlichen Position des Fahrzeugs, da sich auch Fehler summieren. Um dies zu vermeiden, müssen Sie Ihren Sensor mit einer hohen Rate abtasten, Geräuschquellen reduzieren (insbesondere bei der Berechnung durch Verwendung hoher Präzision) und die Tatsache nutzen, dass Ihr Fahrzeug die meiste Zeit flach sein sollte, und dies zum Ausprobieren verwenden die Drifts abzubrechen.
  • Und ja, Sie müssen die Rate-Gyro-Ausgabe kontinuierlich lesen und den gelesenen Wert summieren. Aber kontinuierliche Dinge existieren in einer diskreten Welt nicht ... Also muss man es mit einer hohen Geschwindigkeit tun. Ich habe Werte wie 100Hz oder 1kHz im Sinn. Dies muss überprüft werden.

  • Zur Steuerung des Fahrzeugs selbst: Sobald Sie die Fluglage gemessen haben, können Sie die Standard-PID-Regelung anwenden. Aber es ist nicht einfach, weil die Achse nicht unabhängig ist ...

Blup1980
quelle
1
Schauen Sie sich diesen Doktorarbeitsbericht an: sky-sailor.ethz.ch/docs/Thesis_Noth_2008.pdf . Dieser Typ arbeitete an einem autonomen UAV-System. Dazu gehört auch das Design des Flugreglers.
Blup1980
1
Eine Bemerkung zu Ihrem 3. Punkt: Längs- und Querbewegung eines herkömmlichen Flugzeugs sind gekoppelt, aber diese Kopplung ist (in den meisten Fällen) vernachlässigbar. Für einen Quadrocopter oder Hubschrauber haben Sie jedoch Recht.
PetPaulsen