Sensorfusionsalgorithmen können eine genauere 3D-Ausrichtung (und möglicherweise Position?) Eines Geräts liefern, indem sie die Messwerte eines Beschleunigungsmessers, Gyroskops und Magnetometers kombinieren.
Kann jemand die Details dahinter erklären oder Links bereitstellen? Ich möchte die Mathematik und Physik so verstehen, dass ich, wenn ich rohe 9-DOF-Sensordaten habe, möglicherweise die Sensorfusion implementieren kann. Angenommen, ich habe einen ausreichenden Hintergrund für lineare Algebra, Analysis usw.
Prost!
filters
algorithms
Junges Geld
quelle
quelle
Antworten:
Bei der Sensorfusion für die 3D-Ausrichtung geht es darum, mehrere Datenquellen (Sensoren) zu verbinden, um genauere Informationen zu extrahieren.
Insbesondere bei IMUs können Sie viele Messungen (technisch DoM und nicht DoF) verbinden, um Orientierungs- und Positionsdaten zu erhalten (dies ist technisch DoF).
Angenommen, Sie haben ein System mit Beschleunigungsmesser, Gyrometer, Magnetometer, Barometer und GPS (übliche High-End-Mobiltelefonfunktionen und einige Hardware-Board-Funktionen). Folgendes haben Sie tatsächlich:
Sie haben eine Beschleunigungsmessung, aber wenn Sie sich bewegen, können Sie die Schwerkraftkomponente der Beschleunigung und die tatsächliche Bewegungsbeschleunigung nicht trennen (es sei denn, Sie bewegen sich nicht wirklich und nur die Schwerkraft bleibt übrig). Sie können davon ausgehen, dass sich Ihre Bewegung schneller ändert als die Schwerkraftänderung, und einen Filter anwenden, um Hochfrequenzkomponenten von den Niederfrequenzkomponenten zu trennen. Sie erhalten jedoch immer noch keine guten Ergebnisse, wenn die Annahme nicht zutrifft (z. B. eine lange Wende). Sie können die Schwerkraft auch nicht einfach von der Stelle subtrahieren, an der Sie glauben , dass sie Teil des Orientierungsergebnisses und keine Eingabe ist. Selbst wenn Sie wüssten, wohin die Schwerkraft zeigt, wissen Sie nur, wo unten ist, aber Sie werden nicht wissen, wo Sie sich in der Nähe des Gravitationsvektors befinden (Ihr Winkel in der Ebene senkrecht dazu).
Sie haben ein Girometer, das das Drehverhältnis registriert. Es ist kein Gyroskop. Ein Gyroskop würde tatsächlich zu einer Einstellungsinformation führen, während Sie den Gyrometerausgang integrieren müssen, um diese Information zu erhalten. Das Problem bei dieser Art von Sensor ist, dass Sie zunächst keine Startorientierung haben (es sei denn, Sie nehmen eine an und die Annahmen haben Probleme wie oben). und zweitens und noch wichtiger, Sie haben Vorspannung und Rauschen (von Sensor, numerisch usw.), was jeden Integrator durcheinander bringt.
Du hast ein Magnetometer. Das Magnetfeld der Erde ist sehr schwach und daher starkem Umgebungsgeräusch ausgesetzt. Denken Sie an HF-Sender wie WLAN, Mobiltelefon, UKW-Radio, Walkie-Talkies und noch unwahrscheinlichere wie HAM-Funkgeräte, Flugzeugradios, Piratenradios und Fernseher / Monitore. Wenn Sie der Meinung sind, dass Ihr Energiespar-Flachbildfernseher keinen Kompass hat, denken Sie noch einmal darüber nach. Es ist also höllisch laut. Analoge Magnet-Öl-Kompasse beheben dies, indem sie die Nadel in eine viskose Flüssigkeit eintauchen, die wie ein mechanischer Tiefpassfilter wirkt. Aus diesem Grund ist sie nicht schnell genug, und trotzdem erhalten Sie immer noch falsche Messwerte in der Nähe einer Stromleitung.
Du hast ein Barometer. Sie können die Höhe anhand dieser Informationen schätzen, es handelt sich jedoch nur um eine Schätzung. Achten Sie auf atmosphärische Effekte (wenn es Wind gibt, gibt es irgendwo Druckunterschiede) und Sie müssen bedenken, dass Ihre Daten relativ zu einer Referenz sind, aber nicht unbedingt geerdet . Denken Sie daran, dass die Referenz normalerweise auf Meereshöhe liegt und der Meeresspiegel sich mit den Gezeiten ständig ändert. Es gibt also einen Einblick in eine einzelne Positionsachse und ist normalerweise nur zum Erkennen von Abweichungen geeignet.
Sie haben GPS. Das GPS-Signal wird jedoch von Satelliten im Weltraum erhalten. Haben Sie wirklich erwartet, dass Sie daraus Millimeter-Positionsinformationen erhalten? Sie können dies sogar erreichen, wenn Sie viele Minuten oder sogar Stunden still halten, indem Sie filtern. Die Genauigkeit von einem Meter ist jedoch für die meisten zivilen GPS-Empfänger Standard und für die meisten kommerziellen Anwendungen ausreichend. Selbst wenn Sie kein Positionsrauschen, kein Signal in geschlossenen Räumen oder schlechtes Wetter hätten, würden Sie trotzdem nur Positionsinformationen erhalten, nichts wie eine Einstellung.
Vor diesem Hintergrund ist die Sensorfusion selbst die Kombination aller Daten, die Sie erhalten, um mehr Genauigkeit zu erzielen. Es ist wichtig zu vergleichen, welche Bewegung verschiedenen Sensoren mit unterschiedlichen Eigenschaften gemeinsam ist. Es gibt jedoch viele Möglichkeiten, dies zu tun, und jede Implementierung unterscheidet sich normalerweise in der Implementierung von der anderen. Einige Ideen:
Filter Zeug. Tiefpass- und Hochpassfilter können die Daten verbessern (indem sie etwas Rauschen aufheben) und eine Information in zwei trennen.
Kalman-Filterung (in verschiedenen Formen) ist weit verbreitet, um Rauschen zu beseitigen und mehrere Quellen zu verbinden, da sie rechnerisch schnell ist und auch als Prädiktor / Korrektor und zum Ausgleich von Datenverzögerungsunterschieden zwischen Sensoren verwendet werden kann.
Nutzen Sie die Kenntnis des Problems, um die Vergleichsgleichungen zu verbessern. Verwenden Sie die aktuelle Ausrichtung und zukünftige Schätzungen, um die Schwerkraft vorherzusagen. Integrieren Sie die Beschleunigung, um die Geschwindigkeit zu erhalten. erneut integrieren, um die Position zu ermitteln, GPS verwenden, um sie zu korrigieren, filtern und zurückleiten, um Schätzungen zu erhalten; Das GPS verfügt auch über einige Geschwindigkeitsinformationen von Doppler-Effekten. Verwenden Sie diese. Verwenden Sie die GPS-Positionsverdünnung, um abzuschätzen, wie genau Ihre GPS-Daten sind. Integrieren Sie das Gyrometer, um den nächsten Schwerkraftvektor zu korrigieren. Tiefpass des Magnetometers und Verwendung als schwache Nordreferenz, wobei die magnetische Deklination von der GPS-Position korrigiert wird; Verwenden Sie die Barometerinformationen von Anfang an, um das ungefähre Bodenniveau zu erhalten, und leiten Sie die Druckdaten ab, um die Z-Positionsinformationen zu verbessern. Erstellen Sie Ihre eigene Methode.
Filtern Sie alles, aber filtern Sie nicht zu viel, sonst erhalten Sie keine nützlichen Informationen.
Selbst wenn "Sensor Fusion" als fertige Methode verkauft wird, ist dies fast ein offenes Problem. Selbst die Verwendung etablierter Methoden erfordert noch viel Abstimmung, um die besten Ergebnisse zu erzielen und verschiedene Sensoreigenschaften zu nutzen, um bessere Daten zu erhalten.
quelle
Sensoren bieten analoge oder digitale Einblicke in eine schwer zu erfassende Realität. Genau wie deine Sinne.
Sensoren erfassen einen bestimmten Teil eines messbaren Phänomens: elektrisch, chemisch, physikalisch ... Genau wie Ihre Sinne. Die üblichen fünf sind Sehen, Hören, Berühren, Riechen und Schmecken, aber die menschlichen Fähigkeiten bieten noch mehr.
Das Verstehen eines physikalischen Phänomens durch Signalverarbeitung ist wie der Versuch, die Hauptzutaten anhand des Rezepts der Mahlzeit zu ermitteln, die Sie gestern Abend in einem Restaurant bestellt haben. Sie wissen nicht, was in der Küche passiert ist, haben sich aber für eine Bestellung entschieden und den Teller gesehen, geschmeckt, gerochen und sogar berührt.
Jeder Ihrer Sinne und Ihr Verständnis haben Ihnen Hinweise oder Wissen gegeben, aber Sie können sich nie sicher sein, da einige Köche die Sinnestäuschung beherrschen. Was Sie als künstliche grüne Marmelade aus Erdbeeren sehen, kann nach Apfelgelee schmecken.
Basierend auf Ihrer Kochkompetenz kann die Kombination aller Sinne Sie dem eigentlichen Rezept näher bringen, vorausgesetzt:
Sensorfusion ist die Kunst und Wissenschaft, sensorische Daten, Wissen und Modelle aus unterschiedlichen Quellen zu kombinieren, damit die resultierenden Informationen mehr Gültigkeit oder weniger Unsicherheit aufweisen als einzelne Quellen.
Beispiele: Die Mittelung von Sensordaten für dasselbe deterministische Signal mit unterschiedlichen stochastischen Realisierungen eines Rauschausdrucks ist die grundlegendste Sensorfusionsoperation. Mit dem Modell unabhängiger Gaußscher Abweichungsgeräusche ergibt der Durchschnitt theoretisch eine Abweichung (weniger unsicher). Die Kombination von drei Kanälen (Rot, Blau, Grün) bietet ein Farbbild (gültiger als eine Einkanal-Graustufe).N. σ σN.√
Das erste Beispiel kombiniert Informationen aus einem einzelnen Sensormodell. Der zweite von Sensoren, die in derselben Domäne arbeiten (elektromagnetische Wellen), jedoch in verschiedenen Bereichen des Spektrums. Im Allgemeinen arbeitet die Fusion mit verschiedenen Sensoren mit unterschiedlichen Raten, Bereichen, Domänen und meistens Einheiten.
Das Problem hängt stark von dem Phänomen ab, das Sie betrachten, den verfügbaren Sensoren und den Informationen, nach denen Sie suchen.
Die Physik sagt Ihnen die möglichen Informationen, die Sie von Ihren Sensoren erhalten können. Die Mathematik kann modellieren, wie sie verwandt oder komplementär sind oder welche irrelevanten Informationen (Rauschen) vorliegen. Die Algorithmen kombinieren das bisherige Wissen so optimal wie möglich in Bezug auf Präzision, Genauigkeit oder Geschwindigkeit.
Das Thema bezieht sich auf die Bereiche Sensorfusion , Datenfusion oder Informationsintegration mit einem kurzen Überblick über Prinzipien und Techniken für die Sensordatenfusion . Es sind viele weitere Bücher verfügbar, wie im Besten Buch zum Erlernen der Sensorfusion, insbesondere zur IMU- und GPS-Integration .
In Bezug auf Ihr eigentliches Problem würde ein erster Schritt darin bestehen, zu verstehen, was die Unterschiede zwischen einem Gyroskop, einem Beschleunigungsmesser und einem Magnetometer sind. Das könnte Ihnen helfen, die Techniken ein wenig weiter voranzutreiben. Und erreichen Sie das Ziel der Fusion: Verwenden Sie Sensordifferenzen, summieren Sie deren Daten auf cleverste Weise .
quelle
Roger R Labbe Jr erklärt dies in seinem fantastischen Buch " Kalman and Bayesian Filters in Python " als
Zwei Gaußsche sind im Bayes'schen Rahmen immer besser als einer. Wenn Sie zwei Gaußsche multiplizieren, erhalten Sie eine kleinere Kovarianzmatrix.
quelle