Positioning method, device, electronic device and computer storage medium

By calculating the height and pseudorange residual difference of the target object, using the information of the two positioning satellites, the positioning failure caused by poor satellite signals is solved, and accurate positioning is achieved in complex environments.

CN114966776BActive Publication Date: 2025-08-29ALIBABA GROUP HOLDING LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110221079.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-26
Publication Date
2025-08-29
Estimated Expiration
2041-02-26

AI Technical Summary

Technical Problem

In an environment with poor satellite signals, the device cannot receive a sufficient number of GPS signals, resulting in location failure.

Method used

By using the estimated position information of the target object and the received satellite position information of the two positioning satellites, the height of the target object is calculated, and combined with the road points on the path, the difference between the pseudo-range residual and the pseudo-range residual are determined, and the road point longitude and latitude of the minimum difference value are used as the positioning result of the target object.

Benefits of technology

When enough satellite signals cannot be received, the target object is accurately positioned, with better applicability, no dependence on specific roads, and high positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114966776B_ABST
    Figure CN114966776B_ABST
Patent Text Reader

Abstract

Embodiments of the present invention provide a positioning method, apparatus, electronic device, and computer storage medium. The positioning method includes: determining the altitude of a target object at time k based on its estimated position at time k and the satellite position information of two positioning satellites from which the target object received satellite signals at time k; determining the pseudorange residuals between the target road point and each positioning satellite, and the difference between the pseudorange residuals, based on the longitude and latitude of a target road point on the target object's path, its altitude, and the satellite position information of the two positioning satellites; and determining the longitude and latitude of the target road point with the smallest difference as the positioning result of the target object at time k. This positioning method can accurately perform positioning even in poor signal conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of geographic information technology, and in particular to a positioning method, device, electronic device and computer storage medium. Background Art

[0002] As smartphone and in-vehicle hardware capabilities improve, more and more applications installed on these devices are leveraging positioning technology to provide users with relevant services. Common examples include map navigation applications, which use positioning technology to obtain the location of the device being navigated, thereby providing navigation guidance. Weather applications also use positioning technology to provide users with local weather conditions. Furthermore, in intelligent driving scenarios, positioning technology is required to obtain vehicle location information, providing precise location data for assisted driving and autonomous driving functions.

[0003] In the existing technology, devices usually use satellite positioning technology for positioning. For example, the device determines the location of the device based on the received GPS satellite signals. This method requires the device to receive GPS signals from at least 4 satellites to determine the location of the device. However, if the device is in an environment with poor satellite signals, the device location often cannot be located. Summary of the Invention

[0004] In view of this, an embodiment of the present invention provides a positioning solution to at least partially solve the above problems.

[0005] According to a first aspect of an embodiment of the present invention, a positioning method is provided, comprising: determining the altitude of a target object at time k based on estimated position information of the target object at time k and satellite position information of two positioning satellites from which the target object received satellite signals at time k; determining the pseudorange residual between the target road point and each positioning satellite, and the difference between the pseudorange residuals, based on the longitude and latitude of a target road point on the path of the target object, the altitude, and the satellite position information of the two positioning satellites; and determining the longitude and latitude of the target road point with the smallest difference as the positioning result of the target object at time k.

[0006] According to a second aspect of an embodiment of the present invention, a positioning device is provided, comprising: a first determination module for determining the altitude of a target object at the kth moment based on estimated position information of the target object at the kth moment and satellite position information of two positioning satellites from which the target object receives satellite signals at the kth moment; a second determination module for determining the pseudorange residual between the target road point and each positioning satellite and the difference between the pseudorange residuals based on the longitude and latitude of a target road point on the path of the target object, the altitude, and the satellite position information of the two positioning satellites; and a third determination module for determining the longitude and latitude of the target road point with the smallest difference as the positioning result of the target object at the kth moment.

[0007] According to a third aspect of an embodiment of the present invention, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the positioning method described in the first aspect.

[0008] According to a fourth aspect of an embodiment of the present invention, a computer storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the positioning method as described in the first aspect is implemented.

[0009] According to the positioning solution provided by an embodiment of the present invention, when a target object is in a poor signal environment and cannot receive transmission signals from a sufficient number of satellites (e.g., four or more), the target object's altitude can be calculated based solely on the satellite position information of the two positioning satellites obtained at the kth moment and the estimated position information of the target object at the kth moment. Based on this altitude and the satellite position information of the two positioning satellites, the target road point closest to the target object is determined from multiple target road points on the target object's path, and the longitude and latitude of this target road point are used as the positioning result of the target object at the kth moment. This achieves accurate positioning of the target object based on the satellite position information of the two positioning satellites and the target road points on the path, even when transmission signals from a sufficient number of positioning satellites cannot be received. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0011] Figure 1AThis is a flowchart of a positioning method according to Embodiment 1 of the present invention;

[0012] Figure 1B A schematic diagram of a planned path for a usage scenario;

[0013] Figure 1C for Figure 1A A schematic diagram of an example scenario in the illustrated embodiment;

[0014] Figure 2 This is a flowchart of a positioning method according to Embodiment 2 of the present invention;

[0015] Figure 3 This is a flowchart of a positioning method according to Embodiment 3 of the present invention;

[0016] Figure 4 This is a structural block diagram of a positioning device according to a fourth embodiment of the present invention;

[0017] Figure 5 FIG. 4 is a schematic structural diagram of an electronic device according to a fifth embodiment of the present invention. DETAILED DESCRIPTION

[0018] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in the embodiments of the present invention should fall within the scope of protection of the embodiments of the present invention.

[0019] The specific implementation of the embodiment of the present invention is further described below with reference to the accompanying drawings of the embodiment of the present invention.

