BACKGROUND

[0001]
The present invention relates generally to satellite navigation systems. In particular, the invention relates to a method and system for using multiple antennas to obtain position solution for each antenna in a satellite navigation system where signals from fewer than four satellites are available at some antennas.

[0002]
Global Positioning System or GPS is extensively used for position determination. It is a network of satellites that continuously transmit coded information that are utilized to precisely determine locations on the Earth.

[0003]
GPS can be divided into three segments viz., a space segment, a control segment and a user segment. The space segment nominally consists of a network of 24 satellites distributed in 6 orbit planes around the Earth. The orbits are so distributed that at any instant of time a receiver positioned anywhere on Earth can receive signals from at least four satellites. The satellites continuously broadcast low power radio signals that travel in the “line of sight”, i.e. the signals cannot travel through opaque objects. GPS signals comprise i) a signal carrier wave, ii) a pseudo random noise code (PRN), and iii) ephemeris and almanac data. The PRN code is unique to each satellite. It is used to calculate the distance between a receiver and the satellites. Ephemeris data contains correction factors that are used by the receiver to interpret GPS signals more accurately. Almanac data contains information about the exact location of the satellites and is necessary to determine the location of the receiver. The control segment comprises 5 control stations. This system controls GPS satellites by tracking them and thereafter providing them with corrected orbital and clock information.

[0004]
At the user end, a typical receiver receives signals and calculates the distance from a satellite. This is done by measuring the difference between the time of receiving a signal at the user's end and the time of broadcast of the signal from the satellite. The time difference is calculated by measuring the PRN code phase difference between the received signal and an identical signal that was simultaneously generated at the receiver end. For conventional GPS codephase positioning, a user receiver requires simultaneous measurements of code phase from a minimum of four different satellites to solve for its four unknown spacetime coordinates, i.e. three position coordinates and internal clock offset from GPS time. This is a basic form of GPS positioning and provides a navigation solution that is typically accurate to 10 m in a world coordinate frame.

[0005]
The conventional GPS technique described above suffers from a number of errors from different sources. Apart from receiver clock errors and orbital errors, there are ionosphere and troposphere delays where the satellite signal slows as it passes through the atmosphere. This error is greatly reduced in a method known as Differential GPS (DGPS). DGPS employs a fixed reference station in the abovediscussed GPS. This reference station measures its position using GPS. The reference station broadcasts differential correction information over a communication link to all mobile receivers in the vicinity, so that the mobile receivers establish a very accurate position relative to the reference station. The information broadcast by the reference station may be its own raw code phase measurements or a correction factor based on the difference between its current position measurement and a longterm average position. With the use of DGPS, accuracy of around 15 meters can be achieved.

[0006]
The following explanation describes how a conventional GPS (and DGPS) position solution is derived from phase measurements.

[0007]
Conventional GPS Position Solution

[0008]
The conventional GPS technique calculates user position and other parameters from pseudorange measurements made by a receiver. This method provides a position solution in a world reference frame with an accuracy of around 10 meters. For differential GPS, the differential code phase measurements represent differences between code phase measurements made simultaneously by a mobile user receiver and a fixed reference station. The differential GPS position solution is in a frame relative to the reference station and the solution is accurate to a few meters.

[0009]
The pseudorange observation between satellite i and user antenna is related to the user position and clock bias by the equation:

ρ_{ij} =r _{j} −x _{i}+τ_{i } Equation 1

[0010]
Where ρ
_{ij }is the measured pseudorange, r
_{i }is the satellite position, x
_{i }is the receiver position, r
_{i}−x
_{i} is the true range, and τ
_{i }is the receiver clock bias times the speed of light. Various error sources, including antenna line bias etc, that are not essential to the current discussion have been ignored. In differential GPS, ρ
_{ij }is the codephase difference between the reference antenna and user antenna, and r
_{j }is the reference antenna position. To solve for the user position from the pseudorange, Equation 1 may be linearized (as in Equation 2 below) about an apriori estimate of position, {circumflex over (x)}
_{i}, where Δx
_{i}={circumflex over (x)}
_{i}−x
_{i }and Δρ
_{ij }is the difference between the predicted measurement, based on {circumflex over (x)}
_{i}, and the actual measurement.
$\begin{array}{cc}\Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{i}=\left[\begin{array}{cc}{E}_{i}& 1\end{array}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{i}\\ {\tau}_{i}^{\prime}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e2\\ \mathrm{Where}& \text{\hspace{1em}}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{i}\equiv \left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{\mathrm{i1}}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{i\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e3\\ {E}_{i}\equiv \left[\begin{array}{c}{\hat{e}}_{\mathrm{i1}}^{T}\\ \vdots \\ {\hat{e}}_{i\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}^{T}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e4\\ {\hat{e}}_{\mathrm{i1}}\equiv \frac{{r}_{j}{\hat{x}}_{i}}{\uf603{r}_{j}{\hat{x}}_{i}\uf604}& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e5\end{array}$

[0011]
A set of four or more measurements in equation 2 can be combined into a set of normal equations that can be solved for user position x_{i}. The observation matrix [E_{i }1] is usually referred to as the geometry matrix and ê_{ij }are lineofsight vectors from antenna i to satellite j. The symbol “1” is shorthand for a column vector of 1's of appropriate dimension.

[0012]
An application requiring two or more position measurements might simply employ independent GPS receivers for each position measurement, even though there may be constraint relations between the antennas.

[0013]
In such an instance, each receiver would form its own independent solution based on Equation 2. If the phase information from all such receivers were combined at a central processor, Equation 2 could be extended as Equation 6 and then solved.
$\begin{array}{cc}\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{{n}_{a}}\end{array}\right]=\left[\begin{array}{cccc}\left[\begin{array}{cc}{E}_{1}& 1\end{array}\right]& 0& \cdots & 0\\ 0& \left[\begin{array}{cc}{E}_{2}& 1\end{array}\right]& \text{\hspace{1em}}& \vdots \\ \vdots & \text{\hspace{1em}}& \u22f0& 0\\ 0& \cdots & 0& \left[\begin{array}{cc}{E}_{{n}_{a}}& 1\end{array}\right]\end{array}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ \frac{{\tau}_{1}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}}\\ \frac{{\tau}_{2}}{\frac{\vdots}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}}}\\ {\tau}_{{n}_{a}}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e6\end{array}$

