Dead Reckoning mit Beschleunigungsmesser & Kreisel. Möglich?


11

Ich habe einen 3-Achsen-Beschleunigungsmesser und ein 3-Achsen-Gyroskop. Ich wurde beauftragt, mit dieser Hardware ein Dead-Reckoning-System zu entwickeln.

Im Wesentlichen muss ich Code entwickeln, um die Position im 3D-Bereich des Boards in Echtzeit zu verfolgen. Wenn ich also mit dem Brett auf einem Tisch beginne und es 1 m nach oben hebe, sollte ich diese Bewegung auf dem Bildschirm sehen können. Drehungen müssen ebenfalls berücksichtigt werden. Wenn ich also das Board auf halbem Weg durch dieselbe Bewegung auf den Kopf stelle, sollte es immer noch das gleiche Ergebnis von 1 m nach oben zeigen. Das Gleiche sollte auch für komplexe Bewegungen über einen Zeitraum von einigen Sekunden gelten.

Ist dies mit einem so kostengünstigen Gerät überhaupt möglich, wenn man die Mathematik ignoriert, die zum Berechnen und Drehen von Vektoren usw. erforderlich ist? Soweit ich das beurteilen kann, kann ich die Schwerkraft nicht mit 100% iger Präzision entfernen, was bedeutet, dass mein Winkel zum Boden ausgeschaltet ist, was bedeutet, dass meine Vektordrehungen ausgeschaltet sind, was zu einer falschen Positionsmessung führt.

Ich habe auch Geräusche vom Beschleunigungsmesser und der Kreiselvorspannung zu berücksichtigen.

Kann das gemacht werden?


2
Dies kann bis zu der von den Sensoren zugelassenen Genauigkeit erfolgen. Positionsfehler häufen sich mit der Zeit. Ob die Genauigkeit für Ihr Projekt ausreicht, hängt davon ab.
Wouter van Ooijen

1
Die fortgeschrittene Mathematik wird das Projekt ermöglichen. Sie müssen Quaternionen, einen Kalman-Filter und entweder ein ZUPT- oder ein ZARU-Schema verwenden. Von dort aus können Sie es einige Sekunden lang genau verfolgen. Ich spreche aus direkter Erfahrung.
Samuel

Ich habe ein wunderbares Zitat von Lord Kelvin, das seit einigen Jahrzehnten an meiner Bürowand hängt: "Quaternionen kamen aus Hamilton ... und waren für diejenigen, die sie auf irgendeine Weise berührt haben, ein ungemischtes Übel. Vektor ist ein nutzloses Überleben ... und war noch nie für eine Kreatur von geringstem Nutzen. "
Scott Seidman

@ScottSeidman Quaternions sind nicht so schlecht, wenn man sie in Rotationen um Einheitsvektoren betrachtet. Dann brauchen Sie nur noch ein bisschen Trigonometrie, um in die Quaternionsform zu konvertieren.
JAB

@JAB, offensichtlich sind sie (oder ein anderer Ansatz) notwendig, da Rotationen nicht pendeln und der Mathematik einige interessante Nuancen verleihen.
Scott Seidman

Antworten:


11

Die Antworten und Kommentare, die Sie erhalten, sind natürlich ausgezeichnet, aber ich kann ein wenig Farbe hinzufügen.

Für was es wert ist, verwendet unser sensorineurales System fast die gleichen Werkzeuge und bekommt nicht immer die richtige Antwort! Wir haben 3D-Beschleunigungsmesser (die Otolithenorgane) und 3D- "Gyros" (Winkel-Velocitomere, die halbkreisförmigen Kanäle), und dennoch leiden wir unter allen möglichen Illusionen, wenn das System nicht in der Lage ist, die richtige "Antwort" zu erhalten, wie die Aufzugsillusion und die okulogravische Illusion. Oft treten diese Fehler bei niederfrequenten linearen Beschleunigungen auf, die schwer von der Schwerkraft zu unterscheiden sind. Es gab eine Zeit, in der Piloten während des Katapultstarts auf Flugzeugträgern aufgrund der starken Wahrnehmung der Tonhöhe aufgrund der mit dem Start verbundenen Niederfrequenzbeschleunigung in den Ozean eintauchten, bis die Trainingsprotokolle sie lehrten, diese Wahrnehmungen zu ignorieren.

