Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND PROCESS FOR AUTOMATICALLY CALIBRATING A SYSTEM TO DETERMINE THE HEADING OF A VEHICLE
Document Type and Number:
WIPO Patent Application WO/2019/094564
Kind Code:
A1
Abstract:
A system for calibrating a subsystem configured to determine a heading of a vehicle includes (1) a navigation system providing reverser control data, GPS data, and magnetometer data; and (2) an onboard computer configured to calculate X and Z average magnetic fields and derive an X- and Z-axes partial ellipse therefrom; calculate semi-major axis or semi-minor axis values corresponding to respective points on the partial ellipse; perform a position translation of the partial ellipse along the X- and Z-axes; perform a magnitude scaling of the partial ellipse along the X- and Z-axes, wherein the position translation and magnitude scaling yield transformed X and Z magnetic field values; and calculate a heading based on the position translated and magnitude scaled partial ellipse.

Inventors:
LANGSTRAAT, Brian, James (3324 Shasta Dr. NE, Cedar Rapids, Iowa, 52402, US)
VANDEVENTER, Craig, Willard (3220 Circle Drive NE, Cedar Rapids, Iowa, 52402, US)
SWIDERSKI, Frank, J. (3371 Oriole Court Northeast, Cedar Rapids, Iowa, 52402, US)
SMITH, Keith, Edward (9104 Horeshoe Court, Cedar Rapids, Iowa, 52411, US)
Application Number:
US2018/059787
Publication Date:
May 16, 2019
Filing Date:
November 08, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WESTINGHOUSE AIR BRAKE TECHNOLOGIES CORPORATION (1001 Air Brake Avenue, Wilmerding, PA, 15148, US)
International Classes:
G01C17/38; G01C17/02; G01C25/00; G01R33/02
Foreign References:
US20040123474A12004-07-01
US20140361763A12014-12-11
US20150354980A12015-12-10
US8521428B12013-08-27
US20170008521A12017-01-12
US20160097875A12016-04-07
US20070163132A12007-07-19
Other References:
SUPREM ET AL.: "Orientation and Displacement Detection for Smartphone Device Based IMUs", March 2017 (2017-03-01), XP055607605, Retrieved from the Internet [retrieved on 20190104]
Attorney, Agent or Firm:
BYRNE, Richard, L. et al. (The Webb Law Firm, One Gateway Center420 Ft. Duquesne Blvd., Suite 120, Pittsburgh Pennsylvania, 15222, US)
Download PDF:
Claims:
WHAT IS CLAIMED:

1. A system for determining a heading of a vehicle, the system comprising:

a navigation system situated on the vehicle and comprising:

a reverser control switch configured to transmit data representative of a selected direction heading the vehicle;

a GPS module configured to transmit a plurality of GPS headings of the vehicle; and

a magnetometer module configured to determine respective magnetic fields for X- and Z-axes relative to the magnetometer module and to transmit data regarding the determined magnetic fields for the X- and Z-axes; and

an onboard computer situated on the vehicle and configured to receive from the navigation system the data representative of the selected direction heading, the plurality of GPS headings, and the data regarding the determined magnetic fields for the X- and Z-axes, the onboard computer configured to:

calculate from the data regarding the determined magnetic fields for the X- and Z-axes, X and Z average magnetic fields during movement of the vehicle and plotting the X and Z average magnetic fields as a partial ellipse having a position and magnitude on a plot of X- and Z-axes, wherein the average magnetic fields include a current GPS heading's average magnetic field and prior GPS headings' average magnetic field;

calculate semi-major axis and semi-minor axis values corresponding to respective points on the partial ellipse using the current GPS heading's average magnetic field, a prior GPS headings' average magnetic field, the current GPS heading, and the prior GPS heading;

perform a position translation of the partial ellipse along the X- and Z- axes using the X and Z average magnetic fields, the semi-major axis and the semi-minor axis values, and the plurality of GPS headings;

perform a magnitude scaling of the partial ellipse along the X- and Z- axes using the current GPS heading, the X and Z average magnetic fields, and the position translation, wherein the position translation and magnitude scaling yield transformed X and Z magnetic field values; and

calculate a heading based on the position translated and magnitude scaled partial ellipse.

2. The system of claim 1, wherein position translation and magnitude scaling of the partial ellipse produces a unit circle.

3. The system of claim 1, wherein, following calculating the calibrated heading, the onboard computer compares the calibrated heading to a track database to determine a heading of the vehicle.

4. The system of claim 1 , wherein the calibrated heading is calculated using the equations:

Dir(90°): ([(X-Xcal_p)*Xcal_m] > 0) = 90°-arcTan([(Z-Zcal_p)*Zcal_m] / [(X- Xcal_p) *Xcal_m])*(180°/ji);