[0014]
For applications requiring the highest possible accuracy, a method called carrierphase differential GPS, or more commonly, real time kinematic (RTK), can be used. In this method, the GPS carrier wave is measured directly and compared to a similar carrier wave (phase) measurement made by the reference station. Using carrier phase differential GPS, accuracies of 12 centimeters relative to the reference station can be achieved.

[0015]
The following explanation describes how GPS carrier phase techniques are used to derive the position solution.

[0016]
GPS Carrier Phase Techniques

[0017]
GPS carrier phase techniques employ carrier phase measurements to determine centimeterlevel accurate position solutions. A fundamental requirement of all carrier phase techniques is to solve for carrier cycle ambiguities.

[0018]
At any given sample instant there are more unknowns for which to solve than there are available measurements. Therefore, measurements must (1) be accumulated over multiple sample instances, (2) be taken over the course of some geometric change in the system—by the satellites, user, or both, and (3) contain more than four (at least five) measurements per sample to provide redundancy for obtaining the position solution. Some of the techniques of carrier phase measurement are: 1) Satellite motion [as described in Differential GPS in Global Positioning System: Theory and Applications II, volume 164 of Progress in Aeronautics and Astronautics, pp. 350, by Parkinson, B. W. and Spilker, J. J. Jr., Editors. AIAA, 1996.], 2) User motion [as described in “Navigation Integrity for Aircraft Precision Landing Using the Global Positioning System”, Stanford University, pp. 3766, pp. 150151, by Pervan, Boris S., Ph.D. Dissertation, 1996.], 3) Integer searching [As described in “Instantaneous Ambiguity Resolution,” KIS Symposium 1990, Banff, Canada, September 1990, by Hatch, R. and in “A New Method of Instantaneous Ambiguity Resolution,” Proceedings of ION GPS94, Salt Lake City, Utah, Institute of Navigation, Washington, D.C., Sep. 2024, 1994. by Knight, D.]

[0019]
In a manner similar to the code phase solution shown above, the relationship between carrier phase measurements and the unknown user position and clock state is provided here as a basis to show how a solution incorporating constraints would differ from conventional carrier phase method. The differential carrier phase measurement between the user and a reference receiver for antenna i and satellite j is related to the position, cycle ambiguity, and clock bias by the following equation:

φ_{ij} =r _{j} −x _{i}+τ_{i} +N _{ij } Equation 7

