초록
▼
The present invention relates to processing information generated by GNSS receivers received signals such as GPS, GLONASS, etc. GNSS receivers can determine their position in space. The receivers are capable of determining both coordinates and velocity of their spatial movement. When a receiver is used in any machine control systems, velocity vector heading (in other words, velocity vector orientation) should be determined along with velocity vector's absolute value. Angle, determining velocity vector orientation, is calculated based on velocity vector p...
The present invention relates to processing information generated by GNSS receivers received signals such as GPS, GLONASS, etc. GNSS receivers can determine their position in space. The receivers are capable of determining both coordinates and velocity of their spatial movement. When a receiver is used in any machine control systems, velocity vector heading (in other words, velocity vector orientation) should be determined along with velocity vector's absolute value. Angle, determining velocity vector orientation, is calculated based on velocity vector projections which are computed in navigation receivers. The accuracy of velocity vector orientation calculated based on velocity vector projections strongly enough depends on velocity vector's absolute value. To enhance the accuracy, a method of smoothing primary estimates of velocity vector orientation angles using a modified Kalman filter has been proposed. The bandwidth of this filter is varied depending on current estimates of velocity vector's absolute value which were calculated based on the same velocity vector projections.
대표
청구항
▼
1. A method of determining a heading of a GNSS receiver, which is communicatively coupled to a steering mechanism comprising, at each clock cycle: (A) receiving signals from GNSS satellites and using a processor, generating a primary estimate of speed using current estimates of velocity vector projections;(B) generating an extrapolated speed using previous estimates of the speed;(C) generating a primary estimate of a direction using the current estimates of the velocity vector projections;(D) generating a variance of the primary estimate of the direction...
1. A method of determining a heading of a GNSS receiver, which is communicatively coupled to a steering mechanism comprising, at each clock cycle: (A) receiving signals from GNSS satellites and using a processor, generating a primary estimate of speed using current estimates of velocity vector projections;(B) generating an extrapolated speed using previous estimates of the speed;(C) generating a primary estimate of a direction using the current estimates of the velocity vector projections;(D) generating a variance of the primary estimate of the direction as follows:(i) if the primary estimate of the speed from step (A) is smaller than a preset minimum value, the variance of the primary estimate of the direction equals a preset maximum value, otherwise(ii) the variance of the primary estimate of the direction is a ratio of a preset variance of the speed to a square of the primary estimate of the speed from step (A);(E) if the extrapolated estimate of the speed from step (B) is greater than the preset minimum value, then performing step (G), otherwise, performing step (F);(F) setting a next smoothed estimate of the direction equal to its previous value; and(G) generating and controlling the steering mechanism using a smoothed estimate of the direction based on non-linear recurrent filtering of the primary estimate of the direction from step (C), wherein filter parameters, at every clock cycle, are based on the variance of the primary estimate of the direction from step (D). 2. The method of claim 1, wherein the steps (E), (F) and (G) are modified to determine the direction using a preliminarily smoothed estimate of the velocity vector projections, as follows: at step (E), if both (a) the extrapolated estimate of the speed generated at step (B) more than a preset minimum value of a velocity of the GNSS receiver and (b) a timer determines if a duration of an assumed stop is longer than a preset minimum duration, then step (G) is performed, otherwise, step (F) is performed,at step (F), incrementing the timer;at step (G), setting the timer to zero. 3. The method of claim 1, wherein the non-linear recurrent filtering at step (G) uses a modified Kalman filter for providing a filtering of a cyclic value and further comprising, at each clock cycle: (1) setting a range for the smoothed estimate of the direction to a range of the primary estimate for the direction, if the smoothed angle estimate is outside either [0 . . . 2π] or [−π . . . +π];(2) setting a range for the extrapolated angle estimate to the range of the primary estimate for the direction, if the extrapolated estimate is outside either [0 . . . 2π] or [−π . . . +π]; and(3) setting an error signal as a shortest angular distance between the primary estimate of the direction and the extrapolated estimate of the direction. 4. The method of claim 3, wherein, the modified Kalman filter simultaneously processes the primary estimate of the direction and a primary estimate of angle rate obtained using carrier phase measurements of the GNSS receiver in at least two frequency bands, and whose variance is determined based on accuracy of the GNSS receiver's carrier phase measurements. 5. The method of claim 3, wherein, in the modified Kalman filter, a correction matrix is added to a calculated value of an extrapolation error correlation matrix; wherein values of the correction matrix are calculated based on a preset intensity of a probable maneuver of the direction; andwherein the correction matrix is added only at clock cycles when an absolute value of the error signal is greater than a square root of the variance of the primary estimate of the direction of step (D) by at least a factor of 3 to 7. 6. The method of claim 1, wherein, at step (B), the extrapolated speed is determined based on the primary estimate of the speed of step (A) at two previous clock cycles. 7. The method of claim 1, wherein, at step (B), the extrapolated speed is determined based on an estimate of a rate of change of the speed, which is generated by smoothing the primary estimate of the speed of step (A). 8. A GNSS receiver apparatus comprising a processor configured to perform the following operations: (A) generating a primary estimate of a speed using current estimates of velocity vector projections;(B) generating an extrapolated absolute value of the velocity vector using previous estimates of the absolute value of the velocity vector obtained at step (A);(C) generating a primary estimate of a direction using current estimates of velocity vector projections;(D) generating a variance of the primary estimate of the direction as follows:(i) if the primary estimate of the speed at step (A) is smaller than a preset minimum value, a variance of the primary estimate of the direction equals a preset maximum value, otherwise(ii) a variance of the primary estimate of the direction is a ratio of a preset variance of the speed to a square of primary estimate of speed from step (A);(E) if the extrapolated estimate of the speed at step (B) is greater than a preset minimum value, then performing step (G), otherwise, performing step (F);(F) setting a next smoothed estimate of the direction equal to its previous value; and(G) generating a smoothed estimate of the direction based on non-linear recurrent filtering of the primary estimate of the direction obtained at step (C), wherein filter parameters, at every clock cycle, are based on the variance from step (D). 9. The apparatus of claim 8, further comprising using a modified Kalman filter as the non-linear recurrent filtering for filtering of a cyclic value, the apparatus further performing, at each clock cycle: (1) setting a range for the smoothed angle estimate to a range of the primary estimate for the direction, if the smoothed angle estimate is outside either [0 . . . 2π] or [−π . . . +π];(2) setting a range for the extrapolated angle estimate to the range of the primary estimate for the direction, if the extrapolated estimate is outside either [0 . . . 2π] or [−π . . . +π]; and(3) setting an error signal as a shortest angular distance between the primary estimate of the direction and the extrapolated estimate of the direction. 10. The apparatus of claim 9, wherein, the modified Kalman filter simultaneously processes the primary estimate of the direction and primary estimates of angle rate obtained using carrier phase measurements of the GNSS receiver in at least two frequency bands, and whose variance is determined based on accuracy of the GNSS receiver's carrier phase measurements. 11. The apparatus of claim 9, wherein, in the modified Kalman filter, a correction matrix is added to a calculated value of an extrapolation error correlation matrix; wherein values of the correction matrix are calculated based on a preset intensity of a probable change of the direction; andwherein the correction matrix is added only at such clock cycles when an absolute value of the error signal is greater than a square root of the variance of the primary estimate of the direction of step (D) by at least a factor of 3 to 7. 12. The apparatus of claim 8, wherein, at step (B), the extrapolated speed is determined based on an estimate of a rate of change of the speed, which is generated by smoothing the primary estimate of the speed of step (A). 13. A method of determining a heading of a GNSS receiver, which is communicatively coupled to a steering mechanism comprising, at each clock cycle n: (A) receiving signals from GNSS satellites and using a processor, generating primary estimates of a velocity vector's Vn absolute value (|Vn|) using current estimates of velocity vector projections VE and VN, as follows: |Vn|=√{square root over (VE2+VN2)};(B) generating an extrapolated speed |Vpred| using Vn from step (A) from a second previous, or earlier, clock cycle;(C) generating a primary estimate of a direction Θ=arctg(VEVN);(D) generating a variance σΘ2 of Θ as follows: σΘ2=σV2/Vpred2,where σV2 is a preset value, and Vpred is obtained at step (B);(E) if Vpred>Vmin, then performing step (G), otherwise performing step (F);(F) setting a next smoothed estimate {tilde over (Θ)}n equal to its previous value {tilde over (Θ)}n-1: {tilde over (Θ)}n={tilde over (Θ)}n-1;(G) generating and controlling the steering mechanism using a smoothed estimate of {tilde over (Θ)}n by Kalman filtering adapted to filter the primary estimate of Θn and using σΘ2, as follows: θnpred=F2[Φn·{tilde over (θ)}n-1],Ψnpred=Φn·(Ψn-1+Ψ0)·ΦnT,Kn=Ψnpred·HnT·(Hn·Ψnpred·HnT+Rn)−1,{tilde over (θ)}n=F2[θnpred+Kn·F1[Yn−Hn·θnpred]],Ψn=Ψnpred−Kn·Hn·Ψnpred, where Yn=Θn is the angle Θ from step (C), Rn=σΘn2 is the variance from step (D),θnpred is the extrapolated estimate,{tilde over (θ)}n is the smoothed estimate,F1[ . . . ] and F2[ . . . ] are nonlinear transformations to modify Kalman filter for filtering cyclic values,Ψ0 is a preset value of a parameter limiting a bandwidth of the Kalman filter,matrix Φn is based on a model of angle change,matrix Hn is based on a filter order. 14. The method of claim 13, wherein the steps (E), (F) and (G) determine Θ using a preliminarily smoothed VE={tilde over (V)}E and VN={tilde over (V)}N: wherein, in step (E), if both Vpred>Vmin and ts>T then step (G) is performed, otherwise, step (F) is performed,where ts is a timer of a duration of a presumed stop, T is a preset minimum time value;wherein step (F) further comprises incrementing the timer ts=ts+1; andat step (G), ts=0. 15. The method of claim 13, wherein the Kalman filter at step (G) provides a filtering of a cyclic value and comprises: (1) setting a range for {tilde over (Θ)}n to a range of Θn, by using a transformation F2[ . . . ] wherein Θ~n≡{Θ~nif〈02π〉Θ~n+2πif〈Θ~n2π〉Θnpred+2πif〈ΘnpredΠ·σΘn〉Ψnpredif〈ΔΘn≤Π·σΘn〉,where Π=3 . . . 7, andwhere matrix Gn is based on a chosen model of angle change. 18. The method of claim 13, wherein, in step (B), Vnpred=2·Vn-1−Vn-2, where Vn-1, Vn-2 are taken from step (A) on previous and pre-previous clock cycles, respectively. 19. The method of claim 13, wherein, in step (B), Vnpred={tilde over (V)}n-1+{tilde over ({dot over (V)}n-1·τ, where {tilde over (V)}n-1, {tilde over ({dot over (V)}n-1 are smoothed estimates of the speed and its first derivative, respectively, from a previous clock cycle. 20. A method of determining a heading of a GNSS receiver, which is communicatively coupled to a steering mechanism comprising, at each clock cycle: (A) receiving signals from GNSS satellites and using a processor, generating a primary estimate of speed using current estimates of velocity vector projections;(B) generating an extrapolated speed using previous estimates of the speed;(C) generating a primary estimate of a direction using the current estimates of the velocity vector projections;(D) generating a variance of the primary estimate of the direction using the primary estimate of speed from step (A);(E) if the extrapolated estimate of the speed from step (B) is greater than the preset minimum value, then performing step (G), otherwise, performing step (F);(F) setting a next smoothed estimate of the direction equal to its previous value; and(G) generating and controlling the steering mechanism using a smoothed estimate of the direction based on non-linear recurrent filtering of the primary estimate of the direction from step (C), wherein filter parameters, at every clock cycle, are based on the variance of the primary estimate of the direction.