Dir(270°): ([(X-Xcal_p)*Xcal_m] < 0) = 270°-arcTan([(Z-Zcal_p)*Zcal_m] / [(X- Xcal_p)*Xcal_m])*(1800/ji);

Dir(180°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] < 0) = 180°;

Dir(0°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] > 0) = 0°; and

Dir(0°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] = 0) = ERROR where:

X = present magnetic field along the X axis;

Z = present magnetic field along the X axis;

Xcal_p = MEDIAN(A11 Deg GPS [Avg Mag X]) - (MEDIAN(A11 Deg GPS

[a] ) * MEDIAN(A11 Deg GPS [Sine (Deg)]));

Zcal_p = MEDIAN(A11 Deg GPS [Avg Mag Z]) - (MEDIAN(A11 Deg GPS

[b] ) * MEDIAN(A11 Deg GPS [Cosine (Deg)]));

Xcal_m = MEDIAN(A11 Deg GPS [Unit_X]); and

Zcal_m = MEDIAN(A11 Deg GPS [Unit_Z]).

Description:
METHOD AND PROCESS FOR AUTOMATICALLY CALIBRATING A SYSTEM TO DETERMINE THE HEADING OF A VEHICLE

CROSS REFERENCE TO RELATED APPLICATION

[0001] This application claims the benefit of U.S. provisional patent application no.

62/583,623, filed November 9, 2017, the contents of which are incorporated in its entirety herein by reference.

BACKGROUND OF THE INVENTION

Field of the Invention

[0002] Preferred and non-limiting embodiments are related to navigation associated with a Positive Train Control (PTC) system and, in particular, to a system for heading calibration of a vehicle.

Description of Related Art

[0003] Positive Train Control (PTC) systems rely upon navigation systems to determine which heading the train is traveling and to determine which heading the train will be operating in a route ahead. The heading can generally be broken down into two modes— initial heading determination and determination of the heading throughout the route.

[0004] The initial heading can be determined through various methods such as stored

GPS heading, or crew interaction. Stored Global Positioning System (GPS) heading requires a known GPS heading whenever the train stops moving and knowledge of the train not moving. Thus, a loss of GPS signal or trains being moved by other vehicles would decrease reliability. Although, crew interaction with PTC cab displays could input heading, there is an undesired aspect of relying upon a human for input to a safety critical system. In existing PTC systems, such as I-ETMS ® of Wabtec Corp., this need for initial heading determination occurs whenever a system is activated by the train traveling a certain distance. The frequency of requiring determining initial heading and the potential of error with existing systems warrants the need for an improvement of the prior art.

[0005] The determination of the heading throughout the route aspect of PTC has also been addressed through various methods, such as stored GPS heading or crew interaction. For predictive enforcement of conditions ahead of the train, the solution of determining the heading is most appropriate as it allows the PTC system to determine which direction the train will be traveling prior to moving along a route. There are however, other cases where predictive enforcement is not needed, yet determination of the route being taken is still desirable. Specifically, these cases relate to operation in passenger terminal areas that may be excluded from PTC requirements. These terminal areas often have short distances that a train can move before entering a PTC required track. A further challenge in these areas is that GPS may be partially or totally obscured by buildings or through underground operation. Accordingly, there exists a need for an improved system and method of determination of the heading throughout the route.

SUMMARY OF THE INVENTION

[0006] Generally provided is a system and method for managing movement authorities in a Positive Train Control (PTC) system that addresses or overcomes some or all of the deficiencies and drawbacks associated with existing methods and systems for transmitting enforceable instructions in PTC systems, including, but not limited to, I-ETMS ® of Wabtec Corp.

[0007] In one non-limiting embodiment or example, provided is a system for calibrating a subsystem configured to determine a heading of a vehicle, the system comprising (1) a navigation system situated on the vehicle and comprising: (a) a reverser control switch configured to transmit data representative of a reverser status of a locomotive of the vehicle; (b) a GPS module configured to transmit a plurality of GPS headings of the locomotive; and (c) a magnetometer module configured to determine respective magnetic fields for X- and Z-axes relative to the magnetometer module; and (2) an onboard computer situated on the vehicle and configured to: (a) calculate X and Z average magnetic fields during movement of the vehicle and plotting them as a partial ellipse having a position and magnitude on an X- and Z-axes, wherein the average magnetic fields include a current GPS heading's average magnetic field and prior GPS headings' average magnetic fields; (b) calculate semi-major axis and semi-minor axis values corresponding to respective points on the partial ellipse using the current GPS heading's average magnetic field, and an adjacent prior GPS headings' average magnetic fields; (c) perform a position translation of the partial ellipse along the X- and Z-axes using the X and Z average magnetic fields, the semi-major axis and semi-minor axis values, and the GPS headings; (d) perform a magnitude scaling of the partial ellipse along the X- and Z-axes using the current GPS heading, the X and Z average magnetic fields, and the position translation, wherein the position translation and magnitude scaling yield transformed X and Z magnetic field values; and (e) calculate a calibrated heading using equations for heading on a horizontal plane using the position translated and a magnitude scaled partial ellipse. [0008] In one non-limiting embodiment or example, the position translation and magnitude scaling of the partial ellipse, e.g., the transformed X and Z magnetic field values, can produce a unit circle.