[0020]
Where φ
_{ij }is the measured differential carrier phase, r
_{i}, x
_{i}, and τ
_{i }are as above, and N
_{ij }is the cycle ambiguity, in carrier wavelengths. Again, several error sources not essential to the current discussion are ignored here. The various satellite or usermotion based methods for converting carrier phase information to user state begin with the formulation of a linearized observation matrix relating the differential carrier phase measurements to the unknown position, clock, and cycle ambiguity states. As was done with equation (1) in the code phase solution, equation (7) may be linearized about an a priori estimate of position, {circumflex over (x)}
_{i}, where Δx
_{i}={circumflex over (x)}
_{i}−x
_{i }and φ
_{ij }is the difference between the predicted measurement, based on {circumflex over ( )}x
_{i}, and the actual measurement.
$\begin{array}{cc}\Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{i}=\left[\begin{array}{ccc}{E}_{i}& 1& \stackrel{\_}{I}\end{array}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{i}\\ {\tau}_{i}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{\mathrm{i2}}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{i\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e8\\ \mathrm{Where}& \text{\hspace{1em}}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{i}\equiv \left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{\mathrm{i1}}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{i\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e9\\ \stackrel{\_}{I}\equiv \left[\begin{array}{c}0\\ I\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e10\end{array}$
τ
_{i}′≡τ
_{i} +N _{i1 } Equation 11

ΔN _{i1} ≡N _{ij} −N _{i1 } Equation 12

[0021]
The substitutions of τ_{i }′ for τ_{i }and integer differences ΔN_{ij }for N_{ij }are made because the integers themselves, solved in this manner, are not distinguishable from clock bias, but the integer differences are distinguishable.

[0022]
Under normal circumstances, the observation matrix [E_{i }1 l] does not contain enough information in one measurement update to allow the pseudoinversion needed to generate the leastsquares solution to the system of equations. However, taking many measurements through the course of motion of satellites, the motion of the user, or both, can provide measurement equations that accrue faster in number than the number of new user states, thereby creating a solvable system of equations. In practice, the amount of accumulated data is typically too large to solve in one huge concatenatedmatrix inversion, but are instead solved by means of a forwardbackward information filter [As described in “Navigation Integrity for Aircraft Precision Landing Using the Global Positioning System”, Stanford University, pp. 3766, pp. 150151, 1996 by Pervan, Boris S., Ph.D. Dissertation].

[0023]
The independent receiver approach can be represented by building a large observation matrix with independent observation matrices for each antenna along the diagonal. The user states for each antenna are likewise stacked into one large vector, as are the corresponding differential phase measurements φ
_{ij}. In this manner, by stacking Equation 8 from each differential phase measurement the following equation is obtained:
$\begin{array}{cc}\begin{array}{c}\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{{n}_{a}}\end{array}\right]=\\ [\text{\hspace{1em}}\ue89e\begin{array}{cccc}\left[\begin{array}{ccc}{E}_{1}& 1& \stackrel{\_}{I}\end{array}\right]& 0& \cdots & 0\\ 0& \left[\begin{array}{ccc}{E}_{2}& 1& \stackrel{\_}{I}\end{array}\right]& \text{\hspace{1em}}& \vdots \\ \vdots & \text{\hspace{1em}}& \u22f0& 0\\ 0& \cdots & 0& \left[\begin{array}{ccc}{E}_{{n}_{a}}& 1& \stackrel{\_}{I}\end{array}\right]\end{array}][\text{\hspace{1em}}\ue89e\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ {\tau}_{1}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{12}\\ \vdots \\ \frac{\Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{1\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}}\\ {\tau}_{2}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{22}\\ \vdots \\ \frac{\frac{\Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{2\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}}{\vdots}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}}\\ {\tau}_{{n}_{a}}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{{n}_{a}\ue89e2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{{n}_{a}\ue89e{n}_{s}}\end{array}\ue89e\text{\hspace{1em}}]\end{array}& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e13\end{array}$

[0024]
However, establishing proper carrier phase measurements requires one of several initialization processes to be performed. The type of process performed depends on the geometric layout of the overall system and motion on the part of either the satellites or the mobile receiver. The initialization process is known as carrier cycle ambiguity resolution or integer resolution. This process typically requires the user to wait for at least a few minutes during which the satellite signal is reacquired unto its high accuracy mode. The initialization process must be carried out every time a user receiver loses continuous track of a minimum of four satellites.

[0025]
A frequent limitation in the use of any of the above GPS methods for determining position is the requirement of continuous visibility of four satellites to the GPS antenna. However, the continuous visibility of four satellites is not practical in many real life situations. As the GPS signals travel in the “line of sight”, buildings, terrain, electronic interference, or sometimes even dense foliage can block signal reception, causing limited satellite visibility. For example, when the system is being used to track locations in urbanareas, which are surrounded by skyscrapers visibility to four satellites is hindered. If there are fewer than four satellite signals available, a GPS receiver will lose its positioning ability and will require time to (1) reacquire a sufficient number of satellite signals and (2) reinitialize to a high accuracy mode.

[0026]
As a consequence of the lineofsight visibility requirement, most GPS applications use a tall mast or similar mounting structure to raise the GPS antenna as high as possible. When applied to certain agricultural and construction equipment, large antenna mounting structures may limit the mobility of the implement. Also, large antenna mounts only partially address the problem and often even large antenna mounts are not useful in case of signal blockage.

[0027]
There are certain GPS based navigation systems that work even with visibility to fewer than four satellites.

[0028]
One such system is disclosed in “Maintaining GPS Positioning in Steep Turns Using Two Antennae,” Institute of Navigation GPS95, Palm Springs, Calif., September 1995, by Lawrence, David G., et al. This system uses two antennas, mounted on an airplane, to maintain continuous position tracking even when fewer than four satellites are visible on one of the antennas.

[0029]
However, this system cannot be generalized to more than two antennas and does not allow for motion and/or clock divergence among a subset of the antennas. This system requires a separate set of four antennas to provide attitude information, which in turn is used to determine the position.

[0030]
Another such system is disclosed in U.S. Pat. No. 5,977,909, titled “Method And Apparatus For Locating An Object Using Reduced Number Of GPS Satellite Signals Or With Improved Accuracy” and assigned to General Electric Company (Schenectady, N.Y.). This patent discloses a positioning system that involves the use of position constraint to reduce the number of satellite signals required per antenna to determine the position of an object. In this patent, the physical track of a rail car is used to constrain the location of the rail car. Therefore, the number of GPS signals required for determining the position is reduced. This invention can track objects, which follow a specific path, so that a database can be generated. This database is used to provide additional information while determining the position of the object. Unfortunately, the scope of such a system is very limited. This system cannot be used to determine the position in unfamiliar locations, where the path traversed by the object is not known. For example, this invention would not be suitable for positioning farm equipment or automobiles, since the creation of a database in these cases would be almost impossible.

[0031]
Another system that can determine position using fewer than four GPS satellites is disclosed in U.S. Pat. No. 6,353,412 titled “Method And Apparatus For Determining Position Location Using Reduced Number Of GPS Satellites And Synchronized And Unsynchronized Base Stations”, and assigned to Qualcomm, Incorporated (San Diego, Calif.). This patent discloses a location determining GPS system for wireless receivers. The wireless communication device is adapted to receive these GPS signals and transmit a fourth signal to a base station in response thereto. The base station receives the fourth signal, corrects for the clock bias imposed on the fourth signal by the round trip delay between the base station and the wireless communication device, and uses the unbiased fourth signal to calculate the position of the wireless communication device.

[0032]
However, this method requires a wireless device so as to communicate with a cellular base station in order to provide satellite almanacs and remove clockbias. Hence, this system will not work in places where there are no base stations in the vicinity or the base station is not capable of providing the correction factors. This situation could arise in cases when the user is in some isolated or uninhabited locations, and many farms are in fact located in isolated or uninhabited areas.

[0033]
Another satellite navigation system utilizing fewer than four antennas has been disclosed in U.S. Pat. No. 6,292,132 titled “System And Method For Improved Accuracy In Locating And Maintaining Positions Using GPS”, and assigned to Daimler Chrysler AG (Stuttgart, Del.). This system uses multiple GPS antennas and corresponding processors on a single vehicle in order to maintain position information when fewer than four GPS satellites are visible. This system calculates differential path lengths between the received position information signals and at least two antennaprocessor pairs to determine the cone angles between them. The corresponding position information of the mobile vehicle is maintained using the initial position information and the determined cone angles. However, this system requires prior knowledge of the initial position. Moreover, this system is not very accurate as it is based on extrapolating the position based on the initial position and the information generated by the sensors attached to the steering wheel.

[0034]
Another method for obtaining location solutions even in the absence of four GPS signals is disclosed in U.S. Pat. No. 5,935,194 titled “Method For Using External Constraints To Improve The Speed And Reliability Of Phase Ambiguity Resolution In RealTime Kinematic Initialization”, and assigned to Trimble Navigation Limited (Sunnyvale, Calif.). This invention uses externally provided constraints, such as altitude to reduce the computational burden in determining the position. This invention works particularly in the case when there are a limited number of satellites visible to the receiver.

[0035]
However, this system utilizes various constraints only to simplify the computational burden and in resolving integer cycle ambiguities. It does not use constraints to specifically circumvent the need for the fourth satellite, nor does it use the constraints to improve or enable centimeterlevel positioning once the cycle ambiguities have been resolved. This system simply focuses on using constraints to better traverse the search tree involved in resolving the integer ambiguity cycle. Furthermore, this system only relates to searchtype methods for resolving integer cycle ambiguities and, therefore, it relies on dual frequency measurements to reduce the search space to a manageable size (and as such does not benefit motionbased methods).

[0036]
U.S. Pat. No. 5,548,293, titled “System And Method For Generating Attitude Determinations Using GPS” and assigned to Cohen describes a system for determining the attitude of a fourantenna configuration on a vehicle. The system uses physical constraints and motionbased methods for determining integer cycle ambiguities. The system also can measure wing flexure if the vehicle is an airplane and two of the four antennas are mounted on the wings. However, this system only describes configurations with four or more antennas and four or more satellites. It relates only to attitude determination of a single body. It does not provide a method for vehicles with multiple bodies connected by a linkage, such as a vehicle and an implement.

[0037]
Therefore, there is a need for a system that can provide position and location information in a satellite navigation system, even when there are less than four satellite signals. In particular, there is a need for an invention that can provide the position of vehicles, which have multiple bodies connected by linkages, such as earth moving machines (that are working in remote or uninhabited areas and that do not have any constraints with respect to their initial or transient locations), even when antennas on some of the linkages cannot receive satellite signals. Further, there is a need for a method that obviates the need for cumbersome antenna mounting structures to receive signals from GPS satellites.
SUMMARY

[0038]
An object of the present invention is to provide a satellite navigation system for determining the position solution for a plurality of antennas mounted on an object, when as few as two satellites are available to some antennas, and the object is located in an uninhabited or remote area and has only very general constraints with respect to its initial and transient locations.

[0039]
Another object of the present invention is to use satellitetracking information from one antenna to aid (or help bootstrap) tracking on another antenna.

[0040]
Yet another object of the present invention is to obtain faster initialization and improved integer cycle handoffs from one antenna to another for instantaneous integerambiguity initialization.

[0041]
Yet another object of the present invention is to obviate the need for tall, cumbersome masts to elevate antennas used in construction equipments, agricultural equipments etc.

[0042]
An embodiment of the present invention uses a common reference clock for the plurality of antennas, thereby requiring only the common reference clock to be initialized. The use of a common reference clock provides the constraint information.

[0043]
In yet another embodiment of the present invention, a common reference clock is used for the antennas along with other kinematical constraints, such as distance between the antennas. In this case, the position solution for the antennas can be obtained even in the case when certain antennas have visibility to only two satellites.

[0044]
In an alternative embodiment of the present invention, kinematical constraints, such as the distance between two antennas, are used to compute the position of antennas, when fewer than four satellite signals are available at some antennas. Instead of kinematical constraints, other constraints that arise among fixed antennas connected to a rigid body can also be used; such constraints include a measured offset between antennas (such as antennas mounted on opposing ends of a movable mechanical linkage, where the linkage is sensed with joint angle or displacement sensors) and a measured attitude or partial attitude of the object (such as with an inertial measurement unit, a compass, or a clinometer). Finally, external constraints (such as the location of a given tree or a large rock) can also be used to determine the position of antennas when fewer than four satellite signals are available.

[0045]
The present invention utilizes external constraints to reduce the number of satellite signals required to determine the position of fiduciary points (corresponding to different antennas) on an object being tracked. The satellite signals are received at multiple antennas and these signals in conjunction with the constraint information are processed to get the position solutions. The constraints make the x, y, z and t coordinates of the fiduciary point on the object, interdependent and thus reduce the number of simultaneous equations required to determine the multiple position solutions. This, in turn, reduces the number of satellite signals required.

[0046]
The invention utilizes the known position information to initialize the system to pick up untracked satellites. This ensures instant locking to a satellite as soon as it is visible and is achieved by calculating the integer cycle for a satelliteantenna combination using the known locations of the antenna as well as the satellite.
BRIEF DESCRIPTION OF THE DRAWINGS

[0047]
The preferred embodiments of the invention will hereinafter be described in conjunction with the appended drawings provided to illustrate and not to limit the invention, wherein like designations denote like elements, and in which:

[0048]
[0048]FIG. 1 is a schematic diagram of the general environment of the navigation system in accordance with a preferred embodiment of the present invention;

[0049]
[0049]FIG. 2 is a block diagram of various components in the receiver;

[0050]
[0050]FIG. 3 is a flow chart depicting the steps performed by the master processor to determine the position of the fiduciary points on an object in accordance with a preferred embodiment of the present invention;

[0051]
[0051]FIG. 4 is a flow chart depicting the steps performed by each phase tracking module to obtain the code and carrier phases and GPS data to send to the master processor;

[0052]
[0052]FIG. 5 is a flowchart depicting how information from master processor is used for multipleantenna integer cycle handoff;

[0053]
[0053]FIG. 6 shows an isometric view of an application of the present invention in a motor grader blade; and

[0054]
[0054]FIG. 7 shows an isometric view of an application of the present invention in conjunction with rotary sensors, in an excavator.
DESCRIPTION OF PREFERRED EMBODIMENTS

[0055]
The present invention provides for a method and system for determining fiduciary point position solutions of an object, using multiple antennas wherein each fiduciary point corresponds to an antenna placed on the object. The satellite signals from all antennas are used in conjunction with physical constraints to solve for the position solution for all the antennas mounted on the object. These physical constraints are independent of satellite signals and provide for obtaining the position solution even when fewer than four satellites are visible at some of the antennas.

[0056]
In a preferred embodiment of the invention, satellite signals from the Global Positioning System (GPS) are used. The system nominally comprises a constellation of 24 satellites orbiting the earth in 6 different orbital planes such that from any point on Earth, at least four satellites are visible at any instant in time. In addition to this, GPS also has control stations to monitor and maintain the orbit and clocktime of all the satellites. GPS satellites continuously emit low power radio signals that are received by GPS receivers on earth. A typical GPS receiver comprises antennas for detecting the signals and a processor means for interpreting the signals. The receiver detects and decodes the GPS signals and returns the output to the user in a usable form. Although, the description mentions the use of GPS signals, it is apparent to one skilled in the art that the invention can make use of signals from other systems such as pseudolites, Low Earth Orbiting (LEO) satellites, geosynchronous satellites such as WAAS etc to determine the position solution.

[0057]
[0057]FIG. 1 is a schematic diagram of the general environment of the navigation system in accordance with a preferred embodiment of the present invention. Several antennas are mounted on an object 102 that is being tracked. Two such antennas, 104 and 106 are shown in FIG. 1. Object 102 can be any roving or stationary object whose position, and possibly attitude, needs to be determined. For example, it can be construction equipment such as cranes, agricultural equipment, automobiles, rail cars etc. A GPS receiver is attached to object 102. This receiver receives signals from satellites via antennas 104 and 106. Antennas 104 and 106 can be any standard antennas used in GPS receivers.

[0058]
Antennas 104 and 106 receive navigation signals from satellites and feed them to a receiver. Four satellites 108, 110, 112 and 114 are shown in FIG. 1. Antenna 104 receives signals only from satellites 110, 112 and 114 and antenna 106 receives signals from satellites 108, 110 and 112. An antenna does not receive signals from a satellite when that satellite does not fall in the “line of sight” of the antenna. This can occur because of signal blockage. Blockage may result from selfocclusion, e.g., in case of an aircraft, the aircraft banking away from a satellite.

[0059]
External constraints are used in conjunction with received satellite signals at antennas 104 and 106, to compute position solutions for the antennas.

[0060]
External constraints can be known kinematical constraints between two antennas. For example, the distance between two antennas can be used as a constraint to solve for the position of each antenna. A common reference clock can also be used to provide the external constraint. Alternatively, in case of a multielement object, the constraint can be obtained by measuring one or more degrees of freedom of the instantaneous configuration.

[0061]
The system may also include a differential GPS (DGPS) reference station 116, in order to enhance the accuracy of the position solution. Use of a differential GPS reference station for both code and carrier phase positioning is well known in the art [As described in “Differential GPS, in Global Positioning System: Theory and Applications II, volume 164” of Progress in Aeronautics and Astronautics, pp. 350 by Parkinson, Bradford W. and Eng, Per K., Editors. AIAA, 1996]. Reference station 116 sends measurements of its own GPS position as well as code and carrier phases for each satellite in view via a data communication link to object 102. The code phase information may be C/A code only or both C/A and Pcode. Likewise, the carrier phase information may be for GPS L1 frequency only, or both L1 and L2 frequencies. The GPS receiver of object 102 uses the information to calculate very high accuracy (cmlevel) positions of the fiduciary points on object 102, with respect to reference station 116.

[0062]
[0062]FIG. 2 is a block diagram of the various components in the receiver 200 to which antennas 104 and 106 are connected. Although the invention is described for two antennas it is apparent to one skilled in the art that two antennas have been mentioned for exemplary purpose only and multiple antennas can be used without deviating from the scope of the invention. In a preferred embodiment of the present invention, a multiantenna receiver may be used.

[0063]
The antennas capture, filter, and amplify the incoming satellite signals into an electric signal that can be processed by receiver 200. Receiver 200 contains phase tracking modules (PTM) 202 and 204 (corresponding to antennas 104 and 106). PTMs 202 and 204 are in turn connected to master processor 206. PTMs 202 and 204 refer to a common reference clock 208.

[0064]
Alternatively, PTMs 202 and 204 comprise an RF frontend that translates one of the carrier frequencies to a lower Intermediate Frequency (IF), a sampler (analog to digital converter) and a GPS correlator chip. The chipset may include a sampler function. An example of such a chipset is the Zarlink 2021 12channel GPS correlator. Circuitry to translate from an input carrier frequency to an IF is well known in the art of RF design. Another embodiment of the present invention may use a FieldProgrammable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC) instead of a commercial GPS correlator chipset to despread the signal. A variety of FPGA chips are available, for example FPGA chips from Xilinx and Altera.

[0065]
In yet another embodiment of the present invention, PTMs 202 and 204 may comprise a conventional GPS receiver. In this case, either a processor on a designated master receiver or a separate external processor would serve the function of master processor 206. The common clock function can be achieved by simple modification to the receiver hardware, if such capability is not already builtin. Such receivers are widely available in the market from a variety of vendors. For example, BAE Systems' Allstar and Superstar GPS receivers can be used in the current invention.

[0066]
Antennas 104 and 106 receive and amplify signals from GPS satellites and transfer it to their respective PTMs 202 and 204. Each PTM downconverts the signal from its associated antenna and may track code and carrier phases of all satellites visible to the antenna. PTMs 202 and 204 track satellite signals by generating an identical signal at the same instant at which the received signal is generated at the satellites. The received signal and the generated signal are compared to determine the phase difference between them. This is done for both code and carrier signals. The resultant code and carrier phase measurements are timestamped and passed on to master processor 206.

[0067]
Receiver 200 also contains a memory 210, which contains fixed constraint information. Constraint information may pertain to presurveyed data on the distance between antennas or any other known kinematical constraint. Receiver 200 is also connected to a sensor device 212 that provides variable constraint information to master processor 206. Sensor devices 212 can be rotary sensors that provide the angular motion between elements in a multielement object wherein each element has an antenna attached to it. The sensor device can also be a device used for an inertial measurement of the attitude of an object. The sensor device can also be a device utilizing a gravitational, magnetic, optical, sonar, or capacitive measurement technique to measure some aspect of the relative locations of two or more antennas. Constraint information obtained from sensor devices 212 is sent directly to master processor 206 for inclusion in the position solution calculations.

[0068]
Information from PTMs 202 and 204 is processed in conjunction with the constraint information at master processor 206 to solve for the position of each antenna. The constraint information is obtained by master processor 206 from memory 210 or from sensor devices 212. The constraint information is used to reduce the total number of raw phase measurements needed to solve any given transformation from phases to point positions. The reduced number of phase measurements can be applied to either codephase or carrierphase type solutions.

[0069]
[0069]FIG. 3 is a flow chart depicting the steps carried out by master processor 206 in determining the antenna positions on an object in accordance with a preferred embodiment of the present invention. At step 302, master processor obtains satellite tracking data that contains information required for initialization. This may be based on stored data from a previous operation of the system. Step 302 includes the step of obtaining data from a reference receiver in case of Differential GPS. The reference data may include one or more of the following information: position of reference station 116, code and carrier phases, and phase rates for all satellites in view.

[0070]
Each antenna on the object has an associated Phase Tracking Module (PTM), and each PTM can track a plurality of satellites. So for each PTM and each satellite tracked by the PTM, the master processor executes a set of steps to obtain PTM phase measurements for each satelliteantenna pair. At step 304, the master processor checks for any PTM for which phase measurements have not been obtained. At step 306, the master processor predicts expected bootstrapping details for each satellite in the tracking list of the antenna (PTM). The expected bootstrapping details may include the code and carrier phases and signal rates expecting to be observed at the antenna. These expected bootstrapping details help in computing aiding information required during the reacquiring and initialization process of a recently locked on satellite. The aiding information can be computed from any available differential GPS information, tracking information from other PTMs, or position estimates. In its simplest form, the aiding information may be the code phase or relative motion (Doppler) for a given satellite already tracked by the reference receiver or another PTM. In its most complete form, the aiding information may contain code and carrier phases and rates, as well as resolved carrier cycles.

[0071]
At step 308, the master processor computes control data for each PTM and sends it to respective PTMs. Such control data may include which satellite PRN is to be tracked on a given channel, code and carrier phases, relative velocity, and accelerations of satellites with respect to the antenna, etc. The control data is then distributed to each PTM. At step 310, the master processor collects data from each PTM that includes the code and carrier phases of tracked satellites, their signal strengths, and other related data. At step 312, the master processor obtains all constraint information. The constraint information may be recalled from memory, such as for a fixed offset constraint. The constraint information can also be measured by a sensor and translated into a relationship between two or more antennas.

[0072]
Once all available measurements and constraints are obtained, the master processor attempts to solve for antenna positions using the code phase or carrier phase technique. At step 314, the master processor solves for the code phase position for all antennas for which enough information exists. At step 316, the master processor checks whether a code phase solution has been obtained. If no code phase solution has been obtained, then the available data is made the output status information at step 318 and processing returns to step 302. The output status is the feedback information that is communicated to the master processor to aid computation.

[0073]
However, if a code phase solution is obtained, then the master processor solves for a carrier phase solution at step 320. Unlike the codephase solution, the carrier phase solution requires data over many sample periods to reach convergence, i.e., the observability of the integer cycles is accrued over many sample periods as motion occurs in the system. At step 322, after carrier phase processing is completed, the position solutions are output from the receiver. This output position solution adds on with the output status information regarding the accuracy of the solutions at step 318. The processing then returns to step 302.

[0074]
[0074]FIG. 4 shows the steps followed by a Phase Tracking Module (PTM) in accordance with a preferred embodiment of the invention. Satellite signals are received at step 402 by means of an RF sampler, which samples the raw signal collected and amplified by the antenna and may contain GPS L1 and L2 components. The signals may be downconverted to intermediate frequency. In step 404, the PTM obtains control signal from master processor 206 that contains information such as which satellites to track, control data that are used to adjust PRN code correlators, and predicted code and carrier phases and rates to aid locking on to signals. The PTM consists of a plurality of channels, each of which can track a different satellite signal. At step 406, the PTM checks whether each of the plurality of channels are executed. At step 408, a check is carried out for the presence of any untracked satellite in the tracking list of the PTM. If the satellite signal is not yet in lock, the PTM applies a signal acquisition control method at step 410 [as described in Differential GPS in Global Positioning System: Theory and Applications I, volume 164 of Progress in Aeronautics and Astronautics, pp. 329407, by Parkinson, B. W. and Spilker, J. J. Jr., Editors. AIAA, 1996.] This control method tries to acquire the L1 and/or L2 signals based on correlation with an internally generated version of the signal, as is known in the art. This method may be enhanced using predicted code and carrier phases and rates, when they are available from master processor 206. The ability to aid the initial lockon to the satellite signals in this manner is a unique aspect of the invention, because the predicted phases and rates may be known very precisely due to the existing constraints. If the satellite signal is being tracked, then the PTM applies a signal tracking control method at step 412. This control method maintains code and carrier phase lock on the signal. If dual frequencies are employed, the PTM may use a tracked L1 signal to aid lock on to the L2 signal at this step. For either cases of a tracked satellite signal (step 410) or untracked satellite signal (step 412), the code phases for any given satellite may be summed together across multiple PTMs to increase the signaltonoise ratio for that satellite. At step 414, the most recent measures of code and carrier phases and rates for all tracked satellites are sent to the master processor to allow for position solution calculation.

[0075]
[0075]FIG. 5 is a flowchart depicting how information from master processor is used for multipleantenna integer cycle handoff in accordance with a preferred embodiment of the current invention. The position solution generated by the master processor is input at step 502. The computed solution is used to predict the distance of the receiver from all potentially visible satellites for all antennas expected at the next sample period at step 504. These distances are used to compute the integer cycle ambiguity for the satellites at step 506. This information is used at step 508 to initialize the receiver to the untracked satellites. In a preferred embodiment, these predicted phases are fed back to the PTM, so that as soon as a new (formerly untracked) satellite becomes visible to the antenna, it will immediately lock on and will have the correct carriercycle ambiguity. Thus, multiple antenna cycle integer handoff is achieved.

[0076]
Use of Constraints to Solve for Positions

[0077]
The following discussion shows how constraint information is used for position solution calculations in accordance with a preferred embodiment of the present invention.

[0078]
When two or more antennas share a common clock, kinematic constraint, or both, the clock or constraint information can be incorporated into the observation matrix to effectively reduce the number of GPS phase measurements required to form the pseudoinverse of the observation matrix and thereby solve for antennas positions.

[0079]
Use of a Common Clock as a Constraint

[0080]
A common clock may be implemented on two or more conventional receivers merely by connecting a lowrate synchronization signal between each receiver or it may be accomplished in a more integrated fashion by connecting different RF front ends to the same oscillator. Either way, a common clock can reduce the required number of measurements by one for every antenna added beyond a first antenna.

[0081]
For a code phase solution, the common clock changes the relationship between the user states and the differential code phase measurements to the set of coupled equations:
$\begin{array}{cc}\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{{n}_{a}}\end{array}\right]=\left[\begin{array}{cccc}{E}_{1}& 0& \cdots & 0\\ 0& {E}_{2}& \text{\hspace{1em}}& \vdots \\ \vdots & \text{\hspace{1em}}& \u22f0& 0\\ 0& \cdots & 0& {E}_{{n}_{a}}\end{array}\ue89e1\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}\\ {\tau}^{\prime}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e14\end{array}$

[0082]
For a carrier phase solution, the common clock changes the relationship between the user states and the differential carrier phase measurements to the set of coupled equations:
$\begin{array}{cc}\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{{n}_{a}}\end{array}\right]=\left[\begin{array}{cccc}{E}_{1}& 0& \cdots & 0\\ 0& {E}_{2}& \text{\hspace{1em}}& \vdots \\ \vdots & \text{\hspace{1em}}& \u22f0& 0\\ 0& \cdots & 0& {E}_{{n}_{a}}\end{array}\ue89e1\ue89e\text{\hspace{1em}}\ue89e\stackrel{\_}{I}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}\\ {\tau}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{12}^{\prime}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{{n}_{a}\ue89e{n}_{s}}^{\prime}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e15\end{array}$

[0083]
where

τ′≡τ+N _{11 } Equation 16

[0084]
and

ΔN′ _{ij} ≡N _{ij} −N _{11 } Equation 17

[0085]
The two definitions of τ′ (from Equation 16) and ΔN_{ij}′ (from Equation 17) have by necessity changed slightly from Equation 8, the decoupled equations. Here, one arbitrary integer N_{11 }for satellite j=1 and antenna i=1 is combined with the clock bias and subtracted from the other integer states to maintain an observable system of equations.

[0086]
Use of Kinematic Constraints

[0087]
The full set of constraints for almost any arrangement of antennas attached to a vehicle and an implement can be assembled from a set of primitive constraints. These include fixedoffset as well as measured relative or measured absolute constraints. Each constraint relates the user state to a fixed number or vector or, by way of an additional sensor, a measured value or vector. This may be written as:

f _{n}(x _{1} , . . . , x _{n} _{ a })=C _{n } Equation 18

[0088]
Where x
_{j }are the positions of the user antennas and C
_{n }may be a fixed or measured value or vector. To incorporate such constraints into the leastsquares solution methods described above, the constraint (Equation 18) can usually be linearized about the user states (x
_{i}, . . . , x
_{na}) by way of partial derivatives to form a row vector Δf
_{n }as in Equation 6. This can then be used to extend the observation matrix:
$\begin{array}{cc}\Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{n}\equiv \frac{\delta \ue89e\text{\hspace{1em}}\ue89e{f}_{n}\ue8a0\left({\hat{x}}_{1},\dots \ue89e\text{\hspace{1em}},{\hat{x}}_{{n}_{a}}\right)}{\delta \ue89e\text{\hspace{1em}}\ue89ex}& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e19\end{array}$