[0020] Example 1

[0021] Reference Figure 1A , shows a flowchart of the steps of the positioning method of embodiment 1 of the present invention.

[0022] In this embodiment, the positioning method includes the following steps:

[0023] Step S102: determining the altitude of the target object at the kth moment based on the estimated position information of the target object at the kth moment and the satellite position information of two positioning satellites from which the target object receives satellite signals at the kth moment.

[0024] The target object can be the user's terminal device that is connected to the Internet and equipped with a GNSS receiver, such as a mobile phone, PAD, car computer or other device.

[0025] The satellite position information of a positioning satellite can be obtained from the satellite signal received by the target object. Satellite position information includes but is not limited to satellite coordinates and satellite signal transmission time. The satellite coordinates are the coordinates of the positioning satellite in the geocentric coordinate system, and the transmission time is the time when the satellite signal was transmitted (determined by the device clock on the positioning satellite).

[0026] The estimated location information of the target object includes the longitude and latitude of the target object, which may be obtained based on satellite positioning or network positioning services.

[0027] The first coordinate of the target object in the geocentric coordinate system is denoted as (x, y, z), which can be converted to and from the longitude, latitude, and altitude of the target object. Based on this, the first coordinate of the target object can be expressed as an expression related to the longitude, latitude, and altitude.

[0028] Based on the principle that the device clock difference of the target device (i.e., the clock error of the device) is fixed at a certain moment, an equation can be established based on the satellite coordinates of the two positioning satellites in the geocentric coordinate system and the satellite signal broadcast time, combined with the first coordinate of the target object in the geocentric coordinate system. Since the only unknown number in the equation is the height of the target object, the height of the target object can be determined by solving the above equation.

[0029] Step S104: Calculate the pseudorange residuals between the target road point and each positioning satellite and the difference between the pseudorange residuals based on the longitude and latitude of the target road point on the path where the target object is located, the altitude, and the satellite position information of the two positioning satellites.

[0030] For different application scenarios, the path of the target object can be determined in different ways. For example, in a cruise scenario, the path of the target object can be matched to the corresponding path based on the positioning result at the k-1th time.

[0031] Alternatively, this method can also be applied to navigation scenarios. In such scenarios, the target object needs to first request the corresponding navigation planning path from the navigation service. The road in the navigation path usually contains multiple road points, which are represented as a road point set, for example Figure 1B A planned path including five road points is shown in FIG. , which can be considered as the path of the target object. The attributes of each road point include at least: the road point location information, which includes the longitude and latitude of the road point.

[0032] When the target object is traveling along a planned navigation path, the road point closest to the target object can be determined from the road points on the planned navigation path, that is, the road point with the smallest difference in pseudorange residuals from the two positioning satellites. In one feasible approach, the following process is performed for each road point on the planned navigation path:

[0033] Step A0: Determine the second coordinate of the road point in the geocentric coordinate system based on the altitude calculated in step S102 and the longitude and latitude of the road point;

[0034] Step B0: Determine the pseudorange residual between the road point and each positioning satellite and the difference between the two pseudorange residuals based on the second coordinate and the satellite position information of the two positioning satellites.

[0035] The smaller the difference, the closer the distance between the road point and the satellite is to the observed pseudorange, that is, the closer the road point is to the true position of the target object.

[0036] The pseudorange, as described above, refers to the logical distance between the target object and the positioning satellite. It's determined by multiplying the speed of light by the difference between the satellite signal's transmission time (carried in the satellite signal and determined by the satellite's onboard clock) and the reception time (the target device's own clock determines when the satellite signal is received. In this embodiment, the reception time is the time corresponding to the kth moment). Both the satellite's clock and the target's clock may have errors, so the distance calculated based on them is a pseudorange, meaning it includes errors.

[0037] The pseudorange residual refers to the error between the pseudorange (which can also be understood as the distance obtained through observation) and the actual distance (the distance estimated based on the coordinates). This error should be the difference after excluding errors such as device clock error.

[0038] Step S106: The longitude and latitude of the target road with the smallest difference are determined as the positioning result of the target object at the kth moment.

[0039] Based on the aforementioned principle, the target road point corresponding to the smallest difference among the multiple differences is the target road point closest to the target object, and the longitude and latitude of the target road point can be used as the positioning result of the target object at the kth moment.

[0040] The above is the solution provided by Example 1 of the present invention. As described in the background technology, when positioning by satellite, satellite signals from at least four satellites are generally required to calculate the position of the target object. In the case of poor satellite signals due to occlusion, the target object often cannot receive signals from four satellites. At this time, the target object (such as a terminal) cannot be positioned by satellite. The solution provided by the present invention accurately determines the longitude and latitude of the target object in combination with the data of the path (such as a planned navigation path) when the target object only receives satellite signals from two positioning satellites, thereby accurately positioning the target object. This method is applicable to any path with the longitude and latitude of road points, has better applicability, and does not need to be limited to specific roads.

[0041] See also Figure 1C , which shows a schematic diagram of positioning a target object in a usage scenario based on satellite signals from two stars combined with data on the path where the object is located (such as path data in a road network).

