System and method for position location estimation using two or more antennas
Through the combination of the dual-antenna positioning system and the GNSS processor system, the wrong GNSS pseudorange is identified and corrected, and the problem of reduced GNSS positioning accuracy in urban environments is solved, achieving higher positioning accuracy and reliability.
Patent Information
- Application Number
- CN202011024660.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-26
- Filing Date
- 2020-09-25
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-09-25
AI Technical Summary
In urban environments, the presence of high buildings causes GNSS signals to be blocked or reflected, resulting in problems with erroneous pseudorange estimation and reduced accuracy.
Using a dual-antenna positioning system, the respective pseudoranges are calculated through the first and second GNSS antennas/receivers, and the GNSS processor system is used to identify one of the pseudoranges as errors and the other as valid, and calculated by the known distance and arrival angle. Corrected pseudorange to improve positioning accuracy.
The error pseudorange caused by reflected signals is effectively corrected, and the accuracy and reliability of GNSS positioning is improved, especially in urban environments.
Smart Images

Figure CN112558127B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to global navigation satellite systems (GNSS) and, more particularly, to systems, devices, and methods for generating GNSS position / orientation using two or more GNSS antennas / receivers. Background Art
[0002] A Global Navigation Satellite System (GNSS) generally refers to a system that allows a position fix to be determined based on GNSS signals received from multiple GNSS satellites. Each GNSS satellite transmits a GNSS signal that identifies the satellite and time of signal transmission. The GNSS antenna / receiver is configured to receive each of the GNSS signals transmitted by visible GNSS satellites, and uses the flight time of each GNSS signal and the known position of each GNSS satellite to determine the pseudorange or distance from the GNSS antenna / receiver to the corresponding GNSS satellite. The multiple calculated pseudoranges are used to trilaterate the position of the GNSS antenna / receiver in three-dimensional space. Types of GNSS systems include Global Positioning System (GPS), GLONASS, Galileo, BeiDou, etc.
[0003] GNSS is typically extremely accurate. However, urban environments defined by the presence of tall buildings (sometimes referred to as urban canyons) present particular challenges to GNSS receivers. Not only do buildings block at least some GNSS signals (reducing the number of signals available for making a position fix estimate), but some of the signals that reach the GNSS receiver are received from one or more reflections of the buildings. The increased flight time associated with the reflected GNSS signals results in erroneous pseudorange estimates, and thus erroneous GNSS position fix estimates. Summary of the invention
[0004] According to one aspect, a dual antenna positioning system includes a first global navigation satellite system (GNSS) antenna / receiver, a second GNSS antenna / receiver, and a GNSS processor system. The first GNSS antenna / receiver is located at a first location and calculates a first pseudorange based on a received GNSS signal. The second GNSS antenna / receiver is located at a second location at a known distance from the first GNSS antenna / receiver, wherein the second GNSS antenna / receiver calculates a second pseudorange based on the received GNSS signal. The GNSS processor system is configured to receive the first pseudorange and the second pseudorange, wherein in response to the GNSS processor system identifying one of the first and second pseudoranges as erroneous and identifying one of the first and second pseudoranges as valid, the GNSS processing system calculates a corrected pseudorange and uses the corrected pseudorange and the valid pseudorange to determine a GNSS position location estimate for the first GNSS antenna / receiver and the second GNSS antenna / receiver.
[0005] According to another aspect, a method for determining a global navigation satellite system (GNSS) position fix estimate includes receiving a first pseudorange from a first GNSS antenna / receiver and receiving a second pseudorange from a second GNSS antenna / receiver located at a known distance from the first GNSS antenna / receiver. The method further includes determining that the first pseudorange is erroneous and determining that the second pseudorange is valid. A corrected first pseudorange is calculated based on the second pseudorange, the known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival (AoA) of a GNSS signal received at the second GNSS antenna / receiver. A GNSS position fix estimate is calculated for the first GNSS antenna / receiver based at least in part on the corrected first pseudorange.
[0006] According to another aspect, a global navigation satellite system (GNSS) is configured to receive GNSS data from a first GNSS antenna / receiver and a second GNSS antenna / receiver, and responsively provide GNSS position / orientation estimates for the first GNSS antenna / receiver and the second GNSS antenna / receiver. The GNSS includes a processor and a computer-readable medium storing instructions that, when executed by the processor, perform a method to calculate the GNSS position fix estimate. The method includes identifying a first pseudorange associated with the first GNSS antenna / receiver as erroneous and identifying a second pseudorange associated with the second GNSS antenna / receiver as valid. The method further includes calculating a corrected first pseudorange based on the second pseudorange, a known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival (AoA) of a GNSS signal received at the second GNSS antenna / receiver. A GNSS position fix estimate is calculated for the first GNSS antenna / receiver based at least in part on the corrected first pseudorange. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1a is a block diagram of a dual antenna position estimation system according to some embodiments; Figure 1b is a top view of a vehicle with a first antenna and a second antenna installed according to some embodiments.
[0008] Figure 2 is a flow chart illustrating steps performed by a processing system to generate a position location estimate in accordance with some embodiments.
[0009] Figure 3 is a simple diagram illustrating the calculation of corrected pseudoranges according to some embodiments.
[0010] Figure 4 is a flow chart illustrating additional steps performed by a processing system to calculate angle of arrival (AoA) in accordance with some embodiments.
[0011] Figure 5 is a block diagram of a processing system used by a dual-antenna position estimation system in accordance with some embodiments. DETAILED DESCRIPTION
[0012] A typical global navigation satellite system (GNSS) includes multiple GNSS satellites, each of which transmits a separate GNSS signal carrying detailed time-of-flight information. The GNSS antenna / receiver is configured to receive the GNSS signal and determine the distance (referred to herein as pseudorange) from the GNSS antenna / receiver to the GNSS satellite based on the provided time-of-flight information. Unobstructed GNSS signals are referred to as line-of-sight (LOS), while obstructed signals are referred to as non-line-of-sight (NLOS) or reflected signals. The distance traveled by the reflected GNSS signals increases the flight time of these signals, thereby erroneously increasing the pseudorange calculated by the GNSS antenna / receiver. Due to the erroneous pseudorange, the accuracy of the GNSS position / orientation positioning estimate is reduced.
[0013] The present disclosure relates to a GNSS system using two or more GNSS antennas / receivers. During operation, it is likely that one of the GNSS antennas / receivers will receive a LOS GNSS signal from a GNSS satellite while the other GNSS antenna / receiver receives a reflected GNSS signal, resulting in an erroneous pseudorange. The GNSS system described herein provides a system and method for correcting erroneous pseudoranges and using the corrected pseudoranges to generate a more accurate GNSS position / orientation location estimate.
[0014] refer to Figure 1a and Figure 1b , a dual antenna position estimation system 10 is provided for generating a GNSS position / orientation location estimate based on received GNSS signals. In particular, Figure 1a is a block diagram illustrating a dual antenna position estimation system 10 in which a first GNSS antenna / receiver 12a receives LOS GNSS signals and a second GNSS antenna / receiver 12b receives reflected or NLOS GNSS signals, Figure 1b is a top view of a vehicle using the dual antenna position estimation system 10 , wherein the first GNSS antenna / receiver 12 a and the second GNSS antenna / receiver 12 b are located at known positions relative to each other.
[0015] In some embodiments, the dual antenna position estimation system 10 includes at least a first GNSS antenna / receiver 12a and a second GNSS antenna / receiver 12b and a GNSS processing system 14. In some embodiments, the position estimation system 10 further includes an inertial measurement unit (IMU) 15 located on a vehicle or system that includes the first and second GNSS antenna / receivers 12a, 12b. In some embodiments, the IMU 15 includes one or more accelerometers, gyroscopes and / or magnetometers to measure acceleration, rotation and / or heading experienced by the IMU 15. For example, in some embodiments, the IMU 15 will include multiple accelerometers, gyroscopes and / or magnetometers to measure motion in three axes of motion (e.g., one for each axis of motion, pitch, roll, and yaw). GNSS satellites 16 transmit GNSS signals received by the first and second GNSS antenna / receivers 12a, 12b. In Figure 1a In the example shown, the first GNSS antenna / receiver 12a is LOS with respect to the GNSS satellite 16, as indicated by the solid line 18 connecting the GNSS satellite 16 and the GNSS antenna / receiver 12a. The first GNSS antenna / receiver 12a uses the time of flight information associated with the LOS GNSS signal 18 to calculate a first pseudorange R1 that represents the distance between the first GNSS antenna / receiver 12a and the GNSS satellite 16. The first pseudorange R1 is provided as an input to the GNSS processing system 14.
[0016] exist Figure 1a In the example shown, the second GNSS antenna / receiver 12b is NLOS relative to the GNSS satellite 16, as shown by the GNSS signal 20 being blocked by the presence of the building 24b. However, the second GNSS antenna / receiver 12b receives a reflected GNSS signal 22 from the GNSS satellite 16. The second GNSS antenna / receiver 12b calculates a second pseudorange R2 using the time of flight information associated with the reflected GNSS signal 22. However, because the GNSS signal received by the second GNSS antenna / receiver 12b is a reflection from the building 24a, the calculated pseudorange R2 represents the flight path of the reflected signal, rather than the distance between the second GNSS antenna / receiver 12b and the GNSS satellite 16. The second pseudorange R2 (albeit erroneous) is similarly provided as an input to the GNSS processing system 14.
[0017] Despite Figure 1aOnly a single GNSS satellite is shown in FIG. 1 , but each GNSS antenna / receiver receives GNSS signals from multiple GNSS satellites, and pseudoranges generated relative to each received GNSS signal are provided to the GNSS processing system 14. The GNSS processing system 14 uses the multiple pseudoranges (including, for example, pseudorange R1) provided by the GNSS antenna / receiver 12a to determine a GNSS position location estimate for the first GNSS antenna / receiver 12a. Similarly, the GNSS processing system 14 uses the multiple pseudoranges (including, for example, pseudorange R2) provided by the GNSS antenna / receiver 12b to generate a GNSS position location estimate for the second GNSS antenna / receiver 12b.
[0018] Additionally, knowledge of the positions of the first and second GNSS antennas / receivers 12a, 12b relative to each other allows the GNSS processing system 14 to determine the orientation and / or heading of the GNSS antennas / receivers 12a, 12b - or the heading / orientation of the device / vehicle on which the GNSS antennas / receivers 12a, 12b are mounted. Figure 1b In the illustrated embodiment, the first GNSS antenna / receiver 12a and the second GNSS antenna / receiver 12b are mounted on the vehicle 26 and separated by a known distance d. Most commonly, the GNSS antenna / receivers 12a, 12b are mounted on opposite sides of the vehicle (e.g., the left and right sides of the vehicle) depending on the likely direction of travel. However, in other embodiments, the number of GNSS antenna / receivers may be increased, and the positions of the GNSS antenna / receivers relative to each other may be modified, as long as the position of each GNSS antenna / receiver relative to each other and relative to the vehicle 26 is known. In some embodiments, the known positions of the first and second GNSS antenna / receivers 12a, 12b relative to each other and relative to the vehicle 26 may be used to determine a position in a two-dimensional (2D) plane ( Figure 1b In some embodiments, the orientation of the vehicle is determined in a three-dimensional (3D) plane. As described in more detail below, the known distance d between the first and second GNSS antennas / receivers 12a, 12b is used to correct for erroneous pseudoranges generated due to reflections. In some embodiments, the distance d is greater than or equal to one meter (m).
[0019] The erroneous pseudoranges generated due to reflected GNSS signals may cause the GNSS processing system 14 to generate erroneous GNSS position location estimates relative to one or more of the GNSS antennas / receivers 12a, 12b and may additionally cause the GNSS processing system 14 to generate erroneous heading estimates.
[0020] As compared to Figure 2Described in more detail, in some embodiments, the GNSS processing system 14 identifies erroneous pseudoranges (e.g., first pseudorange R1, second pseudorange R2) and uses known information (including valid pseudoranges received at another GNSS antenna / receiver and the known distance d between each GNSS antenna / receiver 12a, 12b) to correct the erroneous pseudoranges. The corrected pseudoranges are then used in conjunction with other pseudoranges calculated by the corresponding GNSS antenna / receivers (e.g., 12a, 12b) to determine the position of each GNSS antenna / receiver 12a, 12b. In addition, in some embodiments, the positions of the first GNSS antenna / receiver 12a and the second GNSS antenna / receiver 12b allow the GNSS processing system 14 to determine the orientation of the vehicle to which the GNSS antenna / receivers 12a, 12b are attached. In some embodiments, the calculated position fix and / or orientation fix estimate is provided as an output. For example, the output can be provided to a vehicle located (e.g., Figure 1b The display may be provided to a user device (eg, a handheld device, a smartphone, a tablet computer, etc.) or may be displayed within a vehicle 26 as shown.
[0021] against Figure 2 , a flow chart illustrating steps performed by the GNSS processing system 14 according to some embodiments is provided. At step 42, the GNSS processing system 14 receives a first pseudorange R1 and a second pseudorange R2 from the first and second GNSS antennas / receivers 12a, 12b, respectively. For simplicity, for Figure 1a The example shown here is used to describe pseudoranges, where the pseudorange R1 calculated by the GNSS antenna / receiver 12a is valid, while the pseudorange R2 calculated by the GNSS antenna / receiver 12b is erroneous. Although the examples described herein are provided with two GNSS signals provided by a single GNSS satellite (such as Figure 1a ), but it should be understood that this is provided for simplicity, and the GNSS processing system 14 will receive pseudoranges provided relative to multiple GNSS satellites, and in fact, multiple pseudoranges from multiple different GNSS satellites are required to generate a GNSS position fix. In addition, in other embodiments, more than two GNSS antennas / receivers may be used, each GNSS antenna / receiver providing pseudoranges relative to all received GNSS signals.
[0022] At step 44, the GNSS processing system 14 determines whether any of the received pseudoranges is erroneous. In some embodiments, the pseudorange is determined to be erroneous based on a comparison of the pseudorange with the expected pseudorange. For example, in some embodiments, the received pseudorange is compared with the previously received pseudorange to determine the change from one period (i.e., an instance in time) to the next period. In some embodiments, the pseudorange is calculated at a periodic rate so that each period is separated from the continuous period by a constant duration. In other embodiments, the pseudorange is calculated at a non-periodic rate so that the time between continuous periods is variable. In both examples, the duration between continuous periods can be used to determine the expected change in pseudorange from one period to the next. A greater-than-expected change in pseudorange can be used to detect an erroneous pseudorange value. In some embodiments, the change in pseudorange from one period to the next is compared with the change in pseudorange detected relative to another GNSS antenna. For example, if the first pseudorange R1 changes a first amount between time steps, the second pseudorange R2 should change approximately the same amount (assuming that both pseudoranges were previously valid). A greater-than-expected change in the distance associated with one of the pseudoranges compared to the other pseudorange can be used to detect an erroneous pseudorange. In some embodiments, the GNSS processing system 14 uses the IMU data in conjunction with a previous GNSS position fix to generate a current IMU-based position estimate. That is, a previous GNSS position fix (e.g., from a previous period or point in time) is used as a starting point, with the IMU data used to determine the likely position of the GNSS antenna / receiver 12a, 12b at the current period. Based on information about the positions of the GNSS satellites relative to the IMU-based position estimate, the received pseudoranges may be compared to expected pseudoranges. Received pseudoranges that exceed expected pseudoranges by more than a threshold amount are identified as potentially erroneous.
[0023] If, at step 44, none of the received pseudoranges are identified as erroneous, then, at step 46, a GNSS position fix estimate is calculated for each GNSS antenna 12a, 12b based on the received pseudoranges. If, at step 44, one of the pseudoranges is identified as erroneous, then, at step 48, the pseudorange provided by the other GNSS antenna / receiver is reviewed to determine if the pseudorange is valid. For example, if, at step 44, it is determined that the pseudorange R2 provided by the second GNSS antenna / receiver 12b is erroneous, then, at step 48, the pseudorange R1 provided by the first GNSS antenna / receiver 12a is reviewed to determine if the pseudorange is valid. It should be noted that the pseudorange reviewed for validity must correspond to a GNSS signal originating from the same satellite that is associated with the erroneous pseudorange.
[0024] Determining whether a pseudorange is valid can rely on one or more of a plurality of methods or checks used alone or in conjunction with each other. For example, in some embodiments, the received pseudorange is compared to a previously received pseudorange to determine a change from one period to the next. If the change from one period to the next is less than a threshold, the pseudorange is determined to be valid. In some embodiments, additional information can be used to further refine the determination. For example, in some embodiments, the heading of the vehicle determined in a previous period based on the calculated GNSS positions of the first and second GNSS antennas / receivers 12a, 12b is used to narrow the range of valid pseudoranges. In some embodiments, a combination of the heading and speed of the vehicle is used to narrow the range of valid pseudoranges. In some embodiments, the vehicle speed is calculated based on a previous GNSS position fix estimate.
[0025] In other embodiments, the GNSS processing system 14 uses inputs received from additional sources (e.g., wheel tick inputs, IMU inputs) to validate the received pseudoranges. For example, in some embodiments, the rotation of the vehicle's wheels (referred to as wheel tick inputs) can be used to determine the distance traveled during the time from a previous period to a current period. In some embodiments, the determined distance creates a ring of expected pseudoranges that are compared with the received pseudoranges to determine validity, wherein as long as the received pseudorange is within a threshold distance of the ring of expected pseudoranges, the received pseudorange is determined to be valid. In some embodiments, the ring of expected pseudoranges calculated based on wheel ticks can be further refined based on heading information calculated in a previous period. The combination of the distance traveled and the previous heading information is used to narrow the ring of expected pseudoranges to a smaller arc segment of expected pseudoranges, which can be compared with the received pseudoranges to determine validity.
[0026] In some embodiments, the GNSS processing system 14 uses the IMU 15 ( Figure 1aThe IMU-based position estimate is calculated based on the input received by the IMU (as shown). In some embodiments, the IMU-based position estimate combines the GNSS position fix estimate generated in the previous period with the IMU data to determine the possible positions of the first and second GNSS antennas / receivers 12a, 12b in the current period. In some embodiments, the IMU-based position estimate is generated in each period based on the IMU data and the GNSS position fix estimate generated in the previous estimate. In some embodiments, the IMU-based position estimate is based on the IMU data and the previously calculated IMU-based position estimate (sometimes referred to as a dead reckoning estimate). In some embodiments, the IMU-based position estimate is periodically updated based on the GNSS position fix estimate. In some embodiments, the validity of the received pseudorange is determined based on a comparison with the IMU-based position estimate. Based on information about the positions of the GNSS satellites relative to the IMU-based position estimate, the received pseudorange can be compared with the expected pseudorange. If the received pseudorange is within the threshold of the expected pseudorange, the received pseudorange is deemed valid. In some embodiments, the validity of the received pseudorange is determined using a combination of previous GNSS position fix estimates (including heading / speed information derived therefrom), wheel rotation input, and / or an IMU-based position estimate.
[0027] If it is determined at step 48 that the pseudorange provided by the other GNSS antenna / receiver is invalid, then at step 50 it is determined that the erroneous pseudorange detected at step 44 cannot be corrected. In some embodiments, even if it is determined that the erroneous pseudorange cannot be corrected, the erroneous pseudorange is discarded rather than used to generate a GNSS position estimate for the GNSS antenna / receiver that provided the erroneous pseudorange.
[0028] If it is determined at step 48 that the pseudorange provided by the other GNSS antenna / receiver is valid, then at step 52, a corrected pseudorange is calculated for the erroneous pseudorange based on the angle of arrival (AoA) of the received GNSS signal, the known distance d between the first and second GNSS antenna / receivers 12a, 12b, and the valid pseudorange. In some embodiments, the AoA is determined based on the estimated position of the GNSS antenna / receiver providing the valid pseudorange and the orientation of the GNSS antenna / receiver. In some embodiments, the estimated position of the GNSS antenna / receiver providing the valid pseudorange is a GNSS position location estimate generated based on the valid pseudorange and a plurality of other assumed valid pseudoranges. In other embodiments, the estimated position of the GNSS antenna / receiver is based on a combination of previous GNSS position estimates and IMU data provided by the IMU 15. In addition to the position of the GNSS antenna / receiver, the orientation of the first and second GNSS antenna / receivers 12a, 12b must also be known to calculate the AoA. In some embodiments, the orientation estimate is based on a combination of previous GNSS orientation location estimates generated in previous periods and IMU data used to extrapolate IMU-based orientation estimates. As relative to Figure 4 As discussed in more detail, a number of methods may be used to determine the AoA used in calculating the corrected pseudorange.
[0029] Relative to Figure 3 The figure shown visually illustrates the calculation of the corrected pseudorange. In this example, the first GNSS satellite 12a receives the LOS GNSS signal and calculates an effective pseudorange R1 representing the distance between the GNSS satellite 16 and the GNSS antenna / receiver 12a based on the LOS GNSS signal. The distance d between the first GNSS antenna / receiver 12a and the second GNSS antenna / receiver 12b is also known, and the angle of arrival (AoA) of the GNSS signal is also known. Based on these known values, a corrected pseudorange R2' is determined, which represents the distance between the second GNSS antenna / receiver 12b and the GNSS satellite 16. In some embodiments, the corrected pseudorange R2' is calculated based on the following equation:
[0030] Where R1 is the calculated pseudorange between the first GNSS antenna / receiver 12a and the GNSS satellite 16, d is the known distance between the first and second GNSS antenna / receivers 12a, 12b, and AoA is the angle formed between a line drawn from the first GNSS antenna / receiver 12a and the GNSS satellite 16 and a line drawn between the first and second GNSS antenna / receivers 12a, 12b.
[0031] At step 54, a GNSS position fix is calculated for each GNSS antenna / receiver based on the valid pseudoranges and the corrected pseudoranges. For example, based on a plurality of received pseudoranges and corrected pseudoranges (e.g., Figure 3 The position of the GNSS antenna / receiver 12b is determined by using the corrected pseudorange R2′ shown. In some embodiments, in addition to the GNSS position fix estimates generated for both the first GNSS antenna / receiver 12a and the second GNSS antenna / receiver 12b, a GNSS orientation estimate is generated based on the first and second GNSS position fix estimates. The GNSS position fix and / or orientation estimate is provided as an output. For example, the GNSS position fix and / or orientation estimate can be displayed in the vehicle and / or on a user device.
[0032] Reference now Figure 4 , a method for using IMU data to generate IMU-based position and / or orientation estimates is provided. Figure 4 In the illustrated embodiment, the AoA utilized at step 52 is calculated using an IMU-based position / orientation estimate. Figure 2 As shown above, the corrected pseudorange is calculated. Figure 1a and Figure 2 As discussed, in some embodiments, an IMU is used to provide IMU data to the GNSS processing system 14, which is used to generate an IMU-based position / orientation estimate. In some embodiments, the IMU data is only used to generate the position / orientation estimate used to determine the position / orientation of the GNSS processing system 14. Figure 3 IMU-based orientation estimates of the AoA shown. In other embodiments, IMU data is used to generate IMU-based position and orientation estimates. The IMU-based position estimate can be used to verify the position estimate and / or can be used in conjunction with the IMU-based orientation to determine the AoA.
[0033] At step 60, the GNSS processing system 14 receives inertial measurement unit (IMU) data. As described above, the IMU data is received by the inertial measurement unit (IMU) 15 (e.g., Figure 1a The IMU data is generated by an IMU 15 (shown) and may include one or more accelerometers, gyroscopes and / or magnetometers. The IMU data describes the forces exerted on the IMU 15 during operation. The IMU 15 is located on the vehicle where the first and second GNSS antennas / receivers are located so that the forces experienced by the GNSS antennas / receivers that cause changes in position and / or orientation are recorded by the IMU 15.
[0034] At step 62, the GNSS processing system 14 calculates an IMU-based position / orientation estimate based on the previous position / orientation fix and the received IMU data. In some embodiments, the previous position / orientation fix is a GNSS position / orientation fix generated at a previous period (e.g., time step) based on the received GNSS signals and the calculated positions of the first and second GNSS antennas / receivers 12a, 12b relative to each other. The IMU data provides information about the movement of the GNSS antennas / receivers 12a, 12b in the time since the last GNSS position / orientation fix. In some embodiments, the updated position / orientation estimate based on the received IMU data is referred to as a dead reckoning position / orientation estimate. In other embodiments, the IMU data is only used to generate an IMU-based orientation estimate. In this embodiment, the position estimate used in conjunction with the orientation estimate to generate the AoA can be based on the valid pseudorange received by the GNSS antenna / receiver (in conjunction with other valid pseudorange values).
[0035] In some embodiments, at step 64, it is determined whether the IMU-based position / orientation estimate generated at step 62 is valid. For example, in some embodiments, the IMU-based position / orientation estimate may be compared with knowledge of the surrounding area (e.g., a 3D map) to determine the validity of the IMU-based position / orientation estimate. For example, if the IMU-based position / orientation estimate indicates that the vehicle is located in a body of water, the IMU-based position / orientation estimate may be invalid. Similarly, if the IMU-based position / orientation estimate indicates that the vehicle is located within a building structure (e.g., an office building), the IMU-based position / orientation estimate may be invalid. In some embodiments, the IMU-based position / orientation estimate is compared with valid pseudoranges received by one or more of the GNSS antennas / receivers and used to verify that the IMU-based position / orientation estimate is valid.
[0036] If the IMU-based position / orientation estimate is identified as invalid at step 64, then the erroneous pseudoranges cannot be corrected and the process ends at step 66. As discussed above with respect to step 50, even if the erroneous pseudoranges cannot be corrected, in some embodiments it may still be beneficial to remove the erroneous pseudoranges from the calculation of the GNSS position fix / orientation estimate.
[0037] If the IMU-based position / orientation estimate is identified as valid at step 64, then at step 68, the positions of the GNSS satellites are converted into a reference plane of the vehicle based on the vehicle's IMU-based position orientation estimate and the known positions of the GNSS satellites. In some embodiments, the AoA is defined as the angle between the incoming valid GNSS signal and a line drawn between the first GNSS antenna / receiver 12a and the second GNSS antenna / receiver 12b. In order to determine the AoA, the positions of the valid GNSS antenna / receivers, the positions of the GNSS satellites 16, and the orientation of the vehicle, and thereby the orientation of the second GNSS antenna / receiver relative to the first GNSS antenna / receiver, must be known. In some embodiments, it can be assumed that the vehicle is always approximately level, and the orientations of the first and second GNSS antenna / receivers can be approximated to one or more discrete or quantized orientations (e.g., east, west, north, and south). For example, assuming Figure 1b The example shown shows an orientation in a first direction (e.g., north), then a determination of the vehicle being oriented in an opposite direction (e.g., south) would result in the second GNSS antenna / receiver 12b being placed on the opposite side of the first GNSS antenna / receiver 12a, with a corresponding change in AoA from less than 90° to greater than 90°.
[0038] At step 70, the AoA is calculated based on the position / orientation of the first and second GNSS antennas / receivers 12a, 12b relative to the GNSS satellites 16. Figure 4 As described, the AoA is used in conjunction with the distance d between the first and second GNSS antennas / receivers and the effective pseudorange R1 - the corrected pseudorange R2'.
[0039] Figure 5 is a block diagram of a GNSS processing system 14 according to some embodiments. The GNSS processing system 14 is configured to receive input from a GNSS antenna / receiver. In some embodiments, the GNSS processing system 14 is also configured to receive IMU data from an IMU 15. The input provided by the GNSS antenna / receiver may include pseudoranges calculated by the GNSS antenna / receiver 12a, 12b, or may include raw GNSS data received by the GNSS antenna / receiver but not processed. In the latter embodiment, the GNSS processing system 14 calculates pseudoranges based on the raw GNSS data provided by the GNSS antenna / receiver 12a, 12b. In response to the received pseudorange input and / or IMU data, the GNSS processing system 14 generates a GNSS position / orientation fix estimate 86. In some embodiments, the position / orientation fix estimate 86 also includes a time associated with the position / orientation fix estimate 86. In some embodiments, the GNSS position / orientation fix estimate 86 is displayed to the vehicle 26 (e.g., as Figure 1b In other embodiments, the GNSS position / orientation fix estimate 86 may be provided as an output to various devices and / or systems for display and / or use.
[0040] In some embodiments, the GNSS processing system 14 is located in close proximity to the first and second GNSS antennas / receivers 12a, 12b (e.g., on a vehicle on which the GNSS antennas / receivers 12a, 12b are mounted, such as a Figure 1b 12a, 12b. In other embodiments, the GNSS processing system 14 may be located remotely from the first and second GNSS antennas / receivers 12a, 12b. For example, in some embodiments, the pseudoranges (or raw GNSS data) are transmitted to the remotely located GNSS processing system 14 via wireless communications. The position fix and / or orientation estimate generated by the GNSS processing system 14 is remotely utilized and / or wirelessly transmitted to the vehicle and / or user device for display.
[0041] In some embodiments, the GNSS processing system 14 includes a processor / controller 80, a satellite position almanac / database 82, and a memory / storage 84, such as Figure 5 The processor / controller 80 executes computer-readable instructions stored in the memory / storage 84 to implement the steps and functions described herein (e.g., Figure 2 and Figure 4 The processor / controller 80 accesses the satellite position almanac 82 to collect information about the positions of the GNSS satellites. In some embodiments, the GNSS processing system 14 downloads the spatially correlated satellite position almanac data to the satellite position almanac 82. In some embodiments, the calculation of the GNSS position / orientation fix is calculated only after all the spatially correlated satellite position almanac data has been downloaded.
[0042] In this manner, the present disclosure provides a dual GNSS antenna / receiver system in which a valid pseudorange detected at one of the GNSS antennas / receivers can be used in conjunction with the known distances between the respective GNSS antennas / receivers to correct an erroneous pseudorange detected at the other GNSS antenna / receiver.
[0043] Discussion of Possible Implementations
[0044] The following is a non-exclusive description of possible embodiments of the invention.
[0045] According to one aspect, a dual antenna positioning system includes a first global navigation satellite system (GNSS) antenna / receiver, a second GNSS antenna / receiver, and a GNSS processor system. The first GNSS antenna / receiver is located at a first location and calculates a first pseudorange based on a received GNSS signal. The second GNSS antenna / receiver is located at a second location at a known distance from the first GNSS antenna / receiver, wherein the second GNSS antenna / receiver calculates a second pseudorange based on the received GNSS signal. The GNSS processor system is configured to receive the first pseudorange and the second pseudorange, wherein in response to the GNSS processor system identifying one of the first and second pseudoranges as erroneous and identifying one of the first and second pseudoranges as valid, the GNSS processing system calculates a corrected pseudorange and uses the corrected pseudorange and the valid pseudorange to determine a GNSS position location estimate for the first GNSS antenna / receiver and the second GNSS antenna / receiver.
[0046] The system of the preceding paragraph may optionally include (additionally and / or alternatively) any one or more of the following features, configurations and / or additional components.
[0047] For example, the GNSS processing system may calculate a corrected pseudorange based on a valid pseudorange, a known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival (AoA) of a received GNSS signal at the GNSS antenna / receiver that generated the valid pseudorange.
[0048] The GNSS processing system may calculate the AoA of the received GNSS signals based on the current position / orientation estimate of the dual-antenna positioning system and the GNSS satellite positions.
[0049] The GNSS processing system may calculate the current position / orientation estimate based on a previous GNSS position / orientation fix estimate and the known speed and direction of the dual antenna positioning system.
[0050] The dual antenna positioning system may further include an inertial measurement unit (IMU), wherein the GNSS processing system uses IMU data received from the IMU in conjunction with a previous GNSS position / orientation location estimate to generate the current position / orientation estimate.
[0051] According to another aspect, a method for determining a global navigation satellite system (GNSS) position fix estimate includes receiving a first pseudorange from a first GNSS antenna / receiver and receiving a second pseudorange from a second GNSS antenna / receiver located at a known distance from the first GNSS antenna / receiver. The method further includes determining that the first pseudorange is erroneous and determining that the second pseudorange is valid. A corrected first pseudorange is calculated based on the second pseudorange, the known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival (AoA) of a GNSS signal received at the second GNSS antenna / receiver. A GNSS position fix estimate is calculated for the first GNSS antenna / receiver based at least in part on the corrected first pseudorange.
[0052] The method of the preceding paragraph may optionally include (additionally and / or alternatively) any one or more of the following features, configurations and / or additional components.
[0053] For example, determining that the first pseudorange is erroneous may include comparing the first pseudorange to an expected pseudorange, wherein if the first pseudorange exceeds the expected pseudorange by a threshold amount, the first pseudorange is determined to be erroneous.
[0054] The expected pseudorange may be calculated based on an IMU-based position estimate generated based on a previous GNSS position fix estimate and IMU data provided by an inertial measurement unit, IMU.
[0055] Determining that the second pseudorange is valid may include comparing the second pseudorange to an expected pseudorange, wherein if the second pseudorange is within a threshold of the expected pseudorange, the second pseudorange is determined to be valid.
[0056] The AoA of the GNSS signal may be determined based on the known position of the GNSS satellite emitting the GNSS signal and the position / orientation estimate of the second antenna / receiver.
[0057] The position / orientation estimate of the second antenna / receiver may be based on previous GNSS position / orientation fix estimates and Inertial Measurement Unit (IMU) data.
[0058] The step of calculating the corrected first pseudorange may be based on the following equation:
[0059]
[0060] Where R1 is the second pseudorange, d is the distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, AoA is the angle of arrival of the GNSS signal received at the second GNSS antenna / receiver, and R2′ is the corrected pseudorange.
[0061] According to another aspect, a global navigation satellite system (GNSS) is configured to receive GNSS data from a first GNSS antenna / receiver and a second GNSS antenna / receiver, and responsively provide GNSS position / orientation estimates for the first GNSS antenna / receiver and the second GNSS antenna / receiver. The GNSS includes a processor and a computer-readable medium storing instructions that, when executed by the processor, perform a method to calculate the GNSS position fix estimate. The method includes identifying a first pseudorange associated with the first GNSS antenna / receiver as erroneous and identifying a second pseudorange associated with the second GNSS antenna / receiver as valid. The method further includes calculating a corrected first pseudorange based on the second pseudorange, a known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival (AoA) of a GNSS signal received at the second GNSS antenna / receiver. A GNSS position fix estimate is calculated for the first GNSS antenna / receiver based at least in part on the corrected first pseudorange.
[0062] The system of the preceding paragraph may optionally include (additionally and / or alternatively) any one or more of the following features, configurations and / or additional components.
[0063] For example, identifying that the first pseudorange is erroneous may include comparing the first pseudorange to an expected pseudorange, wherein if the first pseudorange exceeds the expected pseudorange by a threshold amount, then the first pseudorange is determined to be erroneous.
[0064] The expected pseudorange may be calculated based on an IMU-based position estimate generated based on a previous GNSS position fix estimate and IMU data provided by an inertial measurement unit, IMU.
[0065] The AoA of the GNSS signal may be determined based on the known position of the GNSS satellite emitting the GNSS signal and the position / orientation estimate of the second antenna / receiver.
[0066] The position / orientation estimate of the second antenna / receiver may be based on a previous GNSS position / orientation fix estimate and IMU data received by the GNSS from an inertial measurement unit, IMU.
[0067] The corrected first pseudorange can be calculated based on the following equation:
[0068]
[0069] Where R1 is the second pseudorange, d is the distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, AoA is the angle of arrival of the GNSS signal received at the second GNSS antenna / receiver, and R2′ is the corrected pseudorange.
Claims
1. A dual-antenna positioning system, comprising: a first global navigation satellite system GNSS antenna / receiver, the first GNSS antenna / receiver being located at a first position, wherein the first GNSS antenna / receiver calculates a first pseudorange based on a received GNSS signal; a second GNSS antenna / receiver located at a second position at a known distance from the first GNSS antenna / receiver, wherein the second GNSS antenna / receiver calculates a second pseudorange based on the received GNSS signal; as well as A GNSS processing system configured to receive the first pseudorange and the second pseudorange, wherein in response to the GNSS processing system identifying one of the first pseudorange and the second pseudorange as erroneous and identifying one of the first pseudorange and the second pseudorange as valid, the GNSS processing system calculates a corrected pseudorange and determines a GNSS position fix estimate for the first GNSS antenna / receiver and the second GNSS antenna / receiver using the corrected pseudorange and the valid pseudorange, wherein the GNSS processing system calculates the corrected pseudorange based on the valid pseudorange, a known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival AoA of the received GNSS signal at the GNSS antenna / receiver that generated the valid pseudorange.
2. The dual-antenna positioning system according to claim 1, characterized in that: The GNSS processing system calculates the AoA of the received GNSS signals based on the current position / orientation estimate of the dual antenna positioning system and GNSS satellite positions.
3. The dual-antenna positioning system according to claim 2, characterized in that: The current position / orientation estimate is based on a previous GNSS position / orientation fix estimate and the known speed and direction of the dual antenna positioning system.
4. The dual-antenna positioning system according to claim 2, further comprising: An inertial measurement unit (IMU), wherein the GNSS processing system uses IMU data received from the IMU in combination with a previous GNSS position / orientation fix estimate to generate the current position / orientation estimate.
5. A method for determining a global navigation satellite system (GNSS) position location estimate, the method comprising: receiving a first pseudorange from a first GNSS antenna / receiver; receiving a second pseudorange from a second GNSS antenna / receiver located a known distance from the first GNSS antenna / receiver; determining that the first pseudorange is erroneous; determining that the second pseudorange is valid; calculating a corrected first pseudorange based on the second pseudorange, the known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival AoA of GNSS signals received at the second GNSS antenna / receiver; as well as A GNSS position location estimate is calculated for the first GNSS antenna / receiver based at least in part on the corrected first pseudorange.
6. The method according to claim 5, characterized in that Determining that the first pseudorange is erroneous includes comparing the first pseudorange to an expected pseudorange, wherein the first pseudorange is determined to be erroneous if the first pseudorange exceeds the expected pseudorange by a threshold amount.
7. The method according to claim 6, characterized in that The expected pseudorange is calculated based on an IMU-based position estimate generated based on a previous GNSS position fix estimate and IMU data provided by an inertial measurement unit, IMU.
8. The method according to claim 6, characterized in that The expected pseudorange is calculated based on a wheel rotation input for determining an estimated distance traveled from a previous GNSS position fix.
9. The method according to claim 5, characterized in that Determining that the second pseudorange is valid includes comparing the second pseudorange to an expected pseudorange, wherein if the second pseudorange is within a threshold of the expected pseudorange, the second pseudorange is determined to be valid.
10. The method according to claim 5, characterized in that The AoA of the GNSS signal is determined based on the known position of the GNSS satellite emitting the GNSS signal and the position / orientation estimate of the second GNSS antenna / receiver.
11. The method according to claim 10, characterized in that The position / orientation estimate of the second GNSS antenna / receiver is based on previous GNSS position / orientation fix estimates and inertial measurement unit (IMU) data.
12. The method according to claim 5, characterized in that The calculation of the corrected first pseudorange is based on the following equation: Wherein R1 is the second pseudorange, d is the distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, AoA is the angle of arrival of the GNSS signal received at the second GNSS antenna / receiver, and R2′ is the corrected pseudorange.
13. A global navigation satellite system (GNSS) configured to receive GNSS data from a first GNSS antenna / receiver and a second GNSS antenna / receiver and responsively provide GNSS position / orientation estimates for the first GNSS antenna / receiver and the second GNSS antenna / receiver, the GNSS system comprising a processor and a computer readable medium storing instructions, the instructions, when executed by the processor, performing the following method: identifying a first pseudorange associated with the first GNSS antenna / receiver as erroneous; identifying a second pseudorange associated with the second GNSS antenna / receiver as valid; calculating a corrected first pseudorange based on the second pseudorange, a known distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, and an angle of arrival AoA of GNSS signals received at the second GNSS antenna / receiver; as well as A GNSS position fix estimate is calculated for the first GNSS antenna / receiver based at least in part on the corrected first pseudorange.
14. The GNSS according to claim 13, wherein: Identifying the first pseudorange as erroneous includes comparing the first pseudorange to an expected pseudorange, wherein the first pseudorange is determined to be erroneous if the first pseudorange differs from the expected pseudorange by a threshold amount.
15. The GNSS according to claim 14, wherein: The expected pseudorange is calculated based on an IMU-based position estimate generated based on a previous GNSS position fix estimate and IMU data provided by an inertial measurement unit, IMU.
16. The GNSS according to claim 14, wherein: The expected pseudorange is calculated based on a wheel run based position estimate generated based on a previous GNSS position fix estimate and a wheel run input defining a distance traveled by the vehicle since the previous GNSS position fix estimate.
17. The GNSS according to claim 13, wherein: The AoA of the GNSS signal is determined based on the known position of the GNSS satellite emitting the GNSS signal and the position / orientation estimate of the second GNSS antenna / receiver.
18. The GNSS according to claim 17, wherein: The position / orientation estimate of the second GNSS antenna / receiver is based on a previous GNSS position / orientation fix estimate and IMU data received by the GNSS from an Inertial Measurement Unit (IMU).
19. The GNSS according to claim 13, wherein: The calculation of the corrected first pseudorange is based on the following equation: Wherein R1 is the second pseudorange, d is the distance between the first GNSS antenna / receiver and the second GNSS antenna / receiver, AoA is the angle of arrival of the GNSS signal received at the second GNSS antenna / receiver, and R2′ is the corrected pseudorange.
Citation Information
Patent Citations
Post-processing of inverse DGPS corrections
US6014101A