Zugegeben, die physiologischen Sensoren haben einige andere Frequenzgrenzwerte und Grundrauschen als MEMS-Sensoren, aber wir haben auch ein riesiges neuronales Netz, das auf das Problem geworfen wird - wenn auch wenig evolutionären Druck, um das Problem bei diesen niederfrequenten Extremen richtig zu lösen. solange Katapultstarts ziemlich selten sind ;-).

Stellen Sie sich dieses vernünftige "Dead Reckoning" -Problem vor, das viele erlebt haben, und ich denke, Sie werden sehen, wie sich dies auf die MEMS-Welt überträgt. Sie steigen in einen Jet, starten in Nordamerika, beschleunigen auf Reisegeschwindigkeit, überqueren den Ozean, bremsen ab und landen in Europa. Selbst wenn die Mehrdeutigkeiten der Neigungsverschiebung aus dem Problem entfernt werden und keine Rotation angenommen wird, besteht kaum Hoffnung auf eine echte Implementierung einer doppelten Integration der Beschleunigungsprofile, die ein Positionsprofil ergibt, das nahezu genau genug ist, um Ihnen mitzuteilen, dass Sie Europa erreicht haben . Selbst wenn Sie während der Fahrt ein sehr genaues 6-Achsen-Kreisel- / Beschleunigungsmesserpaket auf Ihrem Schoß hätten, hätte dies auch Probleme.

Das ist also ein Extrem. Es gibt viele Hinweise darauf, dass Tiere für alltägliche Verhaltensweisen eine einfache Annahme verwenden, dass festgestellte niederfrequente Beschleunigungen wahrscheinlich durch Neuorientierungen in Bezug auf die Schwerkraft verursacht werden. Eine Kombination von Gyros und Beschleunigungsmessern, die einen breiteren Frequenzgang als unser Innenohr haben, kann das Problem natürlich viel besser lösen, hat jedoch aufgrund des Grundrauschens, der Schwellenwerte und dergleichen immer noch extreme Probleme.

Für kurze Epochen mit nicht trivialen Beschleunigungen ist es also kein so schlimmes Problem, mit der richtigen Instrumentierung zu rechnen. Langfristig ist bei kleinen Beschleunigungen und niederfrequenten Beschleunigungen die Dead Reckoning ein großes Problem. Für jede gegebene Situation müssen Sie herausfinden, wo in diesem Spektrum Ihr spezielles Problem liegt und wie genau Ihre Anforderungen an die Abrechnung sind, um festzustellen, ob das Beste, was Sie tun können, gut genug ist. Wir nennen das Verfahrenstechnik.


Vielen Dank für diese aufschlussreiche Antwort. Ich frage mich jedoch ein paar Dinge: 1) Was meinst du mit niederfrequenten Beschleunigungen? 2) Wenn das Problem von der 3D-Position auf die seitliche Verschiebung reduziert wurde (Z ignorieren), ist das einfacher? und 3) Was ist mit einer langsamen Bewegung im Meerwasser, bei der die Wirkung der Schwerkraft verringert wird? Hinweise zum Lesen von Material zu diesen Berechnungen sind willkommen.
Achennu

Tatsächlich wären die Intertial-Navigationssysteme alten Stils nach einem langen Flug auf wenige Meilen genau. Sie müssen äußerst genau gewesen sein. (Sie lebten in einer ziemlich großen Kiste.) Die Technologie wurde in den 1950er Jahren entwickelt, um ICBMs zu leiten.
Tuntable

9