[0042] In this usage scenario, taking the path of the target object as an example of a planned path, the target object can be a mobile phone carried by the user. At time t1, the first satellite G01 transmits satellite signal 1, and at time t2, the second satellite G02 transmits satellite signal 2. At time k (due to the different errors between the satellite clock and the mobile phone clock, there is no strict order relationship between the time line of the satellite clock and the time line of the mobile phone clock. Therefore, in this usage scenario, the time measured by the satellite clock (such as the broadcast time) and the time measured by the mobile phone clock (such as the reception time) are expressed in different ways for easy distinction), the mobile phone receives satellite signal 1 and satellite signal 2 respectively, and decodes them respectively to obtain satellite position information. The satellite position information contains the broadcast time t1 of satellite signal 1. According to the ephemeris of the first satellite G01, the satellite coordinates P1 of the first satellite G01 at the broadcast time t1 are determined (expressed as (x (1) ,y (1) , z (1) )). Similarly, the satellite signal 2 is processed to obtain the satellite coordinates P2 of the second satellite G02 at the broadcast time t2 (expressed as (x (2) ,y (2) , z (2) )).

[0043] Based on the longitude and latitude in the estimated position information of the target object at the kth moment, an expression of the first coordinate of the target object at the kth moment is determined, and the expression is as follows:

[0044] x=(N+h)cos(lat)cos(lon)

[0045] y=(N+h)cos(lat)sin(lon)

[0046] z=[N(1-e 2 )+h]sin(lat), where x, y, and z are the positions of the target object in the geocentric coordinate system, N is the radius of curvature of the earth, e is the eccentricity of the ellipsoid, and lat and lon are the longitude and latitude in the estimated position information. It can be seen that the unknown in this expression is the height.

[0047] Then we can construct the equation:

[0048]

[0049] in, is the pseudorange between the first satellite G01 and the target object, which is the time difference between the kth moment and the broadcast time t1 multiplied by the speed of light.

[0050] is the estimated distance between the first satellite G01 and the target object.

[0051] is the pseudorange between the second satellite G02 and the target object, which is the time difference between the kth moment and the broadcast time t2 multiplied by the speed of light.

[0052] is the estimated distance between the second satellite G02 and the target object.

[0053] In the above equation, x, y, and z can all be replaced by heights, and the rest are known parameters. Therefore, the height of the target object at the kth moment can be determined by solving the equation.

[0054] For multiple target road points on the planned path corresponding to the target object, a second coordinate corresponding to each target road point can be calculated based on the altitude and the longitude and latitude of the target road point.

[0055] For road point M, the pseudorange residual between the first satellite G01 and road point M can be calculated based on the pseudorange of the first satellite G01, satellite coordinates P1, and the second coordinate of road point M. Similarly, the pseudorange residual between the second satellite G02 and road point M can be calculated based on the pseudorange of the second satellite G02d, satellite coordinates P2, and the second coordinate of road point M. The absolute value of the result of subtracting the two pseudorange residuals is then taken as the difference in the pseudorange residuals for road point M.

[0056] After calculating the difference of the corresponding pseudorange residuals for each road point, the road point with the smallest difference can be selected and the longitude and latitude of the road point can be used as the positioning result of the target object, thereby achieving the positioning of the target object.

[0057] Through this embodiment, when the target object is in a poor signal environment and cannot receive transmission signals from a sufficient number of satellites (e.g., four or more), the target object's altitude can be calculated based solely on the satellite position information of the two positioning satellites obtained at the kth moment and the estimated position information of the target object at the kth moment. Then, based on this altitude and the satellite position information of the two positioning satellites, the target road point closest to the target object is determined from multiple target road points on the target object's path, and the longitude and latitude of this target road point are used as the positioning result of the target object at the kth moment. In this way, even when transmission signals from a sufficient number of positioning satellites cannot be received, the target object can be accurately positioned based on the satellite position information of the two positioning satellites and the target road points on the path.

[0058] The positioning method of this embodiment can be executed by any appropriate electronic device with data processing capabilities, including but not limited to: a server, a mobile terminal (such as a tablet computer, a mobile phone, etc.) and a PC.

[0059] Example 2

[0060] Reference Figure 2 , shows a step flow chart of the positioning method of embodiment 2 of the present application.

[0061] In this embodiment, the positioning method includes the aforementioned steps S102 to S106. Step S102 includes the following sub-steps:

[0062] Sub-step S1021: Determine the estimated location information of the target object at the kth moment according to the longitude and latitude indicated by the positioning result of the target object at the k-1th moment or the longitude and latitude indicated by the network positioning information of the target object at the kth moment.

[0063] In one feasible method, if the time difference between the k-1th moment and the kth moment is less than or equal to a preset time interval (such as 1 second, 10 seconds or 30 seconds, etc.), the longitude and latitude indicated by the positioning result at the k-1th moment are used as the estimated position information at the kth moment.

[0064] In another feasible manner, if the time difference between the k-1th moment and the kth moment is greater than a preset time interval, the longitude and latitude indicated by the network positioning information at the kth moment are obtained as the estimated position information of the target object at the kth moment.

[0065] The network positioning information may be location information determined by scanning network devices such as base stations and WIFI. Those skilled in the art may adopt any appropriate method to obtain the network positioning information as needed, and this embodiment does not limit this.

[0066] Sub-step S1022: Determine the altitude of the target object at the kth moment based on the longitude and latitude in the estimated position information and the satellite position information of the two positioning satellites at the kth moment.

[0067] In one feasible approach, sub-step S1022 includes the following process:

[0068] Process A1: Determine an expression for the first coordinate of the target object in the geocentric coordinate system according to the radius of curvature of the earth, the eccentricity of the ellipsoid, and the longitude and latitude in the estimated position information.

[0069] The expressions for converting the first coordinate of the target object in the geocentric coordinate system (denoted as (x, y, z)) to the longitude, latitude, and altitude of the target object are as follows:

[0070] x=(N+h)cos(lat)cos(lon)

[0071] y=(N+h)cos(lat)sin(lon)

[0072] x=[N(1-e 2 )+h]sin(lat)

