In der Regel erfordert alles, was sich bewegt, Sensoren, die Bewegungen verfolgen können. 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. 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.
Rauschen ist das Geräusch, das beim Anhören einer Aufnahme an leisen Stellen zu hören ist. 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. Rauschen ist unvorhersehbar und nicht-deterministisch. Lineare Gleichungen sind deshalb ungeeignet. Stattdessen müssen Statistiken eingesetzt werden. 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 Additive White Gaussian Noise (AWGN). Es ist nicht perfekt, aber gut genug, um zu beweisen, dass ein Design mit echtem Rauschen funktionieren würde.
Die wichtigsten Merkmale des AWGN:
Es wird einfach zum Signal addiert. Daher der Begriff
Additives Rauschen.
Es hat eine Normalverteilung im Zeitbereich, mit einem Durchschnitts- oder Mittelwert von Null. 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. 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.
Statisches Sensorrauschen
Nachdem wir den „Feind“ definiert haben, lassen Sie uns einige eingebettete Systeme betrachten, die auf genaue Sensormessungen angewiesen sind. 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.
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.
In jedem Fall muss der Winkel 0 gemessen werden. Der offensichtliche Sensor für diesen Einsatz ist das Gyroskop, das die Rotationsgeschwindigkeit um eine Achse in Grad pro 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 helfen Zweitsensoren. Beim balancierenden Roboter werden zwei Beschleunigungsmesser mit Achsen, die in einem Winkel von 90 Grad zueinander stehen, eingesetzt.
Sauberes Ausgangssignal durch Mängelbeseitigung
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: 0 = 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 fusionieren, dass die Mängel beseitigt werden und ein einziges sauberes Ausgangssignal erzeugt wird.
Der Kippwinkel θa wird von az und ay 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.
Filter der sich dem Rauschen anpasst
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-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 in der Ingenieurs-Welt berühmt 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 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.
Faktoren für die Eignung des Algorithmus:
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 aufwändiger.
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.
Möglichkeiten des Kalman-Filters
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 kann vereinfacht werden, indem einige seiner Variablen für den praktischen Gebrauch als eins oder null deklariert werden, 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 zudem eine höhere Zuverlässigkeit durch intelligente Redundanz.
Fly-by-Wire-Computerstabilisierung
Kleine Multirotor-Hubschrauber oder Drohnen wurden in den letzten Jahren sehr beliebt. 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.
Entscheidende Faktoren
Obwohl Beschleunigungsmesser und Gyroskope als Einzelchips mit analogen Ausgängen zur Verfügung stehen, ist 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-Freiheitsgraden bezeichnet. Wie immer in der Elektronikentwicklung sind das Leiterplatten-Layout und die relative Positionierung der Chips auf dem Board entscheidend. 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.