Grenzen der Dead Reckoning mit MEMS-Sensoren

13

Ich versuche, Körperteile relativ zum Oberkörper einer Person zu verfolgen. Ich sehe einige Fragen zur Verwendung von MEMS-Beschleunigungsmessern und Gyros für die Dead Reckoning und sie bestätigen meinen Verdacht, dass verschiedene Faktoren ihre Nützlichkeit für diese Art von Anwendungen stark einschränken, aber ich versuche, diese Grenzen zu klären:

  • Was genau sind diese Grenzen?

    Andere Antworten haben angesprochen, warum diese Grenzen existieren. Natürlich ändern sowohl die Spezifikationen der Teile des betreffenden Systems als auch der als "akzeptabler Fehler" für das System angesehene Wert die genauen Grenzwerte. Gibt es jedoch eine einzige Größenordnung in der Zeit oder in der Entfernung, von der ich erwarten kann, dass die tote Abrechnung funktioniert? Mir ist klar, dass der Fehler über große Entfernungen (einige Meter oder so) für die meisten praktischen Zwecke zu groß wird, aber wie sieht es innerhalb weniger Fuß aus?

  • Was kann ich tun, um diese Grenzwerte zu verbessern?

    Ich suche derzeit nach einem Beschleunigungsmesser und einem Kreisel. Welche anderen Sensoren kann ich dem System hinzufügen, um die Fehlerrate zu verbessern? Ich weiß, dass über größere Entfernungen ein GPS verwendet werden kann, aber ich bezweifle, dass ein GPS mit Unterhaltungselektronikqualität eine ausreichende Auflösung hat, um in meinem Fall zu helfen.

    Darüber hinaus scheint ein allgemeiner Konsens der einzige Weg, diese Grenzen über den Punkt verbesserter Sensoren hinaus zu verbessern, darin zu bestehen, eine Referenz bereitzustellen, die nicht fehleranfällig ist. Einige Systeme lösen dies mithilfe von Kameras und Markern. Welche Referenzpunkte kann ein tragbares / tragbares Gerät bieten?

    Ich habe die Verwendung von Funkwellen gesehen, um große Entfernungen genau zu messen, aber ich kann nicht sagen, ob ein solches System in so kleinem Maßstab (in Bezug auf die gemessene Entfernung) unter Verwendung von "Standard" -Komponenten genau sein könnte.

Selali Adobor
quelle
9
Für die Person, die dies zur Schließung gemeldet hat, und für alle anderen Personen dieser Art - dies ist eine Frage des elektronischen Designs erster Ordnung. Es wird gefragt, wie mit COTS-Teilen und was auch immer möglich ist, eine bessere Trägheitsnavigationseinheit aufgebaut werden kann, welche aktuellen Grenzwerte gelten und was von den vorgeschlagenen Verbesserungen erwartet werden kann. Die Frage kann für diejenigen, die den Umfang der Frage nicht bewältigen können, nicht vernünftigerweise in kleinere Fragen unterteilt werden, da die Integration aller Faktoren zur Erzielung eines verbesserten Ergebnisses die Kernidee ist.
Russell McMahon
Ein Magnetometer kann zu einem 6-DOF-Kreisel- und Beschleunigungsmesserchip hinzugefügt werden.
Russell McMahon
Ich habe tatsächlich darüber nachgedacht, dass die Frage aus zwei kleineren Fragen besteht, bin aber zu dem genauen Schluss gekommen, den @RussellMcMahon festgestellt hat.
Selali Adobor
1
Ich bezweifle, dass ein GPS für Unterhaltungselektronik eine ausreichende Auflösung hat, um in meinem Fall zu helfen. Es gibt tatsächlich ein Consumer-GPS, das Zentimetergenauigkeit bietet. Ob +/- 1 cm genau genug für Ihre Anwendung ist oder nicht, haben Sie nicht angegeben. Und natürlich kostet es einiges mehr als die typischen +/- 3 m genauen GPS-Module
krb686
1
Ich hatte bei meiner Suche keine gesehen. Haben Sie die Teilenummern für eine von ihnen?
Selali Adobor

Antworten:

6
  • Was genau sind sie?