[0073] Where N is the radius of curvature of the earth, e is the eccentricity of the ellipsoid of the earth model in the geocentric coordinate system, h is the height of the target object, lat is the latitude of the target object, and lon is the longitude of the target object.

[0074] When the estimated position information includes the longitude and latitude of the target object, only the height is an unknown number, that is, the expression of the first coordinate includes the height and is an expression with the height as the root of the unknown number.

[0075] Process A2: According to the satellite coordinates in the two satellite position information and the expressions of the first coordinates of the target object at the kth moment, respectively determine the estimated distances between the two positioning satellites and the target object, expressed as unknown heights.

[0076] For the first satellite G01, according to the broadcast time t1 and ephemeris in the satellite position information, the satellite coordinate P1 is determined, which is expressed as (x (1) ,y (1) , z (1) ), according to the distance calculation formula, determine the estimated distance D1 between the first satellite G01 and the target object, which is expressed as:

[0077] Similarly, for the second satellite G02, according to the broadcast time t2 and ephemeris in the satellite position information, the satellite coordinates P2 are determined, which is expressed as (x (2) ,y(2) , z (2) )), according to the distance calculation formula, determine the estimated distance D2 between the second satellite G02 and the target object, which is expressed as:

[0078] Process A3: determining the pseudo-ranges between the two positioning satellites and the target object respectively according to the broadcasting time, the kth moment and the luminosity of the signals in the two satellite position information.

[0079] For the first satellite G01, the time difference is determined based on the broadcast time t1 of the first satellite G01 and the reception time k of the satellite signal 1. The time difference multiplied by the speed of light is the pseudorange between the target object and the first satellite G01, which is recorded as It should be noted that, since the satellite signal 1 may be contaminated by noise (such as ionospheric error) during transmission, and there is also a device clock error in the receiving time, the calculated pseudorange contains errors.

[0080] For the second satellite G02, the time difference is determined based on the broadcast time t2 of the second satellite G02 and the reception time k of the satellite signal 2. The time difference multiplied by the speed of light is the pseudorange between the target object and the second satellite G02, which is recorded as

[0081] Process A4: Determine the height of the target object at the kth moment based on the two estimated distances and the two pseudoranges.

[0082] Based on the least squares method, the following relationship exists between the estimated distance and the pseudorange: the sum of the estimated distance between the target object and the positioning satellite and the error caused by the device clock error is equal to the pseudorange between the target object and the satellite. Taking the first satellite G01 as an example, it can be expressed as:

[0083]

[0084] Among them, x (1) 、y (1) and z (1) is the satellite coordinate P1 of the first satellite G01;

[0085] x, y, and z are the first coordinates of the target object in the geocentric coordinate system;

[0086] is the estimated distance between the target object and the first satellite G01;

[0087] t u The device clock error of the target object, that is, the error of the device clock;

[0088] δt u is the error;

[0089] is the pseudorange between the first satellite and the target object.

[0090] Since the device clock difference of the target object at a certain moment should be a fixed value, that is, the error δt u is a fixed value. Therefore, the equation for two satellites can be established as follows:

[0091]

[0092] In this equation, the two pseudoranges are known values, the satellite coordinates of the first satellite G01 and the second satellite G02 are also known values, and the first coordinate of the target object is an expression with the height as the unknown variable. Therefore, the only unknown variable in this equation is the height of the target object. By solving this equation, the height of the target object can be obtained.

[0093] In this way, the height of the target object can be determined accurately and quickly, and only the satellite position information of two positioning satellites needs to be obtained, ensuring that the height of the target object can be obtained even in an environment with few satellite signals, thereby ensuring that the target object can be accurately located later.

[0094] Through this embodiment, when the target object is in a poor signal environment and cannot receive transmission signals from a sufficient number of satellites (e.g., four or more), the target object's altitude can be calculated based solely on the satellite position information of the two positioning satellites obtained at the kth moment and the estimated position information of the target object at the kth moment. Then, based on this altitude and the satellite position information of the two positioning satellites, the target road point closest to the target object is determined from multiple target road points on the target object's path, and the longitude and latitude of this target road point are used as the positioning result of the target object at the kth moment. In this way, even when transmission signals from a sufficient number of positioning satellites cannot be received, the target object can be accurately positioned based on the satellite position information of the two positioning satellites and the target road points on the path.

[0095] The positioning method of this embodiment can be executed by any appropriate electronic device with data processing capabilities, including but not limited to: a server, a mobile terminal (such as a tablet computer, a mobile phone, etc.) and a PC.

[0096] Example 3

[0097] Reference Figure 3 , shows a schematic flow chart of the steps of the positioning method of Example 3 of the present application.

[0098] In this embodiment, the positioning method includes steps S102 to S106 described above. Prior to step S104, steps S102A and S102B may also be included to determine the target road point from among multiple road points included in the target object's path. For example, at least two searches, a coarse search and a fine search, may be performed on the multiple road points. In the coarse search, if the distribution of road points on the path is relatively sparse, the coarse search is used to determine the initial screening road point closest to the target object from among the multiple road points. Then, at least one fine search is performed based on the initial screening road point to obtain the target road point closest to the target object.

[0099] In a specific implementation, step S102A and step S102B may be performed after step S102:

[0100] Step S102A: performing a first granularity interpolation process on the path corresponding to the target object to obtain a plurality of candidate road points, and determining a preliminary screening road point from the plurality of candidate roads.

[0101] In this step, a rough search of the road points in the path can be achieved through the following process to obtain the pre-screened road points.

[0102] Process A2: performing interpolation processing on the path according to the distance between two adjacent candidate road points indicated by the first granularity to obtain multiple candidate road points.