[0089]
For a code phase solution, the constraints change the relationship between the user states and the code phase measurements to the set of coupled equations:
$\begin{array}{cc}\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\rho}_{{n}_{a}}\\ {C}_{1}\\ \vdots \\ {C}_{{n}_{c}}\end{array}\right]=\left[\begin{array}{c}\begin{array}{cccc}\left[\begin{array}{cc}{E}_{1}& 1\end{array}\right]& 0& \cdots & 0\\ 0& \left[\begin{array}{cc}{E}_{2}& 1\end{array}\right]& \text{\hspace{1em}}& \vdots \\ \vdots & \text{\hspace{1em}}& \u22f0& 0\\ 0& \cdots & 0& \left[\begin{array}{cc}{E}_{{n}_{a}}& 1\end{array}\right]\end{array}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{1}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{{n}_{c}}\end{array}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ \frac{{\tau}_{1}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}}\\ \frac{\frac{{\tau}_{2}}{\vdots}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}}\\ {\tau}_{{n}_{a}}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e20\end{array}$

[0090]
For a carrier phase solution, the constraints change the relationship between the user states and the differential carrier phase measurements to equation:
$\begin{array}{cc}\begin{array}{c}\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{\phi}_{{n}_{a}}\\ {C}_{1}\\ \vdots \\ {C}_{{n}_{c}}\end{array}\right]=\\ [\text{\hspace{1em}}\ue89e\begin{array}{c}\begin{array}{cccc}\left[\begin{array}{ccc}{E}_{1}& 1& \stackrel{\_}{I}\end{array}\right]& 0& \cdots & 0\\ 0& \left[\begin{array}{ccc}{E}_{2}& 1& \stackrel{\_}{I}\end{array}\right]& \text{\hspace{1em}}& \vdots \\ \vdots & \text{\hspace{1em}}& \u22f0& 0\\ 0& \cdots & 0& \left[\begin{array}{ccc}{E}_{{n}_{a}}& 1& \stackrel{\_}{I}\end{array}\right]\end{array}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{1}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{{n}_{c}}\end{array}][\text{\hspace{1em}}\ue89e\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ {\tau}_{1}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{12}\\ \vdots \\ \frac{\Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{1\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}}\\ {\tau}_{2}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{22}\\ \vdots \\ \frac{\frac{\Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{2\ue89e\text{\hspace{1em}}\ue89e{n}_{s}}}{\vdots}}{\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}}\\ {\tau}_{{n}_{a}}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{{n}_{a}\ue89e2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{{n}_{a}\ue89e{n}_{s}}\end{array}\ue89e\text{\hspace{1em}}]\end{array}& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e21\end{array}$