Die Fehlerquellen umfassen Nullpunktverschiebung (Vorspannung) und Skalierungsfehler (die dazu neigen, langsam zu variieren) und Rauschen. Die Preise für MEMS-Sensoren variieren zwischen weniger als 10 USD und über 1000 USD, und die Größe der Fehlerbedingungen deckt je nach Qualität des Sensors einen weiten Bereich ab.

Das große Problem ist, dass normalerweise eine Integration erforderlich ist, um vom Sensorwert (Beschleunigung, Winkelgeschwindigkeit) zum gewünschten Wert (Position, Winkel) zu gelangen. Alle Fehlerquellen werden zusammengesetzt - wachsen mit der Zeit -, wenn sie integriert werden. Der Wert der Daten für die Dead Reckoning nimmt mit der Zeit ab, wobei billige Sensoren Ihnen höchstens ein paar Minuten nützliche Daten liefern und High-End-Sensoren möglicherweise einige Stunden lang gültig sind.

  • Was kann ich tun, um diese Grenzwerte zu verbessern?

Wie Sie bereits festgestellt haben, besteht der beste Weg, um die wachsenden integrierten Fehler zu beseitigen, darin, die Sensordaten mit anderen unabhängigen Datenquellen zu kombinieren, die nicht die gleichen Fehlerarten aufweisen. Zum Beispiel kann GPS Ihnen einen absoluten Positionswert geben, der nicht langfristig driftet, sondern eine relativ große "Rausch" -Komponente aufweist. Sie können diese Daten verwenden, um die Vorspannungs- und Skalierungsfehler Ihrer Beschleunigungsmesser abzuschätzen, sodass Sie diese in Echtzeit korrigieren können. Sie können damit auch den durch das Sensorrauschen verursachten "Random Walk" aufheben. Ein Kalman-Filter ist eine gängige Methode zur Modellierung des Systems (einschließlich der Sensorfehlerterme) und zur Kombination der Daten, um zu jedem Zeitpunkt eine optimale Schätzung des Systemzustands zu erhalten.

Ein anderes Beispiel ist die Verwendung des "Schwerkraftvektors", gemessen mit den Beschleunigungsmessern, um die Winkeldrift der Gyros auszugleichen. Der Trick dabei ist, genau zu wissen, wann Sie einen gültigen Schwerkraftvektor haben. Das heißt, das System beschleunigt in keine Richtung. Dazu werden verschiedene Heuristiken (z. B. "Zero Update") verwendet. Ein Magnetometer kann auch zur Messung von Kreiselfehlern verwendet werden, selbst wenn Sie die absolute Richtung des Magnetfelds nicht kennen - solange Sie davon ausgehen können, dass es konstant ist.

Die optische Erfassung ist ein weiterer Weg, um eine driftfreie Geschwindigkeits-, Winkel- oder Positionsschätzung zu erhalten. Die erforderliche Bildverarbeitung kann jedoch viele CPU- (oder FPGA-) Zyklen erfordern, und die Entwicklung eines solchen Systems ist ziemlich kompliziert.

Dave Tweed
quelle
Dies ist eine wirklich gute Antwort, aber ich denke, sie verfehlt die Absicht eines Teils der Frage (vielleicht muss ich sie oben klarstellen). "Was sind sie" bezieht sich auf diese Grenzen. Ich gehe detailliert darauf ein, was ich damit in der Frage meine, da mir klar ist, dass die Werte aufgrund vieler Faktoren variieren werden.
Selali Adobor
Ich konnte nicht sagen, ob Sie nach der Art der Fehler oder der Größe der Fehler gefragt haben. Ich habe versucht, beide im ersten Teil meiner Antwort anzusprechen.
Dave Tweed
Oh, ich verstehe, also ist die Zeit in diesem Fall wahrscheinlich ein größerer Faktor als die Entfernung (mir ist klar, dass es nicht immer der eine oder andere sein wird)
Selali Adobor
3

Sie haben gefragt, was noch hinzugefügt werden könnte. Ein 3-Achsen-Magnetometer sollte hilfreich sein. Das Erdmagnetfeld bewegt sich tendenziell wesentlich langsamer als der durchschnittliche Benutzer (zum Glück).
Schauen Sie sich die fabelhafte MPU6000 / 6050 an