[0103] To ensure evenly spaced road points when searching for them, and thus maintain positioning accuracy, the path can be interpolated. This means adding road points to the path. This addresses the issue of varying distances between road points due to varying lengths of different road segments. For ease of illustration, the road points obtained by interpolating the path at the first granularity are recorded as candidate road points.

[0104] In this embodiment, the first granularity is used to indicate the distance between two adjacent candidate road points. This distance can be a first set value. Different distances can be determined based on the amount of computation, computation time, and coarse search accuracy. For example, the first set value can be 100 meters, 50 meters, 30 meters, etc.

[0105] Taking 50m as an example, for the path, starting from its starting point (i.e., the first candidate road point), a candidate road point is interpolated every 50m. If the distance between the candidate road point before the end point of the path and the end point of the path is less than 50m, this part of the path is discarded.

[0106] Since the longitude and latitude of multiple road points on the path are known, the longitude and latitude of each candidate road point can also be determined after interpolation processing.

[0107] Process B2: determining the second coordinate of the candidate road point in the geocentric coordinate system according to the altitude, and the longitude and latitude of the candidate road point.

[0108] Once the height has been calculated, the second coordinate of each candidate road point can be calculated using the aforementioned conversion equations between coordinates and longitude and latitude. The conversion process is similar to the process of obtaining the first coordinates, so it will not be repeated here.

[0109] Process C2: According to the satellite position information of the two positioning satellites and a plurality of the second coordinates, a candidate road point having the smallest difference with the pseudorange residuals of the two positioning satellites is determined as the preliminarily screened road point.

[0110] Since it is necessary to select the candidate road point closest to the target object from multiple candidate road points, it is necessary to calculate the pseudoranges between the two positioning satellites and the target object respectively. For the first satellite G01, the time difference is determined based on its broadcast time t1 and the kth moment. The time difference is multiplied by the speed of light to obtain the pseudorange between the target object and the first satellite G01. Similarly, for the second satellite G02, the time difference is determined based on its broadcast time t2 and the kth moment. The time difference is multiplied by the speed of light to obtain the pseudorange between the target object and the second satellite G02.

[0111] For a current candidate road point among multiple candidate road points, the estimated distance between the current candidate road point and the first satellite G01 is calculated, and the estimated distance between the current candidate road point and the second satellite G02 is calculated as follows:

[0112] For the first satellite G01, the estimated distance D3 is determined based on the satellite coordinates P1 in the satellite position information and the second coordinates P3 of the current candidate road point (expressed as (x3, y3, z3)), which is expressed as:

[0113] For the second satellite G02, the estimated distance D4 is determined based on the satellite coordinate P2 in the satellite position information and the second coordinate P3 of the current candidate road point, which is expressed as:

[0114] The pseudorange residual between the current candidate road point and the first satellite G01 can be expressed as:

[0115]

[0116] The pseudorange residual between the current candidate road point and the second satellite G02 can be expressed as:

[0117]

[0118] The difference of pseudorange residuals is denoted as resp, which can be expressed as:

[0119]

[0120] Wherein, abs() means taking the absolute value, that is, taking the absolute value of the difference between the two pseudorange residuals.

[0121] After determining the difference of the pseudorange residuals of the current candidate road point, a new current candidate road point can be re-determined from multiple candidate road points, and the above process is repeated to calculate the difference of the pseudorange residuals, and this process is repeated until the differences of the pseudorange residuals of all candidate road points are obtained.

[0122] The smallest one is determined from the differences of the pseudo-range residuals of all candidate road points, and the candidate road point corresponding to the smallest one is determined as the pre-screened road point.

[0123] Step S102B: intercepting a preliminary screening road corresponding to the preliminary screening road point from the path, and performing a second granularity interpolation process on the preliminary screening road to obtain a plurality of target road points.

[0124] In order to reduce the amount of calculation, improve the calculation speed and positioning speed, and ensure positioning accuracy, step S102B includes the following process:

[0125] Process A3: In the path, the pre-screened road point is extended forward and backward by a set length respectively, and the pre-screened road is obtained by extension.

[0126] The value of the set length is greater than or equal to the first set value. For example, if the interpolation process is performed according to the first granularity, and the first set value corresponding to the first granularity is 50m, then the set length should be greater than or equal to 50m.

[0127] Taking the set length as 50m as an example, along the path, extend 50m forward from the initial screening road point to determine the starting point of the initial screening road, and extend 50m backward to determine the end point of the initial screening road.

[0128] Process B3: performing interpolation processing on the preliminarily screened roads according to the distance between two adjacent target road points indicated by the second granularity, and obtaining a plurality of target road points.

[0129] Starting from the starting point of the pre-screened road, interpolation processing is performed on the pre-screened road according to the second granularity to obtain multiple target road points. The second granularity is used to indicate the distance between two adjacent target road points. The distance can be equal to a second set value. The second set value can be determined as needed, such as 20m, 10m, 5m, 1m, etc.

[0130] In order to ensure positioning accuracy and achieve precise search results, the distance between two adjacent candidate road points is greater than the distance between two adjacent target road points.

[0131] For example, the second set value corresponding to the second granularity is 10 m, and a target road point is inserted every 10 m for the pre-screened road, so as to obtain multiple target road points.

[0132] When the longitude and latitude of the pre-screened road points are known, the longitude and latitude of the plurality of target road points obtained by interpolation processing can also be calculated.

[0133] Subsequently, in step S104 , the pseudorange residuals between each target road point and the two positioning satellites and the differences between the pseudorange residuals can be calculated based on the calculated altitude and the satellite position information of the two positioning satellites to determine the target road point closest to the target object.

