DE19622394A1 - Fahrzeugkompaßsystem mit automatischer Kalibration - Google Patents

Fahrzeugkompaßsystem mit automatischer Kalibration

Info

Publication number
DE19622394A1
DE19622394A1 DE19622394A DE19622394A DE19622394A1 DE 19622394 A1 DE19622394 A1 DE 19622394A1 DE 19622394 A DE19622394 A DE 19622394A DE 19622394 A DE19622394 A DE 19622394A DE 19622394 A1 DE19622394 A1 DE 19622394A1
Authority
DE
Germany
Prior art keywords
vehicle
block
sensor
magnetic field
signal levels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE19622394A
Other languages
English (en)
Inventor
Thomas R Olson
Jeffrey N Parks
Paul S Vanlente
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Johnson Controls Technology Co
Original Assignee
Prince Corp USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23836514&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE19622394(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Prince Corp USA filed Critical Prince Corp USA
Publication of DE19622394A1 publication Critical patent/DE19622394A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/38Testing, calibrating, or compensating of compasses

Description

HINTERGRUND DER ERFINDUNG
Die vorliegende Erfindung bezieht sich auf magnetische Rich­ tungssensorsysteme und insbesondere auf solche zur Verwendung in Fahrzeugen.
Das US-Patent Nr. 4 953 305, das dem vorliegenden Anmelder gehört, offenbart einen Magnetfeldsensor und ein mikroprozes­ sor-gesteuertes Kompaßsystem für ein Fahrzeug, welches automa­ tisch und stetig kalibriert wird, um Änderungen in dem Magne­ tismus des Fahrzeugs und somit der Reaktion des Systems auf das Erdmagnetfeld während der Lebensdauer des Fahrzeugsrechnung zu tragen. Das System umfaßt eine Einrichtung zum Testen der Daten, die von dem Kompaßsensor empfangen werden, um die maxi­ malen und minimalen Signalpegel während der Bewegung des Fahr­ zeugs durch einen vollständigen 360°-Laufweg zu bestimmen, unabhängig davon, wie auch immer der Weg verschlungen sein mag. Diese Daten werden über mehrere solcher Fahrzeugwege gemittelt, um stetig aktualisierte gemittelte Kompensationskorrekturinfor­ mationen zu ergeben.
Obwohl dieses System eine wesentliche Verbesserung im Fahrzeug­ kompaßbetrieb darstellt und eine genauere Ausrichtungsinforma­ tion über verschiedene Betriebsbedingungen gibt, macht sein in gewissem Grade langwieriger Ermittelungsprozeß und das Verfah­ ren der allmählichen Kompensation es vor allem geeignet für die Kompensation von langsamen und graduellen Änderungen im Fahrzeugmagnetismus. Als solches kann das Kompaßsystem ungeeig­ net sein, um eine adäquate Kompensation für und eine Erholung von einer abrupten und beträchtlichen Änderung im Fahrzeug­ magnetismus zu kompensieren, die beispielsweise durch Fahren des Fahrzeugs nahe von elektrischen Stromführungen von Zügen oder Untergrundsystemen, Anbringung einer magnetischen Mobil­ telefonantenne auf dem Fahrzeugdach oder sogar durch Fahren durch eine Waschanlage, die das Blattmetall nahe des Kompaßsen­ sors verbiegt und seine magnetischen Eigenschaften verändern kann, verursacht werden können. Ein solches Ereignis kann daher eine wesentliche Beeinträchtigung des Kompaßbetriebs verur­ sachen, was auf lange Sicht zu fehlerhaften Ausrichtungsinfor­ mationen führt, die angezeigt werden, bis eine erneute Kompen­ sation des Systems erreicht wird.
Ein besonderes Problem mit dem Fahrzeugmagnetismus gibt es vor dem Verkauf eines neuen Fahrzeugs an den Kunden. Zu dieser Zeit kann das Fahrzeug beträchtlich magnetisiert sein, aufgrund ent­ weder des Herstellungsprozesses oder des Auslieferverfahrens des Fahrzeugs an den Händler. Um sicherzustellen, daß das Kom­ paßsystem genaue Ausrichtungsinformation beim anfänglichen Ein­ schalten durch den Kunden liefert, muß der geänderte oder exi­ stierende Fahrzeugmagnetismus kompensiert bzw. beseitigt wer­ den. Die Maßnahme, die gewählt wird, um diese Funktion zu erfüllen, sollte einfach und effizient sein, so daß eine War­ tung des Fahrzeugs vermieden werden kann, und sie sollte geeignet sein, entweder in der Fabrik oder bei den einzelnen Händlern durchgeführt werden zu können. Obwohl die Fabrikkompensation für neue Fahrzeugkompasse seit vielen Jahren Standardpraxis ist, sind die gegenwärtigen Verfahren erwiesenermaßen ungeeignet. Beispielsweise erfordert die Beseitigung des Magnetismus eine spezielle Degauss-Ausrüstung, die sehr teuer ist, und die Zuweisung der Aufgabe einer manuellen Kalibration an den Hersteller oder die einzelnen Händler ist sehr problematisch. Ein Verfahren zur Kompaßkompensation in der Fabrik umfaßt die Identifizierung des Magnetfeldes an einer bestimmten Stelle und, wenn das Fahrzeug in einer vorbestimmten Richtung an dieser Stelle angeordnet ist, die Vorsehung von Kalibrationssignalen, um alle Differenzen in der angezeigten Ausrichtung und der bekannten Ausrichtung des existierenden Magnetfeldes an dieser Stelle entlang der Fertigungsstraße zu korrigieren. Dieses Verfahren ist problematisch insoweit, als eine magnetisch stabile Stelle in einer Fabrikumgebung schwierig zu erhalten sein kann, aufgrund der Möglichkeit von streuenden oder sich ändernden Magnetfeldern und Störungen, welche potentiell eine Falschkali­ bration des Kompasses verursachen können, was zur Anzeige einer fehlerhaften Ausrichtungsinformation führt.
Es gibt daher einen Bedarf nach einem Kompaßkompensations­ system, das in der Lage ist, abrupte und signifikante Änderun­ gen im Fahrzeugmagnetismus zu kompensieren und wiederherzustel­ len, und nach einem verbesserten System, welches effizient den anfänglichen Fahrzeugmagnetismus eines neuen Fahrzeugs kompen­ sieren kann.
ZUSAMMENFASSUNG DER ERFINDUNG
Die vorliegende Erfindung liefert ein beträchtlich verbessertes Kompaßsystem, das eine automatische Kalibration des Fahrzeug­ kompasses ergibt, das abrupte und beträchtliche Änderungen im Fahrzeugmagnetismus während des normalen Betriebs des Fahrzeugs kompensiert. Die vorliegende Erfindung liefert ebenfalls ein Verfahren, durch welches der anfängliche Fahrzeugmagnetismus eines neuen Fahrzeugs effizient kompensiert werden kann. In der bevorzugten Ausführungsform der vorliegenden Erfindung ist ein System angegeben, welches alle Änderungen des Fahrzeugmagnetis­ mus kompensiert, die nachteilig den Kompaßbetrieb beeinträchti­ gen.
Die vorliegende Erfindung umfaßt einen Magnetfeldsensor, der in einem Fahrzeug angebracht wird, um eine Signalinformation zu liefern, welche das Erdmagnetfeld wiedergibt, das innerhalb des Fahrzeugs detektiert wird. Der Sensor ist mit einem elektri­ schen Schaltkreis gekoppelt zum Aufnehmen der Daten, die durch den Sensor bereitgestellt werden und zum Feststellen, wenn eine Änderung in dem Fahrzeugmagnetismus aufgetreten ist. Der Schaltkreis umfaßt zusätzlich eine Einrichtung zum Kompensieren des Sensors bezüglich der Auswirkungen des Fahrzeugmagnetismus, so daß eine genaue Ausrichtungsinformation auf einer Anzeige angezeigt werden kann, die mit dem Schaltkreis gekoppelt ist. In der bevorzugten Ausführungsform der Erfindung umfaßt der elektrische Schaltkreis einen Mikroprozessor, der so program­ miert ist, daß er hereinkommende detektierte Fahrzeugausrich­ tungsdaten analysiert und schnell die geeigneten Kompensations­ signale bereitstellt, um die Anzeige von genauen Ausrichtungs­ informationen zu bewirken.
Diese und andere Merkmale, Vorteile und Aufgaben der vorliegenden Erfindung werden besser verstanden und erkannt werden von den Fachleuten in Bezug auf die folgende Beschreibung, die Ansprüche und die begleitenden Zeichnungen.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist eine fragmentarische perspektivische Ansicht eines Fahrzeugs mit einem Kompaß, der die vorliegende Erfindung aus­ führt;
Fig. 2 ist ein elektrisches Schaltkreisdiagramm, das teilweise in Blockform und teilweise in schematischer Form das Kompaß­ system wiedergibt, welches die vorliegende Erfindung ausführt;
Fig. 3 ist ein Graph, der das Idealsignal vom Magnetfeldsensor und das Signal nach einer Änderung im Fahrzeugmagnetismus wie­ dergibt; und
Fig. 4 bis 22 sind Flußdiagramme für die Programmierung des Mikroprozessors, der in dem Kompaßsystem der bevorzugten Aus­ führungsform der vorliegenden Erfindung verwendet wird.
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
In Fig. 1 ist ein Fahrzeug 10, wie beispielsweise ein Automo­ bil, gezeigt, das ein Steuer- und Anzeigemodul 11 umfaßt, wel­ ches geeignet ist, um in das Dach 12 des Fahrzeugs während der Herstellung integriert zu werden, obwohl es auch später separat hinzugefügt werden kann. Das Modul 11 ist nahe dem oberen Rand der Windschutzscheibe 14 angeordnet, typischerweise über dem Rückspiegel 15, und umfaßt ein Paar von Kartenleselampen 16 mit Schaltern 18 zum Betreiben der Lampeneinrichtung, welche hinter den Linsen 20 angeordnet ist, die ihrerseits in dem Winkel­ bereich entweder auf der Fahrerseite oder der Beifahrerseite des Fahrzeugs leuchten, je nachdem, welcher Schalter betätigt wird. Die Mittel des Moduls umfaßt einen lernfähigen Garagentoröffnersender 22 des Typs, wie er in dem erteilten US-Patent 5 442 340, erteilt am 15. August 1995, und mit dem Titel "Trainable Transmitter with Output Attenuation Control" offen­ bart ist. Der lernfähige Sender kann die RF-Frequenz, das Modu­ lationsschema und den Sicherheitscode von bis zu drei existie­ renden Fernsendern lernen. Demnach kann das Modul 11 mit dem lernfähigen Sender 22 drei separate Fernsteuersender ersetzen, die gewöhnlich lose in dem Fahrzeug untergebracht sind. Der Sender umfaßt drei Steuerschalter 23, 24 und 25 und eine Anzeige LED 26 zum Anzeigen der Lernaufrufinformation an den Fahrzeugbetreiber. Das Modul 11 kann ebenfalls einen elektri­ schen Sonnendachsteuerschalter 28 und andere Fahrzeugzubehör­ steuerungen umfassen.
Das Modul 11 umfaßt ebenfalls ein separates Anzeigebrett 30, welches Anzeiger 31-34 zum Anzeigen der Fahrzeugbetriebspara­ meter umfaßt, wie beispielsweise Motorkühlmitteltemperatur, Öldruck, Generator und Kraftstoffwarnung oder ähnliches, die entweder in digitaler Graphik oder alphanumerischer Form oder als Warnlichter angezeigt werden können. Die Mitte des Anzeige­ moduls 30 umfaßt eine Digitalanzeige 36, die in einer Ausfüh­ rungsform der Erfindung eine 16-Punkt-Anzeige 38 der Fahrzeug­ ausrichtung umfaßt. Das Modul 11 enthält ebenfalls den Kompaß­ schaltkreis, der in Fig. 2 gezeigt ist, welcher in geeigneter Weise darin aufgenommen ist und die Anzeigesteuerschalter 40, 42 und 44.
Das Kompaßsystem der vorliegenden Erfindung ist schematisch in Fig. 2 gezeigt und umfaßt einen Magnetfeldsensor 46, welcher in der bevorzugten Ausführungsform eine induktive Meßsonde ist, obwohl auch andere Typen von Sonden verwendet werden können. Ein elektrischer Schnittstellenschaltkreis 48 koppelt den Sen­ sor 46 mit einem Mikroprozessor 50. Der Mikroprozessor 50 ist mit einem digitalen Geschwindigkeitsmesser 51, einem Festspei­ cherschaltkreis 52, einem Anzeigetreiber 54 und einer Anzeige 56 verbunden. Ein Stromversorgungsschaltkreis 57 ist ebenfalls gezeigt, der die Betriebsspannungen für alle Komponenten des Kompaßsystems liefert. In der bevorzugten Ausführungsform ist der Mikroprozessor 50 ein HC05-8-Bit-Mikroprozessor, der von Motorola Corporation hergestellt wird. Die Verbindung und der Betrieb dieser Schaltkreise wird nun beschrieben.
Der Sensor 46 umfaßt einen ringförmigen Kern 58, um welchen eine Primärwicklung 60, eine sekundäre Ost/West-Sensorwicklung 62 und eine sekundäre Nord/Süd-Sensorwicklung 64 gewickelt ist. Der Anschluß 78 des Schaltkreises 48 wird auf 2,5 Volt gehalten und liefert eine Zwischenbezugserdung für die Wicklungen des Sensors 46. Die Primärwicklung 60 wird mit Null- bis Fünf-Volt- Signale betrieben, die von dem Anschluß 66 des Schaltkreises 48 zugeführt werden, um den ringförmigen Kern 58 wahlweise in Sät­ tigung zu treiben. Die sekundären Sensorwicklungen 62 und 64 liefern Signale, die das Magnetfeld wiedergeben, welches inner­ halb des Fahrzeugs detektiert wird, wobei die Signale den Anschlüssen 68 bzw. 70 des Schaltkreises 48 zugeführt werden. Der Schaltkreis 48 dient im wesentlichen als eine Schnittstelle zwischen dem Sensor 46 und dem Mikroprozessor 50 und führt die gleichen Funktionen aus, wie die entsprechenden individuellen Schaltkreiskomponenten, die in dem US-Patent Nr. 4 953 305, vom 4. August 1990, mit dem Titel "Vehicle Compass with Automatic Continuous Calibration" beschrieben sind. Der Schnittstellen­ schaltkreis 48 ist ein anwendungsspezifischer integrierter Schaltkreis (application specific integrated circuit, ASIC), der im wesentlichen die individuellen Schaltkreise des vorheri­ gen Schnittstellenschaltkreises in konventioneller Weise umfaßt, um die Kosten des Kompaßsystems zu vermindern.
Der Schaltkreis 48 konvertiert die analogen Signale in 8-Bit- Digitalsignale (Zählwerte), welche die Magnetfeldstärke in Mil­ ligauss wiedergeben, die durch die zwei Sensorwicklungen 62 und 64 detektiert wird, welche zwei Kompaßkanäle darstellen. Jeder Zählwert gibt 5 Milligauss Magnetismus in der bevorzugten Aus­ führungsform der vorliegenden Erfindung wieder. Diese digitalen Signale werden über den Anschluß 72 an den Anschluß 76 des Mikroprozessors 50 über die serielle Verbindungsleitung 74 zugeführt. Nach der Verarbeitung dieser Signale liefert der Mikroprozessor 50 die Kompaßkompensationskorrekturinformation, falls notwendig, an den Schaltkreis 48 mittels derselben seri­ ellen Verbindungsleitung 74. Der Anschluß 80 des Mikroprozes­ sors 50 ist mit einem Festspeicherschaltkreis 52 gekoppelt, so daß teilweise aktualisierte Kompensationsinformation beibehal­ ten werden kann. Der Mikroprozessor 50 ist über den Anschluß 82 mit dem Anzeigetreiber 54 gekoppelt, um Signale an die Anzeige 56 zum Anzeigen der Ausrichtung des Fahrzeugs zu liefern. Die Anzeige 56 ist eine 16-Punkt-Anzeige in der bevorzugten Ausfüh­ rungsform, obwohl jeder Typ von Anzeige, einschließlich einer alphanumerischen oder einer Graphiktyp-Anzeige, vorgesehen wer­ den kann.
Der Mikroprozessor 50 verarbeitet die Digitalsignale, die dem Schaltkreis 48 zugeführt werden, und erzeugt die Kompaßkompen­ sationssignale, wenn es notwendig ist. Diese Signale werden dem Schaltkreis 48 über die serielle Verbindungsleitung 74 zuge­ führt. Nach der Konversion von digital zu analog werden diese Korrektursignale durch den Schaltkreis 48 direkt den sekundären Sensorwicklungen 62 und 64 über die Anschlüsse 68 bzw. 70 zuge­ führt. Insbesondere Gleichströme werden zugeführt, welche ein statisches Magnetfeld erzeugen, das mit dem Feld wechselwirkt, welches durch den Sensor 46 gemessen werden soll. Für einen richtig kalibrierten Kompaß eliminiert dieses kombinierte Feld die Wirkungen von magnetischen Interferenzen, so daß der Sensor 46 Signale liefert, welche nur das Magnetfeld der Erde wieder­ geben, so daß eine genaue Ausrichtungsinformation bereitge­ stellt wird. Obwohl dieses Verfahren der Kompaßkompensation in der bevorzugten Ausführungsform der Erfindung verwendet wird, können andere Ausführungsformen andere Korrektureinrichtungen aufweisen. Beispielsweise kann der Schaltkreis 48 Spannungs- oder Frequenzsignale liefern, um den Sensor 46 zu kompensieren, welcher irgendein Typ von Magnetfeldsensor sein kann. Weiterhin kann die Korrektur erreicht werden durch Kompensation der Signale, die der Anzeige 56 zugeführt werden, anstatt einer Beeinflussung der Detektierung des Magnetfeldes selbst, wie es oben beschrieben wurde.
Die digitalen Signale, die von dem Schaltkreis 48 an den Mikro­ prozessor 50 geliefert werden, geben das Magnetfeld wieder, das durch die Nord/Süd- und Ost/West-Kanäle des Sensors 46 detek­ tiert wird, und die in einer X-Y-Koordinatenebene aufgezeichnet werden können, wie es in Fig. 3 gezeigt ist. Die Magnetfeld­ stärke in Milligauss des Ost/West-Kanals wird durch die X-Achse wiedergegeben und die Magnetfeldstärke in Milligauss des Nord/Süd-Kanals wird durch die Y-Achse wiedergegeben. Für einen richtig kalibrierten Kompaß erzeugen die aufgezeichneten Kanal­ daten einen perfekten Kreis, um den Ursprung der Koordinaten­ ebene, wenn ein Fahrzeug in einer 360°-Schleife läuft, wie es durch den Graph A wiedergegeben wird. Der Radius des Kreises gibt die Erdmagnetfeldstärke wieder und die Kompaßausrichtung des Fahrzeuges zu einer bestimmten Zeit während des Laufes ist durch einen Punkt auf dem Kreis dargestellt. Wenn eine Änderung im Fahrzeugmagnetismus auftritt, dann ist das Magnetfeld, das durch die Kompaßkanäle detektiert wird, wenn das Fahrzeug in einer gegebenen Richtung ausgerichtet ist, entweder größer oder kleiner als dasjenige, das für ein Fahrzeug ohne magnetische Interferenz erwartet wird. Als solches wird die graphische Dar­ stellung der digitalen Sensordaten vom Ursprung in eine Rich­ tung verschoben und führt zu einem Kreis, wie er durch den Graph B gezeigt ist, wenn das Fahrzeug sich in einer 360°- Schleife bewegt. Zusätzlich zur Interferenz, die durch den Fahrzeugmagnetismus verursacht wird, kann der perfekte Kreis des Graphen "A" in der Tat vor der Kompensation elliptisch sein. Es gibt zwei Gründe für diesen elliptischen Effekt. Zunächst kann die Konstruktion des Fahrzeuges im allgemeinen dazu führen, daß mehr Fahrzeugmasse entlang einer Kompaßdetek­ torachse vorhanden ist, was dazu führt, daß das Erdfeld das Fahrzeug in verschiedenen Richtungen verschieden durchdringt. Das führt dazu, daß die Kanäle des Sensors 46 nicht einheitlich auf das Erdfeld reagieren, wenn das Fahrzeug sich in einer 360°-Schleife bewegt. Zweitens ist der Aufbau einer induktiven Meßsensonde im allemeinen so, daß der Durchmesser einer Sensor­ wicklung größer ist, als die andere, was ebenfalls dazu führt, daß die Kanalwicklungen verschieden auf das Erdfeld reagieren, wenn das Fahrzeug sich in einer 360°-Schleife bewegt.
Die Programmierung des Mikroprozessors 50 analysiert die Sen­ sordaten, die dem Mikroprozessor 50 zugeführt werden, in Bezug auf seine Position in der X-Y-Koordinatenebene und korrigiert den Kompaß, wenn die oben erwähnten Interferenzen detektiert werden. Der Ursprung der Koordinatenebene, wenn der Kompaß richtig kalibriert ist, liegt im Zentrum des Bereichs der Sen­ sordatenmessung, der für den 8-Bit-Mikroprozessor in der bevor­ zugten Ausführungsform 80 Hexadezimale für jeden Sensorkanal beträgt.
In der bevorzugten Ausführungsform der vorliegenden Erfindung kompensiert die Programmierung des Mikroprozessors 50 alle Änderungen im Fahrzeugmagnetismus, die den Kompaßbetrieb nach­ teilig beeinflussen. Um eine Änderung im Fahrzeugmagnetismus zu kompensieren, die dazu führt, daß die Signalpegel der digitalen Sensordaten innerhalb einer vorbestimmten Schwelle und Toleranz der Daten des richtig kalibrierten Kompasses liegt, umfaßt die Programmierung der bevorzugten Ausführungsform das Kompaßkom­ pensationssystem des oben identifizierten US-Patent Nr. 4 953 305. Wenn jedoch eine Änderung in dem Fahrzeugmagnetismus abrupt und beträchtlich ist, so daß die Signalpegel der digita­ len Sensordaten außerhalb der oben erwähnten vorbestimmten Schwelle liegen, dann kalibriert die Programmierung des Mikro­ prozessors 50 den Kompaß, wie es nun kurz beschrieben wird. Zunächst wartet das Programm, bis eine vorbestimmte Strecke durch das Fahrzeug zurückgelegt wurde, um sicherzustellen, daß die Verschiebung im Magnetismus des Fahrzeugs keine zeitweise Verschiebung aufgrund von "schlechten" Sensordaten oder auf­ grund des Fahrens nahe einer magnetisierten Struktur, wie bei­ spielsweise einer Brücke, ist. Wenn diese vorbestimmte Strecke zurückgelegt wurde und die Signalpegel der digitalen Sensor­ daten weiterhin außerhalb der oben erwähnten Schwelle liegen, dann startet das Programm den Vorgang des Beseitigens der Ver­ schiebung in den Fahrzeugmagnetismen. Der Wiederherstellungs­ vorgang beginnt mit der Verschiebung der X-Y-Koordinatenebene, so daß die Position der letzten detektierten Signalpegel inner­ halb der Schwelle mit der Position der Signalpegel überein­ stimmt, nachdem die oben erwähnte vorbestimmte Strecke von dem Fahrzeug zurückgelegt worden ist. Wenn das Fahrzeug seine Bewe­ gungsrichtung nicht geändert hat, seit einer Verschiebung im Fahrzeugmagnetismus zuerst detektiert worden ist, dann erlaubt diese Datenmanipulation dem Kompaß, sofort die richtige Aus­ richtungsinformation anzuzeigen. Jedoch setzt das Programm den Wiederherstellungsvorgang fort in dem Fall, daß die Bewegungs­ richtung des Fahrzeugs sich geändert hat, seit eine Verschie­ bung im Fahrzeugmagnetismus zuerst detektiert worden ist.
Das Programm analysiert die Sensordaten und wartet, bis das Fahrzeug seine Bewegungsrichtung um einen vorbestimmten Betrag geändert hat, so daß die Aufzeichnung der digitalen Sensordaten einen Bogen von vorbestimmter Länge und Ausdehnung mit vorbe­ stimmtem Winkel erzeugt hat, wie es durch die durchgezogene Linie des Graphen B von Fig. 3 gezeigt ist. In der bevorzugten Ausführungsform ist dieser Bogen äquivalent einer Änderung von mindestens 80° oder mehr in der Kompaßausrichtung. Das Programm speichert in dem Speicher den "Startpunkt" 90 des Bogens, den "Mittelpunkt" oder Zwischenpunkt 91 des Bogens, welcher äquiva­ lent einer Änderung um 45° in der bevorzugten Ausführungsform ist, und den "Endpunkt" 92 des Bogens. Als nächstes verwendet das Programm diese Punkte, um das Zentrum 93 des Bogens zu bestimmen, welches durch die Koordinaten (VREF2, VREF1) bezeichnet wird, der einen Radius hat, welcher äquivalent zum Radius des Kreises eines richtig kalibrierten Kompasses ist. Die X-Y-Koordinatenebene wird dann so verschoben, daß der Ursprung mit dem Zentrum des Bogens übereinstimmt. Als nächstes werden die Kompaßkompensationssignale auf der Grundlage der Strecke erzeugt, um welche die X-Y-Koordinatenebene durch den Wiederherstellungsvorgang verschoben worden ist. In der bevor­ zugten Ausführungsform werden diese Signale an den Sensor 46 durch den Schnittstellenschaltkreis 48 angelegt, um den Kompaß zu kalibrieren. Eine ausführliche Beschreibung der Programmie­ rung des Mikroprozessors 50, um diesen Systembetrieb zu erge­ ben, wird nun in Verbindung mit den Flußdiagrammen der Fig. 4 bis 22 gegeben.
In der Diskussion der Flußdiagramme der Fig. 4 bis 22 für die Programmierung des Mikroprozessors 50 werden die folgenden Sym­ bole und ihre Definition verwendet:
BSTAT-Variable: zeigt den Status des Kalibrationssystems für eine abrupte und signifikante Änderung in den Fahrzeugmagnetis­ men an. Sie ist Null vor der Detektierung einer Änderung des Magnetismus.
COMAVG-Variable: Zähler, der verwendet wird, wenn 16 qualitäts­ volle Sensorkanalauslesungen gesammelt worden sind.
CSTAT-Variable: zeigt den Status des Kompaßkompensationssystems des US-Patents Nr. 4 953 305 an.
DASTAT-Variable: gibt einen Satz von Markierungen an, welche die Gleichheit eines Paars von Sensorkanalauslesungen betref­ fen. Sie ist Null, wenn die Daten von höchster Qualität sind.
VREF1-Variable: speichert das Zentrum der Nord/Süd-Kanalwellen­ form.
VREF2-Variable: speichert das Zentrum der Ost/West-Kanalwellen­ form.
VCOMP1-Variable: gibt den Betrag des Kompensationsstromes wie­ der, welcher für den Nord/Süd-Sensorkanal erforderlich ist.
VCOMP2-Variable: gibt den Betrag des Kompensationsstromes wie­ der, welcher für den Ost/West-Sensorkanal erforderlich ist.
E1-Variable: ein 6-Byte-Puffer, der verwendet wird, um die Nord/Süd-Kanaldaten zu speichern und um davon einen Mittelwert zu akkumulieren und zu speichern.
E2-Variable: ein 6-Byte-Puffer, der verwendet wird, um die Ost/West-Kanaldaten zu speichern und um einen Mittelwert davon zu akkumulieren und zu speichern.
E1C- & E2C-Variablen: speichert die Koordinaten des Zentrums von jeder Sensorkanalwellenform.
E1OLD- & E2OLD-Variablen: speichert die mittleren Kanaldaten von einem Intervall, wenn alle Auslesungen von guter Qualität sind, und etabliert die letzte gute Ausrichtung, bevor eine Verschiebung in den Fahrzeugmagnetismen aufgetreten ist.
E1LOW- & E2LOW-Variablen: speichert den Startpunkt des Bogens.
E1MID- & E2MID-Variablen: speichert den Mittelpunkt des Bogens.
E1HI- & E2HI-Variablen: speichert den Endpunkt des Bogens.
LASTE1- & LASTE2-Variablen: speichert die mittleren Kanaldaten von einem Intervall vor dem aktuellen Mittelwert.
HYPTIMER-Variable: Zähler, der die Strecke anzeigt, um welche das Fahrzeug gelaufen ist, während die Aufzeichnung der Sensor­ daten außerhalb einer Schwelle liegt.
ATEMP- & XTEMP-Variablen: zeitweise Speicherung für den Akkumu­ lator und das Indexregister des Mikroprozessors 50.
HYPOT-Variable: speichert den Radius des kalibrierten Kreises, welcher äquivalent zur Erdmagnetfeldstärke ist.
ANG-Variable: speichert die Ausrichtung des Fahrzeugs.
SPEED-Variable: speichert die gegenwärtige Fahrzeuggeschwindig­ keit.
BADDAT-Variable: Zähler, welcher gelöscht wird, wenn 16 aufein­ anderfolgende qualitätsvolle Sensorauslesungen gesammelt wur­ den.
GAIN-Variable: speichert das Verhältnis einer Kanalspanne zu der anderen Kanalspanne.
LL1- & LL2-Variable: speichert die untere Grenze auf jedem Kanal, in welchem nach potentiellen Zentren des Bogens gesucht wird.
UL1- & UL2-Variablen: speichert die obere Grenze in jedem Kanal, in welchem nach potentiellen Zentren des Bogens gesucht wird.
GOTCIR-Markierung: wird gesetzt, wenn alle vier Kreuzungen identifiziert wurden für die Zwecke des Kompaßkompensations­ systems des US-Patents Nr. 4 953 305.
BADHYP-Markierung: wird gesetzt, wenn die gegenwärtigen Sensor­ signalpegel außerhalb einer Schwelle liegen, die um den Kreis eines richtig kalibrierten Kompasses gebildet ist.
FSTPAS-Markierung: wird gelöscht während die ersten mittleren Kanaldaten gesammelt werden.
GOTMID-Markierung: wird gesetzt, wenn die Bogenspanne 45° über­ schreitet.
TWOPTS-Markierung: wird gesetzt, wenn aufeinanderfolgende Sen­ sordaten Mittelungen innerhalb von 3 Zählungen zueinander lie­ gen.
GOTDIST-Markierung: wird gesetzt, wenn die Bogenspanne 80° überschreitet.
GOODC-Markierung: wird gesetzt, wenn die Strecke zwischen einem potentiellen Zentrum und dem Mittelpunkt innerhalb einer Tole­ ranz des Radius eines kalibrierten Kreises liegt.
MVMWRT-Markierung: wird gesetzt, wenn eine Einschreibung in einen Festspeicher erforderlich ist.
TWIT1- & TWIT2-Markierung: wird gesetzt, wenn die Daten von dem entsprechenden Kanal (gespeichert in der Variablen E1 oder E2) eine beträchtliche Änderung erfahren haben, die größer ist als die erwartete Änderung in der Kompaßausrichtung, aufgrund eines Umkehrens des Fahrzeugs.
WOWTWO-Markierung: wird gesetzt, wenn 16 aufeinanderfolgende qualitätsvolle Sensorauslesungen gesammelt worden sind. Vier der Variablen, die in der Programmierung des Mikroprozes­ sors 50 verwendet werden, sind von besonderem Interesse und werden nun ausführlicher beschrieben. Die Variable VREF1 spei­ chert das Zentrum der Nord/Süd-Kanalwellenform und Variable VREF2 speichert das Zentrum der Ost/West-Kanalwellenform. Beide Variablen betragen ungefähr 80 Hexadezimal, wenn der Kompaß in der bevorzugten Ausführungsform kalibriert ist. Die Variablen VREF1 und VREF2 werden eingestellt, wann immer eine Änderung in den Fahrzeugmagnetismen auftritt, so daß das Ausmaß der Ver­ schiebung des Ursprungs der X-Y-Koordinatenebene, die die Grö­ ßenordnung der Änderung in den Fahrzeugmagnetismen wiedergibt, bestimmt werden kann. Wenn die Änderung in dem Fahrzeugmagne­ tismus dazu führt, daß eine der VREF-Variablen einen vorbe­ stimmten Wert überschreitet, dann berechnet das Programm die Werte für die Variablen VCOMP1 und VCOMP2, die den Betrag des Kompensationsstromes wiedergeben, welcher den Nord/Süd- bzw. Ost/West-Kanälen des Sensors 46 zugeführt wird. Die Anlegung des Stromes an den Sensor 46 von dem Magnetometer 48 wirkt den Effekten des Fahrzeugmagnetismus entgegen, so daß der Ursprung der X-Y-Koordinatenebene zurück zu dem Zentrum des Bereiches der Sensordatenmessung verschoben werden kann, welcher für den 8-Bit-Mikroprozessor der bevorzugten Ausführungsform bei 80 Hexadezimal für jeden Sensorkanal liegt. Das Programm berechnet die Werte für die VCOMP-Variablen und legt den Strom an den Sensor 46 an während der Ausführung des Kompaßkompensations­ systems des US-Patents NR. 4 953 305 und während der Ausführung des MOVE2PT-Unterprogramms 496, welches in Verbindung mit den Fig. 16A und 16B der Programmierung des Mikroprozessors 50 unten ausführlich beschrieben wird.
Mit Bezug zunächst auf die Fig. 4A-4E ist das Hauptprogramm 100 des Kompaßprogramms gezeigt, das alle 1/8-Sekunden durch den Mikroprozessor 50 aufgerufen wird. Beginnend mit dem Block 101 sammelt das Programm Daten von dem Schaltkreis 48, die den Nord/Süd-Kanal des Sensors 46 wiedergeben, und speichert sie in einen 6-Byte-Puffer, der mit E1 bezeichnet ist. Als nächstes führt der Block 102 das DATCHK-Unterprogramm 240 aus, welches die gesammelten Nord/Süd-Kanaldaten analysiert, und setzt bestimmte Markierungen, die diesen entsprechen. Das DATCHK- Unterprogramm 240 wird unten ausführlich beschrieben in Verbin­ dung mit den Fig. 5A und 5B. Bei der Rückkehr von dem DATCHK- Unterprogramm geht das Programm weiter zu Block 104, welcher Daten von dem Schaltkreis 48 sammelt, die den Ost/West-Kanal des Sensors 46 wiedergeben, und speichert sie in einem 6-Byte- Puffer, der mit E2 bezeichnet ist. Als nächstes führt der Block 106 das ASICFTR-Unterprogramm 398 aus, welches jeden ellipti­ schen Effekt in der Aufzeichnung der Sensordaten eliminiert, der durch den Aufbau der induktiven Meßsonde verursacht wird, mittels Gleichsetzung des Gain der zwei Kanäle. Das ASICFTR- Unterprogramm 398 wird unten in Verbindung mit Fig. 10 ausführlich beschrieben. Bei der Rückkehr von dem ASICFTR- Unterprogramm geht das Programm weiter zu Block 108, der das DATCHK-Unterprogramm 240 der Fig. 5A und 5B ausführt, welches die gesammelten Ost/West-Kanaldaten analysiert und bestimmte dem entsprechende Markierungen setzt.
Bei der Rückkehr von dem DATCHK-Unterprogramm bestimmt Block 110, ob Daten entweder von dem Nord/Süd-Kanal oder dem Ost/West-Kanal gesättigt sind, wie es durch eine Markierung angezeigt ist, die in dem DATCHK-Unterprogramm 240 gesetzt wird. Die Sättigung ergibt sich, wenn Daten den Meßbereich des gegenwärtigen X-Y-Koordinatensystems überschreiten oder nahezu überschreiten, und wird beseitigt durch Verschieben des Ursprungs des Koordinatensystems in Richtung der Koordinaten der Kompaßdaten. Wenn einer der Kanäle gesättigt ist, dann geht das Programm zu Block 130 von Fig. 4B weiter. Wenn kein Kanal gesättigt ist, dann wird im Block 112 bestimmt, ob die Variable BSTAT größer als Null ist, oder ob die Markierung GOTCIR gelöscht ist. Die Variable BSTAT zeigt den Status des Kompensa­ tionsvorgangs für eine abrupte und signifikante Änderung im Fahrzeugmagnetismus an und ist gleich Null, bevor eine Änderung detektiert wird. Die Markierung GOTCIR wird gesetzt, wenn ein voller Kreis von Daten gesammelt wurde, nachdem das Kompensa­ tionssystem von US-Patent Nr. 4 953 305 den Kompaß kalibriert hat, und stellt sicher, daß die Kalibrationszahlen, die darin berechnet sind, richtig sind. Wenn Block 112 feststellt, daß entweder die Variable BSTAT größer als Null ist, oder die Mar­ kierung GOTCIR gelöscht ist, dann geht das Programm weiter zu Block 116. Wenn Block 112 feststellt, daß keine dieser Bedin­ gungen wahr ist, dann bestimmt Block 114, ob die BADHYP-Markie­ rung gesetzt ist. Diese Markierung wird gesetzt in dem DATCHK- Unterprogramm 240 der Fig. 5A und 5B, wenn die gegenwärtigen Sensordaten außerhalb einer vorbestimmten Schwelle, die um den Kreis eines kalibrierten Kompasses gebildet ist, aufgezeichnet werden.
Wenn die BADHYP-Markierung gesetzt ist, dann geht das Programm weiter zu Block 130 von Fig. 4B. Wenn die BADHYP-Markierung nicht gesetzt ist, dann geht das Programm weiter zu Block 116, welcher feststellt, ob entweder die Markierung TWIT1 oder TWIT2 gesetzt wurde. Diese Markierungen entsprechen den zwei Kompaß­ kanälen für den Sensor 46 und werden jeweils in dem DATCHK- Unterprogramm 240 der Fig. 5A und 5B gesetzt, wenn die Kompaß­ daten, die von seinen entsprechenden Kompaßkanälen empfangen werden, eine signifikante Änderung erfahren haben, die größer ist als die erwartete Änderung in der Kompaßausrichtung, auf­ grund einer Wende des Fahrzeugs. Wenn Block 116 feststellt, daß eine der Markierung gesetzt ist, dann geht das Programm weiter zu Block 132 von Fig. 4B. Wenn keine der Markierungen gesetzt ist, dann führt der Block 118 das AVRG-Unterprogramm 422 aus, das unten in Verbindung mit Fig. 11 ausführlich beschrieben wird, welches die gegenwärtigen Ost/West-Kanaldaten in Puffer E2 zu einem laufenden Totalwert zuaddiert, der in Puffer E2 gespeichert ist, so daß ein 2-Sekunden-Mittelwert anschließend berechnet werden kann.
Bei der Rückkehr von dem AVRG-Unterprogramm 422 führt Block 120 daßelbe Unterprogramm aus, um die gegenwärtigen Nord/Süd- Kanaldaten in Puffer E1 zu einem laufenden Totalwert zuzuaddie­ ren, der in Puffer E1 gespeichert ist, so daß anschließend ein 2-Sekunden-Mittelwert berechnet werden kann. Bei der Rückkehr hiervon bestimmt Block 122, ob die FSTPAS-Markierung gesetzt ist. Diese Markierung wird gelöscht während der Berechnung des ersten 2-Sekunden-Mittelwertes der Kanaldaten nach dem Ein­ schalten des Kompasses. Wenn die FSTPAS-Markierung gesetzt ist, dann geht das Programm weiter zu Block 128. Wenn die Markierung nicht gesetzt ist, dann bestimmt Block 124, ob die Variable COMAVG gleich neun ist. Diese Variable ist ein Zähler, welcher die Anzahl von Malen anzeigt, die das AVRG-Unterprogramm 422 die Sensorkanaldaten gemittelt hat. Wenn die Variable COMAVG gleich neun ist, dann führt Block 126 das CLRDAT-Unterprogramm 432 aus, das unten in Verbindung mit Fig. 11 ausführlich beschrieben wird, welches die gemittelten Kompaßdaten löscht. Die Blöcke 124 und 126 erlauben dem System, sich selbst zu sta­ bilisieren, nach dem Einschalten, so daß die richtige Daten­ manipulation sichergestellt ist. Bei der Rückkehr von dem CLRDAT-Unterprogramm, oder wenn Block 124 feststellt, daß die Variable COMAVG nicht gleich neun ist, erhöht Block 128 die Zählvariable COMAVG und das Programm geht weiter zu Block 130 von Fig. 4B.
Block 130 von Fig. 4B bestimmt, ob die Variable CSTAT, die den Status des Kompaßkompensationssystems anzeigt, das in dem US- Patent Nr. 4 953 305 offenbart ist, kleiner als 10 Hexadezimal ist. Die Variable CSTAT ist kleiner als 10, wenn der erste Datenkreis noch nicht gesammelt wurde, so daß das System noch nach Kreuzungen sucht. Wenn die Variable kleiner als 10 Hexa­ dezimal ist, dann geht das Programm weiter zu Block 134. Wenn die Variable CSTAT nicht kleiner als 10 Hexadezimal ist, dann geht das Programm weiter zu Block 132. Alternativ kann das Pro­ gramm in dem Block 132 von Block 116 von Fig. 4A verzweigen, wie oben beschrieben wurde. Block 132 stellt fest, wenn die Variable CSTAT größer als 2 Hexadezimal ist, was bedeutet, daß das Kompensationssystem seine Vorbereitungsvorgänge abgeschlos­ sen hat. Wenn dies der Fall ist, dann geht das Programm zum Block 136 weiter. Wenn die Variable CSTAT nicht größer als 2 Hexadezimal ist, dann kontrolliert Block 134 die Daten, die die Fahrzeuggeschwindigkeit von der Quelle 51 wiedergeben, um fest­ zustellen, ob das Fahrzeug sich bewegt. Wenn das Fahrzeug sich nicht bewegt, dann wäre es nicht wünschenswert, irgendeines der Kompaßkompensationssysteme weiterhin durchzuführen, weil mög­ liche magnetische Interferenzen durch stationäre Objekte verur­ sacht sind. Wenn Block 134 feststellt, daß das Fahrzeug sich nicht bewegt, dann geht das Programm weiter zu Block 136, wel­ cher feststellt, ob die Zählvariable COMAVG gleich sechzehn ist, was anzeigen würde, daß das AVRG-Unterprogramm 422 sech­ zehnmal Sensorkanaldaten gemittelt hat, und daß es Zeit ist, den Mittelwert zu verarbeiten. Wenn die Zählvariable COMAVG gleich sechzehn ist, dann geht das Programm weiter zu Block 152 von Fig. 4C. Wenn dies nicht der Fall ist, dann endet das Hauptprogramm 100 des Kompaßprogramms über dem Block 150 und das Programm kehrt zurück, um andere Aufgaben zu erfüllen, wie beispielsweise das Aktualisieren der Anzeige, bis das Hauptpro­ gramm erneut 1/8-Sekunde später aufgerufen wird.
Mit Bezug erneut auf Block 134, geht das Programm zu Block 138, wenn festgestellt wird, daß das Fahrzeug sich bewegt, wobei bestimmt wird, ob die Variable BSTAT gleich Null oder eins ist, was anzeigt, daß das Programm entweder im Detektormodus oder den frühen Stufen der Wiederherstellung nach einer abrupten und signifikanten Änderung im Fahrzeugmagnetismus ist. Wenn das der Fall ist, dann geht das Programm weiter zu Block 140, welcher das AUTCAL-Unterprogramm 440 ausführt, das in der Kompaßkorrek­ tur beschrieben ist, die in dem US-Patent Nr. 4 953 305 offen­ bart ist. Dieses Programm wird ebenfalls ausführlich in Verbin­ dung mit Fig. 12 unten beschrieben. Nach der Rückkehr von dem AUTCAL-Unterprogramm, oder wenn Block 138 feststellt, daß die Variable BSTAT nicht gleich Null oder eins ist, geht das Pro­ gramm weiter zu Block 142, welcher feststellt, ob die Variable BSTAT gleich acht ist, was anzeigen würde, daß der Startpunkt für einen Bogen festgelegt ist, und das Kompaßkompensations­ system gegenwärtig darauf wartet, den Mittelpunkt des Bogens zu berechnen. Wie oben beschrieben wurde, gibt dieser Bogen den Betrag der Änderung in der Bewegungsrichtung des Fahrzeugs wie­ der, nachdem das Fahrzeug sich um eine vorbestimmte Strecke bewegt hat, nachdem der Mikroprozessor 50 festgestellt hat, daß die Sensordatensignalpegel außerhalb einer vorbestimmten Schwelle liegen. Wenn die Variable BSTAT nicht gleich acht ist, dann geht das Programm weiter zu Block 150, welcher das Haupt­ kompaßprogramm verläßt.
Wenn die Variable BSTAT gleich acht ist, dann führt Block 144 das RGTCAL-Unterprogramm 446 aus, welches den Winkel bestimmt, der von dem Bogen überspannt wird. Dieses Unterprogramm wird unten in Verbindung mit Fig. 12 ausführlich beschrieben. Nach der Rückkehr von dem RGTCAL-Unterprogramm stellt Block 146 fest, ob die GOTMID-Markierung gesetzt wurde, was anzeigt, daß das Fahrzeug seine Bewegungsrichtung um einen vorbestimmten Betrag geändert hat, welcher einer Bogenweite von mehr als 45° entspricht. Wenn die Markierung gesetzt wurde, dann liegt der Mittelpunkt fest, und Block 148 speichert den Mittelpunkt im Speicher. Nach Block 148, oder wenn Block 146 feststellt, daß die GOTMID-Markierung nicht gesetzt wurde, kehrt das Programm zu Block 150 zurück, der das Hauptkompaßprogramm verläßt.
Mit Bezug auf Fig. 4C führt Block 152 das RORIT-Unterprogramm 486 aus, welches die Nord/Süd-Kanaldaten verwendet, die im Puf­ fer E1 gespeichert sind. Das Programm verzweigt sich zu Block 152 nur dann, wenn Block 136 von Fig. 4B feststellt, daß die Zählvariable COMAVG gleich sechzehn ist, so daß es Zeit ist, den laufenden Totalwert zu verarbeiten, der während des AVRG- Unterprogramms 422 von Fig. 11 aufsummiert wurde. Das RORIT- Unterprogramm, das in Verbindung mit Fig. 15 unten ausführlich beschrieben ist, berechnet den Mittelwert des laufenden Total­ werts, der im Puffer E1 gespeichert ist, durch Teilen mit der Anzahl von Malen, die die Daten aufsummiert wurden, und spei­ chert das Ergebnis in Puffer E1. Bei der Rückkehr von dein RORIT-Unterprogramm speichert Block 154 den berechneten Mittel­ wert in einen temporären Speicher. Als nächstes bestimmt Block 156, ob die Variable DASTAT gleich Null ist. Die Variable DASTAT ist gleich Null, wenn alle Markierungen, die in dem DATCHK-Unterprogramm 240 der Fig. 5A und 5B gehandhabt werden, nicht gesetzt sind, was anzeigt, daß die Kompaßdaten "gut" sind und frei von Rauschen sind.
Wenn die Variable DASTAT gleich Null ist, dann speichert Block 158 den gegenwärtigen Nord/Süd-Kanaldatenmittelwert in der Variablen E1OLD, die zusammen mit der Variablen E2OLD verwendet wird, um die letzte "gute" mittlere Ausrichtung vor einer Ver­ schiebung in den Fahrzeugmagnetismen festzuhalten. Block 158 erlaubt es, die Variable E1OLD stetig zu aktualisieren, bis eine Änderung in den Fahrzeugmagnetismen detektiert wird. Nach Block 158, oder wenn Block 156 feststellt, daß die Variable DASTAT nicht gleich Null ist, subtrahiert Block 160 die Varia­ ble VREF1 von dem gegenwärtigen Nord/Süd-Kanaldatenmittelwert in Puffer E1 und speichert das Ergebnis in Puffer E1. Die Variable VREF1 ist das Zentrum der Nord/Süd-Kanalwellenform und beträgt ungefähr 80 Hexadezimal, wenn der Kompaß in der bevor­ zugten Ausführungsform kalibriert ist. Die Subtraktion von VREF1 von den Kanaldaten ändert die Kanaldaten in zwei-komple­ mentären Zahlen, um bestimmte Berechnungen, die in den nachfol­ genden Blöcken durchgeführt werden, zu vereinfachen. Als näch­ stes führt Block 162 das RORIT-Unterprogramm 486 von Fig. 15 durch, unter Verwendung der Ost/West-Kanaldaten, die in Puffer E2 gespeichert sind. Das RORIT-Unterprogramm berechnet den Mit­ telwert des laufenden Totalwerts, der während des AVRG-Unter­ programms 422 aufsummiert und in Puffer E2 gespeichert wurde, durch Teilen mit der Anzahl von Malen, die die Daten aufsum­ miert wurden, wobei das Ergebnis in Puffer E2 gespeichert wird. Bei der Rückkehr von dem RORIT-Unterprogramm speichert Block 164 den berechneten Mittelwert in einem temporären Speicher.
Als nächstes stellt Block 166 fest, ob die Variable DASTAT gleich Null ist, was anzeigt, daß die Kompaßdaten "gut" sind und frei von Rauschen sind. Wenn die Variable DASTAT gleich Null ist, dann speichert Block 168 den gegenwärtigen Ost/West- Kanaldatenmittelwert in der Variablen E2OLD, welche wie gesagt verwendet wird, um die letzte "gute" gemittelte Ausrichtung vor einer Verschiebung in den Fahrzeugmagnetismen festzuhalten. Block 168 erlaubt es, daß die Variable E2OLD stetig aktuali­ siert wird, bis eine Änderung in den Fahrzeugmagnetismen detek­ tiert wird.
Nach Block 168, oder wenn Block 166 feststellt, daß die Varia­ ble DASTAT nicht gleich Null ist, bestimmt Block 170, ob die Variable DASTAT gleich zwei ist. Die Variable DASTAT ist auf zwei gesetzt, nachdem die X-Y-Koordinatenebene so verschoben wurde, daß die gegenwärtige gemittelte Ausrichtungsposition mit dem Ursprung übereinstimmt, nachdem eine Änderung in den Fahr­ zeugmagnetismen detektiert worden ist. Diese Verschiebung wird durchgeführt während der Ausführung des AUTCAL-Unterprogramms 440 von Fig. 12 in Block 140 von Fig. 4B, wenn die Variable CSTAT gleich zwei ist. Wenn die Variable BSTAT gleich zwei ist, dann führt Block 172 das MOVE2PT-Unterprogramm 496 aus, um die X-Y-Koordinatenebene in der Weise zu verschieben, daß die gegenwärtige mittlere Ausrichtungsposition mit der letzten "guten" gemittelten Ausrichtung übereinstimmt, die vor einer Verschiebung in den Fahrzeugmagnetismen erhalten wurde und in E1OLD und E2OLD gespeichert wurde. Dies liefert die beste Abschätzung der gegenwärtigen Ausrichtung des Fahrzeugs auf der Grundlage der Annahme, daß das Fahrzeug seine Bewegungsrichtung nicht geändert hat, nachdem die Verschiebung in den Fahrzeug­ magnetismen detektiert worden ist. Das MOVE2PT-Unterprogramm 496 wird unten in Verbindung mit den Fig. 16A und 16B ausführ­ lich beschrieben. Nach der Rückkehr von dem MOVE2PT-Unterpro­ gramm löscht Block 174 die Variablen E1LOW und E1HI. Wie später noch diskutiert wird, sind die Variablen E1LOW und E2LOW die Koordinaten des Startpunktes des Bogens und die Variablen E1HI und E2HI sind die Koordinaten des Endpunktes des Bogens. Das Löschen der Variablen E1LOW und E1HI in Block 174 zeigt an, daß beide Sätze von Koordinatenvariablen erfordern, daß aktuelle Daten darin gespeichert werden müssen. Nach Block 174, oder wenn im Block 170 festgestellt wird, daß BSTAT nicht gleich zwei ist, geht das Programm weiter zu Block 176.
Block 176 von Fig. 4C subtrahiert die Variable VREF2 von dem gegenwärtigen Ost/West-Kanaldatenmittelwert in Puffer E2 und speichert das Ergebnis in Puffer E2. Die Variable VREF2 ist das Zentrum der Ost/West-Kanalwellenform und beträgt ungefähr 80 Hexadezimal, wenn der Kompaß in der bevorzugten Ausführungsform kalibriert ist. Die Subtraktion von VREF2 von den Kanaldaten ändert die Kanaldaten in mit zwei komplementären Zahlen, um bestimmte Berechnungen, die in den nachfolgenden Blöcken durch­ geführt werden, zu vereinfachen. Als nächstes führt Block 178 das MAKEQU-Unterprogramm 300 aus, welches jeden elliptischen Effekt in der Aufzeichnung der Sensordaten aufgrund von Kon­ struktionsparametern des Fahrzeuges eliminiert. Das MAKEQU- Unterprogramm 300 wird unten ausführlich in Verbindung mit Fig. 6 beschrieben. Nach der Rückkehr von dem MAKEQU-Unterprogramm addiert Block 180 die Variablen VREF1 und VREF2 zu den Puffern E1 bzw. E2. Dies ändert die Kanaldaten von mit zwei komplemen­ tären Zahlen zurück zu allen positiven Zahlen, um die Berech­ nungen zu vereinfachen, die in den nachfolgenden Blöcken durch­ geführt werden. Nach Block 180 geht das Programm weiter zu Block 182, welcher nach dem Ausgang des Geschwindigkeitssensors 51 (Fig. 2) schaut, um festzustellen, ob das Fahrzeug sich bewegt oder nicht. Wenn das Fahrzeug sich nicht bewegt, dann geht das Programm zurück zu Block 188 von Fig. 4D. Wenn Block 182 feststellt, daß das Fahrzeug sich bewegt, dann stellt Block 184 fest, ob die Variable BSTAT gleich vier oder acht ist. Die Variable BSTAT ist gleich vier, wenn die gegenwärtige gemit­ telte Ausrichtungsposition verschoben worden ist zu der letzten "guten" gemittelten Ausrichtungsposition, die in E1OLD und E2OLD gespeichert ist, und es beginnt ein Vorgang, wodurch das Programm wartet, bis das Fahrzeug nahe derselben Richtung sich für vier Sekunden bewegt, um den Startpunkt für den Bogen fest­ zustellen. Die Variable BSTAT ist gleich acht, wenn das Fahr­ zeug nahe derselben Richtung für vier Sekunden bewegt hat, und es beginnt der Vorgang, durch welchen das Programm wartet, bis ein Bogen von 45° von dem Fahrzeug durchlaufen ist. Wenn Block 184 feststellt, daß die Variable BSTAT gleich vier oder acht ist, dann geht das Programm weiter zu Block 196 von Fig. 4D. Wenn die Variable BSTAT nicht gleich vier oder acht ist, dann stellt Block 186 fest, ob die Variable BSTAT gleich 10 Hexa­ dezimal ist. Die Variable BSTAT ist gleich 10 Hexadezimal, wenn ein Bogen von 45° durchlaufen wurde und der Mittelpunkt festge­ stellt wurde, und es beginnt der Vorgang, durch welchen das Programm wartet, bis das Fahrzeug seine Bewegungsrichtung um einen vorbestimmten Betrag geändert hat, der mindestens einen 80°-Bogen in der bevorzugten Ausführungsform entspricht. Wenn Block 186 feststellt, daß die Variable BSTAT gleich 10 Hexa­ dezimal ist, dann geht das Programm weiter zu Block 208 von Fig. 4D. Wenn die Variable BSTAT nicht gleich 10 Hexadezimal ist, dann geht das Programm weiter zu Block 236 von Fig. 4E.
Mit Bezug auf Fig. 4D betritt das Programm Block 188, wenn Block 182 von Fig. 4C feststellt, daß das Fahrzeug sich nicht bewegt. Alternativ kann das Programm zu Block 188 von Block 236 oder 238 von Fig. 4E verzweigen, wie unten beschrieben wird. Block 188 subtrahiert die Variablen VREF1 und VREF2 von den Puffern E1 bzw. E2, um die Kompaßkanaldaten in mit zwei komple­ mentären Zahlen zu ändern, um bestimmte Berechnungen zu verein­ fachen, die in den nachfolgenden Blöcken durchgeführt werden. Als nächstes führt Block 190 das CORDIC-Unterprogramm 544 aus, welches die Ausrichtung des Fahrzeuges unter Verwendung der Arcustangensfunktion berechnet. Das CORDIC-Unterprogramm 544 wird unten in Bezug zu Fig. 17 ausführlich beschrieben. Nach der Rückkehr von dem CORDIC-Unterprogramm, geht das Programm weiter zu Block 192. Alternativ kann das Programm zu Block 192 vom Block 238 von Fig. 4E verzweigen, wie unten beschrieben wird. Block 192 löscht die Zählvariable COMAVG und die Puffer E1 und E2, um den Mikroprozessor 50 für den nächsten Durchgang des Hauptkompaßprogramm vorzubereiten und setzt die FSTPAS-Mar­ kierung, um anzuzeigen, daß der Stabilisationsvorgang der Blöcke 124 und 126 von Fig. 4A nicht länger notwendig ist. Das Programm verläßt das Hauptkompaßprogramm über Block 194.
Block 196 von Fig. 4D wird betreten, wenn Block 184 von Fig. 4C feststellt, daß die Variable BSTAT gleich vier oder acht ist. Block 196 stellt fest, ob die Variable BSTAT gleich vier ist, was anzeigt, daß ein Startpunkt des Bogens noch bestimmt werden muß. Wenn das der Fall ist, kehrt das Programm zu Block 198 zurück, welcher die Variable E1LOW, die beim ersten Durchgang gleich Null ist und in Block 202 anschließend gesetzt wird, in den Akkumulator des Mikroprozessors 50 zur Verarbeitung in Block 202. Wenn Block 196 feststellt, daß die Variable BSTAT nicht gleich vier ist, was anzeigt, daß sie gleich acht sein muß, und daß der Startpunkt bestimmt worden ist, dann lädt Block 200 die Variable LASTE1 in den Akkumulator des Mikropro­ zessors 50 zur Verarbeitung in Block 202. Die Variablen LASTE1 und LASTE2 geben die gemittelten Kanaldaten von einem Intervall vor dem gegenwärtigen Mittel wieder. Nach Block 198 oder 200 geht das Programm weiter zu Block 202, welcher das TWOCLOSE- Unterprogramm 550 ausführt, das unten in Verbindung mit Fig. 18 ausführlich beschrieben wird, und welches feststellt, ob die Daten, die zur Verarbeitung in Block 198 oder 200 geladen wur­ den, innerhalb einer bestimmten Toleranz der gegenwärtigen gemittelten Daten liegen, so daß das Fahrzeug in nahezu dersel­ ben Richtung für vier Sekunden gelaufen ist. Dies wird verwen­ det, um den Startpunkt für den Bogen zu bestimmen, der in E1LOW und E2LOW gespeichert wird. Das TWOCLOSE-Unterprogramm wird ausgeführt, selbst wenn ein Startpunkt zuvor bestimmt worden ist (d. h., wenn BSTAT gleich acht ist), weil in der Zeit, wäh­ rend das Programm darauf wartet, daß das Fahrzeug wendet und einen Bogen von 45° spannt, es ständig seinen Startpunkt aktua­ lisiert, so daß es der neueste ist. Wenn das Fahrzeug gegenwär­ tig in einem 45°-Bogen wendet, dann wird der Startpunkt nicht aktualisiert, weil die Punkte nicht innerhalb der Toleranz lie­ gen, aufgrund des Wendens des Fahrzeugs. Wenn weiterhin ein Bogen von 45° einmal erzeugt wurde und ein Mittelpunkt bestimmt wurde, dann wird BSTAT auf Hexadezimal 10 gesetzt, und der Startpunkt fixiert. Bei der Rückkehr von dem TWOCLOSE-Unterpro­ gramm 550 stellt Block 204 fest, ob die TWOPTS-Markierung gesetzt worden ist, was anzeigt, daß ein Startpunkt bestimmt oder aktualisiert worden ist, und ob die Variable BSTAT gleich vier ist. Wenn beide Bedingungen in Block 204 wahr sind, dann erhöht Block 206 die Variable BSTAT auf acht. Nach Block 206 oder wenn Block 204 feststellt, daß beide Bedingungen nicht wahr sind, geht das Programm weiter zu Block 236 von Fig. 4E.
Block 208 von Fig. 4D wird betreten, wenn Block 186 von Fig. 4C feststellt, daß die Variable BSTAT gleich 10 Hexadezimal ist. Block 208 lädt die Variable E1HI, welche eine der Koordinaten für den Endpunkt des Bogens ist, in den Akkumulator des Mikro­ prozessors 50 zur Verarbeitung in Block 210. Block 210 führt das TWOCLOSE-Unterprogramm 550 durch, das unten in Verbindung mit Fig. 18 ausführlich beschrieben wird, welches feststellt, ob das Fahrzeug für vier Sekunden in nahezu derselben Richtung gelaufen ist. Bei der Rückkehr von dem TWOCLOSE-Unterprogramm stellt Block 212 fest, ob die TWOPTS-Markierung gelöscht ist. Wenn die Markierung gelöscht ist, was anzeigt, daß das Fahrzeug nicht für vier Sekunden in nahezu derselben Richtung gelaufen ist, geht das Programm weiter zu Block 236 von Fig. 4E. Wenn Block 212 feststellt, daß die TWOPTS-Markierung gesetzt ist, dann führt Block 214 das DIST2PT-Unterprogramm 454 aus, welches den Abstand zwischen den gegenwärtigen Punkt, der in den Varia­ blen E1 und E2 gespeichert ist, und dem Startpunkt des Bogens, der in den Variablen E1LOW und E2LOW gespeichert ist, bestimmt.
Dieses Unterprogramm wird unten in Verbindung mit Fig. 13 aus­ führlich beschrieben. Nach der Rückkehr von dem DIST2PT-Unter­ programm, führt Block 216 das CHKRGT-Unterprogramm 466 durch, welches feststellt, ob der Abstand zwischen dem gegenwärtigen Punkt und dem Startpunkt der Bogens einem Bogen von 80° ent­ spricht, so daß das Fahrzeug seine Bewegungsrichtung um einen vorbestimmten Betrag geändert hat. Dieses Unterprogramm wird unten in Verbindung mit Fig. 14 ausführlich beschrieben. Nach der Rückkehr von dem CHKRGT-Unterprogramm 466 stellt Block 218 fest, ob die GOTDIST-Markierung gesetzt ist, was anzeigt, daß der Abstand einem Bogen von 80° entspricht. Wenn die Markierung gesetzt ist, geht das Programm weiter zu Block 222 von Fig. 4E. Wenn Block 218 feststellt, daß die GOTDIST-Markierung nicht gesetzt ist, dann geht das Programm weiter zu Block 220. Alter­ nativ kann das Programm zu Block 220 von Block 226 von Fig. 4E verzweigen, wie unten beschrieben wird. Block 220 speichert die Variablen E1HI und E2HI in den Variablen E1LOW bzw. E2LOW und setzt die Variable BSTAT auf acht. Das Programm geht dann wei­ ter zu Block 236 von Fig. 4E.
Mit Bezug auf Fig. 4E wird Block 222 betreten, wenn Block 218 von Fig. 4D feststellt, daß die GOTDIST-Markierung gesetzt wurde, was anzeigt, daß ein Bogen von mindestens 80° zwischen dem Startpunkt und dem gegenwärtigen Punkt der Sensordaten erzeugt wurde, so daß das Fahrzeug seine Bewegungsrichtung um einen vorbestimmten Betrag geändert hat. Das Programm ist nun auf der Stufe, wo das Zentrum des Bogens bestimmt wird. Block 222 führt das SETLMT-Unterprogramm 570 durch, welches die obe­ ren und unteren horizontalen und vertikalen Grenzen bestimmt, in welchen nach dem Zentrum des Bogens in der X-Y-Koordinaten­ ebene gesucht werden soll. Dieses Programm wird unten in Ver­ bindung mit Fig. 19 ausführlich beschrieben. Nach der Rückkehr von dem SETLMT-Unterprogramm 570 führt Block 224 das CENSRCH- Unterprogramm 590 durch, welches nach dem Zentrum des Bogens innerhalb der festgestellten Grenzen sucht. Dieses Programm wird unten in Verbindung mit den Fig. 20A und 20B ausführlich beschrieben.
Nach der Rückkehr von dem CENSRCH-Unterprogramm 590 stellt Block 226 fest, ob die GOODC-Markierung gelöscht ist, die anzeigt, ob ein guter Zentrumspunkt festgestellt wurde. Wenn dies der Fall ist, dann geht das Programm weiter zu Block 220 von Fig. 4D. Im Block 226 stellt das Programm fest, daß die GOODC-Markierung gesetzt ist, was anzeigt, daß ein gutes Zen­ trum festgestellt wurde, und das Programm geht weiter zu Block 228. Block 228 subtrahiert die Variablen VREF1 und VREF2 von den Puffern E1 bzw. E2 und führt das GAINVRT-Unterprogramm 650 durch. Dieses Unterprogramm, das unten in Verbindung mit Fig. 22 ausführlich beschrieben wird, erlaubt dem Programm, die Kom­ paßdaten einfach zu manipulieren durch Umkehrung des Effekts des MAKEQU-Unterprogramms 300 von Fig. 6, welches verwendet wurde, um die elliptischen Daten kreisförmig zu machen.
Nach der Rückkehr von dem GAINVRT-Unterprogramm 650 führt Block 230 das MOVE2PT-Unterprogramm 496 durch, um den Ursprung der X-Y-Koordinatenebene zu bewegen, so daß es mit dem Zentrum des Bogens übereinstimmt. Das MOVE2PT-Unterprogramm wird unten in Verbindung mit den Fig. 16A und 16B beschrieben. Bei der Rück­ kehr hiervon löscht Block 232 die Variable BSTAT, um anzuzei­ gen, daß das Programm die Wiederherstellung von einer abrupten und signifikanten Änderung in den Fahrzeugmagnetismen beendet hat, und löscht die Variable HYPTIMER, die die Strecke verfolgt hat, um welche das Fahrzeug sich bewegt hat, während die Auf­ zeichnung der Sensordaten außerhalb der vorbestimmten Schwelle lagen, um sicherzustellen, daß die Änderung in den Fahrzeug­ magnetismen nicht vorübergehender Natur waren. Als nächstes setzt Block 234 die NVMWRT-Markierung, die anzeigt, daß ein Einschreiben in den Festspeicher erforderlich ist, um die neuen Kalibrationszahlen zu speichern. Dies ist notwendig in dem Fall, daß ein Stromzyklus auftritt (d. h. Zündung abgeschaltet wird), um sicherzustellen, daß die gegenwärtigen Kalibrations­ zahlen beibehalten werden und wiedergeholt werden können, wenn das Fahrzeug erneut startet. Nach Block 234 geht das Programm weiter zu Block 236. Alternativ kann das Programm zu Block 236 von Block 186 von Fig. 4C oder Block 204, 212 oder 220 von Fig. 4D verzweigen, wie oben beschrieben wurde. Block 236 stellt fest, ob die Variable BSTAT gleich Null ist. Diese Frage wird selbst gestellt, wenn die Variable BSTAT in Block 232 gelöscht wird, weil das Programm zu diesem Punkt von woanders in der Programmierung verzweigen kann. Wenn Block 236 feststellt, daß die Variable BSTAT gleich Null ist, dann geht das Programm wei­ ter zu Block 188 von Fig. 4D, um die Fahrzeugausrichtung zu aktualisieren. Wenn die Variable BSTAT nicht gleich Null ist, dann geht das Programm weiter zu Block 238, um festzustellen, ob die Variable BSTAT kleiner als acht ist. Wenn dies der Fall ist, dann geht das Programm weiter zu Block 192 von Fig. 4D. Wenn Block 238 feststellt, daß die Variable BSTAT nicht kleiner als acht ist, dann geht das Programm weiter zu Block 188 von Fig. 4D.
Das DATCHK-Unterprogramm 240 ist in den Fig. 5A und 5B gezeigt. Dieses Unterprogramm wird in den Blöcken 102 und 108 des Haupt­ programms von Fig. 4A ausgeführt, um die gesammelten Kompaß­ kanaldaten zu analysieren und um bestimmte Markierungen ent­ sprechend zu setzen. Das Unterprogramm beginnt mit Block 242, welcher feststellt, ob die FSTPAS-Markierung gelöscht ist. Wenn dies der Fall ist, dann steigt das Unterprogramm über Block 244 aus. Wenn Block 242 feststellt, daß die FSTPAS-Markierung nicht gelöscht ist, dann bestimmt Block 246, ob das Fahrzeug sich nicht bewegt. Wenn das Fahrzeug sich nicht bewegt, dann steigt das Unterprogramm über Block 248 aus, weil eine fortgesetzte Analyse der Kompaßdaten nicht wünschenswert ist, aufgrund der möglichen magnetischen Interferenz, die durch stationäre Objekte verursacht wird. Wenn Block 246 feststellt, daß das Fahrzeug sich bewegt, dann bestimmt Block 250, ob die Variable BSTAT gleich eins ist oder ob die GOTCIR-Markierung gelöscht ist. Wenn eine dieser Bedingungen wahr ist, dann geht das Pro­ gramm weiter zu Block 258. Wenn Block 250 feststellt, daß keine der Bedingungen wahr ist, dann bestimmt Block 252, ob der gegenwärtig analysierte Kompaßkanal gesättigt ist, so daß die Daten den Meßbereich des gegenwärtigen X-Y-Koordinatensystems übersteigen oder nahezu übersteigen. Wenn dies der Fall ist, dann setzt Block 254 die Sättigungsmarkierung dieses Kanals und das Programm geht weiter zu Block 258. Wenn Block 252 fest­ stellt, daß der Kompaßkanal nicht gesättigt ist, dann löscht Block 256 die Sättigungsmarkierung dieses Kanals. Als nächstes subtrahiert Block 258 die Variablen VREF1 oder VREF2, abhängig davon, welcher Kompaßkanal gegenwärtig analysiert wird, von den gegenwärtigen Kompaßkanaldaten und speichert das Ergebnis in Byte Nr. 4 des 6-Byte-Puffers E1 bzw. E2. Die Subtraktion der entsprechenden VREF-Variablen von den Kanaldaten verändert die Kanaldaten in mit zwei komplementären Zahlen, um bestimmte Berechnungen, die in den nachfolgenden Blöcken durchgeführt werden, zu vereinfachen. Das Programm geht dann weiter zu Block 260, welcher das MAKEQU-Unterprogramm 300 auf den Daten der Bytezahl 4 ausführt, um alle elliptischen Effekte in der Auf­ zeichnung der Sensordaten aufgrund von Konstruktionsparametern des Fahrzeugs zu eliminieren. Dieses Unterprogramm wird unten in Verbindung mit Fig. 6 ausführlich beschrieben. Bei der Rück­ kehr von dem MAKEQU-Unterprogramm 300 speichert Block 260 die korrigierten Kompaßdaten in Byte Nr. 5 des entsprechenden 6- Byte-Puffers E1 bzw. E2. Als nächstes führt Block 272 das TWIT- Unterprogramm 338 aus, um festzustellen, ob die Kanaldaten eine beträchtliche Änderung erfahren haben, die größer ist, als eine erwartete Änderung in der Kompaßausrichtung aufgrund der Wen­ dung des Fahrzeugs. Dieses Unterprogramm wird unten in Verbin­ dung mit Fig. 7 ausführlich beschrieben.
Bei der Rückkehr von dem TWIT-Unterprogramm 338 geht das Pro­ gramm weiter zu Block 264, welcher bestimmt, ob die Variable BSTAT größer als Null ist, was anzeigt, daß eine abrupte und signifikante Änderung im Fahrzeugmagnetismus detektiert worden ist. Wenn dies der Fall ist, geht das Programm weiter zu Block 280 von Fig. 5B. Wenn Block 264 feststellt, daß die Variable BSTAT nicht größer als Null ist, dann bestimmt Block 266, ob die Nord/Süd-Kanaldaten gegenwärtig analysiert werden. Wenn dies der Fall ist, steigt das Unterprogramm über Block 268 aus. Wenn Block 266 feststellt, daß die Nord/Süd-Kanaldaten schon analysiert worden sind, was bedeutet, daß Daten von Kanal 2 (Ost/West-Kanal) gegenwärtig analysiert werden, dann berechnet Block 270 den quadrierten Radius der Aufzeichnung der gegenwär­ tigen Kompaßdaten für beide Kanäle. Die quadrierten Werte wer­ den verwendet, weil sie die Berechnungen in dem Mikroprozessor vereinfachen. Als nächstes führt Block 272 das SQUAROOT-Unter­ programm 368 durch, um die Quadratwurzel der quadrierten Radien in Block 270 zu berechnen. Dieses Unterprogramm wird in Verbin­ dung mit Fig. 8 unten ausführlich beschrieben. Nach der Rück­ kehr von dem SQUAROOT-Unterprogramm 368 vergleicht Block 272 den gegenwärtigen Radius mit der Variablen HYPOT und berechnet die absolute Differenz zwischen den zwei Werten, um festzustel­ len, ob eine abrupte und signifikante Änderung im Fahrzeug­ magnetismus aufgetreten ist. In der Variablen HYPOT ist der Radius des kalibrierten Kreises gespeichert, welcher der Erd­ magnetfeldstärke entspricht. Als nächstes bestimmt Block 274, ob die in Block 272 berechnete Differenz größer als 20 Zähl­ raten ist, was die vorbestimmte Schwelle ist, welche festlegt, ob eine wesentliche Änderung im Fahrzeugmagnetismus aufgetreten ist. In der bevorzugten Ausführungsform gibt diese Schwelle von 20 Zählraten 100 Milligauss-Magnetismus wieder. Wenn dies der Fall ist, geht das Programm weiter zu Block 276 von Fig. 5B. Wenn Block 274 feststellt, daß die Differenz kleiner als 20 ist, dann geht das Programm weiter zu Block 278 von Fig. 5B.
Wie oben erwähnt wurde, betritt das Programm Block 276 von Fig. 5B, wenn Block 274 von Fig. 5A feststellt, daß die Differenz zwischen dem gegenwärtigen Radius und dem Radius des kalibrier­ ten Kreises größer als 20 ist. Block 276 setzt die BADHYP-Mar­ kierung, um anzuzeigen, daß die gegenwärtigen Daten außerhalb der vorbestimmten Schwelle liegen, die eine abrupte und signi­ fikante Änderung in den Fahrzeugmagnetismen anzeigt. Das Pro­ gramm betritt Block 278, wenn Block 274 von Fig. 5A feststellt, daß die Differenz kleiner als 20 ist. Block 278 löscht die BADHYP-Markierung, um anzuzeigen, daß die gegenwärtigen Daten innerhalb der oben erwähnten vorbestimmten Schwelle liegen. Als nächstes stellt Block 280 fest, ob die TWIT-Markierung (TWIT1 und TWIT2) gelöscht ist. Wenn dies nicht der Fall ist, geht das Programm weiter zu Block 288. Wenn Block 280 feststellt, daß die TWIT-Markierungen gelöscht sind, dann addiert Block 282 die Variable SPEED, die die gegenwärtige Geschwindigkeit des Fahr­ zeugs anzeigt, auf die zwei-Byte-Variable HYPTIMER, welche ein Zähler ist, der den Abstand anzeigt, um welchen das Fahrzeug sich bewegt hat, während die Kompaßdaten außerhalb der oben erwähnten Schwelle lagen. Als nächstes stellt Block 284 fest, ob die Variable HYPTIMER größer als 1800 Hexadezimal ist, was anzeigen würde, daß das Fahrzeug um eine vorbestimmte Strecke, wie beispielsweise eine 1/4 oder 1/8 Meile gelaufen ist, so daß das Programm sicher annehmen kann, daß die Verschiebung in den Fahrzeugmagnetismen nicht vorübergehender Natur ist. Wenn die Variable HYPTIMER nicht größer als 1800 Hexadezimal ist, geht das Programm weiter zu Block 288. Wenn sie größer als 1800 Hexadezimal ist, dann führt Block 286 das QUICKCAL-Unterpro­ gramm 386 durch, welches die Vorbereitungsvorgänge für die Wie­ derherstellung von der Verschiebung der Fahrzeugmagnetismen durchführt. Dieses Programm wird unten ausführlich in Verbin­ dung mit Fig. 9 beschrieben.
Nach der Rückkehr von dem QUICKCAL-Unterprogramm 386 geht das Programm weiter zu Block 288, welcher feststellt, ob alle Mar­ kierungen, die in diesem Unterprogramm gehandhabt werden (DASTAT-Markierungen) gelöscht sind. Wenn dies der Fall ist, vermindert Block 290 die Variable BADDAT, die ein Zähler ist, der gleich Null ist, wenn sechzehn aufeinanderfolgende "gute" Kompaßauslesungen erhalten worden sind. Als nächstes stellt Block 292 fest, ob die Zählvariable BADDAT gleich Null ist. Wenn dies der Fall ist, setzt Block 294 die WOWTWO-Markierung, um anzeigen, daß sechzehn aufeinanderfolgende "gute" Kompaßaus­ lesungen erhalten worden sind. Nach Block 294, oder wenn Block 292 feststellt, daß die Zählvariable BADDAT nicht gleich Null ist, geht das Programm weiter zu Block 298 und das Unterpro­ gramm wird verlassen. Wenn zurückkehrend zu Block 288 festge­ stellt wird, daß nicht alle Markierungen, die in diesem Unter­ programm gehandhabt werden, gelöscht sind, dann lädt Block 296 Hexadezimal 10 in die Zählvariable BADDAT, und das Unterpro­ gramm wird über Block 298 verlassen.
Mit Bezug auf Fig. 6 ist das MAKEQU-Unterprogramm 300 gezeigt. Dieses Unterprogramm wird in den Blöcken 178 und 260 des Haupt­ programms 100 bzw. des DATCHK-Unterprogramms 240 ausgeführt, um jeden elliptischen Effekt in der Aufzeichnung der Sensordaten aufgrund der Konstruktionsparameter des Fahrzeugs zu eliminie­ ren. Das Unterprogramm beginnt mit Block 302, welcher den GAIN- Wert in den temporären Gainpuffer lädt. Der GAIN-Wert in dem Kompensationssystem des US-Patents Nr. 4 953 305 berechnet und ist das Verhältnis einer Kanalspanne zur anderen Kanalspanne. Als nächstes lädt Block 304 den Kanal 1(Nord/Süd-Kanal)-Mittel­ wert in den Akkumulator oder das arithmetische Register des Mikroprozessors 50 zur Verarbeitung. Block 306 bestimmt dann, ob der GAIN-Wert größer als 80 Hexadezimal ist. Wenn das der Fall ist, dann lädt Block 308 den Mittelwert von Kanal 2 (Ost/West) in den Akkumulator des Mikroprozessors 50 zur Verar­ beitung. Nach Block 308 oder wenn Block 306 feststellt, daß der GAIN-Wert nicht größer als 80 Hexadezimal ist, geht das Pro­ gramm weiter zu Block 310, welcher den absoluten Wert des Kanalmittelwertes, der in den Akkumulator geladen ist, nimmt, um sicherzustellen, daß positive Zahlen manipuliert werden. Als nächstes führt Block 312 das MULT-Unterprogramm 324 durch, wel­ ches in Verbindung mit Fig. 6 unten ausführlich beschrieben wird. Nach der Rückkehr vom MULT-Unterprogramm begrenzt Block 314 den Überlauf des Produktes durch Runden des 16-Bit-Ergeb­ nisses in eine 8-Bit-Zahl. Als nächstes bestimmt Block 316, ob der GAIN-Wert kleiner als 80 Hexadezimal ist. Wenn dies der Fall ist, dann ersetzt Block 318 den Mittelwert von Kanal 2 (Ost/West) durch das Produkt, das in den Blöcken 312 und 314 berechnet worden ist. Das Unterprogramm wird dann über Block 322 verlassen. Wenn Block 316 feststellt, daß der GAIN-Wert nicht kleiner als 80 Hexadezimal ist, dann ersetzt Block 320 den Mittelwert von Kanal 1 (Nord/Süd) durch das Produkt, das in den Blöcken 312 und 314 berechnet wird. Das Unterprogramm wird dann über Block 322 verlassen.
Das MULT-Unterprogramm 324 ist in Fig. 6 gezeigt. Dieses Unter­ programm wird in Block 312 des MAKEQU-Unterprogramms 300 und in den Blöcken 656 und 666 des GAINVRT-Unterprogramms 650 ausge­ führt. Das Unterprogramm beginnt mit Block 326, welcher den Kanalmittelwert, der gegenwärtig verarbeitet wird, in einen temporären Puffer lädt. Als nächstes lädt Block 328 den absolu­ ten Wert des Gainpuffers in den Akkumulator des Mikroprozessors 50 zur Verarbeitung. Block 330 subtrahiert dann 80 Hexadezimal von dem Akkumulator, teilt durch zwei und rundet das Ergebnis auf. Das Programm geht dann weiter zu Block 332, welcher den Kanalmittelwert in dem Akkumulator durch den Gain multipli­ ziert. Als nächstes addiert Block 334 den Kanalmittelwert in dem temporären Puffer zu dem Akkumulator und gibt das Ergebnis zurück als den neuen Kanalmittelwert. Das Unterprogramm wird dann über Block 336 verlassen.
Fig. 7 zeigt das TWIT-Unterprogramm 338. Das Unterprogramm wird ausgeführt in Block 262 von Fig. 5A des DATCHK-Unterprogramms 240, um festzustellen, ob die Daten eines Kompaßkanals eine signifikante Änderung erfahren haben, die größer ist als die erwartete Änderung in der Kompaßausrichtung aufgrund einer Wende des Fahrzeugs. Das Unterprogramm beginnt mit Block 340, welcher den Twitchzähler erhöht. Als nächstes stellt Block 342 fest, ob der Kompaßkanal, der gegenwärtig kontrolliert wird, der Kanal 2 ist (Ost/West-Kanal) . Wenn das der Fall ist, dann bestimmt Block 344 die Twitdifferenz, welches die Differenz zwischen den gegenwärtigen Kanaldaten und den letzten "guten" Kanaldaten (gespeichert als Twitwert) ist, und das Programm geht weiter zu Block 348. Wenn Block 342 feststellt, daß der Nord/Süd-Kanal gegenwärtig kontrolliert wird, dann findet Block 346 die Twitdifferenz. Als nächstes stellt Block 348 fest, ob die Twitdifferenz größer als sieben ist. Wenn das nicht der Fall ist, dann löscht Block 350 die Twitmarkierung TWIT1 oder TWIT2, abhängig davon, welcher Kanal gegenwärtig verarbeitet wird, und Block 352 lädt die gegenwärtigen Kanaldaten als Twit­ wert. Das Unterprogramm wird dann über Block 366 verlassen. Wenn Block 348 feststellt, daß die Twitdifferenz größer als sieben ist, dann bestimmt Block 354, ob die Twitmarkierung gesetzt ist (TWIT1 oder TWIT2). Wenn das nicht der Fall ist, dann setzt Block 356 die Twitmarkierung und löscht den Twitch­ zähler und Block 366 verläßt das Unterprogramm. Wenn Block 354 feststellt, daß die Twitmarkierung gesetzt ist, dann stellt Block 358 fest, ob der Twitchzähler gleich sechzehn ist. Hier ist der Twitchzähler gleich sechzehn, nur wenn die Twitdiffe­ renz der Kanaldaten größer als sieben für eine ausgedehnte Zeitdauer ist, so daß die letzten "guten" Kanaldaten, die in dem Twitwert gespeichert sind, nicht mehr länger zuverlässig sind. Wenn Block 358 feststellt, daß der Twitchzähler nicht gleich sechzehn ist, dann löscht Block 316 die Zählvariable HYPTIMER und das Unterprogramm wird über Block 366 verlassen. Wenn Block 348 feststellt, daß der Twitchzähler gleich sechzehn ist, dann löscht Block 362 die gemitteten Kanaldaten, die in dem Puffer E1 oder E2 gespeichert sind, abhängig davon, welcher Kanal verarbeitet wird, und der Twitchzähler wird gelöscht. Als nächstes lädt Block 364 die gegenwärtigen Kanaldaten in den Twitwert und das Unterprogramm wird über Block 366 verlassen.
Mit Bezug auf Fig. 8 ist das SQUAROOT-Unterprogramm 368 gezeigt. Dieses Unterprogramm wird in Block 272 von Fig. 5A des DATCHK-Unterprogramms 240 ausgeführt, um die Quadratwurzel des quadrierten Radius in Block 270 zu berechnen. Das Unterprogramm beginnt mit Block 370, welcher den quadrierten Radius in den temporären Speichervariablen XTEMP und ATEMP speichert und löscht den Bit-Zähler, welcher die Anzahl von Malen anzeigt, die die interne Schleife innerhalb des Unterprogramms ausge­ führt worden ist. Als nächstes bestimmt Block 372, ob der Bit- Zähler gleich sieben ist, und wenn dies der Fall ist, wird das Unterprogramm über Block 384 verlassen. Wenn der Bit-Zähler nicht gleich sieben ist, dann analysiert Block 374 eine Nach­ schlagtabelle, um den Platzwert des gegenwärtigen zu verarbei­ tenden Bits zu bestimmen, wie es durch den Bit-Zähler bestimmt ist, und quadriert das Ergebnis. Als nächstes bestimmt Block 376, ob das Ergebnis von Block 374 größer als der quadrierte Radius ist. Wenn dies der Fall ist, dann setzt Block 378 das gegenwärtige Bit auf Null und das Programm geht weiter zu Block 382. Wenn Block 376 feststellt, daß das Ergebnis von Block 374 nicht größer ist als der quadrierte Radius, dann bestimmt Block 380, ob das Ergebnis gleich dem quadrierten Radius ist. Wenn dies der Fall ist, dann wird das Unterprogramm über Block 384 verlassen. Wenn Block 380 feststellt, daß das Ergebnis von Block 374 nicht gleich dem quadrierten Radius ist, dann geht das Programm weiter zu Block 382. Block 382 speichert den Wur­ zelwert, der bis zu diesem Punkt berechnet worden ist, und erhöht den Bit-Zähler und das Programm geht zurück zu Block 372.
Fig. 9 zeigt das QUICKCAL-Unterprogramm 386. Dieses Unterpro­ gramm wird ausgeführt in Block 286 des DATCHK-Unterprogramms 240, um die Vorbereitungsvorgänge zur Wiederherstellung von einer abrupten und signifikanten Verschiebung in den Fahrzeug­ magnetismen durchzuführen. Das Unterprogramm beginnt mit Block 388, welcher bestimmt, ob die Variable BSTAT gleich 1, 2 oder 20 Hexadezimal ist. Wenn dies der Fall ist, dann speichert Block 390 den Wert von 80 Hexadezimal in die Variablen E1OLD und E2OLD. Dies ergibt sich daher, daß seit der Durchführung dieses Unterprogramms, wenn BSTAT gleich 1, 2 oder 20 Hexadezi­ mal ist, die früheren Werte in den Variablen E1OLD und E2OLD nicht mehr länger die letzte gute Ausrichtung vor einer Ver­ schiebung in den Fahrzeugmagnetismen wiedergeben. Als solches gibt es keine genaue Abschätzung mehr bezüglich der gegenwärti­ gen Ausrichtung des Fahrzeugs und das Setzen der Variablen E1OLD und E2OLD auf 80 Hexadezimal liefert eine Schätzung, die am weitesten von den Sättigungsgrenzen der X-Y-Koordinatenebene entfernt ist. Nach Block 390 oder wenn Block 388 feststellt, daß die Variable BSTAT nicht gleich 1, 2 oder 20 Hexadezimal ist, geht das Programm weiter zu Block 392. Block 392 setzt die Variable BSTAT auf 1 und setzt die Variable CSTAT gleich 2. Als nächstes löscht Block 394 die Zählvariable HYPTIMER und das Unterprogramm wird über Block 396 verlassen.
Mit Bezug jetzt auf Fig. 10 ist das ASICFTR-Unterprogramm 398 gezeigt. Dieses Unterprogramm wird in Block 106 des Hauptpro­ gramms von Fig. 4A ausgeführt, um jeden elliptischen Effekt in der Aufzeichnung der Sensordaten aufgrund der Konstruktion der induktiven Meßsonde durch Gleichsetzung des Gain der zwei Kom­ paßkanäle zu eliminieren. Das Unterprogramm beginnt mit Block 400, welcher den Puffer E2, der die Ost/West-Kanaldaten spei­ chert, in beide temporären Speicher und den Akkumulator des Mikroprozessors 50 lädt. Als nächstes subtrahiert Block 402 80 Hexadezimal von dem Akkumulator und nimmt den absoluten Wert der Differenz. Das Programm geht dann weiter zu Block 404, wel­ cher diesen absoluten Wert in dem Akkumulator mit der Offset­ konstante des Magnetometers 48 multipliziert. Die Offsetkon­ stante ist das Verhältnis einer Kanalspanne zu der anderen Kanalspanne, die durch den Aufbau der induktiven Meßsonde 46 gegeben ist. Als nächstes bestimmt Block 406, ob die gegenwär­ tigen Kanaldaten des Puffers E2, die in dem temporären Speicher gespeichert sind, positiv sind. Wenn dies der Fall ist, dann negiert Block 408 den Wert in dem Akkumulator und addiert 80 Hexadezimal. Als nächstes bestimmt Block 410, ob ein Unterlauf in dem Akkumulator aufgetreten ist (stärker negativ als -128 in den mit zwei komplenentären Zahlen), und wenn dies der Fall ist, dann löscht Block 412 den Akkumulator. Nach Block 412 oder wenn Block 410 feststellt, daß kein Unterlauf aufgetreten ist, dann geht das Programm weiter zu Block 424 und das Unterpro­ gramm wird verlassen. Wenn zurückkehrend zu Block 406 festge­ stellt wird, daß die gegenwärtigen Kanaldaten von Puffer E2, die in dem temporären Speicher gespeichert sind, nicht positiv sind, dann addiert Block 414 80 Hexadezimal zu dem Wert in dem Akkumulator. Als nächstes bestimmt Block 416, ob ein Überlauf in dem Akkumulator aufgetreten ist (positiver als 128 in dem mit zwei komplementären Zahlen), und wenn dies der Fall ist, dann lädt Block 418 Hexadezimal FF in den Akkumulator. Nach Block 418 oder wenn Block 416 feststellt, daß kein Überlauf aufgetreten ist, wird das Unterprogramm über Block 420 verlas­ sen.
Das AVRG-Unterprogramm 422 ist in Fig. 11 gezeigt. Dieses Unterprogramm wird in den Blöcken 118 und 120 des Hauptpro­ gramms von Fig. 4A ausgeführt, um die gegenwärtigen Kanaldaten auf das laufende Total zuzuaddieren, wodurch eine zwei-Sekun­ den-Mittelung, die anschließend berechnet wird, ermöglicht wird. Das Unterprogramm beginnt mit Block 424, welcher die 8- Bit-Kanaldaten, welche gegenwärtig verarbeitet werden, auf einen 16-Bit-Totalwert addiert, der in dem Puffer des Kanals (E1 oder E2) gespeichert ist. Als nächstes bestimmt Block 426, ob die Addition, die in Block 424 ausgeführt wurde, zum Setzen eines Übertrags geführt hat. Wenn ein Übertrag gesetzt wurde, dann erhöht Block 428 das hohe Byte des Kanaldatenpuffers, wel­ cher den laufenden Totalwert speichert. Nach Block 428 oder wenn Block 426 feststellt, daß der Übertrag nicht gesetzt wurde, wird das Unterprogramm über Block 430 verlassen.
Fig. 1 34876 00070 552 001000280000000200012000285913476500040 0002019622394 00004 347571 zeigt das CLRDAT-Unterprogramm 432. Dieses Unterpro­ gramm wird in Block 126 des Hauptprogramms von Fig. 4A ausge­ führt und erlaubt es, daß das System sich selbst stabilisiert nach einem Einschalten. Das Programm beginnt mit Block 434, welcher die Zählvariable COMAVG löscht. Als nächstes löscht Block 435 die gemittelten Kompaßkanaldaten in den Puffern E1 und E2. Block 436 bestimmt dann, ob die FSTPAS-Markierung gelöscht ist, und wenn das der Fall ist, setzt Block 437 die Variable COMAVG auf 12. Nach Block 437 oder wenn in Block 436 festgestellt wird, daß die FASTPAS-Markierung nicht gelöscht ist, geht das Programm weiter zu Block 438 und das Unterpro­ gramm wird verlassen.
Mit Bezug auf Fig. 12 ist das AUTCAL-Unterprogramm 440 gezeigt, welches in Block 140 des Hauptkompaßprogramms von Fig. 4B aus­ geführt wird. Dieses Unterprogramm beginnt mit Block 442, wel­ cher das Kompensationssystem durchführt, welches in US-Patent Nr. 4 953 305 offenbart ist. Das Unterprogramm wird dann über Block 440 verlassen.
Das RGTCAL-Unterprogramm 446 ist in Fig. 12 gezeigt. Dieses Unterprogramm wird in Block 144 des Hauptkompaßprogramms von Fig. 43 ausgeführt, um den Winkel zu bestimmen, der von dem Bogen der aufgezeichneten Kompaßdaten überspannt wird. Das Unterprogramm beginnt mit Block 448, welcher das DIST2PT-Unterprogramm 454 durchführt, um die Strecke zwischen dem gegenwär­ tigen Kompaßdatenpunkt und dem Startpunkt des Bogens, der in den Variablen E1LOW und E2LOW gespeichert ist, berechnet und speichert. Das DIST2PT-Unterprogramm wird ausführlich in Ver­ bindung mit Fig. 13 beschrieben. Bei der Rückkehr von dem DIST2PT-Unterprogramm 454 geht das Programm weiter zu Block 450, welcher das CHKRGT-Unterprogramm 466 durchführt, um den Winkel des Bogens zwischen dem gegenwärtigen Kompaßdatenpunkt und dem Startpunkt des Bogens zu bestimmen. Das CHKRGT-Unter­ programm wird ausführlich in Verbindung mit Fig. 14 beschrie­ ben. Bei der Rückkehr von dem CHKRGT-Unterprogramm 466 wird das RGTCAL-Unterprogramm über Block 452 verlassen.
Mit Bezug auf Fig. 13 ist das DIST2PT-Unterprogramm 454 gezeigt. Das Unterprogramm wird in mehreren Programmblöcken ausgeführt, um den Abstand zwischen zwei Punkten in dem X-Y- Koordinatensystem zu bestimmen. Das Unterprogramm beginnt mit Block 456, welcher den Absolutwert der Differenz von einem Kanal der Kompaßdaten der zwei Punkte nimmt, quadriert und das Ergebnis speichert. Block 458 führt dann die gleichen Berech­ nungen auf dem anderen Kanal der Kompaßdaten der zwei Punkte aus. Als nächstes führt Block 416 die 16-Bit-Addition der qua­ drierten Differenzen, die oben erhalten wurden, aus. Block 462 speichert dann das Ergebnis der Addition, das gleich dem qua­ drierten Abstand zwischen den zwei fraglichen Punkten ist. Das Unterprogramm wird dann über Block 464 verlassen.
Fig. 14 zeigt das CHKRGT-Unterprogramm 466. Dieses Unterpro­ gramm wird in den Blöcken 216 und 450 des Hauptprogramms 100 bzw. des RGTCAL-Unterprogramms 446 ausgeführt, um den Winkel des Bogens zwischen dem gegenwärtigen Kompaßdatenpunkt und dem Startpunkt des Bogens, der in den Variablen E1LOW und E2LOW gespeichert ist, zu bestimmen. Dieser Winkel entspricht dem Betrag, um welchen das Fahrzeug seine Bewegungsrichtung geän­ dert hat. Das Unterprogramm beginnt mit Block 468, welcher die Markierungen GOTMID und GOTDIST löscht. Wenn sie gesetzt sind, dann zeigen die Markierungen GOTMID und GOTDIST an, daß das Fahrzeug seine Bewegungsrichtung um einen vorbestimmten Betrag geändert hat, welcher in der bevorzugten Ausführungsform einen Bogenspann von mehr als den vorbestimmten Winkeln 45° bzw. 80° entspricht. Als nächstes quadriert Block 470 die Variable HYPOT, die den Radius eines kalibrierten Kreises speichert, und speichert das hohe Byte des Ergebnisses. Das Programm geht dann weiter zu Block 472, welcher das Ergebnis, das in dem Block 470 erhalten wurde, mit der Mittelpunktkonstante multipliziert, die den Abstand zwischen zwei Punkten auf dem Kreis berechnet, der für den Bogen erforderlich ist, damit er 45° überspannt. Als nächstes bestimmt Block 474, ob der Abstand zwischen dem gegen­ wärtigen Kompaßdatenpunkt und dem Startpunkt des Bogens größer als der in Block 472 berechnete Abstand ist. Wenn das nicht der Fall ist, dann wird das Unterprogramm über Block 484 verlassen. Wenn Block 474 feststellt, daß der Abstand größer ist, dann setzt Block 476 die GOTMID-Markierung, um anzuzeigen, daß der Bogenspann mehr als 45° ist, was einem vorbestimmten Änderungs­ betrag in der Richtung der Fahrzeugbewegung entspricht. Block 478 multipliziert als nächstes das in Block 470 erhaltene Ergebnis mit der 80°-Grenzkonstante, welche den Abstand berech­ net, der zwischen zwei Punkten auf dem Kreis erforderlich ist, um einen Bogen von 80° zu überspannen. Block 480 bestimmt dann, ob der Abstand zwischen dem gegenwärtigen Kompaßdatenpunkt und dem Startpunkt des Bogens größer als der in Block 478 berech­ nete Abstand ist. Wenn dies der Fall ist, setzt 482 die GOTDIST-Markierung, um anzuzeigen, daß die Bogenüberspannung 80° übersteigt, was einem vorbestimmten Änderungsbetrag in der Richtung der Fahrzeugbewegung entspricht. Nach Block 482 oder wenn in Block 480 ein negatives Ergebnis erhalten wird, geht das Programm weiter zu Block 484, der das Unterprogramm ver­ läßt.
Mit Bezug auf Fig. 15 ist das RORIT-Unterprogramm 486 gezeigt. Dieses Unterprogramm wird in den Blöcken 152 und 162 des Haupt­ programms von Fig. 4C ausgeführt und berechnet den Mittelwert des laufenden Totalwertes, der in den Kompaßkanalpuffern gespeichert ist. Das Unterprogramm beginnt mit Block 488, wel­ cher feststellt, ob die FSTPAS-Markierung gesetzt wurde, was anzeigt, daß das erste Mittel der Kanaldaten schon gesammelt wurde. Wenn dies der Fall ist, dann teilt Block 490 den laufen­ den Totalwert, der in dem bestimmten Kompaßkanalpuffer gespei­ chert ist, durch 16 und speichert das Ergebnis, welches der Mittelwert ist. Das Programm geht dann weiter zu Block 494, welcher das Unterprogramm verläßt. Wenn Block 488 feststellt, daß die FSTPAS-Markierung gelöscht ist, dann teilt Block 492 den laufenden Totalwert, der in dem bestimmten Kompaßkanal gespeichert ist, durch 4 und speichert das Ergebnis, welches der Mittelwert ist. Das Unterprogramm wird dann über Block 494 verlassen.
Das MOVE2PT-Unterprogramm 496 ist in den Fig. 16A und 16B gezeigt. Dieses Unterprogramm wird in den Blöcken 172 und 230 des Hauptprogramms 100 ausgeführt, um die X-Y-Koordinatenebene so zu verschieben, daß ein Punkt auf der Ebene an die Stelle eines anderen Punktes sich bewegt. Das Unterprogramm beginnt mit Block 498 von Fig. 16A, welcher feststellt, ob die Daten des Kanals 1 (Nord/Süd-Kanal) negativ sind. Diese Daten zeigen sowohl die Richtung wie auch die Strecke an, um welche die X-Y- Koordinatenebene auf der X-Achse verschoben werden muß. Wenn sie negativ sind, dann negiert Block 508 die Strecke, um sie positiv zu machen. Als nächstes beseitigt Block 510 die letzten zwei signifikanten Bits des Abstands vom Kanal 1 und addiert sie zu der Variablen VREF1. Block 512 nimmt dann die signifi­ kantesten Bits des Abstands von Kanal 1 und addiert sie zu der Variablen VCOMP1. Die Variable VCOMP1 gibt den Betrag des Kom­ pensationsstromes wieder, der für die Korrektur des Sensors 46 des Nord/Süd-Kanals erforderlich ist. Nach Block 512 bestimmt Block 514, ob ein Überlauf im Ergebnis der Addition, die in Block 512 ausgeführt wird, aufgetreten ist. Wenn ein Überlauf aufgetreten ist, dann führt Block 516 das RAIL-Unterprogramm aus, welches dem Fahrer des Fahrzeugs über die Anzeige 56 anzeigt, daß der Kompaß keine Kalibrationsmöglichkeit mehr hat, aufgrund eines extrem großen Betrages des Fahrzeugmagnetismus, so daß der Bereich in der Nähe des Kompaß entmagnetisiert wer­ den muß. Nach Block 516 oder wenn Block 514 feststellt, daß ein Überlauf nicht aufgetreten ist, geht das Programm weiter zu Block 518.
Mit Bezug als nächstes auf Block 498, wenn festgestellt wird, daß die Daten des Kanal 1 nicht negativ sind, beseitigt Block 500 die letzten zwei signifikanten Bits des Abstandes von Kanal 1 und subtrahiert sie von der Variablen VREF1. Als nächstes nimmt Block 502 die sechs signifikantesten Bits des Kanal 1-Abstandes und subtrahiert sie von der Variablen VCOMP1. Block 504 bestimmt dann, ob ein Unterlauf im Ergebnis der Subtrak­ tion, die in Block 502 ausgeführt wird, aufgetreten ist. Wenn ein Unterlauf aufgetreten ist, dann führt Block 506 das RAIL- Unterprogramm durch, das oben beschrieben worden ist. Nach Block 506 oder wenn Block 504 feststellt, daß kein Unterlauf aufgetreten ist, geht das Programm weiter zu Block 518, welcher bestimmt, ob die Daten von Kanal 2 (Ost/West-Kanal) negativ sind. Diese Daten zeigen sowohl die Richtung wie auch den Abstand an, um welche die Koordinatenebene auf der Y-Achse ver­ schoben werden muß. Wenn sie negativ sind, dann negiert Block 520 den Abstand, um ihn positiv zu machen, und das Programm geht weiter zu Block 530 von Fig. 16B. Wenn Block 518 fest­ stellt, daß die Daten von Kanal 2 nicht negativ sind, dann geht das Programm weiter zu Block 522 von Fig. 163.
Block 522 von Fig. 16B des MOVE2PT-Unterprogramms 496 wird nur betreten, wenn Block 518 von Fig. 16A feststellt, daß die Daten von Kanal 2 nicht negativ sind. Block 522 beseitigt die letzten zwei signifikanten Bits des Abstandes von Kanal 2 und subtra­ hiert sie von der Variablen VREF2. Als nächstes nimmt Block 524 die sechs signifikantesten Bits des Abstandes von Kanal 2 und subtrahiert sie von der Variablen VCOMP2. Die Variable VCOMP2 gibt den Betrag des Kompensationsstromes wieder, der erforder­ lich ist, um den Sensor 46 des Ost/West-Kanals zu korrigieren. Nach Block 524 bestimmt Block 526, ob ein Unterlauf aufgetreten ist als Folge der Subtraktion, die in Block 524 ausgeführt wor­ den ist. Wenn ein Unterlauf aufgetreten ist, dann führt Block 528 das RAIL-Unterprogramm durch, welches dem Fahrer des Fahr­ zeugs anzeigt über die Anzeige 56, daß der Kompaß keine Kali­ brationsmöglichkeit mehr hat, aufgrund eines extrem hohen Betrages des Fahrzeugmagnetismus, was erfordert, daß der Bereich in der Nähe des Kompaß demagnetisiert werden muß. Nach Block 528 oder wenn Block 526 feststellt, daß ein Unterlauf nicht aufgetreten ist, geht das Programm weiter zu Block 538.
Mit Bezug jetzt auf Block 530 wird dieser Block nur betreten, wenn Block 518 von Fig. 16A feststellt, daß die Daten von Kanal 2 negativ waren. Block 530 beseitigt die letzten zwei signifi­ kanten Bits des Abstandes von Kanal 2 und addiert sie auf die Variable VREF2. Als nächstes nimmt Block 532 die sechs signifi­ kantesten Bits des Abstandes von Kanal 2 und addiert sie auf die Variable VCOMP2. Block 534 stellt fest, ob ein Überlauf aufgetreten ist als Folge der Addition, die in Block 532 durch­ geführt worden ist. Wenn ein Überlauf aufgetreten ist, dann führt Block 536 das RAIL-Unterprogramm durch, das oben beschrieben worden ist. Nach Block 536 oder wenn Block 534 feststellt, daß ein Überlauf nicht aufgetreten ist, geht das Programm weiter zu Block 538. Block 538 verschiebt die Variable BSTAT zu ihrem nächsten höheren Wert und führt das DTOA-Unter­ programm durch, welches sicherstellt, daß die Variablen VCOMP1 und VCOMP2 richtig eingestellt sind und liefert Korrektursigna­ le, welche daraus abgeleitet werden, an dem Magnetometer 48, so daß sie an den Sensor 46 angelegt werden. Als nächstes setzt Block 540 die Schreibmarkierung (NVMWRT-Markierung) für den Festspeicher und löscht die Kreisüberkreuzungsdaten, die in dem Kompensationssystem verwendet werden, das in dem US-Patent Nr. 4 953 305 beschrieben ist. Das Unterprogramm wird dann über Block 542 verlassen.
Mit Bezug auf Fig. 17 ist das CORDIC-Unterprogramm 544 gezeigt. Dieses Unterprogramm wird in Block 190 des Hauptkompaßprogramms von Fig. 4D ausgeführt, um die Ausrichtung des Fahrzeugs unter Verwendung der Arcustangensfunktion zu berechnen. Das Programm beginnt mit Block 546, welcher den Arcustangens als Verhältnis der Kompaßdatenwerte, die in den Puffern E1 und E2 gespeichert sind, berechnet. Block 546 speichert das Ergebnis dieser Berechnung in Variable ANG, die die Ausrichtung des Fahrzeugs anzeigt. Das Unterprogramm wird dann über Block 548 verlassen. Fig. 18 zeigt das TWOCLOSE-Unterprogramm 550. Dieses Unterpro­ gramm wird in den Blöcken 202 und 210 des Hauptprogramms von Fig. 4D ausgeführt, um festzustellen, ob das Fahrzeug in nahezu derselben Richtung für vier Sekunden gelaufen ist. Das Unter­ programm beginnt mit Block 552, der die Differenz zwischen dem letzten Nord/Süd-Kanalmittelwert, der in der Variablen LASTE1 gespeichert ist, und dem gegenwärtigen Nord/Süd-Kanalmittelwert berechnet. Als nächstes bestimmt Block 554, ob diese Differenz weniger als der Toleranzwert von drei Zählraten ist. Wenn dies der Fall ist, dann berechnet Block 556 die Differenz zwischen dem letzten Ost/West-Kanalmittelwert, der in der Variablen LASTE2 gespeichert ist, und dem gegenwärtigen Ost/West-Kanal­ mittelwert. Das Programm geht dann weiter zu Block 558, welcher feststellt, ob diese Differenz weniger als drei ist. Wenn dies der Fall ist, dann setzt Block 560 die TWOPTS-Markierung, um anzuzeigen, daß zwei gemittelte Punkte gefunden wurden, die innerhalb von drei Zählraten zueinander liegen. Nach Block 560 oder wenn Block 558 feststellt, daß die in Block 556 berechnete Differenz größer als drei ist, geht das Programm weiter zu Block 562. Ähnlich geht da Programm weiter zu Block 562, wenn Block 554, wie oben erwähnt, feststellt, daß die in Block 552 berechnete Differenz größer als drei ist. Block 562 lädt den gegenwärtigen Kompaßdatenpunkt in die Variablen LASTE1 und LASTE2. Als nächstes bestimmt Block 564, ob das Programm nach einem Startpunkt des Bogens sucht, durch Untersuchung des Sta­ tus der BSTAT-Variablen. Wenn dies der Fall ist, dann speichert Block 566 den gegenwärtigen Kompaßdatenpunkt in E1LOW und E2LOW. Nach Block 566 oder wenn Block 564 feststellt, daß das Programm nicht nach einem Startpunkt des Bogens sucht, wird das Programm über Block 568 verlassen.
Mit Bezug auf Fig. 19 ist das SETLMT-Unterprogramm 570 gezeigt. Dieses Unterprogramm wird in Block 222 des Hauptprogramms 100 von Fig. 4E ausgeführt, um die oberen und unteren horizontalen und vertikalen Grenzen festzulegen, in welchen die Suche nach dem Zentrum des Bogens in der X-Y-Koordinatenebene ausgeführt werden soll. Diese Grenzen basieren auf den Positionen des Startpunktes und des Endpunktes des Bogens, die beide einen Radius entfernt vom Zentrum des Bogens liegen müssen. Das Unterprogramm beginnt mit Block 572, welcher einen Pointer setzt, um auf der X-Achse (Datenachse des Ost/West-Kanals) zu operieren. Als nächstes bestimmt Block 574, ob ExLOW größer als ExHI, wobei x die Zahl 2 ist, wenn die Daten des Ost/West- Kanals verarbeitet werden, und die Zahl 1 ist, wenn die Daten des Nord/Süd-Kanals verarbeitet werden. Wenn ExLOW größer als ExHI ist, dann subtrahiert Block 576 den Radius des Bogens, welcher gleich dem Radius des Kreises für einen kalibrierten Kompaß ist, von ExLOW und speichert das Ergebnis in LLx. Als nächstes addiert Block 578 den Radius des Bogens zu ExHI und speichert das Ergebnis in ULx und das Programm geht weiter zu Block 584. Wenn Block 574 feststellt, daß ExLOW kleiner ist als ExHI, dann subtrahiert Block 580 den Radius des Bogens von ExHI und speichert das Ergebnis in LLx. Als nächstes addiert Block 582 den Radius des Bogens auf ExLOW und speichert das Ergebnis in ULx. Das Programm geht dann weiter zu Block 584, welcher feststellt, ob der Pointer auf die X-Achse (Datenachse des Ost/West-Kanals) gesetzt ist. Wenn dies der Fall ist, dann setzt Block 586 den Pointer auf die Y-Achse (Datenachse des Nord/Süd-Kanals) und das Programm geht zurück zu Block 574, um die Y-Achsengrenzen festzulegen. Wenn Block 584 feststellt, daß der Pointer nicht auf die X-Achse gesetzt ist, dann wird das Unterprogramm über Block 588 verlassen.
Die Fig. 20A und 20B zeigen das CENSRCH-Unterprogramm 590. Das Unterprogramm wird in Block 224 des Hauptprogramms 100 von Fig. 4E ausgeführt, um das Zentrum des Bogens innerhalb der Grenzen, die durch das SETLMT-Unterprogramm 570 festgelegt sind, zu suchen. Das Unterprogramm beginnt mit Block 592, welcher den quadrierten Radius des Bogens berechnet und speichert. Als nächstes richtet Block 594 die Grenzen der verschachtelten Schleife auf der Grundlage der Werte, die in den Variablen LL1, LL2, UL1 und UL2 gespeichert sind, ein. Block 596 führt dann das DIST2PT-Unterprogramm 454 von Fig. 13 aus, um den Abstand von einem bestimmten Punkt innerhalb der festgelegten Grenzen zu dem Startpunkt des Bogens, der in den Variablen E1LOW und E2LOW gespeichert ist, zu berechnen. Bei der Rückkehr von dem DIST2PT-Unterprogramm 454 führt Block 598 eine zwei-Byte-Sub­ traktion des berechneten Abstandes von dem Radius des Bogens aus. Das Programm geht dann weiter zu Block 600, welcher fest­ stellt, ob die Differenz, die in Block 598 berechnet wurde, kleiner als 128 ist, was die vorbestimmte Toleranz ist, inner­ halb welcher die Differenz liegen muß, um für den bestimmten Punkt, der analysiert wird, als mögliches Zentrum des Bogens betrachtet zu werden. Wenn die Differenz nicht kleiner als 128 ist, dann erhöht Block 610 die Schleifenzähler und stellt sicher, daß sie innerhalb der festgelegten Grenzen liegen.
Das Programm geht dann weiter zu Block 612. Wenn Block 600 feststellt, daß die Differenz, die in Block 598 berechnet wurde, kleiner als 128 ist, dann führt Block 602 das DIST2PT- Unterprogramm 454 aus, um den Abstand von dem bestimmten Punkt innerhalb der festgelegten Grenzen zu dem Endpunkt des Bogens, der in den Variablen E1HI und E2HI gespeichert ist, zu berech­ nen. Bei der Rückkehr von dem DIST2PT-Unterprogramm 454 führt Block 604 eine zwei-Byte-Subtraktion des berechneten Abstandes von dem Radius des Bogens aus. Block 606 stellt dann fest, ob die Differenz, die in Block 604 berechnet worden ist, kleiner als 128 ist, was die vorbestimmte Toleranzgrenze ist. Wenn dies nicht der Fall ist, dann geht das Programm weiter zu Block 610, welcher oben beschrieben worden ist. Wenn die Differenz kleiner als 128 ist, dann kombiniert Block 608 die Differenzen, die in den Blöcken 598 und 604 berechnet worden sind, und speichert das Ergebnis sowie die Koordinaten des bestimmten Punktes in dem Hilfspuffer, wenn das Ergebnis kleiner ist als das schon darin gespeicherte Ergebnis. Als solches speichert der Hilfs­ puffer schließlich die Koordinaten des Punktes innerhalb der festgelegten Grenzen, die die kleinsten kombinierten Differen­ zen aufweisen, die in den Blöcken 598 und 604 berechnet werden. Das Programm geht dann weiter zu Block 612, welcher feststellt, ob noch mehr Schleifenzyklen ausgeführt werden müssen, um alle Punkte innerhalb der festgelegten Grenzen zu analysieren. Wenn dies der Fall ist, dann geht das Programm zurück zu Block 596. Wenn keine weiteren Schleifenzyklen mehr ausgeführt werden müs­ sen, dann geht das Programm weiter zu Block 614 von Fig. 20B. Block 614 von Fig. 203 speichert in den Variablen E1C und E2C die Koordinaten des Punktes, der schließlich in dem Hilfspuffer in Block 608 von Fig. 20A gespeichert wurde, welcher der erste potentielle Mittelpunkt des Bogens ist. Block 614 speichert ebenfalls die Koordinaten des ersten potentiellen Mittelpunktes in dem Hilfspuffer und intialisiert die GOODC-Markierung. Als nächstes führt Block 616 das MIDCHK-Unterprogramm 640 durch, um festzustellen, ob der potentielle Mittelpunkt innerhalb einer vorgegebenen Toleranz liegt, so daß er einen Radius weg von dem 45°-Mittelpunkt des Bogens liegt. Dieses Unterprogramm wird unten ausführlich in Bezug auf Fig. 21 beschrieben. Bei der Rückkehr von dem MIDCHK-Unterprogramm 640 geht das Programm weiter zu Block 618, welcher feststellt, ob die GOODC-Markie­ rung gesetzt wurde, was anzeigt, daß das MIDCHK-Unterprogramm festgestellt hat, daß der erste potentielle Mittelpunkt inner­ halb einer vorbestimmten Toleranz liegt, so daß er einen Radius weg von dem 45°-Mittelpunkt des Bogens liegt. Wenn die GOODC- Markierung gesetzt ist, dann speichert Block 620 in dem Hilfs­ puffer den Fehlerwert für den ersten potentiellen Mittelpunkt, der in Block 644 des MIDCHK-Unterprogramms 640 berechnet wurde, welcher den Grad wiedergibt, um welchen der erste potentielle Mittelpunkt innerhalb der oben erwähnten Toleranz liegt. Nach Block 620 oder wenn Block 618 feststellt, daß die GOODC-Markie­ rung nicht gesetzt wurde, geht das Programm weiter zu Block 622, welcher den zweiten potentiellen Mittelpunkt des Bogens unter Verwendung der Symmetrie berechnet. Der zweite potenti­ elle Mittelpunkt ist symmetrisch zum ersten potentiellen Mit­ telpunkt in Bezug auf die Segmentlinie, die den Startpunkt und den Endpunkt des Bogens verbindet. Block 622 speichert die Koordinaten des zweiten potentiellen Zentrumpunktes in den Variablen E1C und E2C. Als nächstes bestimmt Block 624 erneut den Status der GOODC-Markierung auf der Grundlage der Durchfüh­ rung des MIDCHK-Unterprogramms 640 in Block 616. Wenn die GOODC-Markierung gelöscht ist, was anzeigt, daß der erste potentielle Zentrumspunkt außerhalb einer vorgegebenen Toleranz liegt, dann führt Block 626 das MIDCHK-Unterprogramm 640 von Fig. 21 aus, unter Verwendung der Koordinaten des zweiten potentiellen Zentrumpunktes des Bogens. Bei der Rückkehr von dem MIDCHK-Unterprogramm verläßt das Programm das Unterprogramm über den Block 638. Wenn Block 624 feststellt, daß die GOODC- Markierung gesetzt ist, dann initialisiert Block 628 die GOODC- Markierung und führt das MIDCHK-Unterprogramm 640 aus, unter Verwendung der Koordinaten des zweiten potentiellen Zentrums­ punktes des Bogens. Bei der Rückkehr von dem MIDCHK-Unterpro­ gramm bestimmt Block 630, ob die GOODC-Markierung gesetzt wurde, was anzeigt, daß der zweite potentielle Zentrumspunkt innerhalb einer vorgegebenen Toleranz liegt, so daß es einen Radius weg von dem 45°-Mittelpunkt des Bogens liegt. Wenn die GOODC-Markierung gesetzt ist, dann speichert Block 632 in dem Hilfspuffer den Fehlerwert für den zweiten potentiellen Zen­ trumspunkt, der in Block 644 des MIDCHK-Unterprogramms 640 berechnet wird, welcher den Grad wiedergibt, um welchen der zweite potentielle Zentrumspunkt innerhalb der oben erwähnten Toleranz liegt. Nach Block 632 oder wenn Block 630 feststellt, daß die GOODC-Markierung gelöscht ist, geht das Programm weiter zu Block 634. Block 634 stellt fest, ob der Fehlerwert für den ersten potentiellen Zentrumspunkt größer ist als der Fehlerwert für den zweiten potentiellen Zentrumspunkt. Wenn dies der Fall ist, dann sind die Koordinaten des zweiten potentiellen Zen­ trumspunktes, die in den Variablen E1C und E2C gespeichert sind, das Zentrum des Bogens, und das Unterprogramm wird über Block 638 verlassen. Wenn Block 634 feststellt, daß der Fehler­ wert des ersten potentiellen Zentrumspunktes kleiner ist als der Fehlerwert für den zweiten potentiellen Zentrumspunkt, dann speichert Block 636 die Koordinaten des ersten potentiellen Zentrumspunktes, die in dem Hilfspuffer von Block 614 gespei­ chert sind, in die Variablen E1C und E2C als Zentrumspunkt des Bogens. Block 636 setzt ebenfalls die GOODC-Markierung und das Unterprogramm wird über Block 638 verlassen.
Das MIDCHK-Unterprogramm 640 ist in Fig. 21 gezeigt. Dieses Unterprogramm wird in den Blöcken 616, 626 und 628 von Fig. 20B des CENSRCH-Unterprogramms 590 ausgeführt, um festzustellen, ob der potentielle Zentrumspunkt innerhalb einer vorbestimmten Toleranz liegt, so daß es einen Radius weg von dem 45°-Mittel­ punkt liegt. Das Unterprogramm beginnt mit Block 642, welcher das DIST2PT-Unterprogramm 454 von Fig. 13 ausführt, um den Abstand zwischen dem potentiellen Zentrumspunkt, der in den Variablen E1C und E2C gespeichert ist, und dem Mittelpunkt, der in den Variablen E1MID und E2MID gespeichert ist, zu berechnen. Bei der Rückkehr von dem DIST2PT-Unterprogramm 454 bestimmt Block 644, ob der quadrierte Abstand, der in Block 642 berech­ net ist, innerhalb von 32 Zählraten des quadrierten Radius des Bogens liegt, welcher gleich ist zu dem Radius des Bogens für einen kalibrierten Kompaß. Wenn dies innerhalb der vorgegebenen Toleranzgrenze der Fall ist, dann setzt Block 646 die GOODC- Markierung, um anzuzeigen, daß ein "guter" potentieller Zen­ trumspunkt gefunden wurde. Nach Block 646 oder wenn Block 644 feststellt, daß das Quadrat des Abstandes, der in Block 642 berechnet wurde, nicht innerhalb von 32 Zählraten des qua­ drierten Radius liegt, wird das Unterprogramm über Block 648 verlassen.
Mit Bezug auf Fig. 22 ist das GAINVRT-Unterprogramm 650 gezeigt. Dieses Unterprogramm wird in Block 228 des Hauptpro­ gramms 100 von Fig. 4E ausgeführt und kehrt die Effekte des MAKEQU-Unterprogramms von Fig. 6 um, welches verwendet wird, um die elliptischen Daten kreisförmig zu machen. Durch Entfernen von allen Multiplikationsfaktoren, die verwendet werden, um die Kompaßdaten kreisförmig zu machen, gibt dieses Unterprogramm die Daten in ihrer ursprünglichen Form wieder und erleichtert dadurch die nachfolgende Manipulation dieser Daten. Das Unter­ programm beginnt mit Block 642, welches feststellt, ob der GAIN-Wert auf den Kompaßkanaldaten in Puffer E1 operiert. Wenn dies der Fall ist, speichert Block 654 die Koordinaten der Variablen E1C in die temporären Speichervariablen ATEMP und XTEMP. Als nächstes führt Block 656 das MULT-Unterprogramm 324 von Fig. 6 auf der Variablen ATEMP aus. Bei der Rückkehr von dem MULT-Unterprogramm 324 bestimmt Block 658, ob das Ergebnis größer ist als die Variable XTEMP. Wenn dies nicht der Fall ist, vermindert Block 662 die Variable ATEMP und das Programm geht zurück zu Block 656. Wenn Block 658 feststellt, daß das Ergebnis von Block 656 größer ist als die Variable XTEMP, dann ersetzt Block 660 die Variable E1C durch die Variable ATEMP, und das Programm geht weiter zu Block 674, welcher das Unter­ programm verläßt. Wenn Block 652 feststellt, daß der GAIN-wert nicht auf den Kompaßkanaldaten in Puffer E1 operiert, dann speichert Block 664 die Koordinaten der Variablen E2C in die temporären Speichervariablen ATEMP und XTEMP. Als nächstes führt Block 660 das MULT-Unterprogramm 324 auf der Variablen ATEMP aus. Bei der Rückkehr von dem MULT-Unterprogramm 324 bestimmt Block 668, ob das Ergebnis größer ist als die Variable XTEMP. Wenn das nicht der Fall ist, dann vermindert Block 670 die Variable ATEMP und das Programm geht zurück zu Block 666. Wenn Block 668 feststellt, daß das Ergebnis von Block 666 grö­ ßer ist als die Variable XTEMP, dann ersetzt Block 672 die Variable E2C durch die Variable ATEMP, und das Unterprogramm wird über Block 674 verlassen.
Wie oben beschrieben wurde, umfaßt die Programmierung der bevorzugten Ausführungsform der vorliegenden Erfindung das Kom­ paßkompensationssystem von US-Patent Nr. 4 953 305, wenn eine Änderung in dein Fahrzeugmagnetismus dazu führt, daß die anschließende Aufzeichnung der digitalen Sensordaten innerhalb einer bestimmten Schwelle liegt. Jedoch können die Flußdia­ gramme der Fig. 4 bis 22 so modifiziert werden, daß das oben beschriebene Verfahren zur Korrektur von abrupten und signifi­ kanten Änderungen im Fahrzeugmagnetismus verwendet werden kann, damit alle Änderungen im Fahrzeugmagnetismus, die den Kompaßbe­ trieb nachteilig beeinflussen, kompensiert werden. In dieser alternativen Ausführungsform ist die Schwelle, gegenüber wel­ cher die Aufzeichnung der digitalen Sensordaten verglichen wer­ den, vermindert in Bezug auf die der bevorzugten Ausführungs­ form, so daß jede Verschiebung im Fahrzeugmagnetismus, die den Kompaßbetrieb nachteilig beeinflußt, dazu führt, daß die Auf­ zeichnung der digitalen Sensordaten außerhalb dieser Schwelle liegt, und der Kompaß kalibriert wird.
Zusätzlich zur Vorsehung einer Kompensation für abrupte und signifikante Änderungen im Fahrzeugmagnetismus während der nor­ malen Betriebsbedingungen eines Fahrzeugs liefert das Kompaß­ system der vorliegenden Erfindung ebenfalls ein bequemes Ver­ fahren zur Kompensation des anfänglichen Fahrzeugmagnetismus eines neuen Fahrzeugs. Dieses Verfahren umfaßt das Vorladen des Mikroprozessors 50 vor oder bei der Installation in das Fahr­ zeug mit allen notwendigen Daten, so daß das System voreinge­ stellt ist für den Vorgang des Wiederherstellens nach einer abrupten und signifikanten Änderung im Fahrzeugmagnetismus. Zunächst umfaßt dies das Feststellen der Erdmagnetfeldstärke und das Setzen der Variablen BSTAT auf 1. Nach der Voreinstel­ lung in den Wiederherstellungsmodus kalibriert sich das Kompaß­ system automatisch selbst, nachdem das Fahrzeug seine Bewe­ gungsrichtung um mehr als einen vorbestimmten Betrag geändert hat, welcher in der bevorzugten Ausführungsform 80° beträgt. Dieses Verfahren der Kalibration kann einfach eingerichtet wer­ den, um den anfänglichen Fahrzeugmagnetismus eines neuen Fahr­ zeuges zu kompensieren durch Festlegen eines gekrümmten Weges, entweder am Ausgang der Fahrzeugproduktionsfabrik oder am Geschäftsort des Händlers, auf welchem das neue Fahrzeug gefah­ ren wird, so daß die Bewegungsrichtung um den vorbestimmten Betrag geändert wird und der Kompaß schnell kalibriert wird.
Die vorliegende Erfindung liefert ein beträchtlich verbessertes Kompaßsystem, welches genauere Ausrichtungsinformationen über verschiedene Betriebsbedingungen liefert. Insbesondere liefert die vorliegende Erfindung die automatische Kalibration eines Fahrzeugkompasses, die abrupte und signifikante Änderungen im Fahrzeugmagnetismus während des normalen Betriebs des Fahrzeugs kompensiert. Weiterhin ist ein System und ein Verfahren angege­ ben, durch welche der anfängliche Fahrzeugmagnetismus eines neuen Fahrzeugs effizient kompensiert werden kann. In der bevorzugten Ausführungsform der vorliegenden Erfindung ist ein System angegeben, welches alle Änderungen im Fahrzeugmagnetis­ mus, die nachteilig für den richtigen Kompaßbetrieb sind, kom­ pensiert werden.
Die vorliegende Beschreibung betrifft nur die bevorzugten Aus­ führungsformen. Änderungen der Erfindung werden dem Fachmann und denjenigen, die die Erfindung verwenden, einfallen. Daher ist es selbstverständlich, daß die in den Zeichnungen gezeigten und oben beschriebenen Ausführungsformen nicht gegeben sind, um den Rahmen der Erfindung zu beschränken, der durch die folgen­ den Ansprüche definiert ist, die gemäß den Prinzipien des Patentgesetzes zu interpretieren sind.

Claims (44)

1. Elektrisches Schnellkalibrationskompaßsystem zur Verwen­ dung in einem Fahrzeug, wie beispielsweise einem Automo­ bil, umfassend:
einen Magnetfeldsensor zum Detektieren des Erdmagnetfeldes und zum Liefern von elektrischen Signalen, die die Rich­ tung des Fahrzeuges in Bezug auf das Erdmagnetfeld wieder­ geben;
einen Verarbeitungsschaltkreis, der mit dem Sensor gekop­ pelt ist, zum Verarbeiten der Signale von dem Sensor und zum Liefern von Anzeigeausgangssignalen in Antwort darauf;
einen Anzeigeschaltkreis, der mit dem Verarbeitungsschalt­ kreis gekoppelt ist und der auf die Anzeigeausgangssignale empfindlich ist, zur Anzeige der Fahrzeugausrichtung; und wobei
der Verarbeitungsschaltkreis empfindlich ist auf die Signale von dem Sensor, währenddessen die Änderung der Fahrzeugrichtung kleiner ist, als eine geschlossene Schleife, zum Feststellen, ob die detektierten Signalpegel von dem Sensor entsprechend der Wirkung des Erdmagnetfel­ des und der Wirkung des Fahrzeugmagnetismus von dem Sensor sich in der Weise verschoben haben, daß die Signalpegel außerhalb einer vorbestimmten Schwelle liegen, wobei der Verarbeitungsschaltkreis empfindlich ist auf die Feststel­ lung zur Berechnung von Kompensationssignalen, um die detektierten Signalpegel in der Weise einzustellen, daß die detektierten Signalpegel innerhalb der vorbestimmten Schwelle liegen, und zum Korrigieren der Anzeigeausgangs­ signale, um die Fahrzeugausrichtung anzuzeigen.
2. System nach Anspruch 1, worin der Verarbeitungsschaltkreis die detektierten Signalpegel, nach der Feststellung, daß die Bewegungsrichtung des Fahrzeuges sich um einen vorbestimmten Betrag geändert hat, einstellt.
3. System nach Anspruch 2, worin der vorbestimmte Betrag einer Aufzeichnung der detektierten Signalpegel von dem Sensor entspricht, der einen Bogen erzeugt, welcher einen vorbestimmten Winkel überspannt.
4. System nach Anspruch 3 worin der vorbestimmte Winkel min­ destens 80° beträgt.
5. System nach Anspruch 3, worin der Bogen einen Startpunkt, einen Zwischenpunkt und einen Endpunkt aufweist.
6. System nach Anspruch 5, worin der Zwischenpunkt dem Punkt entspricht, bei welchem der Bogen einen zweiten vorbe­ stimmten Winkel überspannt.
7. System nach Anspruch 6, worin der zweite vorbestimmte Win­ kel mindestens 45° beträgt.
8. System nach Anspruch 5, worin der Startpunkt, der Zwi­ schenpunkt und der Endpunkt verwendet werden, um das Zen­ trum des Bogens zu bestimmen.
9. System nach Anspruch 8, worin der Verarbeitungsschaltkreis die Kompensationskorrektursignale an den Sensor anlegt, so daß die Signale von dem Sensor einen Bogen definieren, wenn das Fahrzeug sich dreht, wobei der Bogen ein Zentrum aufweist, welches dem eines kompensierten Kompasses ent­ spricht.
10. System nach Anspruch 1, worin der Verarbeitungsschaltkreis die detektierten Signalpegel sowohl vor wie auch nach der Feststellung, daß die Bewegungsrichtung des Fahrzeugs sich um einen vorbestimmten Betrag geändert hat, einstellt.
11. System nach Anspruch 1, worin die Kompensationssignale der detektierten Signalpegel so eingestellt werden, daß die detektierten Signalpegel im wesentlichen mit den Signal­ pegeln übereinstimmen, die detektiert wurden, bevor die Verschiebung aufgetreten ist.
12. System nach Anspruch 11, worin der Verarbeitungsschalt­ kreis die detektierten Signalpegel nach der Feststellung, daß die Bewegungsrichtung des Fahrzeugs sich um einen vor­ bestimmten Betrag geändert hat, einstellt.
13. System nach Anspruch 1, worin der Verarbeitungsschaltkreis einen Mikroprozessor umfaßt.
14. System nach Anspruch 13, worin der Magnetfeldsensor eine induktive Meßsonde ist.
15. System nach Anspruch 1, worin die vorbestimmte Schwelle eine detektierte Magnetfeldänderung von mindestens 100 Milligauss ist.
16. Elektrisches Schnellkalibrationskompaßsystem zur Verwen­ dung in einem Fahrzeug, wie beispielsweise einem Automo­ bil, umfassend:
einen Magnetfeldsensor zum Detektieren des Erdmagnetfeldes und zum Liefern von elektrischen Signalen, die die Rich­ tung des Fahrzeuges in Bezug auf das Erdmagnetfeld wieder­ geben;
einen Verarbeitungsschaltkreis, der mit dem Sensor gekop­ pelt ist, zum Verarbeiten von Signalen von dem Sensor und zum Liefern von Anzeigeausgangssignalen in Antwort darauf;
einen Anzeigeschaltkreis, der mit dem Verarbeitungsschalt­ kreis gekoppelt ist und auf die Anzeigeausgangssignale empfindlich ist, zum Anzeigen der Fahrzeugausrichtung; und wobei
der Verarbeitungsschaltkreis auf die Signale von dem Sen­ sor empfindlich ist zum Feststellen, daß die detektierten Signalpegel von dem Sensor entsprechend der Wirkung des Erdmagnetfeldes und der Wirkung des Fahrzeugmagnetismus auf den Sensor sich in der Weise verschoben haben, daß die Signalpegel außerhalb einer vorbestimmten Schwelle für eine vorbestimmte Wegstrecke des Fahrzeugs liegen, wobei der Verarbeitungsschaltkreis empfindlich ist auf die Feststellung zum Berechnen der Kompensationssignale, um die detektierten Signalpegel in der Weise einzustellen, daß die detektierten Signalpegel innerhalb der vorbestimmten Schwelle liegen, und zum Korrigieren der Anzeigeausgangssignale, um die Fahrzeugausrichtung anzu­ zeigen.
17. System nach Anspruch 16, worin die vorbestimmte Strecke von 1/8 bis 1/4 Meile reicht.
18. System nach Anspruch 16, worin der Verarbeitungsschalt­ kreis die detektierten Signalpegel nach der Feststellung, daß die Bewegungsrichtung des Fahrzeuges sich um einen vorbestimmten Betrag geändert hat, einstellt.
19. System nach Anspruch 18, worin der vorbestimmte Betrag eine Aufzeichnung der detektierten Signalpegel von dem Sensor entspricht, der einen Bogen erzeugt, welcher einen bestimmten Winkel überspannt.
20. System nach Anspruch 19, worin der vorbestimmte Winkel mindestens 80° beträgt.
21. System nach Anspruch 16, worin der Verarbeitungsschaltkreis einen Mikroprozessor umfaßt.
22. System nach Anspruch 16, worin der Magnetfeldsensor eine induktive Meßsonde ist.
23. System nach Anspruch 16, worin die vorbestimmte Schwelle eine detektierte Magnetfeldänderung von mindestens 100 Milligauss ist.
24. Elektrisches Schnellkalibrationskompaßsystem zur Verwen­ dung in einem Fahrzeug, wie beispielsweise einem Automo­ bil, umfassend:
Sensoreinrichtung zum Detektieren des Erdmagnetfeldes und zum Liefern von elektrischen Signalen, die die Richtung des Fahrzeuges in Bezug auf das Erdmagnetfeld wiedergeben;
Schaltkreiseinrichtung, die mit der Sensoreinrichtung gekoppelt ist, zum Verarbeiten von Signalen davon und zum Liefern von Anzeigeausgangssignalen in Antwort darauf;
Anzeigeeinrichtung, die mit der Schaltkreiseinrichtung gekoppelt ist und auf die Anzeigeausgangssignale empfindlich ist, zum Anzeigen der Fahrzeugausrichtung; und wobei
die Schaltkreiseinrichtung eine Bestimmungseinrichtung umfaßt, welche auf Signale von der Sensoreinrichtung empfindlich ist, währenddessen die Änderung der Richtung des Fahrzeuges kleiner ist als eine geschlossene Schleife, zum Feststellen, wenn die detektierten Signalpegel von der Sensoreinrichtung entsprechend der Wirkung des Erdmagnet­ feldes in der Wirkung des Fahrzeugmagnetismus auf die Sen­ soreinrichtung sich in der Weise geändert haben, daß die Signalpegel eine vorbestimmte Schwelle überschreiten,
wobei die Schaltkreiseinrichtung weiterhin eine Einrich­ tung zum Berechnen von Kompensationssignalen in Antwort auf die Bestimmungseinrichtung umfaßt, zum Einstellen der detektierten Signalpegel, so daß die Signale innerhalb der vorbestimmten Schwelle liegen, und die sich ergebenden Anzeigeausgangssignale an die Anzeige angelegt werden, zum Anzeigen der richtigen Fahrzeugausrichtung.
25. System nach Anspruch 24, worin die Bestimmungseinrichtung feststellt, daß die detektierten Signalpegel von der Sen­ soreinrichtung außerhalb der vorbestimmten Schwelle für eine vorbestimmte Wegstrecke des Fahrzeuges liegen, vor der Berechnung der Kompensationssignale.
26. System nach Anspruch 25, worin die vorbestimmte Strecke von 1/8 bis 1/4 Meile reicht.
27. System nach Anspruch 24, worin die Schaltkreiseinrichtung die detektierten Signalpegel einstellt, nachdem Schalt­ kreiseinrichtung feststellt, daß die Bewegungsrichtung des Fahrzeuges sich um einen vorbestimmten Betrag geändert hat.
28. System nach Anspruch 27, worin der vorbestimmte Betrag mindestens ein Bogen von 80° ist.
29. System nach Anspruch 24, worin die vorbestimmte Schwelle eine detektierte Magnetfeldänderung von mindestens 100 Milligauss ist.
30. Elektrisches Schnellkalibrationskompaßsystem zur Verwen­ dung in einem Fahrzeug, wie beispielsweise einem Automo­ bil, umfassend:
einen Magnetfeldsensor zum Detektieren des Erdmagnetfeldes und zum Liefern von elektrischen Signalen, die die Rich­ tung des Fahrzeuges in Bezug auf das Erdmagnetfeld wieder­ geben;
einen Verarbeitungsschaltkreis, der mit dem Sensor gekop­ pelt ist, zum Verarbeiten der Signale davon und zum Lie­ fern von Anzeigeausgangssignalen in Antwort darauf;
einen Anzeigeschaltkreis, der mit dem Verarbeitungsschalt­ kreis gekoppelt ist und auf die Anzeigeausgangssignale empfindlich ist, zum Anzeigen der Fahrzeugausrichtung; und wobei
der Verarbeitungsschaltkreis auf die Signale von dem Sen­ sor empfindlich ist, währenddessen die Änderung der Richtung des Fahrzeuges weniger als eine geschlossen Schleife ist, zum Überwachen der Signale von dem Sensor, die der Wirkung des Erdmagnetfeldes und der Wirkung des Fahrzeugmagnetismus auf den Sensor entsprechen, zum Feststellen, wenn die detektierten Signalpegel sich in der Weise verschoben haben, daß die Signalpegel außerhalb einer vorbestimmten Schwelle für eine vorbestimmte Wegstrecke des Fahrzeuges liegen, wobei der Verarbeitungsschaltkreis auf die Bestimmung anspricht, zum Berechnen von Kompensationssignalen, um die detektierten Signalpegel einzustellen, nachdem der Verarbeitungsschaltkreis detektiert, daß die Bewegungs­ richtung des Fahrzeuges sich um einen vorbestimmten Betrag geändert hat, so daß die detektierten Signalpegel inner­ halb der Schwelle liegen und im wesentlichen mit gespei­ cherten Signalpegeln vor dem Auftreten der Verschiebung übereinstimmen.
31. System nach Anspruch 30, worin die vorbestimmte Schwelle eine detektierte Magnetfeldänderung von mindestens 100 Milligauss ist.
32. System nach Anspruch 30, worin die vorbestimmte Strecke von 1/8 bis 1/4 Meile reicht.
33. System nach Anspruch 30, worin die Bewegungsrichtung ein Bogen ist von mindestens 80°.
34. Elektrisches Kompaßsystem zur Verwendung in einem Fahrzeug mit einem Sensor zum Detektieren eines Magnetfeldes und zum Liefern von Ausgangssignalen, die dieses wiedergeben, einem Verarbeitungsschaltkreis, der mit dem Sensor gekop­ pelt ist, zum Verarbeiten der Signale und zum Liefern von Anzeigeausgangssignalen in Antwort darauf, und einem Anzeigeschaltkreis, der mit dem Verarbeitungsschaltkreis gekoppelt ist und auf die Anzeigeausgangssignale empfindlich ist, zum Anzeigen der Fahrzeugausrichtung, wobei der Verarbeitungsschaltkreis stetig die Signalinformation von dem Sensor überwacht, wenn das Fahrzeug sich entlang eines Weges bewegt, zum Bestimmen der maximalen und minimalen detektierten Signalpegel von dem Sensor, entsprechend der Wirkung des Erdmagnetfeldes und der Wirkung des Fahrzeugmagnetismus auf den Sensor, und während des Verlaufens der Bewegung des Fahrzeuges entlang des Weges aus dem maximalen und minimalen detektierten Signalpegel ein Versatzsignal berechnet zum Liefern von Kompensationssignalen, um die richtige Fahrzeugausrichtung anzuzeigen; worin die Verbesserung umfaßt:
der Verarbeitungsschaltkreis programmiert ist, um große Änderungen im Fahrzeugmagnetismus aufgrund von lokalen Magnetfeldinterferenzen zu kompensieren durch Detektieren, währenddessen die Änderung der Fahrzeugrichtung kleiner als eine geschlossene Schleife ist, wenn die Sensorsignal­ pegel sich in der Weise verschoben haben, daß die Signal­ pegel außerhalb einer vorbestimmten Schwelle liegen, die eine abnormale Änderung im Fahrzeugmagnetismus anzeigt, wobei der Verarbeitungsschaltkreis auf die Detektierung empfindlich ist, zum Berechnen von Kompensationssignalen, um die Sensorsignalpegel in der Weise einzustellen, daß die Signalpegel innerhalb der Schwelle liegen, und um die richtige Ausrichtung des Fahrzeuges anzuzeigen.
35. System nach Anspruch 34, worin der Verarbeitungsschalt­ kreis empfindlich ist auf den Sensor zum Feststellen, daß die Signalpegel von dem Sensor außerhalb der vorbestimmten Schwelle für eine vorbestimmte Wegstrecke des Fahrzeuges liegen.
36. System nach Anspruch 35, worin der Verarbeitungsschalt­ kreis die Sensorsignalpegel einstellt, nachdem der Ver­ arbeitungsschaltkreis feststellt, daß die Bewegungsrich­ tung des Fahrzeuges sich um einen vorbestimmten Betrag geändert hat.
37. System nach Anspruch 36, worin der vorbestimmte Betrag der Bewegungsrichtungsänderung des Fahrzeuges mindestens 80° beträgt.
38. System nach Anspruch 34, worin die vorbestimmte Schwelle eine detektierte Magnetfeldänderung von mindestens 100 Milligauss ist.
39. System nach Anspruch 34, worin der Verarbeitungsschalt­ kreis einen Mikroprozessor umfaßt.
40. System nach Anspruch 34, worin der Sensor eine induktive Meßsonde ist.
41. Verfahren zum schnellen Kompensieren eines elektronischen Kompaß eines Fahrzeugs aufgrund von Effekten einer schnel­ len und abnormalen Änderung in den Fahrzeugmagnetismen, umfassend:
Programmieren eines Verarbeitungsschaltkreises, um die Signale von dem Magnetfeldsensor entsprechend der Wirkung des Erdmagnetfeldes und der Wirkung der Fahrzeugmagnetis­ men auf den Sensor zu detektieren;
Fahren des Fahrzeugs entlang eines gekrümmten Weges, so daß die Bewegungsrichtung des Fahrzeuges um einen vorbe­ stimmten Betrag geändert wird; und
wobei der Verarbeitungsschaltkreis Kompensationssignale erzeugt zum Einstellen von Signalpegeln von dem Sensor, so daß die Signalpegel innerhalb einer Toleranz von vorbe­ stimmten Signalpegeln liegen, die einen kalibrierten Magnetfeldsensor wiedergeben.
42. Verfahren nach Anspruch 41, worin der gekrümmte Weg durch einen Winkel von mindestens 80° geht.
43. Steuerungs- und Anzeigemodul zur Verwendung in einem Fahr­ zeug, wie beispielsweise einem Automobil, umfassend:
ein Fahrzeuggehäuse;
ein elektronisches Kompaßsystem, das in dem Gehäuse unter­ gebracht ist und ein Magnetfeldsensor aufweist zum Detek­ tieren des Erdmagnetfeldes und zum Liefern von elektri­ schen Signalen, die die Richtung des Fahrzeuges in Bezug auf das Erdmagnetfeld wiedergeben, und eine Anzeige zum Anzeigen der Fahrzeugausrichtung; und
einen lernfähigen Garagentoröffnungssender.
DE19622394A 1995-06-05 1996-06-04 Fahrzeugkompaßsystem mit automatischer Kalibration Ceased DE19622394A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/462,468 US5737226A (en) 1995-06-05 1995-06-05 Vehicle compass system with automatic calibration

Publications (1)

Publication Number Publication Date
DE19622394A1 true DE19622394A1 (de) 1996-12-12

Family

ID=23836514

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19622394A Ceased DE19622394A1 (de) 1995-06-05 1996-06-04 Fahrzeugkompaßsystem mit automatischer Kalibration

Country Status (4)

Country Link
US (1) US5737226A (de)
JP (1) JPH08334328A (de)
DE (1) DE19622394A1 (de)
GB (1) GB2301900B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017216425B3 (de) 2017-09-15 2019-01-10 Audi Ag Verfahren zur Ermittlung einer geodätischen Positionsinformation eines Kraftfahrzeugs und Kraftfahrzeug

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5910854A (en) 1993-02-26 1999-06-08 Donnelly Corporation Electrochromic polymeric solid films, manufacturing electrochromic devices using such solid films, and processes for making such solid films and devices
US6822563B2 (en) 1997-09-22 2004-11-23 Donnelly Corporation Vehicle imaging system with accessory control
US5877897A (en) 1993-02-26 1999-03-02 Donnelly Corporation Automatic rearview mirror, vehicle lighting control and vehicle interior monitoring system using a photosensor array
US5668663A (en) 1994-05-05 1997-09-16 Donnelly Corporation Electrochromic mirrors and devices
US6891563B2 (en) 1996-05-22 2005-05-10 Donnelly Corporation Vehicular vision system
US7655894B2 (en) 1996-03-25 2010-02-02 Donnelly Corporation Vehicular image sensing system
US6014610A (en) * 1997-01-31 2000-01-11 Greenfield Enterprises, Inc Navigation system and method
US5889338A (en) * 1997-06-09 1999-03-30 Richmond; Tom A. Demagnetizing apparatus for an automotive engine
US6172613B1 (en) 1998-02-18 2001-01-09 Donnelly Corporation Rearview mirror assembly incorporating vehicle information display
US6087953A (en) 1998-02-18 2000-07-11 Donnelly Corporation Rearview mirror support incorporating vehicle information display
US6326613B1 (en) 1998-01-07 2001-12-04 Donnelly Corporation Vehicle interior mirror assembly adapted for containing a rain sensor
US8294975B2 (en) 1997-08-25 2012-10-23 Donnelly Corporation Automotive rearview mirror assembly
US6124886A (en) 1997-08-25 2000-09-26 Donnelly Corporation Modular rearview mirror assembly
US6047237A (en) * 1997-12-10 2000-04-04 Prince Corporation Compass precalibration method
US6690268B2 (en) * 2000-03-02 2004-02-10 Donnelly Corporation Video mirror systems incorporating an accessory module
US8288711B2 (en) 1998-01-07 2012-10-16 Donnelly Corporation Interior rearview mirror system with forwardly-viewing camera and a control
US6445287B1 (en) 2000-02-28 2002-09-03 Donnelly Corporation Tire inflation assistance monitoring system
US6329925B1 (en) 1999-11-24 2001-12-11 Donnelly Corporation Rearview mirror assembly with added feature modular display
US6693517B2 (en) * 2000-04-21 2004-02-17 Donnelly Corporation Vehicle mirror assembly communicating wirelessly with vehicle accessories and occupants
US6553308B1 (en) * 1999-04-29 2003-04-22 Donnelly Corporation Vehicle-based navigation system with smart map filtering, portable unit home-base registration and multiple navigation system preferential use
US6477464B2 (en) 2000-03-09 2002-11-05 Donnelly Corporation Complete mirror-based global-positioning system (GPS) navigation solution
JP3782664B2 (ja) * 1999-03-02 2006-06-07 ジェンテクス・コーポレーション 自動車用のバックミラー組立体およびバックミラー組立体用の傾き検出器
US6023229A (en) * 1999-03-02 2000-02-08 Gentex Corp Rearview mirror with internally-mounted compass sensor
US6513252B1 (en) 1999-04-08 2003-02-04 Donnelly Corporation Vehicle compass compensation
US6301794B1 (en) * 1999-05-27 2001-10-16 Johnson Controls, Inc. Vehicle compass system with continuous automatic calibration
US6418376B1 (en) * 1999-08-30 2002-07-09 Johnson Controls Technology Company Method and apparatus to maintain compass heading with a moveable sensor mounting
US7370983B2 (en) 2000-03-02 2008-05-13 Donnelly Corporation Interior mirror assembly with display
US7167796B2 (en) 2000-03-09 2007-01-23 Donnelly Corporation Vehicle navigation system for use with a telematics system
US7855755B2 (en) 2005-11-01 2010-12-21 Donnelly Corporation Interior rearview mirror assembly with display
US6396408B2 (en) * 2000-03-31 2002-05-28 Donnelly Corporation Digital electrochromic circuit with a vehicle network
US6760678B1 (en) 2000-04-11 2004-07-06 Electronics Tomorrow Limited Electronic compass
US7255451B2 (en) 2002-09-20 2007-08-14 Donnelly Corporation Electro-optic mirror cell
US7581859B2 (en) 2005-09-14 2009-09-01 Donnelly Corp. Display device for exterior rearview mirror
AU2002251807A1 (en) 2001-01-23 2002-08-19 Donnelly Corporation Improved vehicular lighting system for a mirror assembly
US6651003B2 (en) 2001-07-30 2003-11-18 Innovative Design Solutions, Inc. Method of automatic continuous calibration for an electric compass
US7697027B2 (en) 2001-07-31 2010-04-13 Donnelly Corporation Vehicular video system
US6882287B2 (en) 2001-07-31 2005-04-19 Donnelly Corporation Automotive lane change aid
DE10157377B4 (de) * 2001-11-22 2005-10-06 Daimlerchrysler Ag Fahrzeugdatenbussystem mit Sensormodul
US6968273B2 (en) 2002-03-01 2005-11-22 Gentex Corporation Electronic compass system
US7149627B2 (en) * 2002-03-01 2006-12-12 Gentex Corporation Electronic compass system
US6946978B2 (en) * 2002-04-25 2005-09-20 Donnelly Corporation Imaging system for vehicle
US6918674B2 (en) 2002-05-03 2005-07-19 Donnelly Corporation Vehicle rearview mirror system
AU2003225228A1 (en) 2002-05-03 2003-11-17 Donnelly Corporation Object detection system for vehicle
US7329013B2 (en) 2002-06-06 2008-02-12 Donnelly Corporation Interior rearview mirror system with compass
WO2003105099A1 (en) * 2002-06-06 2003-12-18 Donnelly Corporation Interior rearview mirror system with compass
US7274501B2 (en) 2002-09-20 2007-09-25 Donnelly Corporation Mirror reflective element assembly
US7310177B2 (en) 2002-09-20 2007-12-18 Donnelly Corporation Electro-optic reflective element assembly
US20040225511A1 (en) * 2003-05-07 2004-11-11 Gould Mark B. Method for phone solicitations
US7289037B2 (en) 2003-05-19 2007-10-30 Donnelly Corporation Mirror assembly for vehicle
US7116096B2 (en) * 2003-08-13 2006-10-03 Bendix Commercial Vehicle Systems Llc Vehicle direction detection using tone ring
US7446924B2 (en) 2003-10-02 2008-11-04 Donnelly Corporation Mirror reflective element assembly including electronic component
US7308341B2 (en) 2003-10-14 2007-12-11 Donnelly Corporation Vehicle communication system
US7248983B2 (en) * 2004-04-07 2007-07-24 Siemens Vdo Automotive Corporation Electronic compass and method of controlling an electronic compass using independent calibration and compass heading modules
US7260896B2 (en) * 2004-04-07 2007-08-28 Siemens Vdo Automotive Corporation Electronic compass and method of calibration
US7526103B2 (en) 2004-04-15 2009-04-28 Donnelly Corporation Imaging system for vehicle
WO2006011276A1 (ja) 2004-07-23 2006-02-02 Yamaha Corporation 方位処理装置、方位処理方法、方位処理プログラム、方位測定装置、傾斜オフセットの補正方法、方位計測方法、方位センサユニット及び携帯電子機器
US8065083B2 (en) * 2004-07-23 2011-11-22 Yamaha Corporation Azimuth processing device, azimuth processing method, azimuth processing program, direction finding device, tilt offset correcting method, azimuth measuring method, compass sensor unit, and portable electronic device
US7881496B2 (en) 2004-09-30 2011-02-01 Donnelly Corporation Vision system for vehicle
US7355861B2 (en) * 2004-11-10 2008-04-08 Industrial Origami, Inc. Card guide for mounting printed circuit boards and the like to electronic equipment housings
US7720580B2 (en) 2004-12-23 2010-05-18 Donnelly Corporation Object detection system for vehicle
JP2006234581A (ja) * 2005-02-24 2006-09-07 Aichi Micro Intelligent Corp 電子コンパス及び方位測定方法
KR20070112414A (ko) 2005-03-17 2007-11-23 인더스트리얼 오리가미, 엘엘씨. 정밀하게 폴딩된 고강도 내피로성 구조체 및 이를 위한시트
AU2006229867A1 (en) * 2005-03-25 2006-10-05 Industrial Origami, Inc. Three-dimensional structure formed with precision fold technology and method of forming same
EP1883855B1 (de) 2005-05-16 2011-07-20 Donnelly Corporation Fahrzeugspiegelanordnung mit zeichen am reflektierenden teil
JP4919142B2 (ja) * 2005-10-19 2012-04-18 アイチ・マイクロ・インテリジェント株式会社 磁気コンパス
US7972045B2 (en) 2006-08-11 2011-07-05 Donnelly Corporation Automatic headlamp control system
WO2008052174A2 (en) 2006-10-26 2008-05-02 Industrial Origami, Inc. Forming three dimensional object
WO2008127752A2 (en) 2007-01-25 2008-10-23 Magna Electronics Radar sensing system for vehicle
ITPR20070006A1 (it) * 2007-02-08 2008-08-09 Techimp S P A Procedimento per elaborare dati relativi a un'attivita di scariche elettriche parziali
CN101652597A (zh) 2007-02-09 2010-02-17 奥里加米工业股份有限公司 载荷承载三维结构
US7914187B2 (en) 2007-07-12 2011-03-29 Magna Electronics Inc. Automatic lighting system with adaptive alignment function
US8017898B2 (en) 2007-08-17 2011-09-13 Magna Electronics Inc. Vehicular imaging system in an automatic headlamp control system
WO2009036176A1 (en) 2007-09-11 2009-03-19 Magna Electronics Imaging system for vehicle
US8446470B2 (en) 2007-10-04 2013-05-21 Magna Electronics, Inc. Combined RGB and IR imaging sensor
US8154418B2 (en) 2008-03-31 2012-04-10 Magna Mirrors Of America, Inc. Interior rearview mirror system
US9487144B2 (en) 2008-10-16 2016-11-08 Magna Mirrors Of America, Inc. Interior mirror assembly with display
EP2401176B1 (de) 2009-02-27 2019-05-08 Magna Electronics Fahrzeugalarmsystem
US8376595B2 (en) 2009-05-15 2013-02-19 Magna Electronics, Inc. Automatic headlamp control
US9495876B2 (en) 2009-07-27 2016-11-15 Magna Electronics Inc. Vehicular camera with on-board microcontroller
US8874317B2 (en) 2009-07-27 2014-10-28 Magna Electronics Inc. Parking assist system
WO2011028686A1 (en) 2009-09-01 2011-03-10 Magna Mirrors Of America, Inc. Imaging and display system for vehicle
US8577637B2 (en) * 2009-09-28 2013-11-05 Teledyne Rd Instruments, Inc. System and method of magnetic compass calibration
US9598016B2 (en) 2010-10-15 2017-03-21 Magna Mirrors Of America, Inc. Interior rearview mirror assembly
US8890955B2 (en) 2010-02-10 2014-11-18 Magna Mirrors Of America, Inc. Adaptable wireless vehicle vision system based on wireless communication error
BR112012025662A2 (pt) * 2010-04-07 2020-08-18 L-3 Communications Avionics Systems, Inc. sistema e método para instalação de magnetômetro
US8825426B2 (en) 2010-04-09 2014-09-02 CSR Technology Holdings Inc. Method and apparatus for calibrating a magnetic sensor
US9117123B2 (en) 2010-07-05 2015-08-25 Magna Electronics Inc. Vehicular rear view camera display system with lifecheck function
US8321161B1 (en) * 2010-09-17 2012-11-27 The United States of America as represented by the Secretarty of the Navy Autonomous magnetic measurement system
US8922198B2 (en) 2010-10-26 2014-12-30 Blackberry Limited System and method for calibrating a magnetometer according to a quality threshold
US9180908B2 (en) 2010-11-19 2015-11-10 Magna Electronics Inc. Lane keeping system and lane centering system
US9013175B2 (en) * 2010-11-26 2015-04-21 Stmicroelectronics S.R.L. Reading circuit for a magnetic field sensor with sensitivity calibration, and related reading method
US9900522B2 (en) 2010-12-01 2018-02-20 Magna Electronics Inc. System and method of establishing a multi-camera image using pixel remapping
US9264672B2 (en) 2010-12-22 2016-02-16 Magna Mirrors Of America, Inc. Vision display system for vehicle
US9085261B2 (en) 2011-01-26 2015-07-21 Magna Electronics Inc. Rear vision system with trailer angle detection
US8676528B2 (en) 2011-02-08 2014-03-18 Blackberry Limited System and method for calibrating an accelerometer
US9194943B2 (en) 2011-04-12 2015-11-24 Magna Electronics Inc. Step filter for estimating distance in a time-of-flight ranging system
US9834153B2 (en) 2011-04-25 2017-12-05 Magna Electronics Inc. Method and system for dynamically calibrating vehicular cameras
WO2012145818A1 (en) 2011-04-25 2012-11-01 Magna International Inc. Method and system for dynamically calibrating vehicular cameras
US9547795B2 (en) 2011-04-25 2017-01-17 Magna Electronics Inc. Image processing method for detecting objects using relative motion
WO2013016409A1 (en) 2011-07-26 2013-01-31 Magna Electronics Inc. Vision system for vehicle
WO2013019707A1 (en) 2011-08-01 2013-02-07 Magna Electronics Inc. Vehicle camera alignment system
DE112012003931T5 (de) 2011-09-21 2014-07-10 Magna Electronics, Inc. Bildverarbeitungssystem für ein Kraftfahrzeug mit Bilddatenübertragung undStromversorgung über ein Koaxialkabel
US9681062B2 (en) 2011-09-26 2017-06-13 Magna Electronics Inc. Vehicle camera image quality improvement in poor visibility conditions by contrast amplification
US9146898B2 (en) 2011-10-27 2015-09-29 Magna Electronics Inc. Driver assist system with algorithm switching
WO2013074604A2 (en) 2011-11-15 2013-05-23 Magna Electronics, Inc. Calibration system and method for vehicular surround vision system
US10071687B2 (en) 2011-11-28 2018-09-11 Magna Electronics Inc. Vision system for vehicle
US9762880B2 (en) 2011-12-09 2017-09-12 Magna Electronics Inc. Vehicle vision system with customized display
KR20130067452A (ko) * 2011-12-14 2013-06-24 한국전자통신연구원 자기센서를 이용한 차량 검지 장치 및 방법
WO2013126715A2 (en) 2012-02-22 2013-08-29 Magna Electronics, Inc. Vehicle camera system with image manipulation
US10457209B2 (en) 2012-02-22 2019-10-29 Magna Electronics Inc. Vehicle vision system with multi-paned view
US8694224B2 (en) 2012-03-01 2014-04-08 Magna Electronics Inc. Vehicle yaw rate correction
US10182228B2 (en) 2012-03-16 2019-01-15 Magna Electronics, Inc. Video output diagnostics for automotive application
US10609335B2 (en) 2012-03-23 2020-03-31 Magna Electronics Inc. Vehicle vision system with accelerated object confirmation
US9751465B2 (en) 2012-04-16 2017-09-05 Magna Electronics Inc. Vehicle vision system with reduced image color data processing by use of dithering
US10089537B2 (en) 2012-05-18 2018-10-02 Magna Electronics Inc. Vehicle vision system with front and rear camera integration
US9207079B2 (en) 2012-06-21 2015-12-08 Innovative Solutions & Support, Inc. Method and system for compensating for soft iron magnetic disturbances in a heading reference system
US9677889B2 (en) 2012-06-21 2017-06-13 Innovative Solutions & Support, Inc. Method and system for compensating for soft iron magnetic disturbances in multiple heading reference systems
US8936164B2 (en) * 2012-07-06 2015-01-20 Industrial Origami, Inc. Solar panel rack
US9340227B2 (en) 2012-08-14 2016-05-17 Magna Electronics Inc. Vehicle lane keep assist system
DE102013217430A1 (de) 2012-09-04 2014-03-06 Magna Electronics, Inc. Fahrerassistenzsystem für ein Kraftfahrzeug
US9558409B2 (en) 2012-09-26 2017-01-31 Magna Electronics Inc. Vehicle vision system with trailer angle detection
US9446713B2 (en) 2012-09-26 2016-09-20 Magna Electronics Inc. Trailer angle detection system
US9723272B2 (en) 2012-10-05 2017-08-01 Magna Electronics Inc. Multi-camera image stitching calibration system
US9366537B2 (en) 2012-10-15 2016-06-14 Gentex Corporation Magnetic field compensation system and method thereof
US9743002B2 (en) 2012-11-19 2017-08-22 Magna Electronics Inc. Vehicle vision system with enhanced display functions
US9090234B2 (en) 2012-11-19 2015-07-28 Magna Electronics Inc. Braking control system for vehicle
US10025994B2 (en) 2012-12-04 2018-07-17 Magna Electronics Inc. Vehicle vision system utilizing corner detection
US9481301B2 (en) 2012-12-05 2016-11-01 Magna Electronics Inc. Vehicle vision system utilizing camera synchronization
US9092986B2 (en) 2013-02-04 2015-07-28 Magna Electronics Inc. Vehicular vision system
US20140218529A1 (en) 2013-02-04 2014-08-07 Magna Electronics Inc. Vehicle data recording system
US10179543B2 (en) 2013-02-27 2019-01-15 Magna Electronics Inc. Multi-camera dynamic top view vision system
US10027930B2 (en) 2013-03-29 2018-07-17 Magna Electronics Inc. Spectral filtering for vehicular driver assistance systems
US9327693B2 (en) 2013-04-10 2016-05-03 Magna Electronics Inc. Rear collision avoidance system for vehicle
US10232797B2 (en) 2013-04-29 2019-03-19 Magna Electronics Inc. Rear vision system for vehicle with dual purpose signal lines
US9508014B2 (en) 2013-05-06 2016-11-29 Magna Electronics Inc. Vehicular multi-camera vision system
US9563951B2 (en) 2013-05-21 2017-02-07 Magna Electronics Inc. Vehicle vision system with targetless camera calibration
US9205776B2 (en) 2013-05-21 2015-12-08 Magna Electronics Inc. Vehicle vision system using kinematic model of vehicle motion
US10567705B2 (en) 2013-06-10 2020-02-18 Magna Electronics Inc. Coaxial cable with bidirectional data transmission
US9260095B2 (en) 2013-06-19 2016-02-16 Magna Electronics Inc. Vehicle vision system with collision mitigation
US20140375476A1 (en) 2013-06-24 2014-12-25 Magna Electronics Inc. Vehicle alert system
US10326969B2 (en) 2013-08-12 2019-06-18 Magna Electronics Inc. Vehicle vision system with reduction of temporal noise in images
US10908417B2 (en) 2013-09-19 2021-02-02 Magna Electronics Inc. Vehicle vision system with virtual retinal display
US9499139B2 (en) 2013-12-05 2016-11-22 Magna Electronics Inc. Vehicle monitoring system
US9988047B2 (en) 2013-12-12 2018-06-05 Magna Electronics Inc. Vehicle control system with traffic driving control
US10160382B2 (en) 2014-02-04 2018-12-25 Magna Electronics Inc. Trailer backup assist system
US9587942B2 (en) 2014-04-01 2017-03-07 Magna Mirrors Of America, Inc. Vehicle compass system with heated windshield compensation
US9623878B2 (en) 2014-04-02 2017-04-18 Magna Electronics Inc. Personalized driver assistance system for vehicle
US9487235B2 (en) 2014-04-10 2016-11-08 Magna Electronics Inc. Vehicle control system with adaptive wheel angle correction
US10328932B2 (en) 2014-06-02 2019-06-25 Magna Electronics Inc. Parking assist system with annotated map generation
US9916660B2 (en) 2015-01-16 2018-03-13 Magna Electronics Inc. Vehicle vision system with calibration algorithm
US10247941B2 (en) 2015-01-19 2019-04-02 Magna Electronics Inc. Vehicle vision system with light field monitor
US9764744B2 (en) 2015-02-25 2017-09-19 Magna Electronics Inc. Vehicle yaw rate estimation system
US10286855B2 (en) 2015-03-23 2019-05-14 Magna Electronics Inc. Vehicle vision system with video compression
US10946799B2 (en) 2015-04-21 2021-03-16 Magna Electronics Inc. Vehicle vision system with overlay calibration
US10819943B2 (en) 2015-05-07 2020-10-27 Magna Electronics Inc. Vehicle vision system with incident recording function
US10214206B2 (en) 2015-07-13 2019-02-26 Magna Electronics Inc. Parking assist system for vehicle
US10078789B2 (en) 2015-07-17 2018-09-18 Magna Electronics Inc. Vehicle parking assist system with vision-based parking space detection
US10086870B2 (en) 2015-08-18 2018-10-02 Magna Electronics Inc. Trailer parking assist system for vehicle
US11277558B2 (en) 2016-02-01 2022-03-15 Magna Electronics Inc. Vehicle vision system with master-slave camera configuration
US11433809B2 (en) 2016-02-02 2022-09-06 Magna Electronics Inc. Vehicle vision system with smart camera video output
US10160437B2 (en) 2016-02-29 2018-12-25 Magna Electronics Inc. Vehicle control system with reverse assist
US20170253237A1 (en) 2016-03-02 2017-09-07 Magna Electronics Inc. Vehicle vision system with automatic parking function
US10055651B2 (en) 2016-03-08 2018-08-21 Magna Electronics Inc. Vehicle vision system with enhanced lane tracking
US20170343361A1 (en) * 2016-05-26 2017-11-30 Apple Inc. Correcting Compass View Using Map Data
US10147246B2 (en) 2016-06-09 2018-12-04 Magna Electronics Inc. Wheel bolt torque monitoring system for vehicle
JP6983565B2 (ja) 2016-07-29 2021-12-17 イノベイティブ・ソリューションズ・アンド・サポート・インコーポレイテッド 乗物の機首方位基準システムにおける軟鉄磁気擾乱を補償するための方法とシステム
US10607094B2 (en) 2017-02-06 2020-03-31 Magna Electronics Inc. Vehicle vision system with traffic sign recognition
US11505123B2 (en) 2019-12-02 2022-11-22 Magna Electronics Inc. Vehicular camera monitoring system with stereographic display
US11807169B2 (en) 2020-02-24 2023-11-07 Magna Mirrors Of America, Inc. Vehicular vision system with enhanced forward and sideward views
US11787342B2 (en) 2021-01-13 2023-10-17 Magna Electronics Inc. Vehicular cabin monitoring camera system with dual function

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2852859A (en) * 1958-09-23 A-axis
US2056715A (en) * 1934-02-12 1936-10-06 Clarence B Dinsmore Compass
US2053154A (en) * 1935-03-27 1936-09-01 Gen Electric Direct-current indicator
US2132168A (en) * 1935-08-31 1938-10-04 Us Gauge Co Vehicle compass
US2177218A (en) * 1937-05-04 1939-10-24 Us Gauge Co Magnetic compass
US2308566A (en) * 1940-06-13 1943-01-19 Bendix Aviat Corp Magnetic repeater or compass
US2475593A (en) * 1945-08-28 1949-07-12 Sperry Corp Self-synchronous flux valve system
US2903798A (en) * 1956-03-05 1959-09-15 Airguide Instr Company Magnetic compass
US3678593A (en) * 1968-12-26 1972-07-25 Sperry Rand Corp Compass system and components therefor having automatic field cancellation
US3626280A (en) * 1970-04-03 1971-12-07 Collins Radio Co Frequency controlled flux detector excitation
US3744312A (en) * 1971-06-02 1973-07-10 Smiths Industries Ltd Navigation apparatus
US3746842A (en) * 1971-09-27 1973-07-17 Laitram Corp Digital magnetic compass
US3778703A (en) * 1971-12-20 1973-12-11 Sperry Rand Corp Apparatus for detecting unlevelness of a pendulously supported flux valve by subjecting the valve to a vertical magnetic field
US3903610A (en) * 1972-08-18 1975-09-09 North Atlantic Industries Apparatus for measuring magnetic field direction
US3807666A (en) * 1973-06-11 1974-04-30 Sperry Rand Corp Control wheel steering system for aircraft automatic pilots
US3971981A (en) * 1973-10-01 1976-07-27 Kokusai Denshin Denwa Kabushiki Kaisha Magnetism detecting system
US4146970A (en) * 1973-12-26 1979-04-03 Edwards Robert A Remote-indicating magnetic compass
US4030204A (en) * 1974-03-18 1977-06-21 Edwards Robert A Remote indicating solid state magnetic sensor
US3943763A (en) * 1974-12-11 1976-03-16 The United States Of America As Represented By The United States National Aeronautics And Space Administration Office Of General Counsel-Code Gp Magnetic heading reference
US3991361A (en) * 1975-03-27 1976-11-09 Westinghouse Electric Corporation Semi-automatic compass calibrator apparatus for a vehicle mounted flux gate compass system to cancel out effect of local magnetic disturbances
US4024382A (en) * 1975-09-08 1977-05-17 The Laitram Corporation Loran compensated magnetic compass
US4031630A (en) * 1976-06-17 1977-06-28 The Laitram Corporation Calibration apparatus for automatic magnetic compass correction
US4091543A (en) * 1976-06-17 1978-05-30 The Laitram Corporation Automatic magnetic compass correction
IT1073691B (it) * 1976-08-26 1985-04-17 Importazioni Esportazioni Rapp Perfezionamento nelle bussole statiche
US4112755A (en) * 1976-12-20 1978-09-12 Gerald Leslie Sullivan "Strapdown" induction compass transmitter with means to compensate for heading errors during turns and during dives and climbs due to the vertical component of the Earth's magnetic field and due to two cycle error
US4157619A (en) * 1977-10-14 1979-06-12 Scientific Drilling Controls Inclination and direction responsive apparatus
US4143467A (en) * 1978-05-01 1979-03-13 Sperry Rand Corporation Semi-automatic self-contained magnetic azimuth detector calibration apparatus and method
US4293815A (en) * 1978-05-01 1981-10-06 Century Geophysical Corporation Fluxgate magnetometer circuit with earth's field elimination
US4336596A (en) * 1978-07-24 1982-06-22 E-Systems, Inc. Method and apparatus for electronically rotating a heading signal
US4277751A (en) * 1978-09-29 1981-07-07 Neil Brown Instruments Systems, Inc. Low-power magnetometer circuit with constant current drive
JPS5568654U (de) * 1978-11-02 1980-05-12
US4347730A (en) * 1979-01-22 1982-09-07 The United States Of America As Represented By The Secretary Of The Army Method and apparatus for calibrating gyroscopically-stabilized, magnetically-slaved heading reference system
US4250626A (en) * 1979-08-20 1981-02-17 Harold Lazar Electronic compass
US4341023A (en) * 1980-01-25 1982-07-27 Prince Corporation Digital compass
FR2484079A1 (fr) * 1980-06-05 1981-12-11 Crouzet Sa Procede de compensation des perturbations magnetiques dans la determination d'un cap magnetique, et dispositif pour la mise en oeuvre de ce procede
JPS6212976Y2 (de) * 1980-10-20 1987-04-03
JPS5784310A (en) * 1980-11-13 1982-05-26 Alps Electric Co Ltd Direction sensing means
US4373271A (en) * 1980-12-11 1983-02-15 General Motors Corporation Solid state compass
US4672565A (en) * 1981-03-10 1987-06-09 Nippon Soken, Inc. Direction detecting system for vehicles
DE3123180A1 (de) * 1981-06-11 1983-01-05 Siemens AG, 1000 Berlin und 8000 München Korrekturverfahren und -einrichtung fuer eine magnetfeldsonde
JPS5828611A (ja) * 1981-08-13 1983-02-19 Alps Electric Co Ltd 磁気式方位検出装置
JPS58139875A (ja) * 1982-02-12 1983-08-19 Nippon Soken Inc 車両進行方位の検出装置
JPS58139010A (ja) * 1982-02-15 1983-08-18 Nissan Motor Co Ltd 車両用走行誘導装置
US4424631A (en) * 1982-03-02 1984-01-10 Prince Corporation Electrical compass
US4425717A (en) * 1982-06-24 1984-01-17 Prince Corporation Vehicle magnetic sensor
US4546550A (en) * 1982-10-12 1985-10-15 Plessey Overseas Ltd. Compass
US4546551A (en) * 1983-03-24 1985-10-15 Prince Corporation Electrical control system
US4505054A (en) * 1983-05-25 1985-03-19 Prince Corporation Magnetic sensor mounting system
US4611293A (en) * 1983-11-28 1986-09-09 Magnavox Government And Industrial Electronics Company Method and apparatus for automatic calibration of magnetic compass
US4797841A (en) * 1983-11-28 1989-01-10 Magnavox Government And Industrial Electronics Company Method and apparatus for automatic calibration of magnetic compass
JPS60122407A (ja) * 1983-12-06 1985-06-29 Fanuc Ltd プログラマブル・コントロ−ラ
DE3345818A1 (de) * 1983-12-17 1985-06-27 Robert Bosch Gmbh, 7000 Stuttgart Verfahren zur ermittlung von stoerfeldern in fahrzeugen mit einem elektronischen kompass
DE3422491A1 (de) * 1984-06-16 1985-12-19 Robert Bosch Gmbh, 7000 Stuttgart Verfahren zur ermittlung der fahrtrichtung eines fahrzeuges mit elektronischem kompass
US4677381A (en) * 1984-10-19 1987-06-30 Prince Corporation Flux-gate sensor electrical drive method and circuit
DE3509548A1 (de) * 1985-03-16 1986-09-18 Robert Bosch Gmbh, 7000 Stuttgart Verfahren zur ermittlung der fahrtrichtung eines fahrzeuges mit elektronischem kompass
EP0214817B1 (de) * 1985-09-03 1991-12-04 British Aerospace Public Limited Company Eichung eines magnetischen Kompasses
US4698912A (en) * 1985-12-11 1987-10-13 The Laitram Corporation Magnetic compass calibration
US4680866A (en) * 1985-12-19 1987-07-21 Honeywell Inc. Magnetic flux detector correction system
US4622843A (en) * 1985-12-27 1986-11-18 Hormel Ronald F Simplified calibration technique and auto ranging circuit for an electronic compass control circuit
US4677754A (en) * 1985-12-27 1987-07-07 Chrysler Motors Corporation Multiplexing of a bandpass filter circuit to work with a flux-gate sensor output
IL78889A (en) * 1986-05-23 1989-09-28 Elbit Computers Ltd Electronic magnetic compass system
JPH07111348B2 (ja) * 1986-06-05 1995-11-29 日本電装株式会社 方位検出装置の出力補正装置
JPH0629729B2 (ja) * 1986-06-16 1994-04-20 三菱電機株式会社 移動体用方位検出装置
US4831563A (en) * 1986-07-01 1989-05-16 Pioneer Electronic Corporation Method of processing output data from geomagnetic sensor
JPS6394108A (ja) * 1986-10-08 1988-04-25 Mitsubishi Electric Corp 移動体用方位検出装置
US4890233A (en) * 1986-10-27 1989-12-26 Pioneer Electronic Corporation Vehicle bearing detection and data processing methods applicable to vehicle navigation system
US4807462A (en) * 1987-04-03 1989-02-28 Chrysler Motors Corporation Method for performing automatic calibrations in an electronic compass
US4791729A (en) * 1987-04-22 1988-12-20 Suda Raymond A Electronic compass and method
US4953305A (en) * 1987-05-27 1990-09-04 Prince Corporation Vehicle compass with automatic continuous calibration
US5090231A (en) * 1988-10-07 1992-02-25 Gallagher Lawrence W Electronic compass system
JPH07101174B2 (ja) * 1989-01-06 1995-11-01 日産自動車株式会社 車両用方位計
US5046031A (en) * 1989-02-06 1991-09-03 Magnavox Government And Industrial Electronics Company Method and apparatus for automatic flux-gate compass calibration
JP2520952B2 (ja) * 1989-02-06 1996-07-31 日産自動車株式会社 車両用走行方位検出装置
US5287297A (en) * 1989-11-02 1994-02-15 Matsushita Electric Industrial Co., Ltd. Magnetic direction finder with correcting circuit
JPH03279809A (ja) * 1990-03-28 1991-12-11 Sumitomo Electric Ind Ltd 方位検出装置
US5161311A (en) * 1990-08-29 1992-11-10 Alps Electric Inc. Calibration and compensation of an electronic compass system
US5255442A (en) * 1991-12-20 1993-10-26 Donnelly Corporation Vehicle compass with electronic sensor
US5297065A (en) * 1991-12-27 1994-03-22 Chrysler Corporation Magnetic transient detection and calibration technique for an auto-calibrating compass
US5353241A (en) * 1991-12-27 1994-10-04 Al Attar Rafi A Shifting system and method for an electronic compass system
US5333110A (en) * 1991-12-27 1994-07-26 Chrysler Corporation Electronic magnetic compass system and method for interpreting directions of a vehicle
US5323336A (en) * 1991-12-27 1994-06-21 Chrysler Corporation Noise removal method for an electronic compass
US5297063A (en) * 1991-12-27 1994-03-22 Chrysler Corporation Method for selecting calibration data for an auto-calibrating compass
US5351204A (en) * 1991-12-27 1994-09-27 Chrysler Corporation Scaling system and method for an electronic compass
US5187872A (en) * 1992-04-02 1993-02-23 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Communications Automatic calibration of magnetic compasses
US5390122A (en) * 1993-05-07 1995-02-14 Lectron Products, Inc. Method and apparatus for calibrating a vehicle compass system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017216425B3 (de) 2017-09-15 2019-01-10 Audi Ag Verfahren zur Ermittlung einer geodätischen Positionsinformation eines Kraftfahrzeugs und Kraftfahrzeug

Also Published As

Publication number Publication date
GB9611436D0 (en) 1996-08-07
GB2301900B (en) 1999-12-01
US5737226A (en) 1998-04-07
JPH08334328A (ja) 1996-12-17
GB2301900A (en) 1996-12-18

Similar Documents

Publication Publication Date Title
DE19622394A1 (de) Fahrzeugkompaßsystem mit automatischer Kalibration
EP0346325B1 (de) Navigationsverfahren für fahrzeuge mit elektronischen kompass
EP0253816B1 (de) Navigationsverfahren für fahrzeuge
DE19803662C2 (de) Navigationsgerät und Verfahren zur Positionsbestimmung mittels Koppelnavigation
EP0254712B1 (de) Verfahren zur ermittlung der fahrtrichtung eines fahrzeuges mit elektronischem kompass
DE69637111T2 (de) Fahrzeug-Odometerkorrektursystem
DE3736386A1 (de) Fahrzeugpeilverfahren
DE3734064C2 (de)
EP0604466B1 (de) Verfahren zur kompensation eines magnetischen störfeldes in einem fahrzeug
EP0935760B1 (de) Ortungssystem für ein kraftfahrzeug mit einem satellitenempfänger
DE3734057C2 (de)
DE3114908A1 (de) Geraet zur anzeige der fahrtrichtung und des standorts eines kraftfahrzeugs
DE3422491A1 (de) Verfahren zur ermittlung der fahrtrichtung eines fahrzeuges mit elektronischem kompass
EP1105697A1 (de) Verfahren zum offsetabgleich von winkelsensoren
DE4003563A1 (de) Vorrichtung zur messung der fahrtrichtung eines fahrzeugs
DE4230299B4 (de) Verfahren zur Ortung eines Landfahrzeuges
DE4439945C1 (de) Verfahren zur Stabilisierung der Richtungsanzeige von Magnetkompassen
DE3613422A1 (de) Richtungsanzeigesystem
EP1308698A2 (de) Methode zum Offsetabgleich von Winkelsensoren
EP0928410A1 (de) Verfahren und einrichtung zur zielführungsunterstützung eines fahrzeugführers
WO1988005155A1 (en) Navigation process for vehicles equipped with an electronic compass
DE102008038796A1 (de) Fahrzeugnavigationsvorrichtung
DE3828410A1 (de) Verfahren zur verbesserung des nordungsergebnisses
DE3833798A1 (de) Verfahren zur ermittlung des stoereinflusses von verbrauchern auf navigationssysteme
DE4115315C2 (de) Verfahren zur Nachführung des Korrekturwertes eines Magnetfeldsensors

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: GROSSE, BOCKHORNI, SCHUMACHER, 81476 MUENCHEN

8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: JOHNSON CONTROLS TECHNOLOGY COMPANY, HOLLAND, MICH

8131 Rejection