Wie bestimme ich die Position vom Gyroskop- und Beschleunigungsmessereingang?

33

Ich habe einen 3-Achsen-Beschleunigungsmesser und ein 2-Achsen-Gyroskop. Ich beabsichtige, etwas zu messen, das sich nur in der X- und Z-Achse bewegt. Ich habe von der Verwendung von Kalman-Filtern gehört, um die Beschleunigungsvektoren zu glätten, aber ich kann kein gutes Tutorial für einen vollständigen Einsteiger in das Thema finden. Ich weiß auch, dass ich die Beschleunigung doppelt integrieren kann, um die Position zu ermitteln. Wie mache ich das mit einer endlichen Anzahl von abgetasteten Beschleunigungsvektoren? Ich würde mich über Links zu guten Tutorials für Anfänger zu diesen beiden Themen freuen.

Steven
quelle
3
Klingt nach diesem Blog-Post, über den ich heute gestolpert bin : starlino.com/imu_kalman_arduino.html Ich habe keine Verbindung zu dieser Site, dachte nur, dass er für das, was Sie fragen, relevant aussieht .
JustJeff
1
In diesem Artikel finden Sie eine Reihe von Tutorials zur Verwendung und Schnittstelle von Beschleunigungssensoren. intorobotics.com/… hier sind Tutorials für 2-Achsen-Messungen verfügbar
Ezu

Antworten:

8

Nun, der Kalman-Filter ist eine Art Magie, die auf mysteriöse Weise funktioniert. :)

Ich habe zuerst mit digitalen Filtern angefangen . Für den Anfang gut erklärt. Und leicht verständlich. Diese einfachen Filter eignen sich hervorragend für die Roll- und Pitch-Funktion jedes Systems. Sie müssen nur das Verhältnis von Genauigkeit zu Antwort durch Experimentieren anpassen. Der Trick ist [Genauigkeit = 1 - Reaktion].

Versuche es.

Um den Kalman-Filter zu verstehen, müssen Sie folgende Schritte ausführen:

  1. Wahrscheinlichkeit
  2. Bayes'sches Gesetz
  3. Dann müssen Sie lernen, wie Sie einfache Szenarien für die Anpassung an den Kalman-Filter modellieren.
  4. Momentan bin ich hier, um herauszufinden, was ich tun soll.

Und muss teilen, wenn Sie auf so etwas stoßen.

Rick2047
quelle
7

... Beschleunigung doppelt integrieren, um Position zu erhalten

In der Theorie (vorausgesetzt, Sie haben perfekte Sensoren und Messungen) können Sie dies tun, in der Praxis jedoch nicht. Das Problem ist, dass der Beschleunigungsmesser eine konstante Kraft von 1 G hat, die durch die Schwerkraft verursacht wird, wenn das Objekt still liegt (Null G bei freiem Fall), aber dies wird nicht mit genau 1,00000000 ... G gemessen. Wenn Sie das Objekt bewegen, erhalten Sie einen Vektor als Summe aus 1 G Schwerkraft und der Beschleunigung durch die Bewegung (die in der Regel viel kleiner als 1 G ist), und Ihre Messungen häufen sich mit der Zeit zu stark an, um nützlich zu sein, wenn Sie versuchen, gemessene Werte zu integrieren Beschleunigung minus 1G Schwerkraft.

hlovdal
quelle
6

Ich habe vor fast 6 Monaten angefangen ein Quad zu bauen und hatte viele Probleme mit der korrekten Winkelbestimmung :)

Zuallererst sollten Sie diese Präsentation versuchen - http://web.mit.edu/scolton/www/filter.pdf Sie ist wirklich umfassend und kann Ihnen helfen, eine bessere Vorstellung davon zu bekommen, was Sie wirklich wollen für mich.

Ich denke, es liegt ganz bei Ihnen, aber für die Implementierung des Kalman-Filters sind nicht nur solide Kenntnisse in Mathematik, Systemtheorie und in diesem Fall in der Physik erforderlich, sondern auch hohe Anforderungen an die CPU-Auslastung. Wenn Sie vorhaben, einen Atmega328 mit 16 MHz zu verwenden, können Probleme bei der Verwendung dieses Filters auftreten. Es ist sehr effektiv, wenn Sie einen DSP verwenden, damit Sie den Eingang mit einem Tiefpassfilter versehen können.

Alles in allem ist mein Rat - versuchen Sie es mit dem Komplementärfilter 1. Ordnung oder vielleicht sogar mit dem Komplementärfilter 2. Ordnung, falls Sie mit den Ergebnissen nicht zufrieden sind. Wenn Ihr System frei von hochfrequenten Vibrationen ist, sollte das großartig funktionieren. Abgesehen davon, dass JustJeffs Link der perfekte Ausgangspunkt für den Fall ist, dass Sie bei der Implementierung stecken bleiben :)

Alles Gute Dan

Dan
quelle
Dein Link ist tot. Ich habe ein bisschen gebuddelt und das Dokument erneut gefunden: googledrive.com/host/0B0ZbiLZrqVa6Y2d3UjFVWDhNZms/filter.pdf Zumindest sollte es dasselbe sein, vielleicht möchten Sie es überprüfen.
John
Ja, es ist genau das gleiche :)
Dan
Link ist wieder tot :(
KyranF
@KyranF denke ich habe es wiedergefunden :) portal.ts-muenchen.de/Dateien/filter.pdf
Dan
@Dan nice, das ist genau das gleiche Dokument, das ich zum Entwerfen meiner Firmware verwendet habe, als ich einen Mini-Segway in Uni gemacht habe. youtu.be/zOFlJJj8pPA
KyranF
1

Ich bin auch ein Neuling und suche auch eine Lösung für meine Navigationsarbeit. Genau wie Sie habe ich eine Platine mit 3-Achsen-Beschleunigungsmesser und 2D-Gyroskop konfiguriert. bis jetzt habe ich viele materialien darüber gelesen, ebenso entscheide ich mich, kalman filter in meinen signalhandel zu übernehmen. Vielleicht habe ich keinen Vorschlag für Sie, aber ich möchte etwas mit Ihnen teilen, das ich zuvor gesehen habe. Es gibt einige Links, die auf sie verweisen. Ich hoffe, das ist nützlich für Sie.

  1. Einführung des Kalman-Filters
  2. CAS Robot Navigation Toolbox
  3. Open Source Inertial Navigation Toolbox
  4. Quellcode von Ein Projekt zur Navigation

Ich habe nur die Berechtigung, weniger als 2 Links zu posten. also die anderen zwei möchte ich wie folgt posten:

Dunkles Pferd
quelle
1
Auch wenn dies eine nützliche Reihe von Links für das OP sein mag, wäre dieser Beitrag von Wert, wenn Sie auch Zusammenfassungen der relevanten Inhalte dieser Links hinzufügen würden, die spezifisch für die Frage sind, die das OP gestellt hat. Denken Sie daran, dass dieser Beitrag keinen Wert behält, wenn Links aufgrund von Link Rot ungültig werden. Vielen Dank.
Anindo Ghosh