[0134] In this step, since the path of the target object includes multiple target road points, the pseudorange residual needs to be calculated for each target road point, and then the difference of the pseudorange residuals is calculated. Therefore, the pseudorange residual and the difference of the pseudorange residual can be calculated for each target road point through the following process.

[0135] Process A4: Determine the third coordinate of the target road point in the geocentric coordinate system according to the longitude and latitude of the target road point and the altitude.

[0136] For a target road point, the process of determining the third coordinate according to its longitude and latitude and the calculated altitude is similar to the aforementioned process of calculating the first coordinate, so it will not be repeated here.

[0137] In this embodiment, the third coordinate P5 of the target road point is expressed as (x5, y5, z5)

[0138] Process B4: determining the pseudoranges between the two positioning satellites and the target road point respectively according to the k-th moment, the speed of light, and the broadcasting time in the satellite position information of the two positioning satellites.

[0139] For the sake of convenience, the two positioning satellites are respectively recorded as the first satellite G01 and the second satellite G02.

[0140] The pseudorange between the target road point and the first satellite G01 is recorded as the first pseudorange. The first pseudorange is equal to the time difference between the broadcast time t1 of the satellite signal of the first satellite and the kth time multiplied by the speed of light. It can be expressed as:

[0141] The first pseudorange = (time corresponding to the kth moment - broadcast time t1) * speed of light c.

[0142] Similarly, the pseudorange between the target road point and the second satellite G02 is recorded as the second pseudorange, which can be expressed as follows:

[0143] The second pseudorange = (time corresponding to the kth moment - broadcast time t2) * speed of light c.

[0144] Process C4: determining the estimated distances between the target road point and the two positioning satellites according to the third coordinates and the satellite position information of the two positioning satellites.

[0145] For the sake of clarity, the calculation process of the estimated distance between two positioning satellites is described separately:

[0146] The estimated distance between the target road point and the first satellite G01 is recorded as the first estimated distance, which is expressed as follows:

[0147]

[0148] The estimated distance between the target road point and the second satellite G02 is recorded as the second estimated distance, which is expressed as follows:

[0149]

[0150] Process D4: determining a first pseudorange residual based on the pseudorange and estimated distance between the target road point and one of the positioning satellites, and determining a second pseudorange residual based on the pseudorange and estimated distance between the target road point and another of the positioning satellites.

[0151] The first pseudorange residual is the difference between the first pseudorange and the first estimated distance. It should be noted that the first pseudorange residual includes errors such as ionospheric error and device clock error. Similarly, the second pseudorange residual is the difference between the second pseudorange and the second estimated distance.

[0152] Process E4: determining the absolute value of the difference between the first pseudorange residual and the second pseudorange residual as the difference between the pseudorange residuals of the target road point and each of the positioning satellites.

[0153] By subtracting the first pseudorange residual from the second pseudorange residual and taking the absolute value of the difference, the device clock error and most ionospheric errors are offset. As a result, the difference in pseudorange residuals corresponding to target road points closer to the target object is smaller, thereby ensuring that the target road point closest to the target object can be determined based on the difference in pseudorange residuals.

[0154] The difference of pseudorange residuals can be expressed as:

[0155]

[0156] Through the above process, the pseudorange residuals between a target road point and two positioning satellites, as well as the difference between the pseudorange residuals, can be calculated. The difference in pseudorange residuals can be used to represent the deviation between the target road point and the actual position of the target object. In step S104, the difference in pseudorange residuals corresponding to each target road point is calculated. In this way, in the subsequent step S106, the target road point with the smallest pseudorange residual difference can be selected, and the longitude and latitude of the target road point with the smallest pseudorange residual difference is determined as the positioning result of the target object.

[0157] In this way, during real-time navigation or cruising, the path is acquired and then combined with the satellite position information from two positioning satellites (such as GNSS satellites) to perform a calculation to determine the target object's target position at time k. This positioning method, which uses road network data, is independent of fixed routes and can use the previous moment or network positioning point as an estimated position (i.e., the initial value). Altitude is then calculated and then positioned based on the altitude. During positioning, the difference between the residuals of the two satellites (i.e., the two positioning satellites) is used as a basis to search for the closest road point along the path to achieve positioning. This solves the problem that conventional positioning methods require the position information of at least four satellites for positioning, making positioning impossible when the user is in a scenario with poor satellite signal.

[0158] This method also doesn't rely on fixed routes, making it more adaptable. Because altitude is taken into account, the position information of any positioning satellite can be used for positioning. Furthermore, using network positioning as estimated position information, positioning can be performed without determining the target object's motion model, resulting in higher positioning precision and accuracy.

[0159] The positioning method of this embodiment can be executed by any appropriate electronic device with data processing capabilities, including but not limited to: a server, a mobile terminal (such as a tablet computer, a mobile phone, etc.) and a PC.

[0160] Example 4

[0161] Reference Figure 4 , shows a structural block diagram of the positioning device of Example 4 of the present application.

[0162] The positioning device of this embodiment includes:

[0163] A first determining module 402 is configured to determine the altitude of the target object at the kth moment based on the estimated position information of the target object at the kth moment and the satellite position information of two positioning satellites from which the target object receives satellite signals at the kth moment;

[0164] A second determining module 404 is configured to determine a pseudorange residual between the target road point and each positioning satellite and a difference between the pseudorange residuals based on the longitude and latitude of the target road point on the path where the target object is located, the altitude, and the satellite position information of the two positioning satellites;

[0165] The third determining module 406 is configured to determine the longitude and latitude of the target road point with the smallest difference as the positioning result of the target object at the kth moment.