[0009] In one non-limiting embodiment or example, following calculating the calibrated heading, the onboard computer can compare the calibrated heading to a track database to determine a heading of the vehicle.

[0010] In one non-limiting embodiment or example, the calibrated heading can be determined using the equations:

• Dir(90°): ([(X-Xcal_p)*Xcal_m] > 0) = 90°-arcTan([(Z-Zcal_p)*Zcal_m] / [(X- Xcal_p) *Xcal_m])*(180°/ji);

• Dir(270°): ([(X-Xcal_p)*Xcal_m] < 0) = 270°-arcTan([(Z-Zcal_p)*Zcal_m] / [(X- Xcal_p)*Xcal_m])*(180 0 /ji);

• Dir(180°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] < 0) = 180°;

• Dir(0°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] > 0) = 0°; and

• Dir(0°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] = 0) = ERROR

where:

X = present magnetic field along the X axis;

Z = present magnetic field along the X axis;

Xcal_p = MEDIAN(A11 Deg GPS [Avg Mag X]) - (MEDIAN(A11 Deg GPS

[a] ) * MEDIAN(A11 Deg GPS [Sine (Deg)]));

Zcal_p = MEDIAN(A11 Deg GPS [Avg Mag Z]) - (MEDIAN(A11 Deg GPS

[b] ) * MEDIAN(A11 Deg GPS [Cosine (Deg)]));

Xcal_m = MEDIAN(A11 Deg GPS [Unit_X]); and

Zcal_m = MEDIAN(A11 Deg GPS [Unit_Z]).

[0011] In one non-limiting embodiment or example, the system can provide improved efficiency in navigation for railway operations, especially when transitioning to the active operating state. During the disengaged operating state, GPS is unable to determine a heading until the train travels a certain distance. For this reason, current PTC systems need to have the train move a certain distance before the heading is known. The inability to activate before movement and the desire for railway operators to minimize crew interaction with the PTC system calls for the need to improve upon the current design. Standard physical and digital compasses are not able to accurately determine heading within a locomotive, since the magnetic fields inside and outside of a locomotive change throughout travel. Moreover, magnetic fields detected inside of a locomotive can be affect by the materials forming the locomotive, e.g., the outside surface of the locomotive may be formed of electrically conductive material, or magnetically conductive material, or the combination of electrically and magnetically conductive material,

[0012] In one non-limiting embodiment or example, use of a combination of GPS and inertial navigation sensors (e.g., magnetometers) allows a locomotive to determine heading. A computer algorithm uses the output of the GPS heading and the corresponding output of the inertial navigation sensors to automatically calibrate the system and calculate the heading of a locomotive. Within the system, the calibration data that describes the "unit-circle compass" (that adjusts to the recent magnetic field) can be continually updated while moving and stored when stopped. The use of redundant GPS and inertial navigation sensors increases the accuracy of the calculated heading. The accuracy of the calculated heading can be measured continuously throughout travel. The calibration and accuracy data can be stored from the installation train run to the next train run, allowing the second and succeeding train runs to start with known heading based on the previous calibration data. Only a few degrees of motion are needed for calibration to occur. When the heading is known, a train is able to navigate more effectively, especially with the ability to activate a PTC system without moving.

[0013] Since railway operators run in a push-pull configuration and the crews swap train ends before leaving a terminal area, there is a need to provide the accurate navigation solution to the PTC system at each end of the train. This invention provides a way for that navigation information to be available at both ends of the train. It is to be understood that the aspects of this invention may be applied to any type of vehicle control system (i.e., not just trains and railway related equipment) that requires an accurate heading upon initialization and throughout travel in environments with changing magnetic fields.

[0014] These and other features and characteristics of the present invention, as well as the methods of operation and functions of the related elements of structures and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims, if any, with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. As used in the specification and the claims, if any, the singular form of "a", "an", and "the" include plural referents unless the context clearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Fig. 1 is a block diagram of components that can be utilized in accordance with the principles of the present invention;

[0016] Fig. 2 is a flow chart depicting inputs and operations thereon in accordance with the principles of the present invention;

[0017] Fig. 3 is a plot depicting raw magnetic field measurements acquired using a magnetometer;

[0018] Fig. 4 is a plot of uncalibrated headings based on the raw magnetic field measurements of Fig. 3 and plotted as a partial ellipse;

[0019] Figs. 5A-5B. depict a generic ellipse and a generic unit circle, respectively, for the purpose of describing position translation and magnitude scaling of the uncalibrated headings of Fig. 4;

[0020] Figs. 6A-6B are graphs depicting position translation and magnitude scaling calculations of the uncalibrated headings of Fig. 4;

[0021] Fig. 7 is a plot of average headings after position translation and (optionally) magnitude scaling calculations of the uncalibrated headings of Fig. 3;

[0022] Fig. 8 is a simplified version of the flow chart of Fig. 2;

[0023] Fig. 9 is an expanded version of the flow chart of Fig. 2 showing additional details; and

[0024] Fig. 10 is a block diagram of a computer system according to principles of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0025] A non-limiting example will now be described with reference to the accompanying figures where like reference numbers correspond to like or functionally equivalent elements.

[0026] For purposes of the description hereinafter, the terms "end", "upper", "lower",

"right", "left", "vertical", "horizontal", "top", "bottom", "lateral", "longitudinal" and derivatives thereof shall relate to the invention as it is oriented in the drawing figures. It is to be understood that the invention may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the drawings, and described in the following specification, are simply exemplary embodiments of the invention. Hence, specific dimensions and other physical and/or processing characteristics related to the embodiments disclosed herein are not to be considered as limiting.

[0027] As used herein, the term "communication" and "communicate" (and derivatives, such as "communicatively") refer to the receipt or transfer of one or more signals, messages, commands, or other type of data. For one unit or component to be in communication with another unit or component means that the one unit or component is able to directly or indirectly receive data from and/or transmit data to the other unit or component. This can refer to a direct or indirect connection that may be wired and/or wireless in nature. Additionally, two units or components may be in communication with each other even though the data transmitted may be modified, processed, routed, and the like, between the first and second unit or component. For example, a first unit may be in communication with a second unit even though the first unit passively receives data, and does not actively transmit data to the second unit. As another example, a first unit may be in communication with a second unit if an intermediary unit processes data from one unit and transmits processed data to the second unit. It will be appreciated that numerous other arrangements are possible.

[0028] With reference to Fig. 1, in one non-limiting embodiment or example, a system for calibrating a subsystem configured to determine a heading of a vehicle is disclosed. The system can have various components associated therewith, including a reverser control switch 2 configured to transmit data representative of a reverser status of a locomotive 4 of the vehicle, a GPS receiver 6 configured to output a plurality of GPS headings of the locomotive 4, and an inertial navigation sensor, such as a magnetometer module 10 configured to determine respective magnetic fields for X- and Z-axes relative to the magnetometer module 10. These components can provide data for use by an onboard computer system 8 that can also be situated on the vehicle and communicatively connected with the aforementioned components. Alternatively, computer system 8 may be situated remotely and data could be sent to and from the vehicle wirelessly. The components may be located in each locomotive or cab car of a train. Multiple locomotives or cab cars may exist in a train to allow for adjusting the train size to match with passenger demand. The present invention may apply to the locomotives or cabs on each end of the train, but may also apply to those within the train since a change in consist may cause them to become a controlling cab. The present invention may also be used in the context of configurations where a locomotive does not technically exist, but multiple controlling cabs would still be present.

[0029] In one non-limiting embodiment or example, magnetometer module 10 may include a magnetometer integrated circuit 12, which may be a part of a commercial sensor 14, such as inertial Navigation Sensor Module NSM-04 ® of Wabtec Corp. Magnetometer integrated circuit 12 may be configured to provide 3-axis (X, Y, and Z) data at 5 Hz, for example. Sensor 14 may measure magnetic fields using magneto-resistive sensors and transmit a digital signal that the NSM-04 ® software converts to milligauss (mG). Other inertial navigation sensors that may be utilized in connection with the present invention include, but are not limited to, gyroscopes and accelerometers that measure directional changes for the locomotive or cab car where PTC equipment is located.

[0030] In one non-limiting embodiment or example, GPS receiver 6, with accompanying antenna, may provide heading data, when moving, at 1 Hz using National Marine Electronic Association (NMEA) message Recommended Minimum Data (RMD) named Cog (Course over ground) in degrees. It is to be understood that other appropriate GPS messaging may be implemented.

[0031] In one non-limiting embodiment or example, reverser control switch 2 can be configured to output a forward/reverse signal corresponding to whether the heading of the train is selected as moving forward or in reverse.

[0032] In one non-limiting embodiment or example, onboard computer system 8 may perform all of the calculations for PTC, as is known in the art, and may be configured to perform all calculations for navigation as may be relevant to the present invention. Onboard computer system 8 may be communicatively connected to other systems or data sources that may provide information relevant to the implementation of the present invention. For example, onboard computer system 8 may include or have access to a track database that may include data about track heading and distance measurements. Onboard computer system 8 may also include or have access to train data, such as consist information that can include the number of locomotives and cab cars of the train. Consist information may also include the total length of the train and the specific identification numbers of each locomotive or cab car where PTC equipment can be located. Herein, reverser control switch 2, GPS receiver 6, magnetometer module 10, and onboard computer system 8 will be described as being situated on locomotive 4. However, this is not to be construed in a limiting sense since it is envisioned that reverser control switch 2, GPS receiver 6, magnetometer module 10, and onboard computer system 8 can be situated on one or more locomotives and/or cab cars of a train.

[0033] One non-limiting embodiment or example of acquisition of input data, application of algorithms applied thereto, and the resultant output data will now be discussed in connection with the accompanying figures. [0034] In one non-limiting embodiment or example, generally, as shown for example in the flow chart of Fig. 2, periodically, e.g., every second, or aperiodically, when the train is moving, onboard computer 8 can acquire data from reverser switch 2 (step 102), GPS receiver 6 (step 100), and magnetometer integrated circuit 12 (step 104). This data can include the reverser switch 2 status, GPS heading, and the average magnetic field (of 5 signals, for example) for all 3 axes, namely, the X, Y, and Z axes. As shown in step 106, the reverser switch 2 status can indicate whether the train's calculated heading will be used for forward or backward movement. In step 108, the GPS heading may be rounded to the nearest integer which can be used to organize the magnetic field information for the X axis (step 110) and the Z axis (step 112). In an example, the X-axis can represent latitude or magnetic north and the Z-axis can represent longitude or a direction perpendicular to magnetic north. The Y- axis may be considered essentially perpendicular to the Earth's surface and may optionally be used for fine tuning purposes. This information can be stored to onboard computer system 8 continually, periodically, or aperiodically and may be addressed during the same time interval. In steps 114 and 116, the average magnetic fields (current and previous) for both axes can be determined and stored, for example, as shown in Fig. 3. In steps 118 and 120 the sine and cosine of the GPS heading can also be determined and stored.

[0035] Next, with reference to the X, Z plot shown, for example, in Fig. 4, and with continuing reference to Fig. 2, in steps 114 and 116 the X and Z average magnetic fields during movement can be plotted as a partial ellipse (Fig. 4) having a position and magnitude on X- and Z-axes, wherein the average magnetic fields can include a current GPS heading's average magnetic field (i.e., an average magnetic field corresponding to the current GPS heading) and prior (minus one) GPS headings' average magnetic field (i.e., an average magnetic field corresponding to the prior (minus one) GPS heading).

[0036] With reference to Figs. 5A-5B, and with continuing reference to Fig. 2, in steps 122 and 124 of Fig. 2, a semi-major axis or semi-minor axis along the X-axis (i.e., "a") value and a semi-minor axis or semi-major axis along the Z-axis (i.e., "b") value corresponding to respective points on the partial ellipse can be calculated. The "a" value of the magnetic "ellipse" can be calculated as the ratio of the difference between the average magnetic field for X corresponding to the current GPS heading and the average magnetic field for X corresponding to the adjacent or previous (minus one) GPS heading to (over) the difference between the Sine of the current GPS heading and the Sine of the adjacent or previous (minus one) GPS Heading. The "b" value of the magnetic "ellipse" can be calculated as the ratio of the difference between the average magnetic field for Z corresponding to the current GPS heading and the average magnetic field for Z corresponding to the adjacent or prior (minus one) GPS heading to (over) the difference between the Cosine of the current GPS heading and the Cosine of the adjacent or prior (minus one) GPS Heading.

[0037] With reference to Figs. 6A-6B and 7, and with continuing reference to Fig. 2, next, in steps 126 and 128 of Fig. 2, a position translation of the partial ellipse shown in Fig. 4 along the X- and Z- axes can be performed as shown in Figs. 6A-6B. The magnetic "ellipse" position translation along the X-axis can be calculated as the median of the average magnetic field for X for all stored GPS headings minus the median of the "a"s for all stored GPS headings times the median of the Sine of the GPS headings for all stored GPS headings. The magnetic "ellipse" position translation along the Z-axis can be calculated as the median of the average magnetic field for Z for all stored GPS headings minus the median of the "b"s for all stored GPS headings times the median of the Cosine of the GPS headings for all GPS headings.

[0038] Then, in steps 130 and 132 of Fig. 2, magnitude scaling of the position translated partial ellipse along the X- and Z-axes can be performed to form an approximate unit circle shown, for example, in Fig. 6B. The magnetic "ellipse" magnitude scaling along the X-axis can be calculated as the median of the Sine of the current GPS heading divided by the average magnetic field for the X minus position translation along the X-axis for all stored GPS headings (step 130). The magnetic "ellipse" magnitude scaling along the Z-axis can be calculated as the median of the Cosine of the current GPS heading divided by the average magnetic field for Z minus position translation along the Z-axis for all stored GPS headings (step 132).

[0039] In step 134 a calibrated heading can be calculated using equations for heading on a horizontal plane using the position translated and magnitude scaled plot of the transformed X and Z magnetic field values onto the approximate unit circle shown in Fig. 6B. It is to be understood that the magnetic field values may encompass three-dimensional values or offset axes that are not constrained to the X and Z axes.

[0040] In step 136, the resultant calibrated heading may then be compared with the track heading data and/or distance measurements in the track database to determine the train's Direction of Travel (Up or Down Mileposts) along the track. The train crew may only be aware of the Direction of Travel that may be needed for the PTC system to go the Active State.

[0041] Fig. 8 is a simplified version of the flow chart of Fig. 2. [0042] Fig. 9 is an expanded version of the flow chart of Fig. 2 showing additional details. In an example, referring to Figs. 6A-6B, steps 126, 128, 130 and 132 of Fig. 9 show equations that onboard computer system 8 can use for translating (steps 126 and 128) the ellipse from a position offset from a current (X, Z) location (Fig. 6A) of the locomotive to the (0, 0) location of the X, Z coordinate system (Fig. 6B) corresponding to the current X, Z position of the locomotive 4 and magnitude scaling (steps 130 and 132) the translated ellipse to a unit circle shown in Fig. 6B.

[0043] Fig. 9 step 134 shows equations that onboard computer system 8 can use to calculate or determine the calibrated heading of the locomotive 4 based on the outputs of at least steps 110, 112, 126, 128, 130 and 132, namely:

[0044] EQ1 : Dir(90°): ([(X-Xcal_p)*Xcal_m] > 0) = 90°-arcTan([(Z-

Zcal_p)*Zcal_m] /

[(X-Xcal_p) *Xcal_m])*(180°/ji);

[0045] EQ2: Dir(270°): ([(X-Xcal_p)*Xcal_m] < 0) = 270°-arcTan([(Z-

Zcal_p)*Zcal_m] / [(Xcal_p-X)*Xcal_m])*(180°/ji);

[0046] EQ3: Dir(180°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] < 0)

= 180°;

[0047] EQ4: Dir(0°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] > 0) =

0°; and

[0048] EQ5: Dir(0°): ([(X-Xcal_p)*Xcal_m] = 0 AND [(Z-Zcal_p)*Zcal_m] = 0) =

ERROR.

[0049] wherein:

[0050] X is determined from magnetometer data in step 110;

[0051] Z is determined from magnetometer data in step 112;

[0052] Xcal_p is determined in step 126;

[0053] Zcal_p is determined in step 128;

[0054] Xcal_m is determined in step 130; and

[0055] Zcal_m is determined in step 132.

[0056] In an example, as can be understood from an assessment of equations EQ1 -

EQ5, only one of equations EQ1-EQ5 will be satisfied at each particular X, Z location traveled by locomotive 4. Where EQ5 is satisfied at a particular X, Z location, no calibrated heading information can be determined by onboard computer system 8 for this location. On the other hand, where one of equations EQ3 or EQ4 is satisfied at the particular X, Z location, the direction heading (180° or 0° respectively) can be used as the heading of locomotive 4. Where the left side of one of equations EQ1 or EQ2 is satisfied at the particular X, Z location, the direction heading of locomotive 4 can be determined by solving the right side of said satisfied equation. Examples headings 0°, 90°, 180°, and 270° are shown in Figs. 6A-6B.

[0057] The method represented by Figs. 2, 8, and 9 can be repeated as often as deemed suitable and/or desirable during movement of locomotive 4 in order to provide data from which an updated direction heading of locomotive 4 can be determined.

[0058] As discussed above, other inertial navigation sensors may be used in connection with the present invention, either in conjunction with or to supplant the magnetometer. For example, a gyroscope's rotational measurements (in degrees) may be calibrated with the changes of GPS headings. A calibrated gyroscope may be used to support the calculation of calibrated headings from a magnetometer or be used independently (with sufficient accuracy and frequency). Furthermore, an accelerometer's acceleration measurements may be calibrated with the changes of GPS headings. A calibrated accelerometer may be used to support the calculation of calibrated headings from a magnetometer or be used independently (with sufficient accuracy and frequency). Alternatively, a visually sensed object's rotational measurements (in degrees) may be calibrated with the changes of GPS headings. Thus, a visual sensor network's data may be used to support the calculation of calibrated headings from a magnetometer or be used independently (with sufficient visualization ability and frequency).