Das Hauptproblem bei der Dead Reckoning, das ich bei einem ähnlichen Senior-Design-Projekt festgestellt habe, ist, dass ein Beschleunigungsmesser nur die Beschleunigung misst. Sie müssen einmal integrieren, um die Geschwindigkeit plus eine Konstante C zu erhalten. Dann müssen Sie erneut integrieren, um die Position + Cx + D zu erhalten. Das bedeutet, dass Sie nach der Berechnung der Position aus den Daten eines Beschleunigungsmessers einen Versatz erhalten, den Sie aber auch haben Ein Fehler, der linear mit der Zeit wächst. Für den von mir verwendeten MEM-Sensor berechnete er sich innerhalb von 1 Sekunde als mindestens einen Meter von der tatsächlichen Position entfernt. Damit dies nützlich ist, müssen Sie im Allgemeinen sehr oft einen Weg finden, um die Fehler auf Null zu setzen, damit Sie keine Fehler verursachen. Einige Projekte sind dazu in der Lage, viele jedoch nicht.

Beschleunigungsmesser liefern einen schönen Schwerkraftvektor, der mit der Zeit nicht fehlerhaft ansteigt, und elektronische Kompasse geben Orientierung, ohne Fehler zu akkumulieren, aber insgesamt wurde das Problem der toten Abrechnung nicht durch Tonnen von Geld gelöst, das die Marine für Tonnen von Sensoren auf Schiffen ausgegeben hat . Sie sind besser als das, was Sie tun können, aber als ich das letzte Mal gelesen habe, waren sie auf 1000 km immer noch 1 km entfernt. Das ist eigentlich ziemlich gut für tote Rechnungen, aber ohne ihre Ausrüstung werden Sie nichts in der Nähe davon erreichen können.


Sicher ist der Fehler das Quadrat der Entfernung / Zeit? Der Geschwindigkeitsfehler ist linear, also die Verschiebung das Quadrat. Interessant und nicht angesprochen ist, wie gut diese billigen Beschleuniger sind.
Tuntable

@Tuntable Hoffentlich haben Sie einen Beschleunigungsmesser, der nicht so schlecht ist, dass Sie einen signifikanten konstanten Beschleunigungsversatz haben. Wenn Sie eine haben, die so schlecht ist, dann erhalten Sie einen quadratischen Fehler mit Entfernung / Zeit.
Horta

7

Sie haben auch Vorspannung in den Beschleunigungsmessern und Rauschen in den Gyros, mit denen Sie ebenfalls umgehen müssen.

Und die Schwerkraft sollte keine Fehler bei den Winkelmessungen verursachen. Im Gegenteil, der Schwerkraftvektor liefert eine "absolute Referenz", mit deren Hilfe Sie die akkumulierte Vorspannung der Winkel "Nick" und "Roll" auf Null setzen können.

Ja, was Sie tun möchten, ist möglich, aber die schlechte Leistung von kostengünstigen MEMS-Geräten führt dazu, dass sich Fehler schnell ansammeln - sowohl Vorspannungsänderungen als auch der durch das Rauschen erzeugte "Random Walk" (sowohl in den Beschleunigungsmessern als auch in den Geschwindigkeitskreiseln). bewirkt, dass die Ergebnisse innerhalb von Sekunden oder Minuten von der Realität abweichen.

Um dies zu beheben, müssen Sie zusätzliche Sensoren in Ihr System integrieren, die nicht unter solchen Fehlern leiden. Wie oben erwähnt, ist die Verwendung des Schwerkraftvektorwinkels eine Möglichkeit, einige der Kreiselfehler zu korrigieren. Sie müssen jedoch wissen, wann Sie eine genaue Schwerkraftmessung durchführen (die Systeme werden ansonsten nicht beschleunigt), bevor Sie sie verwenden können es.

Eine andere Möglichkeit, die Winkelverschiebung zu korrigieren, besteht darin, ein Magnetometer zur Messung des Erdmagnetfelds einzubauen. Magnetometer weisen relativ große Fehler auf, leiden jedoch nicht unter Langzeitdrift.

Das Korrigieren der Positionsfehler, die durch die Driftkomponenten der Beschleunigungsmesserablesungen erzeugt werden, erfordert eine absolute Positionsreferenz. GPS wird häufig verwendet (sofern verfügbar), Sie können jedoch auch andere Sensoren verwenden, z. B. Barometer (für die Höhe), Kilometerzähler (wenn Sie Räder am Boden haben), Ultraschall- oder Infrarot-Entfernungssensoren oder sogar Bildsensoren.