[0166] Optionally, the first determining module 402 includes:

[0167] a fourth determining module 4021, configured to determine the estimated position information of the target object at the kth moment based on the longitude and latitude indicated by the positioning result of the target object at the k-1th moment or the longitude and latitude indicated by the network positioning information of the target object at the kth moment;

[0168] The fifth determining module 4022 is configured to determine the altitude of the target object at the kth moment based on the longitude and latitude in the estimated position information and the satellite position information of the two positioning satellites at the kth moment.

[0169] Optionally, the fifth determination module 4022 is used to determine an expression of the first coordinate of the target object in the geocentric coordinate system based on the radius of curvature of the earth, the eccentricity of the ellipsoid, and the longitude and latitude in the estimated position information, wherein the expression includes the height of the target object; determine the estimated distances between the two positioning satellites represented by the unknown height and the target object based on the satellite coordinates in the two satellite position information and the expression of the first coordinate of the target object at the kth moment; determine the pseudoranges between the two positioning satellites and the target object based on the broadcast time of the signals in the two satellite position information, the kth moment and the speed of light; and determine the height of the target object at the kth moment based on the two estimated distances and the two pseudoranges.

[0170] Optionally, the device also includes: a first interpolation module 402A for performing first granularity interpolation processing on the path where the target object is located to obtain multiple candidate road points, and determining preliminary screening road points from the multiple candidate roads; a second interpolation module 402B for intercepting preliminary screening roads corresponding to the preliminary screening road points from the path, and performing second granularity interpolation processing on the preliminary screening roads to obtain multiple target road points, wherein the distance between two adjacent candidate road points is greater than the distance between two adjacent target road points.

[0171] Optionally, the first interpolation module 402A is used to interpolate the path according to the distance between two adjacent candidate road points indicated by the first granularity to obtain multiple candidate road points; determine the second coordinate of the candidate road point in the geocentric coordinate system based on the altitude, and the longitude and latitude of the candidate road point; and determine the candidate road point with the smallest difference in pseudorange residuals with the two positioning satellites as the initial screening road point based on the satellite position information of the two positioning satellites and multiple second coordinates.

[0172] Optionally, the second interpolation module 402B is used to extend the set length forward and backward along the preliminary screening road point in the path, and obtain the extended preliminary screening road, wherein the value of the set length is greater than or equal to the distance between two adjacent candidate road points indicated by the first granularity; the preliminary screening road is interpolated according to the distance between two adjacent target road points indicated by the second granularity, and multiple target road points are obtained.

[0173] Optionally, the second determination module 404 is configured to determine a third coordinate of the target road point in the geocentric coordinate system based on the longitude and latitude of the target road point and the altitude; determine the pseudoranges between the two positioning satellites and the target road point based on the k-th time, the speed of light, and the broadcast time of the satellite position information of the two positioning satellites; determine the estimated distances between the target road point and the two positioning satellites based on the third coordinate and the satellite position information of the two positioning satellites; determine a first pseudorange residual based on the pseudorange and estimated distance between the target road point and one of the positioning satellites, and determine a second pseudorange residual based on the pseudorange and estimated distance between the target road point and the other positioning satellite; and determine the absolute value of the difference between the first pseudorange residual and the second pseudorange residual as the difference between the pseudorange residuals between the target road point and each of the positioning satellites.

[0174] The positioning device of this embodiment is used to implement the corresponding positioning methods in the aforementioned multiple method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here. In addition, the functional implementation of each module in the positioning device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be described in detail here.

[0175] Example 5

[0176] Reference Figure 5 , shows a schematic structural diagram of an electronic device according to embodiment 5 of the present invention. The specific embodiment of the present invention does not limit the specific implementation of the electronic device.

[0177] like Figure 5As shown, the electronic device may include: a processor (processor) 502 , a communication interface (Communications Interface) 504 , a memory (memory) 506 , and a communication bus 508 .

[0178] in:

[0179] The processor 502 , the communication interface 504 , and the memory 506 communicate with each other via a communication bus 508 .

[0180] The communication interface 504 is used to communicate with other electronic devices or servers.

[0181] The processor 502 is configured to execute the program 510 , and specifically may execute the relevant steps in the above positioning method embodiment.

[0182] Specifically, the program 510 may include program codes, which include computer operation instructions.

[0183] The processor 52 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs, or may be processors of different types, such as one or more CPUs and one or more ASICs.

[0184] The memory 506 is used to store the program 510. The memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0185] The program 510 may be specifically configured to enable the processor 502 to execute operations corresponding to any of the aforementioned positioning methods.

[0186] The specific implementation of each step in procedure 510 can be found in the corresponding descriptions of the corresponding steps and units in the above-mentioned positioning method embodiment, and will not be repeated here. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding process descriptions in the above-mentioned method embodiment, and will not be repeated here.

[0187] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present invention can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present invention.

[0188] The method according to the embodiment of the present invention described above can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD ROM, RAM, floppy disk, hard disk or magneto-optical disk), or as computer code originally stored in a remote recording medium or non-transitory machine-readable medium downloaded via a network and then stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor or programmable or dedicated hardware (such as an ASIC or FPGA). It is understood that a computer, processor, microprocessor controller or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code. When the software or computer code is accessed and executed by the computer, processor or hardware, the positioning method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the positioning method shown herein, the execution of the code converts the general-purpose computer into a dedicated computer for executing the positioning method shown herein.

[0189] Those skilled in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present invention.

[0190] The above implementation methods are only used to illustrate the embodiments of the present invention, and are not intended to limit the embodiments of the present invention. Ordinary technicians in the relevant technical field may make various changes and modifications without departing from the spirit and scope of the embodiments of the present invention. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present invention, and the scope of patent protection of the embodiments of the present invention should be defined by the claims.