[0059] Although the present invention has been discussed herein in connection with magnetic fields, it is contemplated that other physical fields may be utilized. For example, directional measurements of electrostatic fields with an E-field sensor may result in a similar electrical "ellipse". Directional measurements of gravitational fields with a gravimeter may result in a similar gravitational "ellipse". Directional measurements of force vector fields with an appropriate sensor may result in a similar force "ellipse". Consequently, if a source of known directions is usually available, then any of the aforementioned field-based measurements of automatic calibration may be able to output directions when the source of known directions is unavailable.

[0060] Other methods for automatic calibration may include equivalent or trivially modified mathematics for converting the magnetic "ellipse" onto the unit circle; converting to another shape (e.g., square or hexagon); logical (e.g., IF-THEN statements); or storing average measured magnetic field with the corresponding GPS headings. [0061] A method in which digital compass accuracy may be measured is as follows:

(1) store the differences between the valid GPS headings and the calibrated magnetometer headings for a specific number of seconds (such as 1000s); (2) if the difference between the valid GPS heading and the calibrated magnetometer heading is less than an acceptable tolerance (such as a maximum of 90° when deciding between two directions of travel [North/South or East/West]), then the compass is considered accurate for that second; (3) if the difference between the valid GPS heading and the calibrated magnetometer heading is greater than the acceptable tolerance, then the compass is considered inaccurate for that second (4) the number of accurate seconds per the total specific number of seconds is the percentage of compass accuracy at that time (5) if the percentage of compass accuracy is greater than an acceptable tolerance (such as 99%), then the compass is valid for use at that time by an outside system (such as a locomotive); and (6) if the percentage of compass accuracy is less than the acceptable tolerance, then the compass is invalid for use at that time by the outside system.

[0062] The present invention, as discussed above, may be implemented on a variety of computing devices, servers, processing units, and systems, wherein these computing devices, servers, processing units, and systems include the appropriate processing mechanisms and computer-readable media for storing and executing computer-readable instructions, such as programming instructions, code, and the like. As shown in Fig. 10, computers 900, 944, in a computing system environment 902 are provided. This computing system environment 902 may include, but is not limited to, at least one computer 900 having certain components for appropriate operation, execution of code, and creation and communication of data. For example, the computer 900 includes a processing unit 904 (typically referred to as a central processing unit or CPU) that serves to execute computer- based instructions received in the appropriate data form and format. Further, this processing unit 904 may be in the form of multiple processors executing code in series, in parallel, or in any other manner for appropriate implementation of the computer-based instructions.

[0063] In order to facilitate appropriate data communication and processing information between the various components of the computer 900, a system bus 906 is utilized. The system bus 906 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. In particular, the system bus 906 facilitates data and information communication between the various components (whether internal or external to the computer 900) through a variety of interfaces, as discussed hereinafter. [0064] The computer 900 may include a variety of discrete computer-readable media components. For example, this computer-readable media may include any media that can be accessed by the computer 900, such as volatile media, non-volatile media, removable media, non-removable media, etc. As a further example, this computer-readable media may include computer storage media, such as media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory, or other memory technology, CD-ROM, digital versatile disks (DVDs), or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 900. Further, this computer-readable media may include communications media, such as computer-readable instructions, data structures, program modules, or other data in other transport mechanisms and include any information delivery media, wired media (such as a wired network and a direct-wired connection), and wireless media. Computer-readable media may include all machine -readable media with the possible exception of transitory, propagating signals. Of course, combinations of any of the above should also be included within the scope of computer-readable media.

[0065] The computer 900 further includes a system memory 908 with computer storage media in the form of volatile and non-volatile memory, such as ROM and RAM. A basic input/output system (BIOS) with appropriate computer-based routines assists in transferring information between components within the computer 900 and is normally stored in ROM. The RAM portion of the system memory 908 typically contains data and program modules that are immediately accessible to or presently being operated on by processing unit 904, e.g., an operating system, application programming interfaces, application programs, program modules, program data and other instruction-based computer-readable codes.