Eine Version bietet eine SPI- und IIC-Schnittstelle, die andere nur IIC.

Dieses enthält ein 3-Achsen-Gyroskop + einen 3-Achsen-Beschleunigungsmesser sowie Eingänge, damit das Signal von einem externen 3-Achsen-Magnetometer integriert werden kann.
Der IC enthält einen "digitalen Bewegungsprozessor", der die Signale vom 3 x 3-Sensorarray integriert. Ich habe die genaue Funktionalität noch nicht in den Griff bekommen, aber die 3 separaten Signalquellen sollen zu einem nützlichen Bewegungsanalysesystem verarbeitet werden

Datenblatt hier

Der IC kostet ungefähr 10 USD / 1 von Digikey und ein Evaluierungsboard kostet ungefähr 50 USD + vom Hersteller. Oder Sie können ein komplettes Board aus China kaufen - es wird hier für etwa 6 US-Dollar im Einzelhandel in 1er verkauft - IC und PCB zusammengebaut.
Ich habe immer noch nicht herausgefunden, wie das passiert oder ob sie echt sind oder ... Ich habe gestern einen erhalten, werde aber eine Weile nicht damit spielen können. ('Whiles' variieren stark in der Größe, von sehr klein bis manchmal übergroß, leider). Es gibt eine Reihe von Artikeln im Internet über die Verwendung mit z. B. Arduinos.

Wie genau?:

Es gibt wahrscheinlich viele Diskussionen darüber im Web.
Wenn ich das Datenblatt richtig gelesen habe (und es ist kein Gerätetyp, mit dem ich übermäßig vertraut bin),
deutet Tabelle 6.1 auf Seite 12 darauf hin, dass das Gyroskop bei 25 ° C eine Drift von +/- 20 Grad / Sekunde und so viel mehr aufweist - Temperaturbereich von 40 bis + 85 ° C. Angenommen, eine tatsächliche Geschwindigkeit von 20 Grad / Sekunde entspricht einer vollen Umdrehung in 18 Sekunden. Sowohl das Magnetometer als auch der Beschleunigungsmesser bieten jedoch Zugang zu externen Referenzvektoren (Schwerkraft und Erdmagnetfeld), und Signale von diesen können verwendet werden, um kurz- und langfristige Kreiseldriftraten abzuleiten und zu kompensieren. Dies kann durchaus Teil dessen sein, was ihr "Bewegungsprozessor" tut.

Der Beschleunigungsmesserfehler scheint typischerweise unter +/- 5% zu liegen.
Ich würde erwarten (und kann sehr falsch sein), dass die Verwendung des Beschleunigungsmessers und des Magnetometers zum Trimmen der Kreiseldriftfehler auf im Wesentlichen Null längerfristig es Ihnen ermöglichen würde, die Kreiselsignale für die Navigation über Sekunden bis Minuten zu verwenden. GPS liefert auch Geschwindigkeitssignale und die Kombination von Position + Geschwindigkeit des Hausarztes mit der 9DOF-Einheit klingt sehr nützlich.

Wooly: Das oben genannte klingt wolliger als ich möchte. Ich gehe davon aus, dass ich in den nächsten Wochen mehr darüber erfahren werde. Es würde mich interessieren, was Sie herausfinden, und wenn ich nützliche Dinge erfahre, werde ich versuchen, darüber Bericht zu erstatten.

.


Abhängig von Ihrer Anwendung können Sie möglicherweise ein Referenz-GPS und einen Empfänger vorübergehend an einem geeigneten Ort ablegen. Dies kann äußerst kompakt sein - GPS + Batterie + TX. Einmal hinterlegt, weiß es, wo es sich befindet, und kann Korrekturen übertragen, je nachdem, wo sich das System befindet. Die Verwendung derselben Satellitenkonstellation ist "wahrscheinlich eine gute Idee". Wenn sich der Benutzer und das Referenz-GPS zum gleichen Zeitpunkt am selben Ort befinden, an dem es abgelegt wird, ist dies umso besser, aber dieses System funktioniert auch dann, wenn sie immer räumlich getrennt sind.

