-         

Ergebnis 1 bis 8 von 8

Thema: Lageregelung eines Quadrocopters

  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241

    Frage Lageregelung eines Quadrocopters

    Anzeige

    Hallo Zusammen,
    ich habe mich mal wieder hingesetzt und meine Pläne für einen Quaddi ausgegraben. Jetzt habe ich hier einen MPU-6050 besorgt der mir, glücklicherweise, den Tiefpass Filter abnimmt.
    Wie ich an die DAten komme wird sich Zeigen

    Nur meine alte Frage ist immer noch ungelößt: Wie bekomme ich den ACC (Winkelbeschleunigung) und Gyro (Winkelgeschwindigkeit) verrechnet? Die Daten die ich ja danach bekomme [ein Wert?] (nach dem Filter und so) gehen in den PID Regler oder? Der gibt mir dann die Regelabweichung und dann Regel ich damit in die Neutrallage?!? Habt ihr da I-wo ne gute Doku für mich?Auch interessiert mich eine logische Abfolge der Schritte => So in etwa: ACC auslesen - Gyro auslesen - Filter (einfacher Kalman) - soll Winkel (vom Sender? oder wie nimmt man die soll Lage?) - PID Filter (mit welchen Werten?) - Regelabweichung auf Regler (sprich Motoren) geben - neu messen
    Und das für alle 3 Achsen
    Ich hoffe das einige der Profis hier mir helfen können
    Geändert von MiniMax (08.07.2012 um 19:39 Uhr) Grund: Absätze waren verloren ?!?
    Gruß
    MiniMax

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    ich habe selbst zwei Kopter, welche auch mit dem MPU60x0 fliegen. Erstmal eine Frage: Welche Modi möchtest du programmieren? Nur HH (Heading Hold) oder nur Hover oder beides?
    Im HH Modus brauchst du den ACC überhaupt nicht. Du bildest einfach die Differenz zwischen Ist- und Sollwert, multiplizierst diese mit deinem Kp und gibst das dann auf die Motoren. Schau mal hier im Forum, Willa hat z.b. seine Sourcen offengelegt, das ist ein seeehr schöner Code

    Gruß
    Chris

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Hallo,
    DAnke für deine Antwort.
    Erstmal was sind die Modi?? Hover = Auf einer Stelle HH = Stabilisation?
    Willas Code habe ich mir auch schonma angeschaut aber ich möchte alles von Anfang an verstehen
    Was ist der/das Kp??
    Gruß
    MiniMax

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Kp ist der Proportionalitätsfaktor also das P in PID. Ist eine einfache Skalierung/Verstärkung, daher die Multiplikation.
    Grüße,
    Daniel

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Ah ok jetzt habe ich folgendes gefunden:
    Ich brauche Winkel und Winkelbeschleunigung wie es weiter geht KP

    So um auf den Winkel zu kommen:
    angle = (0.9*(angle + gyro*dt) + (0.02)*(x_acc)

    0.98 und 0.02 sind die Verstärkungsfaktoren

    angel ist der alte/neue Winkel, gyro der Gyro wert, x_acc die ACC werte und dt die Looptime. Aber wie bekomme ich in Bascom die dt?? Könnte man das mit nem Timer machen??
    Und ist das der gesamte Filter??

    Achja welche Werte holt ihr aus welchen Registern des MPU 6050 ??
    Geändert von MiniMax (08.07.2012 um 20:46 Uhr)
    Gruß
    MiniMax

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Mhmmm...
    Keiner ne Idee??
    Gruß
    MiniMax

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Darf ich fragen, woher du die Formel hast?
    0.98 und 0.02 sind die Anteile der jeweiligen Sensoren, also der resultierende Winkel setzt sich zu 98% aus dem Gyrointegral und zu 2% aus dem ACC-"Winkel" zusammen.
    dt könntest du beispielsweise mittels eines Timers abfragen, wobei ich der Meinung bin, dass es auch komplett ohne dt geht, da sich deine Regelfrequenz ja nicht ständig ändert. Das ist ein Komplementärfilter, dieser ist nur dann nötig, wenn man den Hover-Mode programmiert.
    Du brauchst mindestens die drei Gyro-werte, ansonsten noch ACCX und ACCY für den Hover... Falls du eine bessere Lagerregelung mit Achsentkopplung haben möchtest (also ohne Gimbal Lock), solltest du es mit Quaternionen probieren... Da hab ich aber absolut keine Ahnung und auch keine gute Quelle, wo man sich als Laie informieren kann.. Wenn jemand was findet, immer her damit

    Gruß
    Chris

  8. #8
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    mhmmm mit den Anteilen so weit war ich auch
    Das ist aus nem pdf im I-net
    Ich habe gehört/gelesen, dass der Komplementärfilter eine einfache Form des Kalman Filters ist aber dennoch gute Werte liefert ?!?
    Das ohne dt verstehe ich nicht... Der Gyro gibt doch °/s an und das muss ich auf meine Zeit zwischen den Mesungen bringen??? Oder nicht??

    Ist das denn der Komplette Filter?? Gehen dann aus dem der Wert und der ACC in die Regelstrecke??
    Gruß
    MiniMax

Ähnliche Themen

  1. Ausgabe eines Bytes auf ein LCD dauert länger als die Ausgabe eines Strings?
    Von Thomas E. im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 20.03.2012, 22:43
  2. Lageregelung: Frage zu Encoder
    Von mechsys im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 01.12.2008, 19:26
  3. Kommunikation eines AVR's mit dem PC
    Von steffen21m im Forum Software, Algorithmen und KI
    Antworten: 5
    Letzter Beitrag: 05.10.2007, 11:55
  4. Antworten: 5
    Letzter Beitrag: 30.06.2007, 20:24
  5. Lageregelung für ein U-Boot
    Von lolsen im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 21.06.2006, 13:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •