Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Rauschen, Sensorfusion und verlorene Drohnen

Die Technologie der Bewegungs- und Umweltsensoren hat in den letzten Jahren große Fortschritte gemacht. Trotzdem ist nichts perfekt, und autonome Fahrzeuge können nicht sicher arbeiten, wenn sie einen unscharfen Blick auf die Welt haben.

shutterstock_453806701_bbfa0bf367051ddafbc73c8a24f8f8e9af001bf7.jpg

Eine wichtige Voraussetzung für alle autonomen Geräte ist es, dass diese ihren genauen Standort innerhalb der Betriebsumgebung kennen. Wie exakt dieser sein muss, hängt von der Reichweite des Fahrzeugs ab. Ein kleiner mobiler Roboter kann so gestaltet sein, dass er innerhalb der Grenzen eines kleinen Raums arbeitet und den Standort auf einige Millimeter genau bestimmen muss. Ein Auto braucht vielleicht eine räumliche Auflösung von Zentimetern, ein Flugzeug von Metern und eine Raumsonde von mehreren hundert Metern. Die Sonde benötigt genauere Angaben, wenn sie einen Planeten umkreisen oder sogar darauf landen soll. In der Regel erfordert alles, was sich bewegt, Sensoren, die Bewegungen verfolgen können – oft sehr schnelle Bewegungen. Zu den statischen Anwendungen, bei denen Sensoren mehr Zeit zur Erfassung der Messwerte zur Verfügung haben, gehören die Wetterüberwachung und die Gebäudeautomatisierung.

  • Dynamische Sensoren: Beschleunigungsmesser, Gyroskop, Magnetometer und optische Rotationssensoren
  • Statische Sensoren: Temperatur, Luftfeuchtigkeit, Licht und Luftdruck

Eine Gemeinsamkeit dieser praktischen Geräte ist es, dass ihre Ausgabe ein mehr oder weniger starkes „Rauschen“ beinhaltet. Rauschen bedeutet Fehler und die Verwendung von unbearbeiteten Sensordaten kann dazu führen, dass Wetterbeobachtungen (und die daraus resultierenden Prognosen) ungenau sind, oder schlimmer noch, dass ein autonomes Fahrzeug die Kontrolle verliert und einen tödlichen Unfall verursacht.

Die Definition von Rauschen

Rauschen ist, nun ja, Rauschen. Es ist das Geräusch, das beim Anhören einer Aufnahme an leisen Stellen zu hören ist. Es ist der „Schnee“ auf einem alten Fernsehgerät vor der Digitalisierung und es ist die zufällige Unschärfe im gesamten Ausgangsbereich eines Abstandssensors, auf den sich der Computer eines fahrerlosen Autos verlässt, um eine Kollision zu vermeiden. Um einen geeigneten Filter zur Senkung des Rauschens zu entwerfen, muss dieses mathematisch erfasst sein. Da es sich um Rauschen handelt, ist es unvorhersehbar (nicht-deterministisch), so dass lineare Gleichungen ungeeignet sind und Statistiken eingesetzt werden müssen. Für die Bewertung der Leistung eines neuen Filterdesigns muss eine Art mathematisches Modell des Rauschens verfügbar sein. Das am häufigsten verwendete Modell ist das sogenannte „Additive White Gaussian Noise (AWGN)“. Es ist nicht perfekt, aber gut genug, um zu beweisen, dass ein Design mit „echtem“ Rauschen funktionieren würde. Das sind seine wichtigsten Merkmale:

  • Es wird einfach zum Signal addiert. Daher der Begriff Additives Rauschen.
  • Es hat eine Normalverteilung im Zeitbereich, mit einem Durchschnitts- oder Mittelwert von Null (Abb. 1). Daher führt eine Integration von Signal plus Rauschen über einen langen Zeitraum zum Verschwinden des Rauschens.
  • In der Theorie reicht die Frequenzdomäne von -∞ bis +∞, und die Leistungsdichte ist über den gesamten Bereich flach. Daher der Begriff Weißes Rauschen.

Zum Glück für den Entwickler haben Simulationsprogramme wie MATLAB integrierte Generatoren für das AWGN-Rauschsignal.

Sensor_Fusion_blog_3_f54d15b2ee9dab078babd003fc4f266f73f741f0.png

Das Wichtigste, was bezüglich der oben beschriebenen AWGN-Gleichung zu beachten ist, ist die Tatsache, dass es nur die allgemeine Menge des Rauschens für ein Signal definiert; es liefert nicht die genaue Rauschspannungsabweichung zu einem bestimmten Zeitpunkt. Die Variable σ ist die Standardabweichung, und sie definiert, wie „schlimm“ das Rauschen ist. Der Hauptgraph in Abb. 1 wurde mit σ = 1 berechnet. Er zeigt, wie hoch die Wahrscheinlichkeit P(n) ist, dass das Signal zu einem bestimmten Zeitpunkt um einen spezifischen Wert n abweicht. Sie sehen sofort, dass eine 40-prozentige Wahrscheinlichkeit (P = 0,4) besteht, dass das Signal zu einem bestimmten Zeitpunkt überhaupt nicht von seinem echten Wert abweichen wird. Wenn man die Kurve weiter verfolgt, wirkt sich das Rauschen auf das Signal aus, aber die Wahrscheinlichkeit großer Abweichungen (positiv oder negativ) nimmt schnell ab. Die Kurve erreicht nie die horizontale Achse, so dass immer eine geringe Möglichkeit eines gelegentlichen Ausschlags von mehr als 3σ besteht. Der eingefügte Graph zeigt den Effekt einer Erhöhung des Werts von σ: die Kurve wird abgeflacht, die Wahrscheinlichkeit, dass keine Abweichung auftritt, nimmt ab, und die Größe des Rauschsignals steigt. Mit anderen Worten, wenn σ steigt, wird das gesamte Rauschen schlimmer.

Statisches Sensorrauschen

Nachdem wir den „Feind“ definiert haben, lassen Sie uns einige eingebettete Systeme betrachten, die auf genaue Sensormessungen angewiesen sind, um zuverlässig zu funktionieren. Die „statischen“ Sensoren, die im Allgemeinen für die Umweltüberwachung eingesetzt werden, müssen häufig nur gelegentlich einen Messwert produzieren. Eine Wetterstation muss beispielsweise vielleicht nur alle 15 Minuten die Lufttemperatur, die Luftfeuchtigkeit und den Luftdruck messen. Dazwischen arbeitet sie in einem „Schlafmodus“, in dem sie nicht sehr viel tut und nur sehr wenig Energie benötigt. Solche Fernmessstationen laufen mit Batterie- oder Solarstrom und verwenden eine drahtlose Verbindung zur Kommunikation. Die Messrate ist so niedrig, dass genügend Zeit für einen „Burst“ der Messungen zur Verfügung steht, vielleicht über mehrere Sekunden, und es wird ein einfacher Mittelwertsalgorithmus verwendet, um das zufällige Rauschen zu integrieren. Technisch ist dies immer noch ein Echtzeitsystem, aber eines, das in einem Zeitbereich arbeitet, in dem Farbe trocknet. Hier ist keine aufwendige Filterung erforderlich.

Dynamische Sensor-Rauschpegelverringerung mit Sensorfusion

Vor nicht allzu langer Zeit waren die Beschleunigungsmesser und Gyroskope, die eine Trägheitsnavigation ermöglichten, sehr große, schwere, empfindliche und teure Anlagen. Die Trägheitsnavigationsgeräte konnten sich nur der Militär-, der Raumfahrt- und der zivile Flugzeugbausektor leisten. Die Entwicklung der MEMS-Technologie (Micro-Electro-Mechanical Systems) hat all das verändert. Praktisch über Nacht schrumpften die INUs von der Größe und dem Gewicht eines Kühlschranks auf eine Leiterplatte von 5 Quadratzentimetern, die etwa 35 Euro kostet. Dies bedeutete, dass ferngesteuerte Hobbyflugzeuge über die Art von Leitsystem verfügen können, wie es nur ein paar Jahre zuvor nur für ein Kampfflugzeug verfügbar war. Auch bodengestützte mobile Roboter könnten davon profitieren. Abb. 2 zeigt die Platzierung eines Gyroskops an zwei Arten von mobilen Robotern. Ein System hilft dabei, den balancierenden Roboter aufrecht zu halten, indem es den Kippwinkel misst. Das andere wird benutzt, um einen sich bewegenden mobilen Roboter auf einem gewünschten Kurs zu halten.

Sensor_Fusion_blog_4_51058a90086dd9b3a70bb1e0e6b997647159ce8f.png

In jedem Fall muss der Winkel θ gemessen werden. Der offensichtliche Sensor für diesen Einsatz ist das Gyroskop, das die Rotationsgeschwindigkeit um eine Achse in Grad/Sekunde misst. Die Integration des Ausgangs ergibt den Winkel in Grad. Das Gyroskop reagiert schnell auf Veränderungen und ist unempfindlich gegen Vibrationen entlang seiner Achsen, aber es hat einen großen Nachteil: ein geringer Versatz der Geschwindigkeitsrate wird zu einem Winkelfehler integriert, der sich mit der Zeit erhöht. Mit anderen Worten, es driftet ab, und ein Filter, der für einen Rauschmittelwert von Null bestimmt ist, kann den zunehmenden Fehler nicht korrigieren. Hier kommen die Zweitsensoren zum Zug. Beim balancierenden Roboter werden zwei Beschleunigungsmesser mit Achsen, die in einem Winkel von 90° zueinander stehen, eingesetzt. Ist der Roboter vertikal, produziert der Z-Achsen-Beschleunigungsmesser einen Ausgabewert von +1 g aufgrund der Schwerkraft. Der Neigungswinkel θ kann somit durch Einsetzen der gemessenen Werte für az und ay in die folgende Gleichung ermittelt werden:

θ = arctan(ay/az)   wobei az, ay normalisiert sind, so dass sie im Bereich von ±1 g liegen

Der Haken ist, dass Beschleunigungsmesser relativ träge auf Veränderungen reagieren, und dass sie bei Vibrationen, wie sie beispielsweise von Motoren stammen können, sehr stark rauschende Ausgänge erzeugen. So haben wir jetzt zwei Winkelsensoren, die jeweils nominell die gleichen Daten liefern, aber mit unterschiedlichen Mängeln. Die Lösung besteht darin, die beiden so zu kombinieren oder „fusionieren“, dass die Mängel beseitigt werden und ein einziges sauberes Ausgangssignal erzeugt wird.

Komplementärfilterung für den balancierenden Roboter

Der Kippwinkel θa wird von az und ay wie oben abgeleitet und dann mit einem Tiefpass gefiltert, um das gesamte Hochfrequenzrauschen zu eliminieren; dann verbleibt ein sich langsam ändernder oder statischer Wert für θa. Gleichzeitig wird der Gyroskopgeschwindigkeitsausgang integriert, um θg zu ermitteln, und dann mit einem Hochpass gefiltert, um das Driftsignal auszuschalten. Die beiden Signale werden dann gewichtet und stellen uns gemeinsam eine Kippwinkelmessung ohne Drift zur Verfügung. Die Gewichtungsfaktoren sind Konstanten, die bei der Programmierung festgelegt werden, vielleicht 0,95 für das Gyroskop mit einem entsprechenden Wert von 0,05 für den Beschleunigungsmesser. Diese Art der Fusion geht davon aus, dass sich die Leistung der Sensoren nicht mit der Zeit ändert oder durch vorübergehende Störungen aufgrund schwerwiegender Interferenzen beeinträchtigt wird. Es gibt andere Algorithmen wie den Kalman-Filter, der sich an Änderungen des Rauschens anpassen kann, indem die Gewichtung eines Sensors reduziert wird, wenn die Qualität von dessen Ausgabe nachlässt.

 

Der Kalman-Filter

Der Kalman-Filter-Algorithmus wurde in den frühen 1960er Jahren entwickelt, um das Null-Mittelwertsrauschen zu beseitigen, das ein Signal stören kann; er kann für jede Art von System eingesetzt werden, das mit einer linearen Gleichung beschrieben werden kann. Er wurde berühmt (zumindest in der Ingenieurs-Welt) aufgrund seiner Verwendung in den Trägheits-Navigationsprogrammen, die auf dem Apollo-Steuerungscomputer der NASA laufen. Er ist so gut, dass ihn die meisten von Echtzeit-Sensoren gesteuerten Anwendungen, die in Umgebungen mit starkem Rauschen arbeiten, heute immer noch verwenden. Was macht den Kalman-Filter so clever? Er verwendet einen verblüffend einfachen zweistufigen Prozess der Vorhersage der Ausgabe und vergleicht dann diese Prognose mit einer Messung zur Aktualisierung der nächsten Vorhersage. Er hält einen Wert für die „Unsicherheit“ hinsichtlich der Sensor-Messung fest, der ebenfalls aktualisiert wird. Wenn ein Sensor-Ausgang ein stärkeres Rauschen produziert, reduziert der Kalman-Algorithmus den Einfluss der Messung auf den Ausgang und erhöht die Gewichtung seiner eigenen Schätzung. Leider ist der Algorithmus viel zu kompliziert, um ihn in wenigen Worten beschreiben, aber dieser Artikel ist das Beste, was ich bisher zu diesem Thema gesehen habe. Er enthält ein echtes Beispiel mit dem MATLAB-Simulationscode und Ergebnissen. Er greift stark auf Matrix-Mathematik zurück, daher schlage ich vor, dass Sie sich mit diesem Bereich auseinandersetzen, wenn Sie nicht bereits damit vertraut sind. Wichtige Dinge, die Sie über den Algorithmus wissen sollten, um zu entscheiden, ob Sie ihn verwenden können/sollten:

  • Der Prozess, der gemessen wird, muss von einem linearen System beschrieben werden. Ein Beispiel ist ein einfaches lineares Bewegungssystem, das auf Beschleunigung, Geschwindigkeit und Position basiert. Ein erweiterter Kalman-Filter wurde von Mitarbeitern der NASA entwickelt, um mit nichtlinearen Systemen umzugehen, aber dessen Mathematik ist noch schlimmer.
  • Eine Sensor-Messung besteht aus einem Mittelwert und seiner Varianz. Für optimale Leistung muss nicht nur das Systemmodell exakt sein, sondern dies muss auch für die Varianzen für Signaleingänge gelten. Sie finden die richtigen Werte vielleicht in einem Datenblatt, aber einige Labortests können notwendig sein.
  • Das Rauschen muss einen Mittelwert von Null haben (wie bei AWGN). Der Filter nimmt an, dass jeder Teil der Messung, der nicht im Mittelwert Null ergibt, wie der bereits erwähnte Gyroskop-Drift, das gewünschte Signal ist; es wird nicht als Rauschen erkannt und nicht minimiert.

Der Kalman-Filter wird oft in der Literatur mit nur einem Sensoreingang abgebildet, aber er kann zwei oder mehr verarbeiten und eine Sensorfusion durchführen. Natürlich ist die Forderung nach Echtzeit-Verarbeitung auch für einen einzigen Eingang ziemlich schwerwiegend und wird bei mehr Eingängen immer schlimmer. Bis vor kurzem stellte dies eine starke Einschränkung dar, aber weit weniger heute, da 32-Bit-Mikrocontroller mit Fließkommaeinheiten, DSPs und sogar paralleler Datenmanipulation mit Single Input Medium Data (SIMD), wie beispielsweise der NEON von ARM, verfügbar sind. Der Algorithmus selbst kann vereinfacht werden, indem einige seiner vielen Variablen „für den praktischen Gebrauch“ als 1 oder 0 deklariert werden, aber dies muss mit großer Sorgfalt geschehen, um nicht seine erstaunlichen Fähigkeiten der adaptiven Rauschunterdrückung zu kompromittieren. Die Sensorfusion mit Kalman-Filterung bietet auch noch etwas anderes: höhere Zuverlässigkeit durch intelligente Redundanz.

 

Steigerung der Zuverlässigkeit durch Sensorfusion

Kleine Multirotor-Hubschrauber oder Drohnen wurden in den letzten Jahren sehr beliebt bei Fans von ferngesteuerten Modellflugzeugen und kommerziellen Luftfotografen. Zum größten Teil liegt dies an den integrierten Flugsteuerungssystemen, die aufgrund der Miniaturisierung von Bewegungssensoren, dem elektronischen Kompass (Magnetometer) und mächtigen Mikrocontrollern ermöglicht wurden. Ohne die „Fly-by-Wire“-Computerstabilisierung sind Quadcopter und Hexacopter einfach nicht praktisch einsetzbar. Trotzdem ist die Umwelt, in der diese neuen Sensoren betrieben werden, ziemlich feindselig und sogar erfahrene „Piloten“ verlieren die Kontrolle, was zu einer „Stabilisierung mit vertikaler Abwärtsbewegung“ führt. Dies kann passieren, wenn Beschleunigungsmesser und Gyroskope durch Motorschwingungen und Manöver mit hohen G-Werten überlastet werden. GPS-Daten werden häufig mit IMU-Ausgängen verbunden, zur Verbesserung der Navigation und zur Aufrechterhaltung des stabilen Flugs, wenn man sich auf die IMU nicht verlassen kann. Das GPS kann in einem kritischen Moment seine Genauigkeit verlieren, daher haben professionelle Drohnen oft zwei GPS-Empfänger von verschiedenen Herstellern. Die Ausgänge von zwei GPS-Modulen und der IMU werden durch einen Kalman-Filter „fusioniert“, der seine adaptiven Fähigkeiten nutzt, um die besten Sensordaten auszuwählen und die schlechtesten zu ignorieren. Eine solche Redundanz kann dazu führen, dass ein schlechteres Flugprofil entsteht, aber das ist immer noch viel besser als ein „unkontrollierter Kontakt mit dem Gelände“.

Oemichen2_f7d436792a9cd48960dfdb61493becd45688e5fa.jpg

Trägheitsmesseinheiten

Obwohl Beschleunigungsmesser und Gyroskope als Einzelchips mit analogen Ausgängen zur Verfügung stehen, ist es der aktuelle Trend, sie integriert als ein Gerät zu kaufen, oft mit Tiefpassfiltern und ADCs, die serielle Daten im SPI- oder I2C-Bus-Format an den Ausgängen liefern. Es handelt sich in der Regel um „3D“-Geräte mit Bewegungsdaten in drei Achsen, die über eine interne Signalverarbeitung verfügen, vor allem, um den Gyroskop-Drift zu korrigieren. Einige beinhalten auch 3D-Magnetometer und werden als Geräte mit „9-DOF“ (Degrees of Freedom, Freiheitsgrade) bezeichnet. Wie immer in der Elektronikentwicklung sind das Leiterplatten-Layout und die relative Positionierung der Chips auf dem Board entscheidend für einen erfolgreichen Betrieb. Diese MEMS-Chips führen eine zusätzliche Dimension ein, nämlich die mechanischen Überlegungen. So kann beispielsweise eine schlechte Verlötung oder Platzierung von Befestigungslöchern unerwünschte mechanische Belastungen verursachen und die Kalibrierung stören oder Schlimmeres. Schauen Sie sich dieDesignrichtlinien dieses Herstellers an.

Und zum Schluss…

Dieser Artikel hat nur an der Oberfläche der Sensorfusion gekratzt; ich habe keine Alternativen zu Kalman Filtern, beispielsweise von Madgwick and Mahony genannt, oder die Fusion von Videokameradaten mit Lidar und Radar für autonome Fahrzeuge diskutiert. Eines ist sicher: die Bewegungssensorfusion war noch nie ein so heißes Thema, egal ob Sie an automatisierten Fabriken, fahrerlosen Autos oder Weltraumsonden arbeiten.

Wenn Sie mögen, folgen Sie mir auf Twitter. Ich verweise auf interessante Artikel über neue Elektronik und verwandte Technologien, und leite von mir entdeckte Tweets über Roboter, Weltraumforschung und andere Themen weiter.

Engineer, PhD, lecturer, freelance technical writer, blogger & tweeter interested in robots, AI, planetary explorers and all things electronic. STEM ambassador. Designed, built and programmed my first microcomputer in 1976. Still learning, still building, still coding today.
DesignSpark Electrical Logolinkedin