[0091]
Where n_{c }is the total number of independent constraints.

[0092]
Use of a Fixed Offset Constraint

[0093]
A fixed offset between antennas exists when two or more antennas are attached to a rigid body. Incorporating this information into the basic formulation reduces the number of measurements required to solve for the user states. For a fixed offset, the position of antenna i_{1 }with respect to antenna i_{2 }is related by the equation:

f(x _{i} _{ 1 } , x _{i} _{ 2 })=x _{i} _{ 1 } −x _{i} _{ 2 } Equation 22

[0094]
To incorporate this constraint into the leastsquares methods described above, equation 22, can be linearized about the user states x
_{i1 }and x
_{i2 }to form a vector of partial derivatives:
$\begin{array}{cc}\Delta \ue89e\text{\hspace{1em}}\ue89ef=\left[\frac{{x}_{{i}_{1}}{x}_{{i}_{2}}}{\uf603{x}_{{i}_{1}}{x}_{{i}_{2}}\uf604}\frac{{x}_{{i}_{1}}{x}_{{i}_{2}}}{\uf603{x}_{{i}_{1}}{x}_{{i}_{2}}\uf604}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e23\end{array}$

[0095]
In general, if there are N antennas attached to a rigid body, there will be SUM(N−1) constraint equations to add in the manner of equations 22 and 23. Depending on the situation, these SUM(N−1) constraint equations may or may not all add unique information to the observation matrix. However, including all possible constraints can only help and will not adversely affect the observability of the unknown state.

[0096]
Use of Rotary and Prismatic Joints as Constraints

[0097]
A complex mechanical linkage can be represented by a combination of simple rotary and prismatic joints. If the relative angles and displacements of all the component joints in a linkage are measured, then the Cartesian vector between any two antennas on either end of the linkage can be computed directly from the sensed joint angles and displacements. Joint angle and displacement measurements can be made through a number of means, including rotary and linear encoders or potentiometers. The constraint relation is similar to that for fixed offset antennas,

f(x _{i} _{ 1 } , x _{i} _{ 2 })=x _{i} _{ 1 } −x _{i} _{ 2 } =C _{n}(q _{1} , . . . , q _{n} _{ j }) Equation 24

[0098]
except that in this case, the value of C_{n }is computed from the vector of measured joint angles and displacements (q_{1}, . . . , q_{nj}) prior to computing the constrained GPS solution using equation 20 or equation 21.

[0099]
Use of Absolute Constraints

[0100]
Absolute constraints can be obtained from sensors that provide a measurement with respect to an inertial reference frame relating two or more antennas. Typical sensors include inertial measurement units, magnetic compasses, and clinometers. In such cases, positions of antennas may be related to the measured variables by a function that can be linearized and included as a constraint in the same manner as Equations 1821.

[0101]
Use of Common Clock Along with Kinematic Constraints

[0102]
When both a common clock and kinematic constraints are employed, the user statetophase relationships for code and carrier phase solutions may be consolidated to:
$\begin{array}{cc}\left[\begin{array}{c}{\Delta \ue89e\rho}_{1}\\ {\mathrm{\Delta \rho}}_{2}\\ \vdots \\ {\mathrm{\Delta \rho}}_{{n}_{a}}\\ {C}_{1}\\ \vdots \\ {C}_{{n}_{c}}\end{array}\right]=\left[\begin{array}{ccccc}{E}_{1}& 0& \dots & 0& \text{\hspace{1em}}\\ 0& {E}_{2}& \text{\hspace{1em}}& \vdots & \text{\hspace{1em}}\\ \vdots & \text{\hspace{1em}}& \u22f0& 0& 1\\ 0& \dots & 0& {E}_{{n}_{a}}& \text{\hspace{1em}}\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{1}& \text{\hspace{1em}}& \text{\hspace{1em}}\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \vdots & \text{\hspace{1em}}& 0\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{{n}_{c}}& \text{\hspace{1em}}& \text{\hspace{1em}}\end{array}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}\\ {\tau}^{\prime}\end{array}\right]\ue89e\text{}\ue89e\mathrm{and}& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e25\\ \left[\begin{array}{c}{\mathrm{\Delta \phi}}_{1}\\ {\mathrm{\Delta \phi}}_{2}\\ \vdots \\ {\mathrm{\Delta \phi}}_{{n}_{a}}\\ {C}_{1}\\ \vdots \\ {C}_{{n}_{c}}\end{array}\right]=\left[\begin{array}{cccccc}{E}_{1}& 0& \dots & 0& \text{\hspace{1em}}& \text{\hspace{1em}}\\ 0& {E}_{2}& \text{\hspace{1em}}& \vdots & \text{\hspace{1em}}& \text{\hspace{1em}}\\ \vdots & \text{\hspace{1em}}& \u22f0& 0& 1& \stackrel{\_}{I}\\ 0& \dots & 0& {E}_{{n}_{a}}& \text{\hspace{1em}}& \text{\hspace{1em}}\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{1}& \text{\hspace{1em}}& \text{\hspace{1em}}& \text{\hspace{1em}}\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \vdots & \text{\hspace{1em}}& \text{\hspace{1em}}& 0\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \Delta \ue89e\text{\hspace{1em}}\ue89e{f}_{{n}_{c}}& \text{\hspace{1em}}& \text{\hspace{1em}}& \text{\hspace{1em}}\end{array}\right]\ue8a0\left[\begin{array}{c}\Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{1}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{2}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{x}_{{n}_{a}}\\ {\tau}^{\prime}\\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{12}^{\prime}\\ \vdots \\ \Delta \ue89e\text{\hspace{1em}}\ue89e{N}_{{n}_{a}\ue89e{n}_{s}}^{\prime}\end{array}\right]& \mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e26\end{array}$

