Forum: PC-Programmierung MPU6050 für Bewegungserkennung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander S. (schokio)


Lesenswert?

Hallo,

ich versuche derzeit mit dem MPU6050 verschiedene Gesten zu erkennen. 
Einmal die Rotation und die Bewegung entlang der Achsen. Die Kombination 
beider Sachen bereitet mir jedoch die meisten Probleme.
Die Sensorwerte auszulesen, skalieren usw. war bisher kein Problem; 
Diese Werte richtig zu verwenden jedoch schon.

Folgende Ansätze für die Rotation hatte ich bereits schon probiert, 
jedoch endeten alle im selben Misserfolg:
- Rotation/Neigung anhang einer Winkelberechnung zu ermitteln
- Neutralposition (Acceleration auf z-Achse mit ungefähr 9,81) und mit 
Hilfe des Gyroskopes erkennen in welche Richtung man rotiert, danach 
wieder in die Neutralposition zu gehen, um weitere Rotationen zu 
erkennen
- Neigung anhand des Wechsels der Beschleunigung (z sinkt, x steigt)

Verbinde ich jedoch nun die Ansätze mit einer Beschleunigungserkennung 
entlang bspw. der x-Achse tritt folgendes Problem auf:
Bspw: Eine Bewegung nach rechts wird erkannt, wenn z ungefähr 9,81 
beträgt und x einen steigenden Wert hat
Funktioniert soweit, aber: Neige ich den Sensor, steigt mein 
Accelerator-Sensorwert für die X-Achse und der für die z-Achse sinkt, 
dieser jedoch nicht schnell genug. Dies interpretiert mein Programm 
ebenso als Rechtsbewegung, da halt Z weiterhin nahe der 9,81 ist und X 
ansteigt.

Sieht jemand eine Möglichkeit dies zu unterbinden, oder hätte einen 
Vorschläg wie ich die Sensorwerte anders interpretieren könnte?

Würde mich sehr freuen!


Grüße,
Alexander

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Alexander S. schrieb:
> Sieht jemand eine Möglichkeit dies zu unterbinden, oder hätte einen
> Vorschläg wie ich die Sensorwerte anders interpretieren könnte?

Das ganze hört sich irgendwie nach Sensor-Fusion mittels Kalman-Filter 
an:
Do als Einstiegdie Wiki und danach gibt es zur vertiefung noch tausende 
Artikel im iNet zu dem Thema "Sensor Fusion Kalman":

https://de.wikipedia.org/wiki/Kalman-Filter

z.B.: https://reposit.haw-hamburg.de/handle/20.500.12738/8460

von Alexander S. (schokio)


Lesenswert?

Irgend W. schrieb:
> Das ganze hört sich irgendwie nach Sensor-Fusion mittels Kalman-Filter
> an:
Ist dies nicht ein kleiner Overkill, wenn jegendlich Neigungen und 
lineare Bewegungen erkannt werden wollen?
Sowas wie hier im Video gezeigt ist, will ich nicht hinaus 
https://www.youtube.com/watch?v=qmd6CVrlHOM

Bzw. ist die Kombination mit Hilfe des Kalman-Filters nicht nur 
hilfreich, wenn ich genaue Pitch, Yaw und Roll Winkel haben will?

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.