Claims

1. A positioning method, wherein: include: Determine the altitude of the target object at the kth moment based on the estimated position information of the target object at the kth moment and the satellite position information of two positioning satellites from which the target object receives satellite signals at the kth moment; Determine, based on the longitude and latitude of a target road point on the path where the target object is located, the altitude, and the satellite position information of two positioning satellites, a pseudorange residual between the target road point and each positioning satellite, and a difference between the pseudorange residuals; The longitude and latitude of the target road point with the smallest difference between the pseudorange residuals is determined as the positioning result of the target object at the kth moment.

2. The method according to claim 1, wherein Determining the altitude of the target object at the kth moment based on the estimated position information of the target object at the kth moment and the satellite position information of two positioning satellites from which the target object receives satellite signals at the kth moment includes: Determining estimated position information of the target object at time k based on the longitude and latitude indicated by the positioning result of the target object at time k-1 or the longitude and latitude indicated by the network positioning information of the target object at time k; The altitude of the target object at the kth moment is determined according to the longitude and latitude in the estimated position information and the satellite position information of the two positioning satellites at the kth moment.

3. The method according to claim 2, wherein: Determining the altitude of the target object at the kth moment based on the longitude and latitude in the estimated position information and the satellite position information of the two positioning satellites at the kth moment includes: Determining an expression for a first coordinate of the target object in a geocentric coordinate system according to the radius of curvature of the earth, the eccentricity of the ellipsoid, and the longitude and latitude in the estimated position information, wherein the expression includes a height of the target object; Determine, based on expressions of satellite coordinates in the two satellite position information and the first coordinates of the target object at the kth moment, respectively the estimated distances between the two positioning satellites and the target object, expressed by the heights as unknown variables; Determine the pseudoranges between the two positioning satellites and the target object based on the broadcast time, the kth moment, and the speed of light of the signals in the two satellite position information; The height of the target object at the kth moment is determined according to the two estimated distances and the two pseudoranges.

4. The method according to claim 1, wherein The method further comprises: Performing a first granularity interpolation process on the path where the target object is located to obtain a plurality of candidate road points, and determining a preliminary screening road point from the plurality of candidate roads; A preliminary screening road corresponding to the preliminary screening road point is intercepted from the path, and a second granularity interpolation process is performed on the preliminary screening road to obtain a plurality of target road points, wherein a distance between two adjacent candidate road points is greater than a distance between two adjacent target road points.

5. The method according to claim 4, wherein The performing first granularity interpolation processing on the path where the target object is located to obtain a plurality of candidate road points, and determining preliminary screening road points from the plurality of candidate roads, comprises: Performing interpolation processing on the path according to the distance between two adjacent candidate road points indicated by the first granularity to obtain a plurality of candidate road points; determining a second coordinate of the candidate road point in a geocentric coordinate system according to the height and the longitude and latitude of the candidate road point; According to the satellite position information of the two positioning satellites and the plurality of second coordinates, a candidate road point having the smallest difference with the pseudorange residuals of the two positioning satellites is determined as the preliminarily screened road point.

6. The method according to claim 5, wherein: The method of intercepting a preliminary screening road corresponding to the preliminary screening road point from the path and performing a second granularity interpolation process on the preliminary screening road to obtain a plurality of target road points includes: In the path, extending the pre-screened road point forward and backward by a set length respectively, and obtaining the pre-screened road point thus extended, wherein the set length is greater than or equal to the distance between two adjacent candidate road points indicated by the first granularity; The preliminarily screened roads are interpolated according to the distance between two adjacent target road points indicated by the second granularity, and a plurality of target road points are obtained.

7. The method according to claim 1, wherein The determining, based on the longitude and latitude of the target road point on the path of the target object, the altitude and the satellite position information of the two positioning satellites, of the pseudorange residuals between the target road point and each positioning satellite and the difference between the pseudorange residuals, comprises: determining a third coordinate of the target road point in a geocentric coordinate system according to the longitude and latitude of the target road point and the altitude; determining pseudoranges between the two positioning satellites and the target road point respectively according to the k-th moment, the speed of light, and the broadcasting time in the satellite position information of the two positioning satellites; determining, based on the third coordinate and the satellite position information of the two positioning satellites, the estimated distances between the target road point and the two positioning satellites; Determining a first pseudorange residual based on the pseudorange and the estimated distance between the target road point and one of the positioning satellites, and determining a second pseudorange residual based on the pseudorange and the estimated distance between the target road point and another of the positioning satellites; The absolute value of the difference between the first pseudorange residual and the second pseudorange residual is determined as the difference between the pseudorange residual of the target road point and each of the positioning satellites.

8. A positioning device comprising: a first determining module, configured to determine the altitude of the target object at the kth moment based on the estimated position information of the target object at the kth moment and the satellite position information of two positioning satellites from which the target object receives satellite signals at the kth moment; a second determining module, configured to determine a pseudorange residual between the target road point and each positioning satellite and a difference between the pseudorange residuals based on the longitude and latitude of the target road point on the path where the target object is located, the altitude, and the satellite position information of the two positioning satellites; The third determining module is configured to determine the longitude and latitude of the target road point with the smallest difference between the pseudorange residuals as the positioning result of the target object at the kth moment.

9. An electronic device comprising: A processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the positioning method according to any one of claims 1 to 7.

10. A computer storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the positioning method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Outdoor positioning method and positioning receiver

    CN102680994A

  • Positioning device, its control method, control program, and its recoding medium

    JP2008051681A