2. Integration der Beschleunigung

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • 2. Integration der Beschleunigung

      Ich mölchte den Weg anhand der Beschleunigung berechnen.
      Ich habe dazu einen Beschleunigungssensor MPU-6500, den ich in festen Zeitintervallen auslese.
      Die Geschwindigkeit (1.Integration) ergibt sich durch die Aufsummierung der Beschleunigung im festen Zeitintervall.
      Der Weg (2. Integration) ergibt sich durch die Aufsummierung der Geschwindigkeit im festen Zeitintervall.
      Beispiel:
      Ich habe eine Beschleunigung von 1m/s² und das 3 Sekunden lang, dann habe ich 3m/s nach 3s
      Der Weg ist halbe Beschleunigung mal Quadrat der Zeit.
      s = a/2 * t²
      Der zurückgelegte Weg ist also 4,5m.
      Teilt man das in kurze Zeitintervalle auf, dann muss man natürlich die aktuelle Geschwindigkeit berücksichtigen und den bereits zurückgelegten Weg addieren.
      s = a/2 * t² + v_0 * t + s_0


      Mein Problem ist nun, dass die Beschleunigung driftet bzw. Störungsbehaftet ist.
      Mit dem Drift ist meine Geschwindigkeit Null nicht konstant und daraus ergibt sich ein falsch aufsummierter Weg.

      Gibt es einen einfachen Weg, den Fehler zu eliminieren?
      Ein Low-Pass Filter verschluckt mir womöglich Beschleunigungen?

      Gruß, Michael

      MPU6500_1.jpg
    • Michael schrieb:




      Gibt es einen einfachen Weg, den Fehler zu eliminieren?

      Mit Massband messen.

      Das ist einfach der Unterschied von Theorie zur Praxis. Die Formeln ergeben auch bei Frost die selben Ergebnisse, wie in Hitze. Kommastellen gibt es theoretisch unendlich viele, oder man nimmt einen Bruch. Und jetzt denkst du, das kann man mit BilligstElektronik einfach von der Theorie in die Praxis umsetzen? Setzt dir eine Grenze des Weges, wo du noch mit der Unschärfe leben kannst.
      Ich hab' an sowas auch schon gedacht, bei meiner Laufschrift. Mein Weg wäre ja weniger als 2m, dann könnte ich resetten. Aber vor lauter Rechnerei könnte ich keine Ausgabe mehr machen, also hab' ich's verworfen.
      Aber mach mal weiter und rüste einen Staubsaugerroboter damit aus. Mal schauen, ob der wieder nach Hause kommt oder die Treppe runter fällt.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      Und jetzt denkst du, das kann man mit BilligstElektronik einfach von der Theorie in die Praxis umsetzen?
      Tschoeatsch, das hat nichts mit dem Preis der Elektronik zu tun. Das Problem haben auch die teuren Sensoren und ehrlich gesagt, gehört der MPU 6500 nicht zu den Billigst-Dingern.

      Ich suche eher nach einem Softwareansatz, wie Komplementärfilter oder Kalman. Nur hab ich mit Kalman noch nichts gemacht, weil das doch etwas aufwändiger ist.
    • Wieviel Messgenauigkeit hat dein Sensor? Wenn du den Rest zum Optimalen mit software erreichen willst, dann wird auch da immer was fehlen, weil die auch nicht 100%schafft. Was willst du erreichen, wie weit auf wieviel cm genau?
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Kommt noch die Ungenauigkeit der Zeitmessung hinzu und Rechenungenauigkeit bei der Division. Wenn du das +- durch Kalibrieren leidlich weg bekommst, na ja, schau' mer mal, was wird.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Also ich würde bei den Modellbauern (speziell Multikopter) nachfragen oder gezielt suchen. Du kannst sicher eine Übertragung von Implementierungen C in Bascom hinbekommen, mit Hilfe kannst Du ja auch hier erwarten.

      Aber Du hast natürlich recht, simpel geht anders...
      Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages.
    • Ich kalibriere bereits am Anfang des Programms, d.h. ich stelle mit 10maliger Messung einen Offset fest, der dann im Programm am echten Messwert aufaddiert wird.
      Das hilft aber nicht gegen eine Drift und Rauschen stört auch im Messwert, weil da reichen 10 Werte sicher nicht.
      Muss ich mal mit 100 Messungen am Anfang probieren ;)

      P.S.:
      GPS scheidet aus, Innenraum und die Modellbauer benutzen den genannten Komplementärfilter oder Kalman.
      Nur habe ich keinen Gyrowert, um die Daten zu fusionieren, sondern nur eine Beschleunigungsachse.
    • Michael schrieb:

      Ich kalibriere bereits am Anfang des Programms, d.h. ich stelle mit 10maliger Messung einen Offset fest, der dann im Programm am echten Messwert aufaddiert wird.
      Das hilft aber nicht gegen eine Drift und Rauschen stört auch im Messwert, weil da reichen 10 Werte sicher nicht.
      Muss ich mal mit 100 Messungen am Anfang probieren ;)

      P.S.:
      GPS scheidet aus, Innenraum und die Modellbauer benutzen den genannten Komplementärfilter oder Kalman.
      Nur habe ich keinen Gyrowert, um die Daten zu fusionieren, sondern nur eine Beschleunigungsachse.
      Sitzt dein Sensor schief und bekommt Erdbeschleunigung ab?
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • monkye schrieb:

      Im Nachbarforum bei Mikrocontroller.net gibt es ein Codebeispiel „Kalman Filter in Bascom“. Da ist der Einsatz nicht auf ein Gyro festgenagelt...
      Danke für den Hinweis auf die Software, ich nutze übrigens nur einen Beschleunigungssensor, weil mich nur den linearen Weg interessiert.
      In dem Thread bringt Martin den entscheidenden Hinweis:
      mikrocontroller.net/topic/393641#4522635
      Der Kalman bringt nur bei mehreren Sensoren wirklich was, ansonsten läuft es auf Tiefpass hinaus.
      Trotzdem habe ich dort interessanten Lesestoff gefunden: cbcity.de/das-kalman-filter-einfach-erklaert-teil-1
    • Wenn dein Sensor geneigt ist und du diesen Wert als offset entfernst, dann fehlt dir das bei der Entfernung. Die Formel setzt ja Beschleunigung in Richtung Weg voraus. Wenn du nur einen Anteil der Beschleunigung nimmst, hast du rechnerisch weniger Weg.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Das richtige Regelverhalten Deines Filters ist wichtig.
      Die Königsklasse ich ein PID-Glied, das ist aber nicht ganz einfach bei den Grundeinstellungen der Parameter, aber beherrschbar.
      Manchmal reicht PI-Glied.
      Wie gesagt, bei den Regelkreisen kommt es eigentlich nur auf die Anfangswerte an, da heißt es probieren.
      Sonst sind sie instabiler, als ohne alle Maßnahmen und somit letztlich sinnlos.
      Am Ende ist es richtig: Ein I-Regler (oder halt Tiefpass) oder PI erreicht da schon eine Menge, kostet nur etwas Zeit, aber das sollte vernachlässigbar sein.
      Die Auslesefrequenz des Sensors ist außerdem sehr wichtig.
      Die MPU schafft 8khz, das ist schon ganz gut. Nun die Parameter für I so einstellen, dass man eine vernünftige Response bekommt und so wenig Werte wie möglich ausgelättet, das ist immer ein Kompromis.
      Es kommt auf den Anspruch an, aber Wunder kann man von den einfachen, "unfusionierten" Sensoren nicht erwarten, die sind halt beschränkt.
      Die sind halt entweder schnell und ungenau oder langsam und ungenau für diese Anwendung.

      Edit: sehe gerade, die 8khz sind für das Gyro, der hat dann nur 4khz, da wird es mit dem Ausglätten schon enger...bei 40 Werten integriert macht das ein hunderstel Sekunde Auflösung...könnte reichen und hängt letztlich von der gewünschten Auflösung ab.

      Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von Peer Gehrmann ()