... Ich bezweifle, dass ein GPS für Unterhaltungselektronik eine ausreichende Auflösung hat, um in meinem Fall zu helfen.

Wenn Sie nicht wissen, was Ihr Fall ist, ist es schwer zu sagen. Die relative GPS-Auflösung von Probe zu Probe ist jedoch in der Regel weitaus besser als die, die über Minuten oder Stunden erreicht wird. Ich habe Tests durchgeführt, bei denen ich über eine städtische Route gefahren bin, die GPS-Koordinaten aufgezeichnet und die Übung einige Stunden später wiederholt habe. Die beiden Wege waren in einigen Fällen mehrere Meter voneinander entfernt, aber wenn man beispielsweise in einer geraden Linie entlang einer städtischen Straße fuhr, war das Grundstück eine gerade Linie mit "Lärm" auf beiden Seiten einer geraden Linie von vielleicht weniger als einem Meter. (Das war vor einigen Jahren - es ist einfach, dies selbst zu versuchen. Ich habe gerade Daten von einem seriellen GPS-RS232-Ausgang (normalerweise 4800 Baud) aufgezeichnet und in diesem Fall in Excel als XY-Diagramm dargestellt.

Differenzielles GPS kann verwendet werden, wobei ein lokaler stationärer Empfänger mit festem Standort Fehlerkorrekturen basierend darauf liefert, wo er es kennt und wo das System es jetzt sagt. Es gibt viele Anbieter solcher Systeme, aber das Konzept ist einfach und leicht zu implementieren, wenn mit einem knappen Budget.

Russell McMahon
quelle
Ich möchte diesen Drift diskutieren. Ich, was sie im Datenblatt erwähnen, ist nicht Drift, sondern was der Gyro als Werte ausgibt, während er bei einer Rotationsrate von 0 ist. Die zweite Zahl wäre dann, wie stark sich dieser Wert über den gesamten Temperaturbereich unterscheidet. Glaubst du, das macht Sinn?
Jonas Schäfer
Ich versuche, Körperteile relativ zum Oberkörper einer Person zu verfolgen (ich habe es in der Frage erwähnt, aber ich sollte das wahrscheinlich in die Einleitung verschieben, ich habe es versehentlich begraben). Ich sehe auf E-Bay einige Breakout-Boards dafür, ich werde gleich eines bestellen. Wenn Sie sich das Datenblatt ansehen, ist es ein sehr vielversprechendes Gerät. Der Hinweis zu GPS bezieht sich darauf, wie kurz die Entfernung ist (<1 Meter). Die Geräte, die ich für diese Art der Messung gesehen habe, verwendeten sehr spezielle Hardware. Ich hatte nie darüber nachgedacht, ein Differential-GPS-System zu verwenden. Ich habe von ihnen gehört, weiß aber nicht viel über sie, also werde ich nachlesen, danke!
Selali Adobor
"Die Verwendung derselben Satellitenkonstellation ist wahrscheinlich eine gute Idee." So funktioniert DGPS nicht. Die Referenzstation berechnet in ihrer Ansicht Pseudoentfernungskorrekturen für die einzelnen Satelliten und überträgt diese. Die andere Station verwendet nur die Korrekturen für die Satelliten, die sich ebenfalls in ihrer eigenen Ansicht befinden.
Dave Tweed
Invensense hat jetzt seine MPU-9250, die die MPU-6000 (Gyro / Accel) mit einem 3-Achsen-Magnetometer (Asahi Kasei AK8963) kombiniert und 9 Achsen auf einem Chip ergibt. Und es ist kleiner als die MPU-6000 :)
Bitsmack
Es gab auch ähnliche E-Bay-Angebote, also habe ich eines bestellt, da der Durchschnittspreis für Magnetometer auf Breakout-Boards ungefähr gleich war (diese Boards sind sicher billig!)
Selali Adobor
3

Etwas, das in diesen Antworten noch nicht behandelt wird, ist Ihre spezifische Anwendung, die bereits mindestens ein Dutzend Mal von sehr klugen Leuten bearbeitet wurde. Die beiden Schlüsselwörter hier sind inverse Kinematik und Kalman-Filter.

