1. Field of the Invention
This invention pertains generally to location determining systems and, more particularly, to such systems for determining position of an object, such as a vehicle. The invention also pertains to methods of determining the location of an object.
2. Background Information
The haversine formula is an equation important in navigation. This provides great-circle distances between two points on a sphere from their longitudes and latitudes. The haversine formula is a special case of a more general formula in spherical trigonometry, the law of haversines, which relates the sides and angles of spherical “triangles”.
It is known to use the haversine formula of Equations 1-3, below, to approximate the distance (D) between two points on the Earth's surface along a great circle route. A great circle is the intersection of a sphere with a plane going through its center and is the largest circle that can be drawn on a given sphere (e.g., as is approximated by the Earth's surface). Each of the two points is defined in terms of a longitude/latitude pair as may be obtained from a conventional global positioning system (GPS).
haversin(θ)=sin2(θ/2) (Eq. 1)
h=haversin(d/R)=haversin(Δφ)+cos(φ1)cos(φ2)haversin(Δλ) (Eq. 2)
D=Rhaversin−1(h)=2 Rarcsin(√{square root over (h)})=2 Rsin−1(√{square root over (h)}) (Eq. 3)
wherein:
When using Equations 2 and 3, care must be taken to ensure that Equation 2 (h) does not exceed 1 due to a floating point error, since the distance D is only real for h from 0 to 1. The haversine formula is sometimes written in terms of the arctangent function, but this suffers from similar numerical problems near h=1. The haversine formula is only an approximation when applied to the Earth, because the Earth is not a perfect sphere. The Earth's radius R varies from about 6356.78 km at the poles to about 6378.14 km at the equator. There are small corrections, typically on the order of about 0.1%, assuming that the geometric mean of R of about 6367.45 km is used everywhere, because of this slight ellipticity of the Earth.
U.S. Pat. No. 6,011,461 discloses a GPS system that receives data indicative of the present geographic location of a receiver, and therefore of a vehicle, in the form of latitude and longitude coordinates. A GPS distance calculation is made as the square root of the sum of the squares of the GPS position coordinates previously obtained and the GPS position coordinates most recently obtained. Calculation of distance in this manner is an approximation because latitude and longitude lines are curved.
U.S. Pat. No. 5,893,043 discloses a process and an arrangement for determining the position of a vehicle moving on a given track by using a map matching process. At least three types of position measuring data in the form of object site data, path length data and route course data are obtained. A computer unit carries out, for each type of measuring data, a data correlation with a stored desired data quantity for the determination of position results, which are evaluated in an “m-out-of-n” decision making process. In this process, a given number “m” of the “n” determined position results is taken into account.
Some on-board computer systems for railroads use fixed point processing. Hence, those systems cannot readily accommodate the relatively complex trigonometric equations, such as Equations 1-3, of the haversine formula.
Therefore, there is room for improvement in location determining systems.
There is also room for improvement in methods of determining the location of an object.
These needs and others are met by embodiments of the invention, which determine a first distance approximating a distance corresponding to a latitude as a function of the latitude, an angular position and a first predetermined value, which determine a second distance approximating a distance corresponding to a longitude as a function of the longitude, another angular position and a second value, and which output the first and second distances.
In accordance with one aspect of the invention, a system determines position of a vehicle. The system comprises: a global positioning system receiver structured to output a longitude and a latitude of the vehicle, each of the longitude and the latitude being a corresponding angular position, the longitude being greater than or equal to a first predetermined longitude and being less than or equal to a second predetermined longitude, which is greater than the first predetermined longitude, the latitude being greater than or equal to a first predetermined latitude and being less than or equal to a second predetermined latitude, which is greater than the first predetermined latitude; and a processor comprising: an input structured to input the longitude and the latitude, a routine structured to determine a first distance approximating a distance corresponding to the latitude as a function of the latitude, a third angular position and a first predetermined value, determine a second distance approximating a distance corresponding to the longitude as a function of the longitude, a fourth angular position and a second value, and an output structured to output the first distance and the second distance.
The routine may be structured to subtract the third angular position from the latitude to provide a latitude difference, subtract the fourth angular position from the longitude to provide a longitude difference, multiply the latitude difference by the first predetermined value to provide the first distance, and multiply the longitude difference by the second value to provide the second distance.
The processor may be structured to provide fixed point processing in the routine without providing floating point processing in the routine.
As another aspect of the invention, a location determining system comprises: a processor structured to input a latitude and a longitude of an object, the latitude being a first angular position, the longitude being a second angular position, the latitude being greater than or equal to a first predetermined latitude and being less than or equal to a second predetermined latitude, which is greater than the first predetermined latitude, the longitude being greater than or equal to a first predetermined longitude and being less than or equal to a second predetermined longitude, which is greater than the first predetermined longitude, the processor comprising: a routine structured to determine a first distance approximating a distance corresponding to the latitude as a function of the latitude, a third angular position and a first predetermined value, and determine a second distance approximating a distance corresponding to the longitude as a function of the longitude, a fourth angular position and a second value, and an output structured to output the first distance and the second distance.
The routine may be further structured to subtract the third angular position from the latitude to provide a latitude difference, subtract the fourth angular position from the longitude to provide a longitude difference, multiply the latitude difference by the first predetermined value to provide the first distance, and multiply the longitude difference by the second value to provide the second distance.
The routine may be further structured to compensate the second value as a function of the latitude.
The routine may be further structured to calculate the second value as being a second predetermined value plus the product of the latitude difference times a third predetermined value.
As another aspect of the invention, a method of determining a location of an object comprises: inputting a latitude and a longitude of the object, the latitude being a first angular position, the longitude being a second angular position, the latitude being greater than or equal to a first predetermined latitude and being less than or equal to a second predetermined latitude, which is greater than the first predetermined latitude, the longitude being greater than or equal to a first predetermined longitude and being less than or equal to a second predetermined longitude, which is greater than the first predetermined longitude; determining a first distance approximating a distance corresponding to the latitude as a function of the latitude, a third angular position and a first predetermined value; determining a second distance approximating a distance corresponding to the longitude as a function of the longitude, a fourth angular position and a second value; and outputting the first and second distances.
A full understanding of the invention can be gained from the following description of the preferred embodiments when read in conjunction with the accompanying drawings in which:
As employed herein, the term “number” shall mean one or an integer greater than one (i.e., a plurality).
As employed herein, the term “processor” means a programmable analog and/or digital device that can store, retrieve, and process data; a computer; a workstation; a personal computer; a microprocessor; a microcontroller; a microcomputer; a central processing unit; a mainframe computer; a mini-computer; a server; a networked processor; an on-board computer; or any suitable processing device or apparatus.
As employed herein, the term “vital” means that the acceptable probability of a hazardous event resulting from an abnormal outcome associated with a corresponding activity or thing is less than about 10−9/hour. Alternatively, the Mean Time Between Hazardous Events is greater than 109 hours. Static data used by vital routines (algorithms), including, for example, track map data, has been validated by a suitably rigorous process under the supervision of suitably responsible parties.
As employed herein, the terms “railroad” or “railroad service” mean freight trains or freight rail service, passenger trains or passenger rail service, transit rail service, and commuter railroad traffic, commuter trains or commuter rail service.
As employed herein, the term “railroad vehicle” means freight trains, passenger trains, transit trains and commuter trains, or a number of cars of such trains or of a railroad consist.
As employed herein, the terms “carborne” and “carborne equipment” refer to things or equipment on-board a railroad vehicle.
The invention is described in association with a global positioning system receiver, although the invention is applicable to other location systems that output position references.
Referring to
Also referring to
Although an example GPS receiver 8 is shown as the source of the DGPS location inputs 26, the longitude 104 and the latitude 102 may be obtained from a different source of those angular positions, as is discussed, below, in connection with Example 11.
As will be discussed in greater detail in connection with
Continuing to refer to
As will be appreciated from
In
For example, for a railroad, such as a railroad in Alaska, the latitude and longitude ranges are as follows: the latitude ranges from about 62.8° N to about 64.3° N, and the longitude ranges from about 148.8° W to about 149.7° W. For an example 0.000001° change in either longitude or latitude in the example latitude and longitude ranges when using the haversine formula (Equations 1-3), the longitude change in meters is from about 0.048 meters to about 0.051 meters, and the latitude change in meters is about 0.111 meters.
As a non-limiting example for the disclosed routine 100, the latitude scaling factor K1114 is about 0.111226 meters for each 0.000001° change in latitude, and the longitude scaling factor K2130 is about 0.049542 meters for each 0.000001° change in longitude. Also, the origin (106,108) is defined, for example and without limitation, as the lowest latitude and the furthest west longitude, which for the example railroad is 62.8° N and 149.7° W. Alternatively, any suitable origin may be employed (e.g., the lowest latitude and the furthest east longitude; the highest latitude and the furthest west longitude; the highest latitude and the furthest east longitude; any point of a predetermined latitude range and a predetermined longitude range.
Preferably, a plurality of local maps of suitable size (e.g., without limitation, about one square mile in size) are employed, with the local map sections being configured in order that the change in latitude and the change in longitude are both always positive. An example of two local maps 140,142 for a railroad vehicle track 144 is shown in
The example routine 100 of the example coordinate transformation (CT) subsystem 14 can be used, for example, in any railroad carborne mapping application including a navigation system. The disclosed subsystem 14 is particularly useful for vital systems that have limited computing capabilities.
If, for example, the third predetermined fixed gain (K3) 136 is preset to zero, then a single longitude scale change is calculated for the entire latitude range. Here, no compensation to the longitude scaling is employed as a function of latitude. In this instance, the location determining system (LDS) 12 can tolerate the corresponding errors. Hence, the constant scale factor for longitude can be used if the error is suitably small. Here, the value 122 is equal to the predetermined fixed value (K2) 130.
Referring to
As shown in
The Latitude output 116 (meters) and the Longitude output 126 (meters) of the routine 100 are used by the location determining system (LDS) 12.
In the routine 100 of
Latitude (m)=(Latitude (degrees)−Latitude Origin (degrees))×Lat. Scaling (Eq. 4)
Longitude (m)=(Longitude (degrees)−Longitude Origin (degrees))×Long. Scaling (Eq. 5)
wherein:
Latitude Origin (degrees)=+62.8°;
Longitude Origin (degrees)=−149.7°;
Lat. Scaling=K1 114=0.111226 m/0.000001 degrees=111,226 m/degree; and
Long. Scaling=K2 130=0.049542 m/0.000001 degrees=49,542 m/degree.
If, for example, local maps (e.g., without limitation, local maps 140,142 of
Y(meters)=LatScale*(φ−φ0)+Y0 (Eq. 6)
wherein:
Y is local map section vertical coordinate (e.g., meters);
Then, the local map section longitude scaling is determined from Equation 7.
LongScale=LongScaleBase+LongScaleF(φ−φ0) (Eq. 7)
wherein:
Finally, the local map section horizontal (X) coordinate (e.g., meters) is determined from Equation 8.
X(meters)=LongScale*(φ−φ0)+X0 (Eq. 8)
wherein:
Table 1, below, is an example based upon a number of sections of a map of suitable size. This includes a comparison of the conventional Haversine approach (third column) and the disclosed scaling procedure (fourth column) and corresponding scaling error (fifth column) of, for example, routine 100 of
The total distanced traveled (d) from the origin is determined from Equations 9 and 10.
d
2=(Latitude (m))2+(Longitude (m))2 (Eq. 9)
d=√{square root over (((Latitude (m))2+(Longitude (m))2))}{square root over (((Latitude (m))2+(Longitude (m))2))} (Eq. 10)
The disclosed coordinate transformation (CT) subsystem 14 can also be used by other location systems where other position references are employed, such as are output by a position tag 300 of
The example LDS 12 determines the positions 116,126 using fixed point processing with a simplified coordinate transformation. The LDS 12 employs a relatively simple routine 100 as opposed to relatively complex trigonometric calculations used in conventional navigation systems. The routine 100 provides, for example, a scale distance calculation by subtracting a Latitude/Longitude origin (106,108) from each respective Latitude/Longitude pair (102,104) of interest, before each result is multiplied by a scale factor (114,130), in order to get the distance traveled (e.g., without limitation, in meters; in feet).
While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. Accordingly, the particular arrangements disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the claims appended and any and all equivalents thereof.