WorĂŒber reden wir?
Das Erscheinen
eines Beitrags ĂŒber den Majwik-Filter auf Habre war auf seine Weise ein symbolisches Ereignis. Offensichtlich hat die allgemeine Begeisterung fĂŒr Drohnen das Interesse an der Aufgabe wiederbelebt, die Orientierung des Körpers durch TrĂ€gheitsmessungen zu beurteilen. Gleichzeitig befriedigten traditionelle Methoden, die auf dem Kalman-Filter basierten, die Ăffentlichkeit nicht mehr - entweder aufgrund der hohen Anforderungen an Rechenressourcen, die fĂŒr Drohnen nicht akzeptabel waren, oder aufgrund der komplexen und nicht intuitiven Einstellungen.
Der Beitrag wurde von einer sehr kompakten und effizienten Implementierung des Filters fĂŒr C begleitet. Den Kommentaren nach zu urteilen, blieb die physikalische Bedeutung dieses Codes sowie des gesamten Artikels fĂŒr einige jedoch vage. Nun, wir geben ehrlich zu: Der Majwik-Filter ist der komplizierteste der Filtergruppe, der im Allgemeinen auf sehr einfachen und eleganten Prinzipien basiert. Ich werde diese GrundsĂ€tze in meinem Beitrag berĂŒcksichtigen. Der Code wird nicht hier sein. Mein Beitrag handelt nicht von einer bestimmten Implementierung des OrientierungsschĂ€tzungsalgorithmus, sondern von einer Einladung, eigene Variationen zu einem bestimmten Thema zu erfinden, was sehr viel sein kann.