[0066] The computer 900 may also include other removable or non-removable, volatile or non-volatile computer storage media products. For example, the computer 900 may include a non-removable memory interface 910 that communicates with and controls a hard disk drive 912, i.e., a non-removable, non- volatile magnetic medium; and a removable, non-volatile memory interface 914 that communicates with and controls a magnetic disk drive unit 916 (which reads from and writes to a removable, non-volatile magnetic disk 918), an optical disk drive unit 920 (which reads from and writes to a removable, non-volatile optical disk 922, such as a CD-ROM), a Universal Serial Bus (USB) port 921 for use in connection with a removable memory card, etc. However, it is envisioned that other removable or non-removable, volatile or non-volatile computer storage media can be used in the exemplary computing system environment 900, including, but not limited to, magnetic tape cassettes, DVDs, digital video tape, solid state RAM, solid state ROM, etc. These various removable or non-removable, volatile or non-volatile magnetic media are in communication with the processing unit 904 and other components of the computer 900 via the system bus 906. The drives and their associated computer storage media discussed above and illustrated in Fig. 8 provide storage of operating systems, computer-readable instructions, application programs, data structures, program modules, program data and other instruction- based computer-readable code for the computer 900 (whether duplicative or not of this information and data in the system memory 908).

[0067] A user may enter commands, information, and data into the computer 900 through certain attachable or operable input devices, such as a keyboard 924, a mouse 926, etc., via a user input interface 928. Of course, a variety of such input devices may be utilized, e.g., a microphone, a trackball, a joystick, a touchpad, a touch-screen, a scanner, etc., including any arrangement that facilitates the input of data, and information to the computer 900 from an outside source. As discussed, these and other input devices are often connected to the processing unit 904 through the user input interface 928 coupled to the system bus 906, but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB). Still further, data and information can be presented or provided to a user in an intelligible form or format through certain output devices, such as a monitor 930 (to visually display this information and data in electronic form), a printer 932 (to physically display this information and data in print form), a speaker 934 (to audibly present this information and data in audible form), etc. All of these devices are in communication with the computer 900 through an output interface 936 coupled to the system bus 906. It is envisioned that any such peripheral output devices be used to provide information and data to the user.

[0068] The computer 900 may operate in a network environment 938 through the use of a communications device 940, which is integral to the computer or remote therefrom. This communications device 940 is operable by and in communication to the other components of the computer 900 through a communications interface 942. Using such an arrangement, the computer 900 may connect with or otherwise communicate with one or more remote computers, such as a remote computer 944, which may be a personal computer, a server, a router, a network personal computer, a peer device, or other common network nodes, and typically includes many or all of the components described above in connection with the computer 900. Using appropriate communication devices 940, e.g., a modem, a network interface or adapter, etc., the computer 900 may operate within and communication through a local area network (LAN) and a wide area network (WAN), but may also include other networks such as a virtual private network (VPN), an office network, an enterprise network, an intranet, the Internet, etc. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers 900, 944 may be used.

[0069] As used herein, the computer 900 includes or is operable to execute appropriate custom-designed or conventional software to perform and implement the processing steps of the method and system of the present invention, thereby, forming a specialized and particular computing system. Accordingly, the presently-invented method and system may include one or more computers 900 or similar computing devices having a computer-readable storage medium capable of storing computer-readable program code or instructions that cause the processing unit 904 to execute, configure or otherwise implement the methods, processes, and transformational data manipulations discussed hereinafter in connection with the present invention. Still further, the computer 900 may be in the form of a personal computer, a personal digital assistant, a portable computer, a laptop, a palmtop, a mobile device, a mobile telephone, a server, or any other type of computing device having the necessary processing hardware to appropriately process data to effectively implement the presently-invented computer-implemented method and system.

[0070] It will be apparent to one skilled in the relevant art(s) that the system may utilize databases physically located on one or more computers which may or may not be the same as their respective servers. For example, programming software on computer 900 can control a database physically stored on a separate processor of the network or otherwise.

[0071] As can be seen, the system and method disclosed herein overcomes the technical problem associated with using data acquired by one or more inertial navigation sensors (e.g., magnetometers), wherein the accuracy of the acquired data has been adversely affected by the structure of the cab car or locomotive that houses the inertial navigation sensor(s). In an example, the structure of the cab car or locomotive can include one or more materials that are electrically and/or magnetically conductive, which material(s) can adversely affect the accuracy of the data acquired by the inertial navigation sensor(s) and, hence, the use of said data to accurately determine a heading of the cab car or locomotive. [0072] The system and method disclosed herein for correcting the data acquired by the inertial navigation sensor(s) using GPS data overcomes this technical problem thereby enabling accurate determination of the heading of the cab car or locomotive using the corrected data.

[0073] Although the invention has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred embodiments, it is to be understood that such detail is solely for that purpose and that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims, of any. For example, it is to be understood that the present invention contemplates that, to the extent possible, one or more features of any embodiment can be combined with one or more features of any other embodiment.