High-accuracy relative positioning data used in land surveying, precision agriculture, and/or construction applications is often derived from Global Positioning System Carrier Phase Real Time Kinematic positioning techniques. Advances in these techniques, have yielded high precision positioning within a few decimeters of accuracy with minimally acceptable integrity levels.
In other applications, such as those that present a substantial risk to human life, it is desirable to provide high precision positioning with both high accuracy and high integrity. For example, applications that involve landing an aircraft, mid-air refueling, or coordinated formations flight require a real time kinetic positioning technique that is highly accurate and also provides a high integrity level.
An exemplary technique for carrier phase integer ambiguity resolution or fixing is shown and described in U.S. Pat. No. 7,768,451 to Wu et al., which is incorporated herein by reference. The technique described in U.S. Pat. No. 7,768,451 is a differential GPS technique to calculate a high integrity protection limit under the assumption that all of the GPS measurement data is without fault.
In order to further increase the integrity of any real time kinetic positioning techniques, a positioning system should monitor the received data in order to lessen the effects of faulty measurements. Monitoring, however, does not completely remove the possibility of using faulty measurements to calculate GPS positions. Therefore, it is necessary to develop a technique that mitigates the effects of a single fault within the measurements of carrier-phase real time kinetic positioning systems.
The present invention provides methods and systems for Relative Navigation Systems using Global Positioning Systems that have both high accuracy and high integrity. A relative navigation system has a reference platform (that may be moving) and remote user platforms that wish to know their relative position to the reference system with high accuracy and integrity. Integrity is based on the (very) small probability that the relative navigation error could exceed the calculated protection level (PL). This relative navigation solution is based on at least 2 sets of synchronous GPS measurements from the reference receivers on the system and at least one remote GPS sensor on the user platform. When the reference platform and/or user platform dynamics are sufficiently high, or the measurement latency due to processing and communications is sufficiently long, an Inertial Navigation System (INS) based on measurements from Inertial Measurement Units (IMU) that consist of gyrometers and accelerometers may optionally be used to propagate the relative navigation solution between GPS measurements and/or to extrapolate the solution to current time to account for system latency.
In one embodiment a method, executed on a processor, for processing single failure GPS faults is provided. The method includes receiving at least two sets of GPS reference measurements and at least one set of remote user GPS measurements; determining, at the processor, a GPS relative positioning solution (H0 solution) based on the at least two sets of GPS reference measurements and the at least one set of remote user GPS measurements. The method also includes excluding a particular set of the at least two sets of GPS reference measurements from the GPS relative positioning solution (H0 solution) to obtain an excluded GPS measurement data set. The method includes excluding a different set of the at least two sets of GPS reference measurements from the GPS relative positioning solution (H0 solution) to obtain at least one other excluded GPS reference measurement data set. The method further includes calculating a H1 protection level based on a priori probability of a single failure GPS receiver fault. The method includes calculating at least one other H1 protection level based on a priori probability of a single failure GPS receiver fault. The method includes identifying a maximum of the H1 protection level and the at least one other H1 protection level to determine a final H1 protection level, at the processor. An H1 protection level is calculated based on the unbiased protection level of a single receiver fault and the bias created by not using the faulted receiver in the solution, thus determining the overall H1 protection level.
The method also includes determining one or more overall protection levels based on the final H1 protection level. The method includes verifying an integrity requirement based on the overall protection levels.
The method also includes determining at the processor when a receiver fault exists and determining an H1 unbiased protection level based on an H1 integrity risk allocation derived from the overall integrity requirement. The absolute value of the difference between the determined H0 (unfaulted) solution and the H1 solution is added to the second protection level to determine a H1 receiver error protection level.
In another embodiment, a method executed on a processor is provided for processing single failure GPS (ephemeris) faults that are smaller than the minimum detectable error (MDE). The method includes receiving at least two sets of GPS reference measurements at the processor. The at least two sets of GPS reference measurements include unfaulted measurements. The method includes determining at the processor if an ephemeris error exists less than or equal to the MDE, calculating at the processor an unbiased protection level based on the H1 integrity risk allocation of the overall integrity requirement. The method includes determining at the processor a maximum ephemeris error impact on relative position and adding the maximum position error to the unbiased protection level to determine an H1 ephemeris error protection level.
In yet another embodiment, a method executed on a processor is provided for processing single failure IMU fault that has not yet been detected. The method includes receiving at least two sets of GPS reference measurements at the processor. The at least two sets of GPS reference measurements include unfaulted measurements. The method includes determining at the processor the position error if an IMU error exists and calculating at the processor an unbiased protection level based on the H1 integrity risk allocation of the overall integrity requirement. The method includes adding the bias position error to the unbiased protection level to determine an H1 IMU error protection level.
In yet another aspect a system for processing single failure GPS faults is provided. The system includes at least one processor and module executing on the at least one processor to receive at least two sets of GPS reference measurements. The at least two sets of GPS reference measurements include one or more unfaulted measurements. The module determines the total protection level assuming a single fault exists (either ephemeris fault of GPS reference receiver fault). The module then calculates an overall protection level based on the maximum of the three types of H1 protection levels and the H0 protection level.
Modern global positioning systems (GPS) aim to provide both high integrity and high accuracy GPS data. High integrity is a quantification of the confidence in the accuracy of the GPS measurements or positioning data determined by a GPS system. The high integrity quantification is referred to as a protection level. Thus, users of the system can ensure based on the confidence level that the probability of the relative position error is greater than the protection level (referred to as the integrity risk).
In order to provide a high accuracy and high-integrity relative positioning system, the present invention relies upon the availability of a number of reference GPS measurements sets, at least one remote (user) measurement set and optional Inertial Measurement Units (IMU) measurement sets. Preferably, two or more reference GPS measurements are used in order to directly calculate a bias term in the position domain using the multiple reference GPS measurement sets, instead of relying on an indirect position-domain bias computation based upon range domain bias values. In one aspect, the single fault (H1) protection level is computed in Real Time Kinetic (RTK) based differential GPS solutions. A position-domain bias is calculated and the H1 protection level is calculated directly in the position domain, thereby eliminating the need to send range-domain bias values to the remote user.
In another aspect, the present invention is used within a GERAFS processing framework, as shown and described in U.S. Pat. No. 7,768,451. In other aspects, a high integrity system may be used in conjunction with other differential GPS solution processing technique, as long as there are at least two reference GPS measurements. As will be explained in more detail below, such methods and techniques may be used as part of the high integrity system described herein.
Referring to
Referring to
The high integrity application 206 includes instructions or modules that are executable by the processor 202 to compute a high integrity solution. The high integrity system 112 includes a computer readable media 204 configured with the high integrity application 206.
The computer readable media (CRM) 204 may include volatile media, nonvolatile media, removable media, non-removable media and/or another available medium that can be accessed by the high integrity system 112. By way of example and not limitation, computer readable media 204 comprises computer storage media. Computer storage media includes memory, volatile media, nonvolatile media, removable media, and/or non-removable media implemented in a method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
The high integrity application 206 includes a data link input module 208 for receiving GPS data. In one aspect, the data link input module 208 may receive reference receiver data and remote (user) receiver data. In another aspect, the data input module may receive optional IMU data. For example and according to one embodiment, the input data module 208 receives at least two sets of GPS measurements from GPS receivers, such as reference receivers and remote (user) GPS receivers 102-110, and/or optional IMU data from optional reference IMU's 116 and 118. In yet another aspect, the input data module 208 may be linked to a database to retrieve previously stored GPS and IMU data.
Whereas the H0 protection level provides full integrity with nominal measurement errors (fault free), the GPS High Integrity Application 206 provides integrity in the rare event of an undetected fault. In one embodiment, the faults can be one of three types of faults: (unobservable) ephemeris faults, (unobservable) receiver faults, or IMU faults. Ephemeris faults are information based faults, e.g., faults in ephemeris data and/or clock messages. For example, in one aspect, ephemeris data that provides the satellite position may experience unusually large errors. Typically, ephemeris faults are monitored by high integrity systems, but only at an observable threshold, which is considerably larger than normal ephemeris errors. Thus, ephemeris faults are larger than normal ephemeris errors that do not meet the observable threshold. These unobservable faults may compromise integrity. Receiver faults are receiver measurement errors, both pseudorange and carrier-phase. Typically, receiver measurement errors are normal and accounted for in calculations (typically the size of the errors is assumed to be Gaussian overbounded by a measurement model used in determining H0 protection levels). However, due to hardware degradation or environmental changes the actual GPS measurements may have receiver faults that are higher than expected. Similarly, IMU may have faulted hardware that provides degraded measurements with attitude errors that are larger than expected. Further, while receiver or IMU faults can be monitored over time, receiver or IMU faults cannot instantly be detected during exposure time (the time between receiver fault inception and detection), resulting in H0 protection levels that do not meet the desired integrity requirements for certain applications.
When measurements are received by the high integrity system 112, an H0 calculation module 210 retrieves processing data from an algorithm database 218 and calculates the relative position solution and the H0 protection levels as part of the high integrity system 112 that assumes nominal errors. The algorithm database 218 is a computer system, a database, or another data system that processes data. In one aspect, the algorithm data database stores and accesses algorithms for processing GPS data.
The first calculation module 212 selects an H1 fault algorithm from an algorithm database 218 located in a memory 216, to calculate a protection level based on each type of fault against which the system protects.
Referring briefly to
PLH1eph=PLephunbiased+Max(EphMDE), (1)
where PTephunbiased is an unbiased protection level calculated using the H1 integrity protection level risk allocation determined by the ephemeris fault a-priori and Max(EphMDE) is the maximum value for the undetectable ephemeris error. For example, Max(EphMDE) may be determined based upon the impact of a worst-case scenario ephemeris error for a GPS satellite that passed the ephemeris monitor undetected.
In another aspect, the fault type 1 algorithm may be used in conjunction with an underlying differential GPS processing technique. The differential technique may be Geometry Extra-Redundant Almost Fixed Solutions (GERAFS) processing, carrier-smoothed-code solution processing or any other DGPS approaches. By way of example and not limitation, the fault type 1 algorithm may be given as:
PLH1eph=GERAFS_PL(all_measurements, H1_integrity PL risk)+MaxSV{RelPos_error(EphMDE)}, (2)
where GERAFS_PL(all measurements, H1_integrity PL risk) is an unbiased protection level determined using GERAFS processing using all measurements and the H1_integrity PL risk. In this example, the H1 integrity PL risk is calculated by dividing the total H1 ephemeris integrity risk by the probability of undetectable ephemeris errors existing. The total H1 ephemeris integrity risk is a product of the ephemeris fault onset risk, the ephemeris fault exposure time, and the H1 integrity protection level risk, which is the risk that the H1 protection level fails to bound the real error given that the ephemeris fault of minimum detectable ephemeris error (EphMDE) magnitude exists.
In one aspect, when choosing conservative values for the first onset risk and the exposure time the resulting allocation for the H1 protection level risk is several orders of magnitude less stringent than an H0 protection level. For example, selecting a 1×10−4 per hour first onset risk (the GPS specification for all types of faults) and 2 hour exposure time (the time of applicability for usual operations). Even for a total H1 integrity risk that is an order of magnitude more stringent than the H0 integrity risk, the H1 integrity PL risk is several orders of magnitude less stringent because of the low probability of the ephemeris fault existing. The H1 protection level has two terms in the computation. The first term is an unbiased protection level based on all measurements and the H1 integrity PL risk. In one aspect, the unbiased protection level is the GERAFS unbiased protection level. The second term is a deterministic term that is computed to account for the impact of the worst-case satellite ephemeris error equaling the EphMDE. This term is linearly added to the unbiased protection level.
If the protection level is computed for a receiver fault, the first calculation module 212 selects a fault type 2 algorithm 304 to calculate an H1 receiver fault protection level. In one aspect, the fault type 2 algorithm is given as:
PLH1RRi=PLH1(unfaulted measurements)+|H0−H1(unfaulted measurements)| (3)
where PLH1(unfaulted measurements) is an unbiased protection level calculated using the unfaulted reference GPS measurements and the H1 integrity PL risk, H0 is a fixed solution assuming there are no faults, and H1(unfaulted measurements) is an H1 solution calculated from the unfaulted reference GPS measurements.
In another aspect, the fault type 2 algorithm may be used in conjunction with an underlying differential GPS processing technique. For example and without limitation, the fault type 2 algorithm is given as:
PLH1RRi=PL_G(E)RAFS(All_but—RRi_meas, H1_integrity_PL_risk)+|GERAFSH0−G(E)RAFSH1(All_but—RRi−meas)|
where GERAFS_PL(unfaulted_measurements, H1_integrity PL risk) is an unbiased protection level determined using G(E)RAFS processing and the H1 integrity_PL_risk. In this example, the unbiased H1 integrity PL risk is calculated by dividing the total H1 receiver integrity risk by the probability of an undetected reference receiver fault existing. The H1 integrity risk is a product of the reference receiver fault onset risk, the receiver fault exposure time, and the H1 integrity protection level risk, which is the risk that the unbiased H1 protection level fails to bound the real H1 relative position error given that the unfaulted reference receiver measurements were used to calculate the H1 relative position solution. The bias term is calculated in the position domain using the multiple reference data sets, instead of indirect position domain bias computation using the range-domain B-values. If the protection level is computed for an IMU fault, the first calculation module 212 selects a fault type 3 algorithm 306 to calculate an H1 IMU fault protection level. In one aspect, the fault type 3 algorithm is given as:
PLH1IMUi=PLH1(receiver measurements)+|position domain B-value for IMUi| (4)
where PLH1(receiver measurements) is an unbiased protection level calculated using the all the reference GPS measurements and the H1 integrity PL risk, position domain B-value for IMUi is the difference in relative position using measurements from all IMU and the relative position using all measurements except from IMUi (presumed faulted IMU). The IMU attitude information is needed when the relative position solution is to a point (referred to as reference point) on a dynamic platform that is not at the reference receiver location. In this event, the IMU attitude solutions are used to compute the lever arm form the reference receivers to the reference point in inertial coordinates.
In another aspect, the fault type 3 algorithm may be used in conjunction with an underlying differential GPS processing technique. For example and without limitation, the fault type 3 algorithm is given as:
PLH1IMUi=PL_GERAFS(All—RR_meas, H1_integrity_PL_risk)+|position domain B-value for IMUi|
where GERAFS_PL(all RR_measurements, H1_integrity PL risk) is an unbiased protection level determined using GERAFS processing and the H1_integrity_PL_risk. In this example, the unbiased H1 integrity PL risk is calculated by dividing the total H1 receiver integrity risk by the probability of an undetected IMU fault existing. The H1 integrity risk is a product of the IMU fault onset risk, the IMU fault exposure time, and the H1 integrity protection level risk, which is the risk that the unbiased H1 protection level fails to bound the real H1 relative position error. The bias B-value term is calculated in the position domain using the multiple IMU data sets, instead of indirect position domain bias computation using the range-domain B-values.
A second calculation module 214 calculates an overall protection level. The overall protection level is calculated based on an H0 protection level and a H1 protection level. In one aspect, the overall protection level is calculated using the following equation:
PLOverall=Max{H0 protection level, H1 protection level}
Thus, the PLOverall protection level is the maximum of the H0 protection level and the H1 protection level.
In another aspect, the overall protection level may be calculated in conjunction with an underlying differential GPS processing technique. The differential technique may be GERAFS processing, carrier-smoothed-code solution processing or any other differential GPS
approaches. By way of example and not limitation, the overall protection level may be calculated using the following equation:
PL_GERAFS=Max{PLH0, PLH1eph, PLH1RR, PLH1IMU}
where the PL_GERAFS protection level is the overall protection level based on the maximum of the H0 protection level, the ephemeris fault protection level, the receiver fault protection level and/or the IMU fault protection level.
At 502, at least two sets of GPS reference measurements, at least 1 remote (user) GPS set of measurements, and optional IMU measurement data sets are received at the processor 202 of the high integrity system 112. In one aspect, the GPS reference measurement sets include one or more unfaulted measurements. At 506, the high integrity system 112 calculates an H1 integrity risk assuming an undetected ephemeris fault. A first unbiased protection level is determined at 508. In one aspect, the first unbiased protection level is based on a first overall integrity requirement. The first overall integrity requirement is further based on the at least two sets of GPS reference measurements and the calculated H1 integrity risk. The high integrity system 112 determines maximum ephemeris error at 510. At 512, an H1 ephemeris error protection level is determined by adding the maximum ephemeris error to the first unbiased protection level.
In one aspect, the high integrity system 112 also calculates a reference receiver H1 protection level. At 516, the high integrity system 112 determines a second unbiased protection level based on a second overall integrity requirement assuming an undetected reference receiver fault. The second overall integrity requirement is based on the measurements from one or more unfaulted reference receivers and the H1 integrity PL risk. The high integrity system 112 determines an H1 solution at 518. At 520 an H0 protection level is determined. At 522, the high integrity system 112 determines an H1 receiver fault protection level by adding the absolute value of the difference between the determined H0 position solution and the H1 position solution to the second unbiased protection level.
In one aspect, the high integrity system 112 also calculates an IMU H1 protection level. At 524, the system determines a third unbiased protection level based on a second overall integrity requirement assuming an undetected IMU fault. The third overall integrity requirement is based on the measurements from one or more unfaulted reference receivers and the H1 integrity PL risk. At 526, high integrity system 112 determines the IMU B-value in the position domain. At 528, high integrity system 112 determines an H1 IMU fault protection level by adding the absolute value of the IMU B-value to the third unbiased protection level. The high integrity system 112 determines an overall protection level based on the H1 ephemeris fault protection level, the H0 protection level, the H1 receiver fault protection level, and the H1 IMU fault protection level further increasing the integrity level of the system at 530.
While only selected embodiments have been chosen to illustrate the present invention, it will be apparent to those skilled in the art from this disclosure that various changes and modifications can be made herein without departing from the scope of the invention as defined in the appended claims. Furthermore, the foregoing descriptions of the embodiments according to the present invention are provided for illustration only, and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
The description above includes example systems, methods, techniques, instruction sequences, and/or computer program products that embody techniques of the present disclosure. However, it is understood that the described disclosure may be practiced without these specific details.
In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are instances of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.
The described disclosure may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The machine-readable medium may include, but is not limited to, magnetic storage medium (e.g., floppy diskette), optical storage medium (e.g., CD-ROM); magneto-optical storage medium, read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions.
It is believed that the present disclosure and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes.
While the present disclosure has been described with reference to various embodiments, it will be understood that these embodiments are illustrative and that the scope of the disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the present disclosure have been described in the context of particular implementations. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.
Those skilled in the art will appreciate that variations from the specific embodiments disclosed above are contemplated by the invention. The following invention should not be restricted to the above embodiments, but should be measured by the following claims.