Unabhängig davon, welche Kombination von Sensoren Sie letztendlich verwenden, müssen alle diese Daten zu einem selbstkonsistenten Softwaremodell des Systemzustands "zusammengeführt" werden, das nicht nur die aktuelle Position und Haltung, sondern auch Schätzungen der aktuellen Vorspannung enthält , Skalierungsfaktor und Geräuschpegel der Sensoren selbst. Ein üblicher Ansatz ist die Verwendung eines Kalman-Filters, von dem gezeigt werden kann, dass er eine "optimale" Schätzung (dh die beste verfügbare Schätzung) des Systemzustands für einen gegebenen Satz von Sensorablesungen liefert.


4

Die kurze Antwort lautet "nicht genau". Die lange Antwort lautet, dass Sie Aussagen wie "Angesichts meiner Gyroskop-Messwerte bin ich zu 95% sicher, dass das Gerät seit meiner letzten Messung zwischen 28 und 32 Grad gedreht wurde" bilden können.

dθ(t)dt=r(t)
d2p(t)dt2=r(t)
r(t)t

Diese "verrauschten" Differentialgleichungen werden normalerweise unter dem Namen "stochastische Differentialgleichungen" geführt, wobei angenommen wird, dass das Rauschen das weiße Rauschen ist, das durch einen zufälligen Gang erzeugt wird. Die Mathematik kann auf andere Situationen verallgemeinert werden, in denen das Geräusch nicht von einem zufälligen Spaziergang stammt. In jedem speziellen Fall weist das Rauschen eine Verteilung auf, die experimentell bestimmt werden kann und deren Parameter von Ihrem spezifischen Gerät und Ihrer Anwendung abhängen. Aufgrund der Geräuschakkumulation müssen Sie unabhängig davon, was Sie tun, um über relativ lange Zeiträume gute Schätzungen zu erhalten, regelmäßig auf eine bekannte Position kalibrieren. Beispiele für feste Referenzen sind Heimatbasen, Kompasswerte und Schwerkraft.

Wenn Sie sich für diesen Weg entscheiden, müssen Sie einige Dinge entscheiden:

  • Was ist eine akzeptable Fehlerquote? Möchten Sie zu 95% sicher sein, dass es nach 2 Sekunden innerhalb eines Grades liegt, oder möchten Sie zu 80% sicher sein, dass es nach 2 Sekunden bei 5 Grad ist?

  • Nehmen Sie einige Messungen von Ihrem Gyroskop / Beschleunigungsmesser vor. Dies kann verwendet werden, um die empirische Verteilung des Rauschens zu berechnen, die das reale Rauschen schätzt. Verwenden Sie diese Option, um Ihre verrauschte Differentialgleichung zu lösen und Ihre Konfidenzintervalle zu berechnen.

  • Aus dem Obigen sollte klar sein, wie sich die Lesegenauigkeit (Varianz) aus dem Datenblatt auf die Lösung Ihrer verrauschten Differentialgleichung auswirkt. Es wird auch klar sein, wie sich dies auf Ihre Konfidenzintervalle auswirkt.

  • Wählen Sie ein Gerät mit akzeptablen Parametern, damit Sie im ersten Schritt die gewünschten Konfidenzintervalle erhalten. Möglicherweise stimmen die gewünschten / benötigten Gerätegenauigkeitsparameter nicht mit den verfügbaren und / oder Ihrem Budget überein. Auf der anderen Seite können Sie überrascht sein, welche Ergebnisse Sie für billigere Geräte erzielen.


Das Problem (oder ein Problem) liegt darin, dass der Beschleunigungsmesser für mehr als p (t) empfindlich ist . Es ist auch empfindlich gegenüber Änderungen des Theta um bestimmte Achsen.
Scott Seidman

Genau. Aus diesem Grund ist es immer am besten, bei der Analyse eines Multiparametersystems Vektoren zu verwenden. Die Verallgemeinerung von vektorwertigen stochastischen Prozessen aus dem Fall einer einzelnen Variablen ist im Vergleich zu den übrigen Problemen trivial.
SomeEE
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.