Orientierungsansicht
Erinnern Sie sich an die Grundlagen. Um die Ausrichtung des Körpers im Raum zu beurteilen, mĂŒssen Sie zuerst einige Parameter auswĂ€hlen, die zusammen diese Ausrichtung eindeutig bestimmen, d. H. im wesentlichen die Ausrichtung des zugehörigen Koordinatensystems
x y z relativ bedingt festes System - zum Beispiel das geografische System NED (Nord, Ost, Unten). Dann mĂŒssen Sie kinematische Gleichungen erstellen, d. H. DrĂŒcken Sie die Ănderungsrate dieser Parameter durch die Winkelgeschwindigkeit der Gyroskope aus. SchlieĂlich mĂŒssen Vektormessungen von Beschleunigungsmessern, Magnetometern usw. in die Berechnung einbezogen werden. Hier sind die gebrĂ€uchlichsten Arten, Orientierung darzustellen:
Eulerwinkel - rollen (rollen,
p h i ), Tonhöhe (Tonhöhe,
t h e t a ), Kurs (Ăberschrift,
p s i ) Dies ist der intuitivste und prĂ€gnanteste Satz von Orientierungsparametern: Die Anzahl der Parameter entspricht genau der Anzahl der Rotationsfreiheitsgrade. FĂŒr diese Winkel können wir die
kinematischen Gleichungen von Euler schreiben. Sie mögen die theoretische Mechanik sehr gern, aber bei Navigationsproblemen sind sie wenig nĂŒtzlich. Erstens erlaubt die Kenntnis der Winkel nicht die direkte Konvertierung der Komponenten eines Vektors von einem mit einem geografischen Koordinatensystem verbundenen oder umgekehrt. Zweitens degenerieren bei einer Neigung von ± 90 Grad die kinematischen Gleichungen, die Rolle und der Kurs werden unbestimmt.
Rotationsmatrix - Matrix
m a t h b f C. 3 Ă 3-GröĂe, mit der Sie einen beliebigen Vektor im zugehörigen Koordinatensystem multiplizieren mĂŒssen, um denselben Vektor im geografischen System zu erhalten:
m a t h b f r N E D = m a t h b f C m a t h b f r x y z . Die Matrix ist immer orthogonal, d.h.
m a t h b f C = m a t h b f C T. . Die kinematische Gleichung dafĂŒr hat die Form
dot mathbfC= mathbfC mathbf Omega .
Hier
mathbf Omega - eine Matrix von Winkelgeschwindigkeitskomponenten, die mit Gyroskopen in einem verbundenen Koordinatensystem gemessen werden:
\ mathbf {\ Omega} = \ begin {bmatrix} 0 & - \ omega_ {z} & \ omega_ {y} \\ \ omega_ {z} & 0 & - \ omega_ {x} \\ - \ omega_ {y } & \ omega_ {x} & 0 \\ \ end {bmatrix}
\ mathbf {\ Omega} = \ begin {bmatrix} 0 & - \ omega_ {z} & \ omega_ {y} \\ \ omega_ {z} & 0 & - \ omega_ {x} \\ - \ omega_ {y } & \ omega_ {x} & 0 \\ \ end {bmatrix}
Die Rotationsmatrix ist etwas weniger offensichtlich als die Euler-Winkel, aber im Gegensatz zu ihnen können Sie Vektoren direkt konvertieren und verlieren an keiner Winkelposition an Bedeutung. Aus rechnerischer Sicht ist der Hauptnachteil die Redundanz: Aus GrĂŒnden von drei Freiheitsgraden werden neun Parameter gleichzeitig eingefĂŒhrt, und alle mĂŒssen gemÀà der kinematischen Gleichung aktualisiert werden. Das Problem kann durch Verwendung der OrthogonalitĂ€t der Matrix leicht vereinfacht werden.
Die Quaternion der Rotation ist ein radikales, aber sehr unintuitives Mittel gegen Redundanz und Degeneration. Dies ist ein Vier-Komponenten-Objekt.
mathbfq=q0+q1 mathbfi+q2 mathbfj+q3 mathbfk - keine Zahl, kein Vektor und keine Matrix. Das Quaternion kann aus zwei Winkeln betrachtet werden. Wie wÀre es zunÀchst mit der formalen Menge des Skalars?
q0 und Vektor
q1 mathbfi+q2 mathbfj+q3 mathbfk wo
mathbfi, mathbfj, mathbfk - Einheitsachsenvektoren (was natĂŒrlich absurd klingt). Zweitens als Verallgemeinerung komplexer Zahlen, wo wir jetzt nicht eine, sondern drei
verschiedene imaginÀre Einheiten verwenden
mathbfi, mathbfj, mathbfk (was nicht weniger absurd klingt). Wie hĂ€ngt eine Quaternion mit einer Wende zusammen? Durch Eulers Theorem: Ein Körper kann immer mit einer endlichen Drehung in einem bestimmten Winkel von einer bestimmten Orientierung zur anderen ĂŒbertragen werden
alpha um eine Achse mit einem FĂŒhrungsvektor
mathbfu . Diese Winkel und Achsen können zu einer Quaternion kombiniert werden:
mathbfq= mathrmcos( alpha/2)+ mathbfu mathrmsin( alpha/2) . Wie eine Matrix kann eine Quaternion verwendet werden, um einen beliebigen Vektor direkt von einem Koordinatensystem in ein anderes umzuwandeln:
mathbfrNED= mathbfq mathbfrxyz mathbfqâ1 . Wie Sie sehen können, leidet auch die Quaternionendarstellung der Orientierung unter Redundanz, jedoch viel weniger als die Matrix: Ein zusĂ€tzlicher Parameter ist nur einer. Die umfassende ĂberprĂŒfung der Quaternionen erfolgte bereits
bei HabrĂ© . Sie sprachen ĂŒber Geometrie und 3D-Grafiken. Wir interessieren uns auch fĂŒr die Kinematik, da die Ănderungsrate des Quaternions mit der gemessenen Winkelgeschwindigkeit in Beziehung gesetzt werden muss. Die entsprechende kinematische Gleichung hat die Form
dot mathbfq=1/2 mathbfq mathbf omega Wo ist der Vektor?
mathbf omega wird auch als Quaternion mit einem skalaren Teil von Null betrachtet.
Filterschemata
Der naivste Ansatz zur Berechnung der Orientierung besteht darin, sich mit einer kinematischen Gleichung zu bewaffnen und einen beliebigen Satz von Parametern entsprechend zu aktualisieren. Wenn wir zum Beispiel eine Rotationsmatrix wÀhlen, können wir einen Zyklus mit etwas im Sinne von
C += * Omega * dt
schreiben. Das Ergebnis wird enttĂ€uschen. Gyroskope, insbesondere MEMS, weisen groĂe und instabile Nullpunktverschiebungen auf. Infolgedessen weist die berechnete Ausrichtung selbst in völliger Ruhe einen unbegrenzten Akkumulationsfehler (Drift) auf. Alle von Mahoney, Majwick und vielen anderen erfundenen Tricks, die mich nicht ausschlieĂen, zielten darauf ab, diese Abweichung durch Messungen von Beschleunigungsmessern, Magnetometern, GNSS-EmpfĂ€ngern, Verzögerungen usw. zu kompensieren. So entstand eine ganze Familie von Orientierungsfiltern, die auf einem einfachen Grundprinzip basieren.
Grundprinzip. Um die Orientierungsdrift zu kompensieren, muss der von Gyroskopen gemessenen Winkelgeschwindigkeit eine zusĂ€tzliche Steuerwinkelgeschwindigkeit hinzugefĂŒgt werden, die auf der Grundlage von Vektormessungen anderer Sensoren konstruiert wurde. Der Kontrollwinkelgeschwindigkeitsvektor sollte sich bemĂŒhen, die Richtungen der gemessenen Vektoren mit ihren bekannten wahren Richtungen zu kombinieren.
Hier wird ein völlig anderer Ansatz gewÀhlt als bei der Konstruktion des Korrekturterms des Kalman-Filters. Der Hauptunterschied besteht darin, dass die Steuerwinkelgeschwindigkeit
kein Term ist, sondern ein Faktor fĂŒr den geschĂ€tzten Wert (Matrix oder Quaternion). Daraus ergeben sich wichtige Vorteile:
- Ein Auswertungsfilter kann fĂŒr die Ausrichtung selbst erstellt werden und nicht fĂŒr kleine Abweichungen der Ausrichtung von der von den Gyroskopen bereitgestellten. DarĂŒber hinaus erfĂŒllen die geschĂ€tzten Werte automatisch alle Anforderungen, die die Aufgabe stellt: Die Matrix ist orthogonal, die Quaternion normalisiert.
- Die physikalische Bedeutung der Steuerwinkelgeschwindigkeit ist viel klarer als der Korrekturterm im Kalman-Filter. Alle Manipulationen werden mit Vektoren und Matrizen im gewöhnlichen dreidimensionalen physikalischen Raum und nicht in einem abstrakten mehrdimensionalen Zustandsraum durchgefĂŒhrt. Dies vereinfacht die Verfeinerung und Anpassung des Filters erheblich und ermöglicht es Ihnen als Bonus, groĂdimensionale Matrizen und schwere Matrixbibliotheken zu entfernen.
Lassen Sie uns nun sehen, wie diese Idee in bestimmten Filteroptionen implementiert wird.
Mahoney Filter. Die ganze wĂŒtende Mathematik des
ursprĂŒnglichen Mahoney-Artikels wurde geschrieben, um einfache Gleichungen zu rechtfertigen (32). Wir schreiben sie in unserer Notation um. Wenn wir die SchĂ€tzung der Nullpunktverschiebungen der Gyroskope ignorieren, bleiben zwei SchlĂŒsselgleichungen ĂŒbrig - die kinematische Gleichung fĂŒr die Rotationsmatrix selbst (mit der Steuerwinkelgeschwindigkeit in Form einer Matrix
mathbf OmegaâČ ) und das Gesetz der Bildung dieser Geschwindigkeit in Form eines Vektors
mathbf omegaâČ . Der Einfachheit halber nehmen wir an, dass es keine Beschleunigungen oder magnetischen Aufnehmer gibt, und dank dessen stehen uns Beschleunigungsmessungen im freien Fall zur VerfĂŒgung.
â hat mathbfgxyz von Beschleunigungsmessern und dem Magnetfeld der Erde
hat mathbfmxyz von Magnetometern. Beide Vektoren werden von Sensoren in einem verbundenen Koordinatensystem gemessen, und im geografischen System ist ihre Position bekannt:
â mathbfgNED nach oben zeigen
mathbfmNED - nach magnetischem Norden. Dann sehen die Mahoney-Filtergleichungen folgendermaĂen aus:
dot mathbfC= mathbfC( mathbf Omega+ mathbf OmegaâČ) mathbf omegaâČ=kg hat mathbfgxyz times mathbfCT mathbfgNED+km hat mathbfmxyz times mathbfCT mathbfmNED
Schauen wir uns die zweite Gleichung genau an. Der erste Term auf der rechten Seite ist ein Vektorprodukt. Der erste Faktor ist die gemessene Erdbeschleunigung, der zweite ist wahr. Da sich die Faktoren in einem Koordinatensystem befinden mĂŒssen, wird der zweite Faktor durch Multiplikation mit in ein verbundenes System umgewandelt
mathbfCT . Die als Vektorprodukt konstruierte Winkelgeschwindigkeit ist senkrecht zur Ebene der Faktorvektoren. Sie können die geschĂ€tzte Position des zugehörigen Koordinatensystems drehen, bis die Faktorvektoren in Richtung ĂŒbereinstimmen. Dann wird das Vektorprodukt auf Null zurĂŒckgesetzt und die Drehung stoppt. Koeffizient
kg legt die Starrheit eines solchen Feedbacks fest. Der zweite Term fĂŒhrt eine Ă€hnliche Operation mit einem Magnetvektor durch. TatsĂ€chlich verkörpert der Mahoney-Filter die bekannte These: Die Kenntnis von zwei nichtkollinearen Vektoren in zwei verschiedenen Koordinatensystemen ermöglicht es Ihnen, die gegenseitige Ausrichtung dieser Systeme eindeutig wiederherzustellen. Wenn mehr als zwei Vektoren vorhanden sind, bietet dies eine nĂŒtzliche Messredundanz. Wenn es nur einen Vektor gibt, kann ein Rotationsfreiheitsgrad (Bewegung um diesen Vektor) nicht festgelegt werden. Zum Beispiel, wenn nur ein Vektor angegeben ist
â mathbfg Dann können Sie die Drift von Roll und Pitch einstellen, aber nicht den Kurs.
NatĂŒrlich muss der Mahoney-Filter keine Rotationsmatrix verwenden. Es gibt auch nichtkanonische Quaternionsvarianten.
Virtuelle Kreiselplattform. Im Mahoney-Filter haben wir die Steuerwinkelgeschwindigkeit angewendet
mathbf omegaâČ zum zugehörigen Koordinatensystem. Sie können es jedoch auf die geschĂ€tzte Position des geografischen Koordinatensystems anwenden. Die kinematische Gleichung nimmt dann die Form an
dot mathbfC= mathbfC mathbf Omegaâ mathbf OmegaâČ mathbfC
Es stellt sich heraus, dass dieser Ansatz den Weg fĂŒr sehr fruchtbare physikalische Analogien ebnet. Es genĂŒgt, sich daran zu erinnern, womit die Kreiseltechnik begann - die vertikalen und trĂ€gen Navigationssysteme, die auf der gyrostabilisierten Plattform in einem Kardanrahmen basieren.
www.theairlinepilots.comDas Ziel der dortigen Plattform war die Materialisierung des geografischen Koordinatensystems. Die Ausrichtung des TrĂ€gers wurde relativ zu dieser Plattform durch Winkelsensoren an den AufhĂ€ngungsrahmen gemessen. Wenn die Gyroskope eine Drift hatten, driftete auch die Plattform hinter ihnen her, und Fehler wurden in den Messwerten der Winkelsensoren akkumuliert. Um diese Fehler zu beseitigen, wurde eine RĂŒckmeldung von auf der Plattform installierten Beschleunigungsmessern eingefĂŒhrt. Beispielsweise wurde die Abweichung der Plattform vom Horizont um die Nordachse vom Beschleunigungsmesser der Ostachse wahrgenommen. Dieses Signal ermöglichte das Einstellen der Steuerwinkelgeschwindigkeit
mathbf omegaâČ RĂŒckkehr der Plattform zum Horizont.
Wir können die gleichen visuellen Konzepte in unserer Aufgabe verwenden. Die beschriebene kinematische Gleichung muss dann wie folgt gelesen werden: Die Ănderungsrate der Orientierung ist die Differenz zwischen zwei Rotationsbewegungen - der absoluten Bewegung des TrĂ€gers (erster Term) und der absoluten Bewegung der virtuellen Kreiselplattform (zweiter Term). Die Analogie kann auf das Gesetz der Bildung der steuernden Winkelgeschwindigkeit erweitert werden. Vektor
â hat mathbfgNED=â mathbfC hat mathbfgxyz Es ist das Zeugnis von Beschleunigungsmessern, die angeblich auf einer Kreiselplattform stehen. Dann können Sie aus physischen GrĂŒnden schreiben:
omegaâČN=âgkg hatgE, omegaâČE=gkg hatgN
Es wĂ€re möglich, auf formale Weise zu genau demselben Ergebnis zu gelangen, indem die Vektormultiplikation im Geiste des Mahoney-Filters durchgefĂŒhrt wird, jetzt jedoch nicht in einem zusammenhĂ€ngenden, sondern in einem geografischen Koordinatensystem. Ist es nur notwendig?
Der erste Hinweis auf eine nĂŒtzliche Analogie zwischen Plattform- und Strapdown-TrĂ€gheitsnavigation erscheint offenbar im
alten Boeing-Patent . Dann wurde diese Idee von
Salychev und kĂŒrzlich - auch von
mir - aktiv entwickelt. Die offensichtlichen Vorteile dieses Ansatzes:
- Die Steuerwinkelgeschwindigkeit kann auf der Grundlage verstÀndlicher physikalischer Prinzipien gebildet werden.
- NatĂŒrlich sind die horizontalen und gerichteten KanĂ€le, die sich in ihren Eigenschaften und Korrekturmethoden stark unterscheiden, getrennt. Im Mahoney-Filter werden sie gemischt.
- Es ist zweckmĂ€Ăig, den Effekt von Beschleunigungen aufgrund der Verwendung von GNSS-Daten zu kompensieren, die genau in geografischen und nicht in verwandten Achsen ausgegeben werden.
- Es ist einfach, den Algorithmus auf den Fall einer hochprĂ€zisen TrĂ€gheitsnavigation zu verallgemeinern, bei der die Form und Rotation der Erde berĂŒcksichtigt werden muss. Wie das im Mahoney-Schema geht, kann ich mir nicht vorstellen.
Majwick Filter. Majwik entschied sich fĂŒr den
harten Weg . Wenn Mahoney anscheinend intuitiv zu seiner Entscheidung kam und sie dann mathematisch begrĂŒndete, dann erwies sich Majwik von Anfang an als Formalist. Er verpflichtete sich, das Optimierungsproblem zu lösen. Er ĂŒberlegte so. Stellen Sie die Ausrichtung des Rotationsquaternions ein. Im Idealfall die berechnete Richtung eines gemessenen Vektors (lassen Sie uns dies haben
â mathbfg ) fĂ€llt mit dem wahren zusammen. Dann wird es sein
mathbfqâ1 mathbfgNED mathbfq= hat mathbfgxyz . In der RealitĂ€t ist dies nicht immer erreichbar (insbesondere wenn mehr als zwei Vektoren vorhanden sind), aber Sie können versuchen, die Abweichung zu minimieren
mathbfF= mathbfqâ1 mathbfgNED mathbfqâ hat mathbfgxyz von der exakten Gleichheit. Dazu fĂŒhren wir das Minimierungskriterium ein
E= frac12| mathbfF|2 rightarrow mathrmmin
Die Minimierung erfordert einen Gradientenabstieg, der sich in kleinen Schritten in die dem Gradienten entgegengesetzte Richtung bewegt
nablaE d.h. im Gegensatz zu der schnellsten Funktionssteigerung
E . Majwik macht ĂŒbrigens einen Fehler: In all seinen Werken stellt er nicht vor
E und schreibt beharrlich
nabla mathbfF statt
nablaE , obwohl es tatsÀchlich genau berechnet
nablaE .
Infolgedessen fĂŒhrt der Gradientenabstieg zu der folgenden Bedingung: Um die Orientierungsdrift zu kompensieren, muss aus der kinematischen Gleichung ein neuer negativer Term proportional zur kinematischen Gleichung hinzugefĂŒgt werden
nablaE ::
dot mathbfq= frac12 mathbfq mathbf omegaâ beta frac nablaE| nablaE|
Hier weicht Majwik ein wenig von unserem âGrundprinzipâ ab: Er addiert den Korrekturterm nicht zur Winkelgeschwindigkeit, sondern zur Ănderungsrate der Quaternion, und das ist nicht genau dasselbe. Infolgedessen kann sich herausstellen, dass die aktualisierte Quaternion nicht mehr einzeln ist und dementsprechend die FĂ€higkeit verliert, die Orientierung darzustellen. Daher ist fĂŒr den Majwik-Filter eine kĂŒnstliche Normalisierung des Quaternions eine wichtige Operation, wĂ€hrend sie fĂŒr andere Filter wĂŒnschenswert und nicht optional ist.
Der Effekt der Beschleunigung
Bisher wurde angenommen, dass es keine echten Beschleunigungen gibt und Beschleunigungsmesser nur die Gravitationsbeschleunigung messen
â mathbfg . Dies ermöglichte es, einen vertikalen Standard zu erhalten und mit seiner Hilfe Roll- und Nickdrift zu kompensieren. Im allgemeinen Fall messen Beschleunigungsmesser jedoch unabhĂ€ngig von ihrem Funktionsprinzip die
scheinbare Beschleunigung - die Vektordifferenz der tatsÀchlichen Beschleunigung und der Gravitationsbeschleunigung
mathbff= mathbfaâ mathbfg . Die Richtung der scheinbaren Beschleunigung stimmt nicht mit der Vertikalen ĂŒberein, und Fehler, die durch Beschleunigungen verursacht werden, erscheinen in den Roll- und NickschĂ€tzungen.
Dies lĂ€sst sich anhand der Analogie einer virtuellen Kreiselplattform leicht veranschaulichen. Ihr Korrektursystem ist so ausgelegt, dass die Plattform in der Winkelposition stoppt, in der die Signale der angeblich darauf installierten Beschleunigungsmesser auf Null zurĂŒckgesetzt werden, d. H. wenn der gemessene Vektor
mathbff wird senkrecht zu den Achsen der Empfindlichkeit der Beschleunigungsmesser. Wenn es keine Beschleunigung gibt, fÀllt diese Position mit dem Horizont zusammen. Wenn horizontale Beschleunigungen auftreten, wird die Kreiselplattform ausgelenkt. Wir können sagen, dass die Kreiselplattform einem stark gedÀmpften Pendel oder Lot Àhnelt.