Inzwischen sollte klar sein, woher die Fehler für Ihre Anwendung stammen und wie sie behoben werden können. Wenn Sie sich jedoch mit Sensoren befassen, die im Wesentlichen an einen Menschen gebunden sind, können Sie den Bereich der räumlichen und Winkelpositionen Ihrer Sensoren verringern, indem Sie die Gleichung invers kinematisch anwenden. Dies bedeutet im Grunde, dass Sie die relativen Positionen möglichst vieler Gelenke am Körper verfolgen und ein kinematisches Modell des menschlichen Körpers darauf anwenden. Zum Beispiel ändert sich die Länge der Arme der Menschen im Laufe der Zeit nicht und ihre Bewegungsreichweite ändert sich auch nicht nennenswert. Knochen verbiegen sich nicht (unter normalen Umständen). All dies kann verwendet werden, um Ihre Sensorpositionen einzuschränken.

Die andere Lösung besteht darin, so viele orthogonale Sensoren wie möglich zu verwenden. Orthogonal im Sinne von: Verwendung grundlegend unterschiedlicher Messprinzipien. Wenn Sie so viel Sensoreingang wie möglich verwenden, können Sie einen sogenannten Kalman-Filter verwenden, um angesichts der Daten, in denen sich Ihre Sensoren befinden, so genau wie möglich zu arbeiten. Kalman-Filter sind jedoch keine magische Einheit, die die beste Antwort liefert. Es handelt sich um mathematische Modelle, die an Ihre spezifische Anwendung angepasst und modifiziert werden müssen, und es kann ziemlich mühsam sein, sie zum Funktionieren zu bringen. Aber es ermöglicht Ihnen auf eine Art und Weise, ansonsten sehr schwer zu korrelierende Sensordaten zu kombinieren. Eingaben für diese Art von Filtern können alles sein: Positions-, Beschleunigungs- und Geschwindigkeitssensoren, aber auch Lichtsensoren, die Informationen hinzufügen können, indem sie auf Lichtquellen reagieren, die in bestimmten Winkeln sichtbar sind.

Einige "Powergloves" mit diesem Arbeitsprinzip (Kinematik + Kalman-Filter) wurden von Unternehmen und Universitäten gleichermaßen demonstriert. Die letzte, die ich an der TU Eindhoven gesehen habe, verwendete MPU6050 auf flexiblen Substraten, die in einen Handschuh eingewebt waren, sowie einige unterstützende Sensoren (ich denke im Moment sind es nur Webcams), die alle in einen großen Kalman-Filter mit Matlab-Antrieb eingespeist wurden. Die Wiederholgenauigkeit beträgt 1 mm.

user36129
quelle
Ich habe diese Aspekte des Problems bereits für meinen speziellen Fall untersucht, daher interessiert mich mehr, was ich mit Hardware tun kann, aber dies sind hervorragende Punkte (insbesondere die Verwendung von IK für Einschränkungen).
Selali Adobor
0

Das Grundproblem

Natürlich ändern sowohl die Spezifikationen der Teile des betreffenden Systems als auch der als "akzeptabler Fehler" für das System angesehene Wert die genauen Grenzwerte. Gibt es jedoch eine einzige Größenordnung in der Zeit oder in der Entfernung, von der ich erwarten kann, dass die tote Abrechnung funktioniert? Mir ist klar, dass der Fehler über große Entfernungen (einige Meter oder so) für die meisten praktischen Zwecke zu groß wird, aber wie sieht es innerhalb weniger Fuß aus?

Dies kann durch Untersuchung der kurzfristigen Fehlerdynamik eines Trägheitsnavigationssystems behoben werden. Es wird in vielen Texten ausführlich behandelt , aber hier ist die kurze "gleichungsfreie" Version.

Die Trägheitsnavigation funktioniert wie folgt:

  1. Kennen Sie genau Ihre Ausgangsposition, Geschwindigkeit und Fluglage (dh Pitch Roll und Yaw).

  2. Δt

  3. Verwenden Sie Ihre neue Einstellung, die Sie gerade berechnet haben, um Ihre Beschleunigungsmesserwerte mathematisch so zu drehen, dass sie mit der Erde übereinstimmen.

  4. Subtrahieren Sie die Schwerkraft von Ihren neuen Messwerten für den Beschleunigungsmesser.

  5. Δt

  6. Δt

  7. Wiederholen Sie die Schritte 2 bis 6 so lange wie gewünscht.

