Method And Apparatus for High Accuracy Geodetic Survey Using GNSS Signals
20230026875 · 2023-01-26
Inventors
- Pavel Igorevich Ignatiev (Tokarevo, RU)
- Vasiliy Mikhaylovich Dmitriev (Balashikha, RU)
- Sergey Vladislavovich Averin (Obninsk, RU)
- Viacheslav Viktorovich Lanovets (Moscow, RU)
Cpc classification
G01S19/396
PHYSICS
G01S19/44
PHYSICS
International classification
G01S19/39
PHYSICS
Abstract
An apparatus for surveying a position of a static point, consisting of a GNSS receiver and a mobile computing device, connected with GNSS receiver via communication interface. The mobile computing device accepts from GNSS receiver several estimations of position of a static point within a single session and computes combined result for the current session, which is the average of those estimations. After that, a reset command is send to a GNSS receiver, and another session is performed in order to get another combined result. The process continues until a required number of mutually consistent session results is collected, where ‘consistent’ means having the scatter of session results within a certain margin. Upon collecting the required number of consistent session results, they are combined to compute a single estimate of the position of a static point, which is considered as a result of survey.
Claims
1. A method for surveying a position of a static point using a global navigation satellite systems (GNSS) receiver, comprising: (i) accepting from GNSS receiver at least two estimates of the position of the static point in a single session; (ii) combining the at least two estimates from (i) into a single session result; (iii) resetting a GNSS receiver, including any of: resetting tracking loops for all satellites or for selected satellites, resetting tracking loops for all frequencies or for selected frequencies, resetting filters in positioning algorithms, and resetting smoothing loops in positioning algorithms; (iv) repeating (i)-(iii) at least one more time; (v) checking results of multiple sessions for consistency by testing if their scatter is within a specified margin; (vi) upon finding at least two consistent session results, combining the consistent session results into a final position estimate of the static point; and (vii) if there is an insufficient number of consistent session results, repeating (i)-(vi) until at least two consistent session results are found.
2. The method of claim 1, wherein the checking in (v) stops, if at least two consistent session results are not found after a predefined number of attempts.
3. The method of claim 2, further comprising issuing an alert message to a user, if at least two consistent session results are not found after a predefined number of attempts.
4. The method of claim 1, further comprising, prior to the combining in (ii), checking estimates for consistency by testing if their scatter is within a specified margin, so that only consistent estimates are used in (ii).
5. The method of claim 4, wherein finding a required number of consistent estimates forming the session result stops if a required number of consistent estimates is not found after a predefined number of attempts.
6. The method of claim 4, further comprising issuing an alert message to a user if a predetermined number of consistent estimates is not found after a predefined number of attempts.
7. The method of claim 1, wherein the combining in (ii) uses a weighted average.
8. The method of claim 1, wherein the combining in (vi) uses a weighted average.
9. The method of claim 1, wherein the estimates are based on use of real-time kinematics (RTK).
10. An apparatus for surveying a position of a static point using a global navigation satellite systems (GNSS) receiver and a mobile computing device, connected to the GNSS receiver, wherein the mobile computing device: (i) accepts from GNSS receiver at least two estimates of the position of the static point in a single session; (ii) combines the at least two estimates from (i) into a single session result; (iii) resets tracking loops for all satellites or for selected satellites, resets tracking loops for all frequencies or for selected frequencies, resets filters in positioning algorithms, and/or resets smoothing loops in positioning algorithms; (iv) repeats (i)-(iii) at least one more time; (v) checks results of multiple sessions for consistency by testing if their scatter is within a specified margin; (vi) upon finding at least two consistent session results, combines the consistent session results into a final position estimate of the static point; and (vii) if there is an insufficient number of consistent session results, repeats (i)-(vi) until at least two consistent session results are found.
11. The apparatus of claim 10, wherein a mobile computing device is any of a ruggedized field controller, a notebook, a smartphone and a tablet.
12. The apparatus of claim 10, further comprising a communication interface between the GNSS receiver and a mobile computing device, wherein the interface is any of RS-232/RS-432 cable connection, USB cable connection, Ethernet cable connection, a BLUETOOTH wireless data link, a WI-FI wireless data link.
13. The apparatus of claim 10, wherein the checking in (v) stops after a user-defined number of consistent session results is not found.
14. The apparatus of claim 13, further comprising means for issuing an alert message to the user.
15. The apparatus of claim 10, wherein, prior to the combining in (ii), the system checks estimates for consistency by testing if their scatter is within a specified margin, so that only consistent estimates are used in (ii).
16. The apparatus of claim 15, wherein the accepting and combining in (i) and (ii) stops when a user-defined number of attempts are performed.
Description
BRIEF DESCRIPTION OF THE ATTACHED DRAWINGS
[0037] The attached drawings that further describe the present invention are incorporated in and constitute a part of specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
[0038] In the drawings:
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0047] Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
[0048] The equipment that receives signals of global navigation satellite systems (GNSSs) can operate in various operational modes. Different operational modes require equipment of different complexities capable of determining target parameters (such as position, velocity, time and attitude) with different accuracies. The types and quantities of data to be processed also depend on the operational mode. Several operational modes are summarized below.
[0049]
[0050] Referring now to the GNSS measurement unit 110, which operates in a stand-alone mode, the GNSS measurement unit 110 includes an antenna 114 and a navigation receiver 112. The antenna 114 receives navigation signals, such as navigation signals 103A-103F; from these navigation signals, the navigation receiver 112 can calculate target parameters, such as time, referenced to a GNSS system clock, and position and velocity referenced to the antenna 114. In some GNSS measurement units, the antenna is mounted in a fixed relationship with respect to the navigation receiver. If the GNSS measurement unit 110 is carried by a person who is walking or running, the GNSS measurement unit 110 can be used to calculate the position and velocity of the person as a function of time. If the GNSS measurement unit 110 is mounted on a moving vehicle, the GNSS measurement unit 110 can be used to calculate the position and velocity of the vehicle as a function of time.
[0051] In other GNSS measurement units, the antenna can be moved with respect to the navigation receiver. In one application, the antenna 114 is mounted on the blade of a bulldozer, and the navigation receiver 112 is mounted inside the cab of the bulldozer; the antenna 114 is coupled to the navigation receiver 112 via a flexible cable. The GNSS measurement unit 110 can then be used to measure the position and velocity of the blade as a function of time. To simplify the discussion below, phrases such as “position of the navigation receiver” or “position and velocity of the navigation receiver” are used; strictly, however, “position” and “velocity” refer to the parameters of the antenna that receives the navigation signals that are then processed by the navigation receiver.
[0052] The navigation signals comprise carrier phase signals modulated by pseudo-random binary codes. The navigation receiver measures the time delays of the received signals relative to a local reference clock, or oscillator. Code phase measurements enable the navigation receiver to determine the pseudo-ranges, which in essence are estimates of the distances between the navigation receiver and the navigation satellites. The pseudo-ranges differ from the actual ranges (distances) between the navigation receiver and the navigation satellites due to the offset between the time scales of the navigation receiver and the respective GNSS.
[0053] If navigation signals are received from a sufficiently large number of navigation satellites, then the measured pseudo-ranges can be processed to determine the position of the navigation receiver. In general, the three-dimensional coordinates of the navigation receiver can be determined; a reference Cartesian coordinate x, y, z) system can be used. The reference Cartesian coordinate system can be an Earth Centered Earth Fixed (ECEF) system; WGS-84 is an example of an ECEF system. Two-dimensional coordinates along a reference horizontal plane (x-y plane) or a one-dimensional coordinate (z or height) along an axis normal to the reference horizontal plane can also be determined. The reference horizontal plane can, for example, be tangent to the WGS-84 ellipsoid. A time referenced to a GNSS system clock can also be calculated by the navigation receiver from the navigation signals (which contain timing information). Velocity of the navigation receiver can be calculated by taking the time derivative of position as a function of time, by processing Doppler measurements, or by processing carrier phase measurements over a specific interval of time.
[0054] Various error sources contribute to the process of measuring pseudo-ranges, thus translating to errors in determination of the position, velocity and time. Examples of error sources include satellite clock errors, satellite ephemeris errors, variations in propagation velocities of the navigation signals due to the ionosphere and troposphere, reflections of GNSS signals from the objects nearing by the antenna of navigation receiver.
[0055] Some errors can be reduced by operating the GNSS in a differential navigation (DN) mode. Refer again to
[0056] The base station 130 includes the antenna 134 and the navigation receiver 132. The antenna 134 receives navigation signals 103A-103F. The base station 130 also includes the communications transceiver 136 and the antenna 138. Similarly, the rover 120 includes the antenna 124 and the navigation receiver 122. The antenna 124 receives the navigation signals 103A-103F. The rover 120 also includes the communications transceiver 126 and the antenna 128. The base station 130 transmits the communications signal 131 (for example, a radio frequency signal) from the antenna 138. The rover 120 receives the communications signal 131 at the antenna 128.
[0057] From the received navigation signals, the navigation receiver 132 at the base station 130 can calculate corrections to the received GNSS measurements with respect to the known position of the base station 130. In some DN systems, raw measurement data of the base station can serve as corrections. Corrections to the received GNSS measurements, along with some auxiliary information constitute the correction data. If the distance between the base station 130 and the rover 120 is relatively small, then many of the measurement errors at the base station 130 and at the rover 120 are correlated. The base station 130 transmits correction data to the rover 120 via the communications signal 131. The rover 120 processes the navigation signals and the correction data to determine the position of the rover 120. The accuracy with which the rover 120 can determine its position in the differential navigation mode is higher than the accuracy with which the GNSS measurement unit 110 can determine its position in the stand-alone mode.
[0058] A DN system that broadcasts correction data to code phase pseudo-range measurements is often referred to as a differential global positioning system (DGPS), or a differential global navigation satellite system (DGNSS). The position determination accuracy, achieved with help of a DN system can be further improved if correction data for code phase pseudo-ranges measurements is supplemented with the correction data for carrier phase pseudo-ranges measurements.
[0059] If the carrier phases of the signals transmitted by the same satellites are measured by both the navigation receiver in the base station and the navigation receiver in the rover, processing the two sets of carrier phase measurements can yield a position accuracy to within several percent of the carrier's wavelength. A DN system, which enables positioning based on real-time carrier phase pseudo-range measurements, in addition to the code phase pseudo-range measurements, is often referred to as a real-time kinematic (RTK) system. Processing carrier phase measurements to determine position of a rover includes the step of ambiguity resolution (AR); that is, determining the integer number of cycles in the carrier phase signals received by the navigation receivers from an individual satellite.
[0060] More complex DN systems, including RTK systems, are configured as network DN systems. In a network DN system, correction data for a rover is generated from measurements collected from a group of base stations that are geographically dispersed over a wide area. A network control center processes the measurements from the group of base stations and transmits the correction data to the rover via various communications links, such as radiofrequency satellite signals or General Packet Radio Service (GPRS). Network DN systems can differ by application areas, data processing methodology and target positioning accuracy.
[0061]
[0062] In general, the rover and each base station can receive navigation signals from a slightly different subset of navigation satellites in the constellation 102 due to varying conditions in different locations. Operation of the rover in a network RTK mode is possible, however, only using satellite signals received simultaneously by the rover 190 and by the base stations 180A —180D.
[0063] Base stations 180A-180D transmit data 183A-183D, respectively, to the network control center (NCC) 1100. The data can be transmitted via communications links or via a communications network, e.g., Internet. The NCC 1100 includes the communications module 1102, and the data processing unit 1104. The NCC 1100 receives with help of communications module 1102 the data from the base stations, as well as the approximate position of the rover, and processes the data with help of data processing unit 1104, according to specific algorithms to generate a consolidated set of correction data corresponding to the rover position (described in more detail below).
[0064] The NCC 1100 makes the consolidated set of correction data available to the rover via a communications network, e.g., Internet, accessible via GPRS, for example. In
[0065] The consolidated set of correction data in network RTK systems can be partitioned into several groups. The consolidated set of correction data can include: [0066] Cumulative corrections to both code phase and carrier phase measurements from one or more individual base stations in a group of base stations; [0067] Corrections to code phase and carrier phase measurements for some virtual (i.e., non-existent) base station generated from processing GNSS measurements collected with a group of base stations; [0068] Corrections representing the dispersive part of GNSS measurement errors (measurement errors attributable to the ionosphere) for measurements from one or more individual base stations in a group of base stations; [0069] Corrections representing the non-dispersive part of GNSS measurement errors (measurement errors attributable to the troposphere, satellite ephemeris, and satellite clock data) for measurements from one or more individual base stations in a group of base stations; [0070] Coefficients approximating how various GNSS measurement error components change in space; and [0071] Auxiliary information, such as evaluated hardware-induced biases, station ID, textual information on hardware or software of service provider, etc.
[0072]
[0073] Base stations 140A-140D transmit data 143A-143D, respectively, to the network control center (NCC) 150. The data can be transmitted via communications links or via a communications network, e.g., Internet. The NCC 150 includes the communication module 152, data processing unit 154, satellite transmitter 156, and uplink antenna 158. The NCC 150 receives the data from the base stations via the communication module 152 and processes the data according to specific algorithms with help of data processing unit 154 to generate a consolidated set of correction data (described in more detail below). The NCC 150 transmits the consolidated set of correction data to the geosynchronous (geostationary) relay satellite 160 via the satellite uplink channel 151 with help of the satellite transmitter 156, and the uplink antenna 158.
[0074] The geosynchronous relay satellite 160 then retransmits the consolidated set of correction data over a specific region (zone) of the Earth. Multiple geosynchronous relay satellites provide coverage for multiple zones. In
[0075] The consolidated set of correction data can be divided into several groups. The consolidated set of correction data can include: [0076] Corrections to code phase measurements from one or more individual base stations in a group of base stations; [0077] Corrections to both code phase and carrier phase measurements from one or more individual base stations in a group of base stations; [0078] Corrections to orbital (trajectory) parameters and clock parameters of GNSS satellites, specified in the processing of measurements from a group of base stations; [0079] Corrections to code phase measurements for a some virtual (i.e., non-existent) base station generated from processing GNSS measurements for a group of base stations; [0080] Corrections to code phase and carrier phase measurements for a virtual base station generated from processing GNSS measurements collected with a group of base stations; and [0081] Auxiliary information, like ionosphere data, evaluated hardware-induced biases, network ID, textual information on hardware or software of service provider, etc.
[0082] A third example of a network DN system, referred to as Precise Point Positioning (PPP), is similar to network RTK in some aspects, but correction data is presented differently. The architecture of the PPP system is identical to that of the SBAS. Referring to
[0083] The key distinction between the PPP system and the typical SBAS, despite similarity in infrastructure, is different accuracy. The SBAS can provide position accuracy on the order of a meter or better; whereas, the PPP system is capable of delivering decimeter level position accuracy. In certain cases, PPP correction data sets can make possible carrier phase ambiguity resolution, thus leading to centimeter level position accuracy (similar to RTK).
[0084] The consolidated set of error correction data in a PPP system can be partitioned into several groups. The consolidated set of error correction data can include: [0085] Corrections to orbital (trajectory) parameters of GNSS satellites specified in the processing of measurements from a group of base stations; [0086] Corrections to clock parameters of GNSS satellites, specified in the processing of measurements from a group of base stations; [0087] Corrections for residual uncompensated errors of GNSS measurements; and [0088] Auxiliary information, like ionosphere data, evaluated hardware-induced biases, network ID, textual information on hardware or software of service provider, etc.
[0089] Each navigation satellite in a global navigation satellite system can transmit navigation signals in one or more frequency bands (for example, in the L1, L2, and L5 frequency bands). To simplify the terminology herein, a navigation receiver is also referred to simply as a receiver. A single-band receiver receives and processes signals in one frequency band (such as L1); a multi-band receiver receives and processes signals in two or more frequency bands (such as L1, L2, and L5). A single-system receiver receives and processes signals from a single GNSS (such as GPS); a multi-system receiver receives and process signals from two or more GNSSs (such as GPS, GLONASS, and GALILEO). See generally rfwireless-world.com/Terminology/GPS-Frequency-Band-and-GNSS-Frequency-Band.html, incorporated by reference herein in its entirety, regarding the GNSS frequency bands.
[0090]
[0091] The output analog signal 211 is input into the analog-to-digit converter (ADC) 204, which digitizes the analog signal 211. The combination of analog RF processing unit (202) and ADC (204) is commonly referred to as radio-frequency (RF) front-end (210).
[0092] The output digital signal 213 is then input into the digital channel processing unit 206, which performs signal search, acquisition and tracking in order to generate raw measurement data, based on signal 217 of the frequency oscillator 216. The raw measurement data, besides code phase and carrier phase measurements, includes GNSS information encoded on the navigation signals (such as satellite ephemeris and satellite clock parameters). The output digital signal 215 is input into the control and computing system 208, which computes target parameters such as position, velocity, and time offset.
[0093] The combination of digital channel processing unit (206) and control and computing system (208) is commonly referred to as a receiver digital section (212).
[0094] If the receiver operates in a differential navigation mode, the control and computing system 208 receives the correction data 203, used to compute target parameters with better accuracy. In the single-base-station DN system shown in
[0095] An embodiment of the control and computing system 208 is shown in
[0096] The control and computing system 208 includes a computer 302, which includes a processor (referred to as the central processing unit (CPU)) 304, memory 306, and a data storage device 308. The data storage device 308 includes at least one persistent, non-transitory, tangible computer readable medium, such as non-volatile semiconductor memory, a magnetic hard drive, or a compact disc read only memory.
[0097] The control and computing system 208 further includes a user input/output interface 310, which interfaces the computer 302 to user input/output devices 312. Examples of user input/output devices 312 include a keyboard, a mouse, a local access terminal, and a video display. Data, including computer executable code, can be transferred to and from the computer 302 via the user input/output interface 310.
[0098] The control and computing system 208 further includes a communications network interface 320, which interfaces the computer 302 with a communications network 322. Examples of the communications network 322 include a local area network and a wide area network. A user can access the computer 302 via a remote access terminal (not shown) communicating with the communications network 322. Data, including computer executable code, can be transferred to and from the computer 302 via the communications network interface 320.
[0099] The control and computing system 208 further includes a digital channel processing unit interface 330, which interfaces the computer 302 with the digital channel processing unit 206 (see
[0100] The control and computing system 208 further includes a communications transceiver interface 340, which interfaces the computer 302 with a communications transceiver, such as the communications transceiver 126 (see
[0101] As is well known, a computer operates under control of computer software, which defines the overall operation of the computer and applications. The CPU 304 controls the overall operation of the computer and applications by executing computer program instructions that define the overall operation and applications. The computer program instructions can be stored in the data storage device 308 and loaded into the memory 306 when execution of the program instructions is desired. The algorithms described below can be defined by computer program instructions stored in the memory 306 or in the data storage device 308 (or in a combination of the memory 306 and the data storage device 308) and controlled by the CPU 304 executing the computer program instructions. For example, the computer program instructions can be implemented as computer executable code programmed by one skilled in the art to perform algorithms. Accordingly, by executing the computer program instructions, the CPU 304 executes the algorithms described below.
[0102]
[0103] One skilled in the art can run the unit 401 in
[0104] One skilled in the art can use different communication interfaces 402 to communicate between the GNSS receiver and a mobile computing device 401. In one embodiment, this is serial RS-232/RS-432 cabled connection. In another embodiment, this is USB cabled connection. In the third embodiment, the communication interface 402 is represented with the BLUETOOTH, or WI-FI wireless data link.
[0105] To compute the position with the best achievable accuracy, RTK algorithms are used. The main problem of any RTK algorithm is resolving integer carrier phase ambiguities. The success of this process is dependent on GNSS satellite geometry and measurement errors. Success here means that ambiguities are resolved to correct integers. If ambiguities are resolved correctly, carrier phases with extracted ambiguities are used to compute the solution, and this solution will have the accuracy of several centimeters or better.
[0106] The first step of data processing, preceding ambiguity resolution (AR) is differencing base and rover measurements. This process if commonly referred to as the “single-differencing”.
ΔC.sup.j=C.sub.B.sup.j−C.sub.R.sup.j=R.sub.B.sup.j−R.sub.R.sup.j+ΔT.sup.j+ΔI.sup.j+Δe.sup.j+Δτ.sup.jB.sub.C+Δξ.sup.j (1)
ΔP.sup.j=P.sub.B.sup.j−P.sub.R.sup.j=R.sub.B.sup.j−R.sub.R.sup.j+ΔT.sup.j−ΔI.sup.j+Δe.sup.j+Δτ.sup.jB.sub.P+ΔN.sup.j×λ.sup.j+Δη.sup.j (2) [0107] where: [0108] Δ— differencing operator [0109] j—index of GNSS satellite [0110] C.sub.B.sup.j,C.sub.R.sup.j—code phase pseudo-range measurements made at base and rover respectively, with j-th GNSS satellite [0111] P.sub.B.sup.j, P.sub.R.sup.j—carrier phase pseudo-range measurements made at base and rover respectively, with j-th GNSS satellite [0112] R.sub.B.sup.j,R.sub.R.sup.j—true distances between base and the j-th GNSS satellite, and rover and the j-th GNSS satellite respectively [0113] ΔT.sup.j—difference of signal delays due to troposphere between base and rover with respect to j-th GNSS satellite [0114] ΔI.sup.j—difference of signal delays due to ionosphere between base and rover with respect to j-th GNSS satellite [0115] Δe.sup.j—difference of GNSS ephemeris errors projections onto distances between base and the j-th GNSS satellite, and rover and the j-th GNSS satellite [0116] Δτ.sup.j—difference of GNSS clock error impacts onto distances between base and the j-th GNSS satellite, and rover and the j-th GNSS satellite [0117] B.sub.C—various biases common for code phase measurement difference of all GNSS satellites (including difference of receiver clock offsets between base and rover) [0118] B.sub.P—various biases common for carrier phase measurement difference of all GNSS satellites (including difference of receiver clock offsets between base and rover) [0119] ΔN.sup.j—difference of carrier phase ambiguities between measurements made at base and rover with the j-th GNSS satellite [0120] λ.sup.j—wavelength of carrier phase measurements of the j-th GNSS satellite [0121] Δξ.sup.j— difference of code noise and code multipath errors [0122] Δη.sup.j—difference of carrier noise and carrier multipath errors
[0123] As result of single-differencing mutual errors of base and rover cancel out, being correlated. In fact, if the correlation is strong enough (which basically holds true for short baselines) equations (1) and (2) for single differences can be re-written as follows:
ΔC.sup.j=C.sub.B.sup.j−C.sub.R.sup.j=R.sub.B.sup.j−R.sub.R.sup.j+B.sub.C+Δξ.sup.j (3)
ΔP.sup.j=P.sub.B.sup.j−P.sub.R.sup.j=R.sub.B.sup.j−R.sub.R.sup.j+B.sub.P+ΔN.sup.j×λ.sup.j+Δη.sup.j (4)
[0124] However, the longer the distance, the less correlated measurements are between base and rover. This leads to appearance of additional biases in equations (3) and (4), which results in equations (5) and (6) below:
ΔC.sup.j=C.sub.B.sup.j−C.sub.R.sup.j=R.sub.B.sup.j−R.sub.R.sup.j+B.sub.C+b.sub.c.sup.j+Δξ.sup.j (5)
ΔP.sup.j=P.sub.B.sup.j−P.sub.R.sup.j=R.sub.B.sup.j−R.sub.R.sup.j+B.sub.P+ΔN.sup.j×λ.sup.j+b.sub.p.sup.j+Δη.sup.j (6)
where: [0125] b.sub.c.sup.j and b.sub.p.sup.j—code and carrier biases respectively
[0126] When equations (3) and (4) are solved within an equation system, the unknowns, basically, are [0127] x, y, z—coordinates of rover with respect to position of base in any of the reference frames; [0128] B.sub.C, B.sub.P—biases in code phase and carrier phase measurement differences respectively, common for all GNSS satellites at this instant of time; [0129] ΔN—vector of carrier phase ambiguities single differences.
[0130] Within the single-difference approach, biases B.sub.C, B.sub.P are to be evaluated as additional unknowns, while b.sub.c.sup.j and b.sub.p.sup.j are the disturbing factors, reducing the performance of the algorithm.
[0131] One skilled in the art might suggest various approaches to resolving carrier phase ambiguities and determining the x, y, z—coordinates of rover. The most common one is based on generating double differences to cancel out bias terms B.sub.C and B.sub.P. While generating double differences one of GNSS satellites is selected as the reference one.
[0132] Imagine that the k-th GNSS satellite was chosen as the reference, then, equations (5) and (6) for any j-th GNSS satellite are transformed to the following:
∇ΔC.sup.k,j=C.sub.B.sup.k−C.sub.R.sup.k−C.sub.B.sup.j+C.sub.R.sup.j=R.sub.B.sup.k−R.sub.R.sup.k−R.sub.B.sup.j+R.sub.R.sup.j+b.sub.c.sup.k−b.sub.c.sup.j+Δξ.sup.k−Δξ.sup.j==∇ΔR.sup.k,j+∇Δb.sub.c.sup.k,j+∇Δξ.sup.k,j (7)
∇ΔP.sup.k,j=P.sub.B.sup.k−P.sub.R.sup.k−P.sub.B.sup.j+P.sub.R.sup.j=R.sub.B.sup.k−R.sub.R.sup.k−R.sub.B.sup.j+R.sub.R.sup.j+ΔN.sub.k×λ.sup.k−ΔN.sup.j×λ.sup.j+b.sub.p.sup.k−b.sub.p.sup.k+Δη.sup.k−Δη.sup.j=∇ΔR.sup.k,j+∇ΔN.sup.k,j×λ+∇Δb.sub.P.sup.k,j+∇Δη.sup.k,j (8) [0133] where: [0134] ∇Δ—double difference operator; [0135] λ.sup.k=λ.sup.j=λ for GNSS with code division multiple access (CDMA).
[0136] The task of AR is to evaluate integer values of ∇ΔN.sup.k,j. One skilled in the art might consider different ways to achieve AR. The most widely known method is described in “The LAMBDA Method for Integer Ambiguity Estimation: Implementation Aspects”, by Paul de Jonge and Christian Tiberius, published by LGR-Series Publications of the Delft Geodetic Computing Centre No. 12.
[0137] Within a typical AR algorithm, the following steps are present, though one skilled in the art can build this algorithm differently: [0138] generating double differences between base and rover code phase and carrier phase measurements, choosing one of the satellites as the reference (as per equations 7 and 8); [0139] evaluating carrier phase ambiguities of differenced measurements as floating point values (“float ambiguities”); [0140] evaluating carrier phase ambiguities of differenced measurements as integer values and forming sets of ambiguities to be checked for optimality; [0141] checking integer ambiguity sets in order to come to conclusion if this is the optimum set, i.e., one which is capable to provide the most accurate position; [0142] if the ambiguity set passes certain criteria, it can be used for positioning, such ambiguities are called “fixed ambiguities”; [0143] upon finding the optimum integer ambiguity set (i.e., fixing, or, resolving ambiguities)—excluding these integers out of carrier phase measurement differences, thus correcting them; [0144] generating position estimates with carrier phase differences, corrected for fixed ambiguities; [0145] with every new measurement set—checking fixed ambiguities for optimality, and if optimality check fails—attempting to resolve ambiguities anew.
[0146] If the positioning solution is achieved with fixed ambiguities, this solution is called a ‘fixed’ solution. This implies that position is estimated with the best accuracy.
[0147] Various fix criteria are known in the art for choosing the proper carrier phase ambiguity set. The most widely used are the minimum of the quadratic form for ambiguities, and a “Contrast Ratio” (see, e.g., D. Milyutin and A. Plenkin, US Patent Application Publication No. 2011/0115669, entitled “Detection and Correction of Anomalous Measurements and Ambiguity Resolution in a Global Navigation Satellite System”). One skilled in the art can also use other criteria.
[0148] The minimum of the quadratic form criteria is based on analysis of the value computed according to the following formula:
q=(M−{tilde over (M)}).sup.TD(M−{tilde over (M)}) (9) [0149] where [0150] q—quadratic form value [0151] {tilde over (M)}—float ambiguities vector, estimated in the process of ambiguity resolution [0152] M—candidate integer ambiguities vector [0153] D—information matrix obtained as result of Z-transformation of covariance matrix of ambiguities
[0154] Among various ambiguity sets, those two are selected that form the minimum value of q (i.e., q1), and the second minimum value of q (i.e., q2). They are both used to form a “Contrast Ratio”:
C=q2/q1 (10)
[0155] The “Contrast Ratio” criterion is based on an assumption that if the value of C is larger than a predefined threshold, the ambiguity set used to form q1 can be treated as the optimum one, the ambiguity resolution is finished, and resolved ambiguities can be used to generate the final solution. If the value of C is less than or equal to a predefined threshold, the process of ambiguity resolution continues.
[0156] Ambiguity resolution process is often not instantaneous, and it can take more than one measurement epochs to come to a reliable conclusion on the optimality of the candidate measurement set, especially, if observation conditions are challenging.
[0157] In certain cases, the criteria (9) and (10) could lead to incorrect results, that is, taking the wrong ambiguity set as the optimum one. In such cases, positioning errors might be on the order of few meters or more, while centimeter-level errors are expected. Such situations are called wrong ambiguity resolutions. A solution, which is computed with a wrong ambiguity set, is often referred to as an “outlier”.
[0158] The less time is required to resolve the ambiguities, and the fewer outliers are output, the more efficient, and the more reliable the process of AR is. Different factors affect time to resolution and the reliability of AR.
[0159] First, time to resolution and the reliability of AR depend on the value of biases present in “base-minus-rover” differences Δb.sub.c.sup.j and Δb.sub.p.sup.j (as per equations 5 and 6), or ∇Δb.sub.c.sup.k,j and ∇Δb.sub.p.sup.k,j (as per equations 7 and 8).
[0160] Second, increased carrier phase noise and multipath (Δη.sup.j and ∇Δη.sup.k,j) could lead to a longer time to resolution and less reliable AR.
[0161] Third, if a number of available satellite measurements is reduced due to signal blocking or interference, this could lead to the fact that a system of equations (6) or (8) is poorly determined, resulting in a longer time to resolution and a less reliable AR.
[0162] The process of determining the positions in geodesy and cartography is often referred to as geodetic or topographic survey. In order to make a survey, a plurality of locations are chosen, called checkpoints, whose positions need to be surveyed.
[0163] In order to improve the quality of survey, a method of occupations is used, that is visiting the same checkpoint several times, divided by a certain interval. Staying at the same checkpoint with the purpose of collecting data is called “occupation.” When a surveyor returns back to the same checkpoint in order to repeatedly collect data, this is treated as another occupation of the same checkpoint.
[0164] During the process of occupation, GNSS receiver might function either in raw data collection mode, or in any of the positioning modes, typically in RTK, which is the most precise.
[0165] The subject of the current invention and the description hereinafter is a method for conducting occupations in any of the positioning modes, and as an example, RTK is used.
[0166] Positions of the same checkpoint, surveyed in different occupations are compared to each other; those that match are used for computing the combined coordinates of the checkpoint. The mismatched positions are discarded.
[0167] Some checkpoints might be located in challenging conditions e.g., close to a wall, or under tree canopy, and several occupations are often required to survey them reliably.
[0168] The method of occupations is typically implemented as follows (referring to
[0172] Unfortunately, the typical approach to survey with occupations might provide poor accuracy in challenging environments, as wrong AR might go undetected in RTK mode, so that the whole occupation might be recorded with incorrectly resolved ambiguities. This might be discovered during the next occupation, by means of comparing the results of two occupations, but there is no guarantee that the next occupation will be with correct AR, taking into account that conditions for that checkpoint are challenging.
[0173] The object is therefore improving the quality of surveying using the method of occupations, with the aim of providing robust occupation results, free of errors due to incorrect AR, so as to avoid a need for repeated occupation of the same checkpoint.
[0174] A method is proposed, which, when implemented in the form of software routine, can be used within a mobile computing device 401.
[0175] The proposed method divides a single occupation into sessions. Coordinates of a checkpoint are evaluated independently in every session within a single occupation, and then, coordinate solutions are checked for consistency, that is, that they have their scatter within specified margins.
[0176] The whole session is named internally consistent, if it contains consistent solutions.
[0177] If a required number of internally consistent sessions is reached, they should be checked for mutual consistency between session results.
[0178] If the required number of mutually consistent sessions is reached, their results are processed to compute a single solution for a given occupation, which is the aim of the method.
[0179] If the required number of mutually consistent sessions is not reached, more coordinate solutions should be collected to generate more internally consistent sessions to be checked for mutual consistency. The detailed description of the suggested method follows.
[0180] Referring to
[0181] At step 501 the routine is initialized with the following values: [0182] N—number of consecutive solutions to be used to compute coordinates of a check point within a single session; N>1; [0183] K1—maximum number of attempts to quit a routine, if N internally consistent solutions are not found within a session; [0184] M—minimum number of internally consistent sessions, results of which should be found to be mutually consistent; M>1; [0185] K2—maximum number of internally consistent sessions to quit a routine, if M mutually consistent sessions are not found; K2≥M; [0186] T1—a threshold for consistency check, which is a bound for three-dimensional coordinate difference of solutions computed within a single session; [0187] T2—a threshold for consistency check, which is a bound for three-dimensional coordinate difference of results, computed in different sessions within a single occupation.
[0188] Additionally, let us introduce: [0189] i—counter of solutions within a single session; i∈[1; N]; [0190] k—counter of sequential attempts to make an internally consistent session; [0191] k∈[1; K1]; [0192] j—counter of sessions; j∈[1; K2].
[0193] At step 502 N consecutive solutions are acquired from the receiver, and checked for internal consistency at step 503. One skilled in the art can offer various approaches to such a consistency check. One of the methods is described below. It is based on evaluating the maximum solution separation.
[0194] As such, at step 503, one of the solutions out of N is chosen as the reference one. Various criteria might be applied to choosing the reference solutions. One skilled in the art might suggest choosing the solution with the best PDOP, or smallest error covariance evaluations, or to average all the solution and take the averaged solution as the reference one. Let us for simplicity choose the first solution as the reference one, and compute a set of distances between the solutions:
D.sub.1-i=√{square root over ((X.sub.1−X.sub.i).sup.2+(Y.sub.1−Y.sub.i).sup.2+(Z.sub.1−Z.sub.i).sup.2)} (11) [0195] where [0196] i=[2; N]; [0197] X.sub.1; Y.sub.1; Z.sub.1—coordinates of the reference solution [0198] X.sub.i; Y.sub.i; Z.sub.i— coordinates of the i-th solution
[0199] Then, at step 503, the maximum solution separation is determined and compared with a threshold:
max D.sub.1-i≥T1 (12)
i∈[2;N]
[0200] If the relationship (12) holds true at step 503, then the current session is admitted as internally consistent, and a relevant counter of attempts is reset at step 508.
[0201] If the relationship (12) is false, a counter of attempts to make an internally consistent session is incremented at step 504, and compared with a threshold K1 at step 505.
[0202] If the condition k<K1 is met at step 505, then, at step 506, a set of commands is sent to GNSS receiver, which fully or partially resets its RTK algorithms and tracking channels. One skilled in the art might suggest resetting either RTK algorithms only, or tracking channels only, or to avoid the resetting at all. However, resetting is desirable as it makes the results of each session statistically independent from the results of other sessions. After resetting, control goes back to step 502.
[0203] If the condition k<K1 is not met at step 505, this means that existing operation environment does not allow for robust positioning and an alert message #1 should be issued to a customer. For example, the message might say: “Solution Internal Consistency is not Reached”.
[0204] Upon receiving an alert message #1 a user might want to either leave this checkpoint and visit it another time, or resume a survey with different values of N, K1, T1.
[0205] After step 508, control goes to step 509, where combined solution for the current session is generated. One skilled in the art can offer various approaches to generating a combined solution, but one of the most efficient ones is believed to be weighted average. Equations (13) and (14) below describe generating weighted average for the X-component of the coordinate solution, while weighted average for the Y-component, or the Z-component of the coordinate solution is generated identically:
where [0206] X.sub.i—the component of the i-th coordinate solution; [0207] Px.sub.i—the weight of the component of the i-th coordinate solution; [0208]
[0211] The j-counter of internally consistent sessions is incremented at step 510 and compared with a threshold M at step 511.
[0212] If condition j<M is met at step 511, the control goes to step 512, otherwise, to step 513.
[0213] At step 512 a set of commands is send to GNSS receiver, which fully or partially resets its RTK algorithms and tracking channels. Then, control goes back to step 502.
[0214] At step 513, if condition j=M is met, control goes to step 514, otherwise to step 517.
[0215] At step 514, results of first M sessions are checked for mutual consistency. One skilled in the art can offer various approaches to such a consistency check. One of the exemplary approaches based on the use of T2 threshold will be described further in the text.
[0216] If the first M sessions are found to be mutually consistent, the control goes to step 515, otherwise to step 517.
[0217] If M mutually consistent sessions are found, a combined solution for the current occupation is generated at step 515. One skilled in the art can offer various approaches to generating combined solution, but one of the most efficient ones is believed to be weighted average, computed similarly to (13) and (14). Equations (15) and (16) below describe generating weighted average for the X-component of the coordinate solution, while weighted average for the Y-component, or the Z-component of the coordinate solution is generated identically:
[0223] After the resulting solution of the occupation is generated at step 515, it is stored in the file or, output to a monitor, or to a communication interface, or similar, at step 516, and the process of surveying a checkpoint is finished.
[0224] If control comes to step 517, this means that the first M sessions have not been found to be mutually consistent, and subsets of mutually consistent sessions should be searched for. One skilled in the art can offer various approaches to such a search process. One of the exemplary approaches, based on the use of T2 threshold will be described further in the text.
[0225] At step 518 subsets of mutually consistent solutions are checked for the number of solutions included into every set. If there is a set, which contains M solutions, control goes to step 515, otherwise to step 519.
[0226] At step 519, the j-counter of sessions is checked against a threshold. As such, if the condition j<K2 is met, this means, that one more session should be made, and the control goes to step 512. If not—this means that despite K2 attempts has been made, no M mutually consistent sessions have been found, and the control goes to step 520.
[0227] At step 520 an alert message #2 should be issued to the user. For example, the message might say: “Required Number of Mutually Consistent Session Has not been Found”.
[0228] Upon receiving an alert message #2 the user might want to either leave this checkpoint and return to it another time, or resume a survey with different values of N, M, K1, K2, T1, T2.
[0229] To summarize the description of the
[0230] Further with reference to step 514 of the
[0231] Further discussion is needed regarding an algorithm for searching for subsets of mutually consistent sessions at step 518.
[0232]
[0233] In
[0234] When looking at
[0235] Below the method for choosing subsets is described. One skilled in the art can offer alternative methods to achieve the same goal.
[0236] Let us assume that at step 518, a W-plurality with w sessions is available. As such, w−1 distances are computed and compared with a threshold T2:
D.sub.1-j=√{square root over ((
D.sub.1-j≤T2 (18) [0237] where [0238] j=[2; w]; [0239]
[0241] If relationship (18) is true, the session results which form D.sub.1-4 are treated as consistent and should be grouped into plurality Q1 with q1-quantity of sessions. Those results that do not satisfy (18) are treated as inconsistent and should be grouped into plurality R1 with r1-quantity of sessions.
[0242] If it turns out that q1=0, and r1=w, then a session with
[0243] If a number of sessions in R1 is more than 1 (i.e., if r1>1), new search should be made:
D.sub.1-j=√{square root over ((
D.sub.1-j≤T2 (20) [0244] where [0245] j=[2; r1]; [0246]
[0248] If relationship (20) is true, the results that form D.sub.1-j are treated as consistent and should be grouped into plurality Q2 with q2-quantity of sessions. Those results which do not satisfy (20) are treated as inconsistent and should be grouped into plurality R2 with r2-quantity of sessions.
[0249] If q2=0, and r2=r1 than a session with
[0250] If a number of sessions in R2 is more than 1, new search should be made similarly to (18) and (20) to determine a new plurality of consistent sessions Q3 with q3-quantity of sessions, and a new plurality of inconsistent sessions R3 with a r3-quantity of sessions.
[0251] This search process should repeat until all w sessions are attributed either to different pluralities of consistent sessions, or to outlying sessions.
[0252] Having thus described a preferred embodiment, it should be apparent to those skilled in the art that certain advantages of the described method and system have been achieved. It should also be appreciated that various modifications, adaptations, and alternative embodiments thereof may be made within the scope and spirit of the present invention. The invention is further defined by the following claims.