In den Kommentaren zum Beitrag ĂŒber den Majwik-Filter stellte sich die Frage, ob man hoffen kann, dass dieser Filter weniger anfĂ€llig fĂŒr Beschleunigungen ist als beispielsweise der Mahoney-Filter. Leider nutzen alle hier beschriebenen Filter dieselben physikalischen Prinzipien und leiden daher unter denselben Problemen. Es ist unmöglich, die Physik mit der Mathematik zu tĂ€uschen. Was ist dann zu tun?
Der einfachste und hĂ€rteste Weg wurde bereits Mitte des letzten Jahrhunderts fĂŒr Kreisel in der Luftfahrt erfunden: die Kontrollwinkelgeschwindigkeit bei Vorhandensein von Beschleunigungen oder die Winkelgeschwindigkeit des Kurses (die den Eintritt in eine Kurve anzeigt) zu reduzieren oder vollstĂ€ndig auf Null zu setzen. Die gleiche Methode kann auf aktuelle Plattformsysteme angewendet werden. In diesem Fall mĂŒssen Beschleunigungen anhand der Werte beurteilt werden
hatfN, hatfE , und nicht
hatfx, hatfy die wiederum selbst Null sind. Jedoch in der GröĂe
hat mathbffNED Es ist nicht immer möglich, echte Beschleunigungen von Projektionen der Gravitationsbeschleunigung zu unterscheiden, die auf die Neigung der Kreiselplattform zurĂŒckzufĂŒhren sind, die beseitigt werden muss. Daher funktioniert die Methode nicht zuverlĂ€ssig - es sind jedoch keine zusĂ€tzlichen Sensoren erforderlich.
Eine genauere Methode basiert auf der Verwendung externer Geschwindigkeitsmessungen vom GNSS-EmpfÀnger. Wenn Geschwindigkeit bekannt ist
mathbfv , dann kann es numerisch differenziert werden und echte Beschleunigung erhalten
dot mathbfv . Dann der Unterschied
hat mathbffNEDâ dot mathbfv wird genau gleich sein
â hat mathbfgNED unabhĂ€ngig von der Medienbewegung. Es kann als vertikaler Standard verwendet werden. Beispielsweise können Sie die Steuerwinkelgeschwindigkeit der Kreiselplattform im Formular angeben
omegaâČN=gkg( hatfEâ dotvE), omegaâČE=âgkg( hatfNâ dotvN)
Sensor-Nullpunkt-Offsets
Ein trauriges Merkmal von Gyroskopen und Beschleunigungsmessern fĂŒr Verbraucher ist die groĂe InstabilitĂ€t von Zeit- und TemperaturversĂ€tzen von Null. Um sie zu beseitigen, reicht eine Kalibrierung im Werk oder im Labor nicht aus - Sie mĂŒssen sie wĂ€hrend des Betriebs neu bewerten.
Gyroskope. Wir werden uns mit Null-Offsets von Gyroskopen befassen
delta mathbf omega . Die geschÀtzte Position des zugehörigen Koordinatensystems entfernt sich von seiner tatsÀchlichen Position mit einer Winkelgeschwindigkeit, die durch zwei entgegengesetzte Faktoren bestimmt wird - Nullverschiebungen der Gyroskope und Steuerung der Winkelgeschwindigkeit:
delta mathbf omegaâ mathbf omegaâČ . Wenn es dem Korrektursystem (z. B. im Mahoney-Filter) gelungen ist, den Ausgang zu stoppen, ist dies im eingeschwungenen Zustand der Fall
delta mathbf omega= mathbf omegaâČ . Mit anderen Worten, bei der Steuerung Winkelgeschwindigkeit
mathbf omegaâČ Informationen ĂŒber eine unbekannte gĂŒltige Störung
delta mathbf omega . Daher kann eine
kompensatorische SchĂ€tzung angewendet werden: Wir kennen die GröĂe der Störung nicht direkt, wissen jedoch, welche KorrekturmaĂnahmen erforderlich sind, um sie auszugleichen. Dies ist die Grundlage fĂŒr die SchĂ€tzung der Nullpunktverschiebungen von Gyroskopen. In Mahoney wird beispielsweise die Punktzahl gemÀà dem Gesetz aktualisiert
dot hat delta mathbf omega=kb mathbf omegaâČ
Das Ergebnis ist jedoch seltsam: SchÀtzungen erreichen 0,04 rad / s. Eine solche InstabilitÀt von Null-Offsets tritt selbst bei den schlimmsten Gyroskopen nicht auf. Ich vermute, das Problem ist, dass Mahoney kein GNSS oder andere externe Sensoren verwendet - und vollstÀndig vom Einfluss von Beschleunigungen betroffen ist. Nur auf der vertikalen Achse, wo die Beschleunigung keinen Schaden anrichtet, sieht die SchÀtzung mehr oder weniger robust aus:
Mahony et al., 2008Beschleunigungsmesser Rate Zero Offset Beschleunigungsmesser
delta mathbff viel schwieriger. Informationen ĂŒber sie mĂŒssen aus derselben Steuerwinkelgeschwindigkeit extrahiert werden
mathbf omegaâČ . Bei einer geradlinigen Bewegung ist der Effekt der Nullpunktverschiebung der Beschleunigungsmesser jedoch nicht von der Neigung des TrĂ€gers oder der Neigung der Installation des Sensorblocks darauf zu unterscheiden. Keine ZusĂ€tze zu
mathbf omegaâČ Beschleunigungsmesser erstellen nicht. Das Additiv erscheint nur in einer Umdrehung, wodurch wir die Fehler von Gyroskopen und Beschleunigungsmessern trennen und unabhĂ€ngig bewerten können. Ein Beispiel dafĂŒr ist in
meinem Artikel . Hier sind die Bilder von dort:

Anstelle einer Schlussfolgerung: Was ist mit dem Kalman-Filter?
Ich habe keinen Zweifel daran, dass die hier beschriebenen Filter in Bezug auf Geschwindigkeit, Kompaktheit des Codes und einfache Einrichtung fast immer einen Vorteil gegenĂŒber dem herkömmlichen Kalman-Filter haben - dafĂŒr wurden sie erstellt. In Bezug auf die Genauigkeit der Bewertung ist hier nicht alles so klar. Ich traf erfolglos entworfene Kalman-Filter, die in ihrer Genauigkeit einem Filter mit einer virtuellen Kreiselplattform deutlich unterlegen waren. Majwik hat auch die Vorteile seines Filters in Bezug auf
einige Kalman-SchĂ€tzungen bewiesen. FĂŒr dieselbe OrientierungsschĂ€tzungsaufgabe können Sie jedoch mindestens ein Dutzend verschiedene Kalman-Filterschaltungen erstellen, von denen jede ĂŒber unzĂ€hlige Einstellungen verfĂŒgt. Ich habe keinen Grund zu der Annahme, dass der Mahoney- oder Majwik-Filter genauer ist als der
bestmögliche Kalman-Filter. Und natĂŒrlich hat der Kalman-Ansatz immer den Vorteil der UniversalitĂ€t: Er legt keine strengen EinschrĂ€nkungen fĂŒr die spezifischen dynamischen Eigenschaften des bewerteten Systems fest.