bgbg×Δt×Δt×Δt=bg(Δt)3

Darüber hinaus wird sich diese Vorspannung in der Fluglage ansammeln, was dazu führt, dass die Beschleunigungsmesser falsch ausgerichtet werden, was dazu führt, dass die Beschleunigung in die falsche Richtung ausgerichtet wird, die dann in die falsche Richtung integriert wird - drei Fehlerebenen.

Dies bedeutet, dass Kreiselfehler dazu führen, dass Positionsfehler mit dem Zeitwürfel wachsen .

Durch den gleichen logischen Beschleunigungsmesserfehler werden Positionsfehler mit dem Zeitquadrat größer .

Aus diesem Grund erhalten Sie nur wenige Sekunden nützliche (reine) Trägheitsnavigation von MEMS-Sensoren für Mobiltelefone.

Selbst wenn Sie extrem gute Trägheitssensoren haben - beispielsweise Flugzeugqualität -, sind Sie grundsätzlich auf etwas weniger als zehn Minuten (reine) Trägheitsnavigation beschränkt. Der Grund ist Schritt 3 - die Schwerkraft ändert sich mit der Höhe. Wenn Sie Ihre Körpergröße falsch einstellen, wird Ihre Schwerkraft falsch sein, was dazu führt, dass Ihre Körpergröße falsch ist, was dazu führt, dass Ihre Schwerkraft falscher ist und so weiter - exponentielles Fehlerwachstum. Selbst ein "reines" Trägheitsnavigationssystem, wie es in Militärjets zu finden ist, hat normalerweise so etwas wie einen barometrischen Höhenmesser. Quelle .

Lösungen

Darüber hinaus scheint ein allgemeiner Konsens der einzige Weg, diese Grenzen über den Punkt verbesserter Sensoren hinaus zu verbessern, darin zu bestehen, eine Referenz bereitzustellen, die nicht fehleranfällig ist.

t2

Einige Systeme lösen dies mithilfe von Kameras und Markern. Welche Referenzpunkte kann ein tragbares / tragbares Gerät bieten?

Es gibt sowohl Forschungs- als auch Handelsprodukte , die dies tun können.

Konzeptionell funktioniert es wie Stereovision - Sie haben eine bekannte Grundlinie zwischen den Kameras und einen anderen Winkel zu jedem Marker, von jeder Kamera aus gesehen. Daraus kann die 3D-Position jeder Markierung berechnet werden (relativ zur Kamera). Mit mehr Kameras kann es besser funktionieren.

Ich habe die Verwendung von Funkwellen gesehen, um große Entfernungen genau zu messen, aber ich kann nicht sagen, ob ein solches System in so kleinem Maßstab (in Bezug auf die gemessene Entfernung) unter Verwendung von "Standard" -Komponenten genau sein könnte.

Mit billiger Hardware kann Decawave UWB von Nutzen sein (10 cm Reichweite oder so). Sie müssen Ihre eigenen Algorithmen durcharbeiten.

Ich weiß, dass über größere Entfernungen ein GPS verwendet werden kann, aber ich bezweifle, dass ein GPS mit Unterhaltungselektronikqualität eine ausreichende Auflösung hat, um in meinem Fall zu helfen.

Neben dem Körper wird ein GPS-System Probleme haben. Das Erhalten von GPS auf cm-Ebene beruht auf einer kontinuierlichen Phasenverfolgung der (sehr, sehr schwachen) GPS-Signale, was äußerst schwierig ist, wenn sich die Antenne neben dem Körper befindet und sich der Körper bewegt! Für Nur-L1-Systeme - unabhängig davon, welche billig oder teuer sind - muss die Verfolgung sehr lange dauern (10 Minuten +) und ist daher für dieses Problem unpraktisch. Ein Zweifrequenzempfänger mag manchmal funktionieren , aber diese sind wirklich nicht billig (Tausende von Dollar).

Damien
quelle