[0103]
In this manner, we see how the present invention simplifies the process of position determination through the use of constraint information.

[0104]
Applications of the Invention

[0105]
The above invention has several advantages some of which are listed hereinafter.

[0106]
An advantage of the current invention is the ability to determine the position of multiple antennas on an object using a conventional navigation system, such as GPS, even when fewer than four satellites are visible to some antennas. The use of multiple antennas, along with known independent constraints, allows for solving for the position of fiduciary points on an object with fewer navigation signals.

[0107]
Use of multiple antennas is very useful when compared to the use of a single antenna. Firstly, multiple antennas are useful when limited satellites are visible to one of the antennas due to signal blockage. In this case, signals received at one antenna are used to compensate for the signal blockage at another antenna. Secondly, multiple antennas can be used to provide a constraint equation. For example, fixed distance between two antennas can be used to get the additional equation to solve for the position of each antenna.

[0108]
The use of constraints can provide benefit to any carrierphase method in two ways viz., speeding up initial solution of the integers and feedingforward an expected solution to an untracked satelliteantenna pair to bring the satelliteantenna pair online as soon as lineofsight visibility is established.

[0109]
The use of constraints, besides reducing the number of satellite signals required, has some additional benefits. It leads to better position accuracy and integrity, as the constraint information provides greater leverage and Dilution of Precision (DOP) for the GPS signals. DOP is generally improved (lower in value) when the linesofsight to the satellites are more spatially distributed, which is likely to occur when a vehicle is instrumented with several antennas, each possibly pointing to different regions of the sky. It can also provide quicker analysis of the available data by simplifying the computationally heavy integer ambiguity calculations.

[0110]
Yet another advantage of the current invention is the mounting of antennas in a low profile manner. This is advantageous, for example, on construction equipment where it is desired not to have tall, cumbersome masts to elevate antennas. Large antenna mounts are required for continuous tracking. This is because large antenna mounts provide visibility to four satellites. The use of large antenna mounts has led to limited application of GPS based navigation system in earthmoving and agricultural equipment, where mobility of the implement to which the antenna is attached is limited because of the large size of the antenna mounts. This invention provides position information with fewer than four satellites. This allows for the use of compact antenna mounts. Therefore, such systems can be integrated to track the position, and possibly attitude, of implements attached to such vehicles. The compact antenna mounts facilitate end point installation of antennas. This increases the precision of implements and it helps in automatic control of such equipment.

[0111]
While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the invention as described in the claims.