A method, system and product for street direction positioning in a complex urban environment

CN115629410BActive Publication Date: 2026-05-12CHINA UNIV OF MINING & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA UNIV OF MINING & TECH
Filing Date
2022-11-08
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

In complex urban environments, GNSS positioning systems have significant errors along street directions. In particular, low-cost receivers and mobile devices have insufficient positioning accuracy in high-rise buildings and other high-rise environments, and cannot effectively overcome errors caused by multipath and reflected signals.

Method used

By establishing a 3D model of the target area, extracting feature points of buildings and roads, generating sky occlusion maps of candidate locations, and combining raw GNSS data and inertial measurement sensor data, the PDR step size and heading angle are determined using accelerometers and gyroscopes, and shadow matching and weighted averaging are performed to constrain the positioning results along the street direction.

Benefits of technology

It improves positioning accuracy in complex urban environments, compensates for the street-side error problem of single shadow matching technology, and achieves higher positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115629410B_ABST
    Figure CN115629410B_ABST
Patent Text Reader

Abstract

The application relates to a street direction positioning method, system and product in a complex urban environment. The method comprises the following steps: a three-dimensional model in a target area is established, and building feature points and road feature points in the three-dimensional model are extracted; GNSS original data is received, and a plurality of candidate positions are generated in the road range according to the road feature points and the GNSS original data; a sky occlusion map of each candidate position is generated according to the building feature points and the candidate positions; each candidate position is scored according to the GNSS original data and the sky occlusion map, and a shadow matching result is determined according to the scoring result; the acceleration of an accelerometer and the angular velocity of a gyroscope in a pedestrian mobile phone are acquired, and a PDR step length and a PDR heading angle are determined according to the acceleration and the angular velocity; the shadow matching result is constrained according to the PDR step length and the PDR heading angle, and a street direction positioning result is determined. The application can improve the traditional GNSS positioning precision in the environment, and make up for the street error problem of the single shadow matching technology.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of Global Navigation Satellite System (GNSS) positioning, and in particular to a method, system, and product for street-side directional positioning in complex urban environments. Background Technology

[0002] With the development of modern society, location-based services (LBS) are widely used in various industries such as vehicle and pedestrian navigation, tourism, emergency services, and logistics. These realities place higher demands on the development of LBS. In open areas, the Global Navigation Satellite System (GNSS) can provide positioning services with meter-level accuracy, with mobile phone positioning accuracy around 5 meters and low-cost receivers such as the ublox series achieving around 3 meters. However, in the complex environment of modern cities, facing tall buildings and other high-rise structures, GNSS satellite signals are reflected, refracted, and diffracted. This results in various types of GNSS satellite signals entering the receiver, including line-of-sight (LOS), non-line-of-sight (NLOS), and multipath signals. The resulting errors can reach tens or even hundreds of meters, which has a significant impact on navigation and positioning in complex urban environments and severely restricts the development of navigation service technologies in such environments. High-cost receivers, such as geodesic receivers, can effectively mitigate multipath and reflection signals through various hardware and software configurations. Low-cost receivers and mobile devices, due to size limitations, cannot improve input signal quality at the hardware level. However, in complex urban environments, low-cost receivers and mobile positioning dominate the market, and users in these situations still have high accuracy requirements. Single-shadow matching technology can solve cross-street direction positioning errors in complex urban environments, but this method has a relatively large error in positioning along the street direction. Summary of the Invention

[0003] The purpose of this invention is to provide a method, system, and product for directional positioning along streets in complex urban environments, in order to solve the problem of large directional errors in single shadow matching technology.

[0004] To achieve the above objectives, the present invention provides the following solution:

[0005] A method for directional positioning along a street in a complex urban environment, comprising:

[0006] Establish a three-dimensional model of the target area, and extract building feature points and road feature points from the three-dimensional model;

[0007] Receive raw GNSS data and generate multiple candidate locations within the road area based on the road feature points and the raw GNSS data;

[0008] Based on the building feature points and the candidate locations, generate a sky occlusion map for each candidate location;

[0009] Each candidate location is scored based on the raw GNSS data and the sky occlusion map, and the shadow matching result is determined based on the scoring results.

[0010] The acceleration of the accelerometer and the angular velocity of the gyroscope in the pedestrian's mobile phone are obtained, and the PDR step size and PDR heading angle are determined based on the acceleration and the angular velocity.

[0011] The shadow matching result is determined based on the PDR step size and the PDR heading angle constrained by the PDR step size.

[0012] Optionally, receiving raw GNSS data and generating multiple candidate locations within the road area based on the road feature points and the raw GNSS data specifically includes:

[0013] Using the pseudorange and broadcast ephemeris of the raw GNSS data, the initial position coordinates of the current epoch are calculated using the least squares method; the initial position coordinates are geodetic coordinates.

[0014] Convert the initial position coordinates into initial position Gaussian projection coordinates;

[0015] Using the initial Gaussian projection coordinates as the center and a set length as the radius, multiple candidate locations are generated within the road area based on the road feature points, and the Gaussian projection coordinates of each candidate location are converted back to spatial geodetic coordinates.

[0016] Optionally, generating a sky occlusion map for each candidate location based on the building feature points and the candidate locations specifically includes:

[0017] For each candidate location, in the spatial geodetic coordinate system, the position coordinates of the building feature points and the satellite positions calculated by the broadcast ephemeris are converted into station center coordinates with the candidate location as the station center;

[0018] Based on the station center coordinates, the building occlusion situation of each candidate location and the distribution of each satellite in the sky relative to the candidate location are calculated to generate a sky occlusion map for each candidate location.

[0019] Optionally, the step of scoring each candidate location based on the raw GNSS data and the sky occlusion map, and determining the shadow matching result based on the scoring results, specifically includes:

[0020] Calculate the satellite elevation angle and azimuth angle based on the building obstruction and distribution.

[0021] For each candidate location, the type of occlusion between the building, the satellite, and the candidate location is obtained; the occlusion type includes non-occlusion and occlusion.

[0022] The satellite signal between the building, the satellite, and the candidate location is determined according to the type of obstruction; in the case of no obstruction, the satellite signal between the building, the satellite, and the candidate location is considered a direct signal; in the case of obstruction, the satellite signal between the building, the satellite, and the candidate location is considered an indirect signal.

[0023] The satellite score of any satellite relative to any candidate position is determined based on the direct signal relationship, the satellite elevation angle, and the azimuth angle; the satellite score includes the direct satellite score and the indirect satellite score.

[0024] The satellite scores are arranged in descending order, and the coordinates of the candidate positions corresponding to the first set number of satellite scores are weighted and averaged to determine the shadow matching result.

[0025] A street-side orientation positioning system for complex urban environments includes:

[0026] The building feature point and road feature point extraction module is used to build a three-dimensional model within the target area and extract building feature points and road feature points from the three-dimensional model.

[0027] The candidate location generation module is used to receive raw GNSS data and generate multiple candidate locations within the road area based on the road feature points and the raw GNSS data.

[0028] The sky occlusion map generation module is used to generate a sky occlusion map for each candidate location based on the building feature points and the candidate locations.

[0029] The shadow matching result determination module is used to score each candidate location based on the raw GNSS data and the sky occlusion map, and determine the shadow matching result based on the scoring results;

[0030] The PDR step size and PDR heading angle determination module is used to obtain the acceleration of the accelerometer and the angular velocity of the gyroscope in the pedestrian's mobile phone, and determine the PDR step size and PDR heading angle based on the acceleration and the angular velocity.

[0031] The street-direction positioning result determination module is used to determine the street-direction positioning result based on the PDR step size and the PDR heading angle constraining the shadow matching result.

[0032] Optionally, the candidate location generation module specifically includes:

[0033] The initial position coordinate calculation unit is used to calculate the initial position coordinates of the current epoch using the pseudorange of the GNSS raw data and the broadcast ephemeris, and the least squares method; the initial position coordinates are spatial geodetic coordinates.

[0034] A coordinate transformation unit is used to convert the initial position coordinates into initial position Gaussian projection coordinates;

[0035] The candidate location generation unit is used to generate multiple candidate locations within the road area based on the road feature points, with the initial location Gaussian projection coordinates as the center and a set length as the radius, and to convert the Gaussian projection coordinates of each candidate location back to spatial geodetic coordinates.

[0036] Optionally, the sky occlusion map generation module specifically includes:

[0037] The station center coordinate determination unit is used to convert the position coordinates of the building feature points and the satellite positions calculated by broadcast ephemeris into station center coordinates with the candidate position as the station center in the spatial geodetic coordinate system for each candidate position.

[0038] The sky occlusion map generation unit is used to calculate the building occlusion situation of each candidate location and the distribution of each satellite in the sky relative to the candidate location based on the station center coordinates, and generate a sky occlusion map for each candidate location.

[0039] Optionally, the shadow matching result determination module specifically includes:

[0040] The satellite elevation angle and azimuth angle calculation unit is used to calculate the satellite elevation angle and azimuth angle based on the building obstruction and distribution.

[0041] The occlusion type acquisition unit is used to acquire the occlusion type between the building, the satellite, and the candidate location for each candidate location; the occlusion type includes non-occlusion and occlusion.

[0042] A direct signal relationship determination unit is used to determine the satellite signal between the building, the satellite, and the candidate location according to the type of obstruction; in the case of no obstruction, the satellite signal between the building, the satellite, and the candidate location is regarded as a direct signal; in the case of obstruction, the satellite signal between the building, the satellite, and the candidate location is regarded as an indirect signal.

[0043] The satellite score determination unit is used to determine the satellite score of any satellite relative to any of the candidate positions based on the direct signal relationship, the satellite elevation angle, and the azimuth angle; the satellite score includes the direct satellite score and the indirect satellite score;

[0044] The shadow matching result unit is used to arrange the satellite scores in descending order, perform a weighted average of the coordinates of the candidate positions corresponding to the previous set number of satellite scores, and determine the shadow matching result.

[0045] An electronic device includes a memory and a processor, the memory storing a computer program, and the processor running the computer program to enable the electronic device to perform the street-direction positioning method in a complex urban environment described above.

[0046] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the aforementioned method for directional street positioning in complex urban environments.

[0047] According to specific embodiments provided by the present invention, the present invention discloses the following technical effects: The present invention provides a method, system and product for street-side direction positioning in complex urban environments, which integrates urban 3D scene models, inertial measurement sensor data in mobile phones (i.e., acceleration from accelerometers and angular velocity from gyroscopes) with GPS data to achieve complementary performance and scene. The integration of the three can effectively perform positioning in complex urban environments, improve the accuracy of traditional GNSS positioning in such environments, and make up for the street-side error problem of single shadow matching technology. Attached Figure Description

[0048] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0049] Figure 1 This is a flowchart of the street-side direction positioning method in a complex urban environment provided in Embodiment 1 of the present invention;

[0050] Figure 2This is a flowchart of the street-side direction positioning method combining shadow matching and PDR provided in Embodiment 1 of the present invention;

[0051] Figure 3 A mesh map is laid out for the candidate positions of shadow matching provided in Embodiment 1 of the present invention;

[0052] Figure 4 This is an occlusion diagram of the shadow matching method provided in Embodiment 1 of the present invention;

[0053] Figure 5 This is a schematic diagram of the final determined positioning coordinates provided in Embodiment 1 of the present invention;

[0054] Figure 6 A structural diagram of the street-side directional positioning system in complex urban environments provided by the present invention;

[0055] Figure 7 This is a schematic diagram of a convex polygon provided by the present invention. Detailed Implementation

[0056] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0057] The purpose of this invention is to provide a method, system, and product for street-side direction positioning in complex urban environments, which improves the positioning accuracy of traditional GNSS in such environments and compensates for the street-side error problem of single shadow matching technology.

[0058] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0059] Example 1

[0060] Figure 1 The flowchart of the street-side direction positioning method in complex urban environments provided by the present invention is as follows: Figure 1 As shown, a method for directional positioning along a street in a complex urban environment includes:

[0061] Step 101: Establish a three-dimensional model of the target area and extract building feature points and road feature points from the three-dimensional model.

[0062] In practical applications, photogrammetry is used to acquire 3D model data of the target area, simplify the model, and extract the WGS-84 spatial geodetic coordinates of feature points of buildings and roads in the model; GNSS data is received using an ubolx receiver or mobile phone, the original GNSS data format is converted to RINEX format, and pseudorange and carrier-to-noise ratio data are mainly extracted; angular velocity and acceleration data are obtained using the gyroscope and accelerometer on the mobile phone.

[0063] Step 102: Receive raw GNSS data and generate multiple candidate locations within the road area based on the road feature points and the raw GNSS data.

[0064] In practical applications, step 102 specifically includes: using the pseudorange and broadcast ephemeris of the GNSS raw data, calculating the initial position coordinates of the current epoch using the least squares method; the current epoch is the current time; the initial position coordinates are spatial geodetic coordinates; converting the initial position coordinates into initial position Gaussian projection coordinates; using the initial position Gaussian projection coordinates as the center and a set length as the radius, generating multiple candidate positions within the road area based on the road feature points, and converting the Gaussian projection coordinates of each candidate position back to spatial geodetic coordinates.

[0065] In practical applications, pseudorange data and broadcast ephemeris of the original GNSS data are used to calculate the initial position coordinates using the traditional least squares method. The geodetic coordinates of the original position are converted into Gaussian projection coordinates so as to generate candidate positions at a certain density. With a spacing of 3m and a maximum radius of 30m, a total of 317 candidate positions can be formed. At the same time, the Gaussian projection coordinates of each candidate position are converted back to WGS-84 geodetic coordinates.

[0066] Step 103: Generate a sky occlusion map for each candidate location based on the building feature points and the candidate locations.

[0067] In practical applications, step 103 specifically includes: for each candidate location, in a spatial geodetic coordinate system, converting the location coordinates of the building feature points and the satellite positions calculated by the broadcast ephemeris into station center coordinates with the candidate location as the station center; calculating the building occlusion situation of each candidate location and the distribution of each satellite in the sky relative to the candidate location based on the station center coordinates, and generating a sky occlusion map for each candidate location.

[0068] In practical applications, it is determined whether the above 317 candidate locations are inside the building, and points inside the building are eliminated.

[0069] For each candidate location, the building feature points and satellite positions calculated from the broadcast ephemeris are converted into station-centered coordinates (e, n, u) with the candidate location as the station center in WGS-84 geodetic coordinates. The building occlusion situation and the distribution of each satellite in the sky relative to the candidate location are calculated according to the station-centered coordinates, generating a sky occlusion map for each candidate location, and calculating the elevation angle and azimuth angle.

[0070] Step 104: Score each candidate location based on the raw GNSS data and the sky occlusion map, and determine the shadow matching result based on the scoring results.

[0071] In practical applications, step 104 specifically includes: calculating the satellite elevation angle and azimuth angle based on the building occlusion situation and the distribution situation; for each candidate location, obtaining the occlusion type between the building, the satellite, and the candidate location; the occlusion type includes unoccluded and occluded situations; determining the satellite signal between the building, the satellite, and the candidate location based on the occlusion type; in the unoccluded situation, the satellite signal between the building, the satellite, and the candidate location is considered a direct signal; in the occluded situation, the satellite signal between the building, the satellite, and the candidate location is considered an indirect signal; determining the satellite score of any satellite relative to any candidate location based on the direct signal relationship, the satellite elevation angle, and the azimuth angle; the satellite score includes direct satellite score and indirect satellite score; arranging the satellite scores in descending order, and performing a weighted average of the coordinates of the candidate locations corresponding to the first set number of satellite scores to determine the shadow matching result.

[0072] In practical applications, the satellite elevation angle, azimuth angle, and building occlusion at the candidate location are used to score each candidate location according to the following formula;

[0073] If the variance of the current 5% of point scores is too large, increase the candidate position density and regenerate the candidate positions for calculation. If the variance of the current 5% of point coordinates is too large, remove a small number of edge points to maximize the clustering of candidate positions entering the final calculation.

[0074] Step 105: Obtain the acceleration from the accelerometer and the angular velocity from the gyroscope in the pedestrian's mobile phone, and determine the PDR step size and PDR heading angle based on the acceleration and the angular velocity.

[0075] In practical applications, an extended Kalman filter is used to construct a projection matrix from the DCS coordinate system to the horizontal reference coordinate system by iterating the quaternion based on the angular velocity measured by the gyroscope in the DCS coordinate system.

[0076] Using the mobile phone's built-in accelerometer, the acceleration along the x, y, and z axes is obtained, and the harmonic oscillation waveform of human gait behavior is used as a basis for judging the step length period.

[0077] The system performs peak detection on the acceleration data from the mobile device and compares the detected peak value with a pre-set threshold. If the peak value is higher than the threshold, it is considered a valid step; if it is lower than the threshold, it is considered noise interference and is not counted in the step count.

[0078] Pedestrian movement is monitored, and acceleration data is recorded. This acceleration data is then processed offline to extract step counting time points. Step frequency is obtained from adjacent step counting time points. Model parameters are solved using linear regression based on multiple sets of step frequency and step length data. Step length is then calculated based on these model parameters. Step length estimation (error 0.5%) is performed.

[0079] Data from the gyroscope sensor on the mobile phone is obtained, and the heading angle of the pedestrian's movement is obtained by integrating the measured angular velocity.

[0080] Step 106: Based on the PDR step size and the PDR heading angle, constrain the shadow matching result to determine the street-side positioning result.

[0081] In practical applications, the point with the highest score in the previous few epochs of shadow matching + pedestrian dead reckoning (PDR) is taken as the initial point. Combined with the step size and heading estimate calculated by PDR, the positioning coordinates that reduce the error along the street are obtained.

[0082] The following is combined Figures 2-3 The specific embodiments of the present invention will be further described below.

[0083] The present invention provides a PDR fusion positioning system based on shadow matching in complex urban environments, comprising four parts: photogrammetric modeling, GNSS shadow matching positioning, inertial sensor, and result fusion.

[0084] In the early stage, building and road information of the target area is obtained through photogrammetric modeling. The positioning coordinates with high accuracy across the street but low accuracy along the street are obtained through GNSS shadow matching positioning. The PDR step size estimation of the inertial sensor is combined to constrain the positioning error along the street.

[0085] In this example, the specific implementation of PDR fusion localization in complex urban environments using shadow matching is as follows:

[0086] Photogrammetry is used to obtain a 3D scene model of the target area and extract the geodetic coordinates of building and road feature points.

[0087] A low-cost GNSS receiver acquires raw GNSS data and calculates initial positioning coordinates using least squares. The single-point positioning and least squares formulas are as follows:

[0088] P=ρ+c(δt r -δt s )+Δ trop +Δ ion +ε (1)

[0089] V = BX - LP (2)

[0090] X = (B T PB) -1 B T PL (3)

[0091] In equation (1), P is the pseudorange measurement, ρ is the actual distance between the satellite and the receiver, and δt is the distance between the satellite and the receiver. r δt s Δ trop Δ ion These are receiver clock error, satellite clock error, tropospheric error, and ionospheric error, respectively; c is the speed of light; ε is the measurement noise; formulas (2) and (3) are least squares formulas, and the initial position coordinates are finally obtained. Wherein, V is the observation correction; B is the coefficient matrix; X is the coordinate correction; L is the constant coefficient matrix; and T is the transpose sign.

[0092] Combination Figure 3 From the initial coordinates, a set of candidate location coordinates can be generated within a certain range and filled with a certain density. Using road feature point data, with the initial location as the center and the initial location coordinates as (x0, y0, h0), and taking 3m intervals and 30m as the maximum radius, the candidate location set is generated. h0 is taken as the interpolated value of the road feature points. The specific formula is as follows:

[0093]

[0094] Among them, S H Let be the candidate position set; Δx is the x-coordinate increment; Δy is the y-coordinate increment; (x i ,y i () represents the coordinates of candidate locations that meet the conditions.

[0095] like Figure 7 As shown, the vertices of the convex polygon are B0, B1, B2, B3, B4, and B5. When determining whether candidate position A is inside the convex polygon based on building feature points, the following criteria are used:

[0096]

[0097] S 多 Represents the area of ​​the convex polygon Let N represent the area of ​​the triangle formed by the candidate location and any two adjacent vertices of the convex polygon of the road. If the above formula is satisfied, the candidate location is determined to be inside the road. Here, N is the number of triangles; i and j are the two points other than A that form the triangle.

[0098] Calculate the sky occlusion contour map of each candidate location under building occlusion. The result is obtained by connecting the feature points of the buildings using the following formula. Figure 4 The sky occlusion outline shown is given, where (e, n, u) are the coordinates of the station center of the feature point centered on the candidate location, e, n, u are the coordinates of the north, east, and sky directions respectively, el is the elevation angle, and az is the azimuth angle.

[0099]

[0100] az = arctan(e / u) (7)

[0101] Each candidate location is scored. Buildings, satellites, and candidate locations are considered direct signals when there is no obstruction and indirect signals when there is obstruction. They are marked separately. When it is a direct signal, the score of one of the direct satellites of the candidate location is calculated using formula (1). When it is an indirect signal, the score of one of the indirect satellites of the candidate location is calculated using formula (2). Finally, the coordinates of the top 20 or top 5% of the candidate locations are selected from the candidate location set and the weighted average is used as the result of shadow matching.

[0102] G i =(snr-20) 2 ·(90-el) / PI·2 (8)

[0103] G i =(snr-40) 2 ·el·180 / PI· (9)

[0104]

[0105] Among them, G i The score for this satellite is given; snr is the carrier-to-noise ratio (dB-Hz); PI is pi, taken as 3.1415926; G s This is the total score.

[0106] The following formula is used to determine whether the clustering degree and number of high-scoring candidate positions are sufficient: group m Let be the m groups of high-scoring points after clustering; ε is the distance threshold in the clustering method; and P′ is the minimum number of points required to form the group.

[0107]

[0108] in, The largest candidate location set obtained from cluster analysis; cluster(S) H Let , ε, P′) represent all candidate locations that satisfy the distance threshold. The final result of shadow matching localization is calculated using a weighted average.

[0109] The step size is estimated based on the vertical acceleration data from the accelerometer, using the following formula: where L1 is the step size; a max and a min These are the maximum and minimum values ​​of vertical acceleration during one step cycle, respectively, and K1 is a parameter that requires step size calibration in advance.

[0110]

[0111] In this approach, the highest-scoring result from several epochs is taken as the starting point, and the shadow matching result of that epoch is taken as the ending point. Based on this direction, the step size result is used as the distance constraint along the street direction, such as... Figure 5 The final result is shown.

[0112]

[0113] Where P is the final position of the current epoch; P0 is the position of the previous epoch; and P1 is the position obtained by shadow matching in the current epoch.

[0114] Example 2

[0115] In order to implement the method corresponding to Embodiment 1 above and achieve the corresponding functions and technical effects, a street-side direction positioning system in a complex urban environment is provided below.

[0116] Figure 6 The structural diagram of the street-side directional positioning system in complex urban environments provided by this invention is as follows: Figure 6 As shown, a street-side orientation positioning system in a complex urban environment includes:

[0117] The building feature point and road feature point extraction module 601 is used to establish a three-dimensional model within the target area and extract building feature points and road feature points from the three-dimensional model.

[0118] The candidate location generation module 602 is used to receive raw GNSS data and generate multiple candidate locations within the road area based on the road feature points and the raw GNSS data.

[0119] The candidate position generation module 602 specifically includes: an initial position coordinate calculation unit, used to calculate the initial position coordinates of the current epoch using the pseudorange and broadcast ephemeris of the GNSS raw data and the least squares method; the initial position coordinates are spatial geodetic coordinates; a coordinate transformation unit, used to convert the initial position coordinates into initial position Gaussian projection coordinates; and a candidate position generation unit, used to generate multiple candidate positions within the road range with the initial position Gaussian projection coordinates as the center and a set length as the radius, based on the road feature points, and to convert the Gaussian projection coordinates of each candidate position back to spatial geodetic coordinates.

[0120] The sky occlusion map generation module 603 is used to generate a sky occlusion map for each candidate location based on the building feature points and the candidate locations.

[0121] The sky occlusion map generation module 603 specifically includes: a station center coordinate determination unit, used to convert the position coordinates of the building feature points and the satellite positions calculated by broadcast ephemeris into station center coordinates with the candidate position as the station center in a spatial geodetic coordinate system for each candidate position; and a sky occlusion map generation unit, used to calculate the building occlusion situation and the distribution of each satellite in the sky relative to the candidate position based on the station center coordinates, and generate a sky occlusion map for each candidate position.

[0122] The shadow matching result determination module 604 is used to score each of the candidate locations based on the raw GNSS data and the sky occlusion map, and to determine the shadow matching result based on the scoring results.

[0123] The shadow matching result determination module 604 specifically includes: a satellite elevation angle and azimuth angle calculation unit, used to calculate the satellite elevation angle and azimuth angle based on the building occlusion situation and the distribution situation; an occlusion situation type acquisition unit, used to acquire the occlusion situation type between the building, the satellite, and the candidate position for each candidate position; the occlusion situation type includes non-occlusion and occlusion; a direct signal relationship determination unit, used to determine the satellite signal between the building, the satellite, and the candidate position based on the occlusion situation type; in the non-occlusion situation, the satellite signal between the building, the satellite, and the candidate position is considered a direct signal; in the occlusion situation, the satellite signal between the building, the satellite, and the candidate position is considered an indirect signal; a satellite score determination unit, used to determine the satellite score of any satellite relative to any candidate position based on the direct signal relationship, the satellite elevation angle, and the azimuth angle; the satellite score includes direct satellite score and indirect satellite score; and a shadow matching result unit, used to arrange the satellite scores in descending order, perform weighted average processing on the coordinates of the candidate positions corresponding to the first set number of satellite scores, and determine the shadow matching result.

[0124] The PDR step size and PDR heading angle determination module 605 is used to obtain the acceleration of the accelerometer and the angular velocity of the gyroscope in the pedestrian's mobile phone, and determine the PDR step size and PDR heading angle based on the acceleration and the angular velocity.

[0125] The street-direction positioning result determination module 606 is used to determine the street-direction positioning result based on the PDR step size and the PDR heading angle constraining the shadow matching result.

[0126] Example 3

[0127] This invention also provides another street-side orientation positioning system for complex urban environments. It includes:

[0128] The data input module is used to acquire scene models within a certain area through photogrammetry, and to obtain inertial measurement sensor data and raw GNSS measurement data.

[0129] The preprocessing module is used to extract the coordinate data of building and road feature points from the acquired scene model and to preprocess the acquired inertial measurement sensor data and GNSS data.

[0130] The coordinate transformation module is used to convert geodetic coordinates to spatial rectangular coordinates, geodetic coordinates to Gaussian projection coordinates, and geodetic coordinates to station-centered coordinates.

[0131] The GNSS shadow matching module is used to obtain preliminary estimated position coordinates based on raw GNSS data using the least squares method and traditional GNSS single-point positioning.

[0132] In practical applications, a large number of candidate locations for the target area are obtained by particle filtering based on the preliminary estimated location. The candidate locations are then initially filtered, and only the coordinates of the candidate locations located on the road are retained according to the scene road information to generate a preliminary candidate location set.

[0133] Using each candidate location as the station center, the geodetic coordinates of the occluded buildings in the scene are transformed into station center coordinates. This serves as the data source for the occlusion status of each candidate location in the candidate location set, and the elevation angle and coordinate azimuth angle of the building occlusion feature points are calculated.

[0134] A skymask is generated for each candidate location in the initial candidate location set using a station-centered coordinate system. Simultaneously, the satellite station-centered coordinates at that location are calculated based on the broadcast ephemeris, and the elevation angle and azimuth angle of the satellite centered at that point are calculated for each candidate location in the candidate location set.

[0135] The PDR step size analysis module is used to obtain the estimated step size in PDR. It takes the two positioning results before and after as the direction, and the PDR step size estimate is the final positioning result for length calculation.

[0136] Example 4

[0137] This invention provides an electronic device including a memory and a processor. The memory stores a computer program, and the processor runs the computer program to enable the electronic device to perform the street-direction positioning method in a complex urban environment as described in Embodiment 1.

[0138] In practical applications, the aforementioned electronic devices can be servers.

[0139] In practical applications, electronic devices include: at least one processor, memory, bus, and communication interface.

[0140] The processor, communication interface, and memory communicate with each other via a communication bus.

[0141] A communication interface is used to communicate with other devices.

[0142] The processor is used to execute programs, specifically the methods described in the above embodiments.

[0143] Specifically, the program may include program code, which includes computer operation instructions.

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

[0145] Memory is used to store programs. Memory may include high-speed RAM, and may also include non-volatile memory, such as at least one disk drive.

[0146] Based on the description of the above embodiments, this application provides a storage medium storing computer program instructions thereon, which can be executed by a processor to implement the methods described in any embodiment.

[0147] The street-side orientation positioning system in complex urban environments provided in this application exists in various forms, including but not limited to:

[0148] (1) Mobile communication devices: These devices are characterized by their mobile communication capabilities and primarily aim to provide voice and data communication. These terminals include: smartphones (e.g., iPhones), multimedia phones, feature phones, and low-end phones, etc.

[0149] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers, possessing computing and processing capabilities, and generally also have mobile internet access capabilities. These terminals include PDAs, MIDs, and UMPCs, such as the iPad.

[0150] (3) Portable entertainment devices: These devices can display and play multimedia content. This category includes: audio and video players (such as iPods), handheld game consoles, e-books, as well as smart toys and portable car navigation devices.

[0151] (4) Other electronic devices with data interaction functions.

[0152] Specific embodiments of the subject matter have now been described. Other embodiments are within the scope of the appended claims. In some cases, the actions described in the claims can be performed in a different order and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing can be advantageous.

[0153] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0154] For ease of description, the above apparatus is described by dividing it into various functional units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware components. Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0155] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0156] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0157] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0158] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0159] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0160] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, and CD-ROM.

[0161] Digital multifunction optical disc (DVD) or other optical storage, magnetic cassette tape, magnetic magnetic disk storage or other magnetic storage devices

[0162] Or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transient media, such as modulated data signals and carrier waves.

[0163] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0164] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0165] This application can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific transactions or implement specific abstract data types. This application can also be practiced in distributed computing environments where transactions are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0166] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant parts can be referred to the method section.

[0167] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for directional positioning along a street in a complex urban environment, characterized in that, include: Establish a three-dimensional model of the target area, and extract building feature points and road feature points from the three-dimensional model; Receive raw GNSS data and generate multiple candidate locations within the road area based on the road feature points and the raw GNSS data; Based on the building feature points and the candidate locations, generate a sky occlusion map for each candidate location; Each candidate location is scored based on the raw GNSS data and the sky occlusion map, and the shadow matching result is determined based on the scoring results. The acceleration of the accelerometer and the angular velocity of the gyroscope in the pedestrian's mobile phone are obtained, and the PDR step size and PDR heading angle are determined based on the acceleration and the angular velocity. The shadow matching result is determined based on the PDR step size and the PDR heading angle constrained. Take the result with the higher score among several epochs as the starting point, take the shadow matching result of this epoch as the ending point, and take the step size result as the distance constraint along the street direction based on this direction. in, P This represents the final position in the current epoch; This refers to the position of the previous epoch; The position obtained by matching the shadow in the current epoch; The step size.

2. The method for locating street directions in complex urban environments according to claim 1, characterized in that, The process of receiving raw GNSS data and generating multiple candidate locations within the road area based on the road feature points and the raw GNSS data specifically includes: Using the pseudorange and broadcast ephemeris of the raw GNSS data, the initial position coordinates of the current epoch are calculated using the least squares method; the initial position coordinates are geodetic coordinates. Convert the initial position coordinates into initial position Gaussian projection coordinates; Using the initial Gaussian projection coordinates as the center and a set length as the radius, multiple candidate locations are generated within the road area based on the road feature points, and the Gaussian projection coordinates of each candidate location are converted to spatial geodetic coordinates.

3. The method for locating street directions in complex urban environments according to claim 2, characterized in that, The step of generating a sky occlusion map for each candidate location based on the building feature points and the candidate locations specifically includes: For each candidate location, in the spatial geodetic coordinate system, the position coordinates of the building feature points and the satellite positions calculated by the broadcast ephemeris are converted into station center coordinates with the candidate location as the station center; Based on the station center coordinates, the building occlusion situation of each candidate location and the distribution of each satellite in the sky relative to the candidate location are calculated to generate a sky occlusion map for each candidate location.

4. The method for directional positioning along streets in complex urban environments according to claim 3, characterized in that, The step of scoring each candidate location based on the raw GNSS data and the sky occlusion map, and determining the shadow matching result based on the scoring results, specifically includes: Calculate the satellite elevation angle and azimuth angle based on the building obstruction and distribution. For each candidate location, the type of occlusion between the building, the satellite, and the candidate location is obtained; the occlusion type includes non-occlusion and occlusion. The satellite signal between the building, the satellite, and the candidate location is determined according to the type of obstruction; in the case of no obstruction, the satellite signal between the building, the satellite, and the candidate location is considered a direct signal; in the case of obstruction, the satellite signal between the building, the satellite, and the candidate location is considered an indirect signal. The satellite score of any satellite relative to any candidate position is determined based on the direct signal relationship, the satellite elevation angle, and the azimuth angle; the satellite score includes the direct satellite score and the indirect satellite score. The satellite scores are arranged in descending order, and the coordinates of the candidate positions corresponding to the first set number of satellite scores are weighted and averaged to determine the shadow matching result.

5. A street-side orientation positioning system in a complex urban environment, characterized in that, include: The building feature point and road feature point extraction module is used to build a three-dimensional model within the target area and extract building feature points and road feature points from the three-dimensional model. The candidate location generation module is used to receive raw GNSS data and generate multiple candidate locations within the road area based on the road feature points and the raw GNSS data. The sky occlusion map generation module is used to generate a sky occlusion map for each candidate location based on the building feature points and the candidate locations. The shadow matching result determination module is used to score each candidate location based on the raw GNSS data and the sky occlusion map, and determine the shadow matching result based on the scoring results; The PDR step size and PDR heading angle determination module is used to obtain the acceleration of the accelerometer and the angular velocity of the gyroscope in the pedestrian's mobile phone, and determine the PDR step size and PDR heading angle based on the acceleration and the angular velocity. The street-direction positioning result determination module is used to determine the street-direction positioning result based on the PDR step size and the PDR heading angle constraining the shadow matching result. Take the result with the higher score among several epochs as the starting point, take the shadow matching result of this epoch as the ending point, and take the step size result as the distance constraint along the street direction based on this direction. in, P This represents the final position in the current epoch; This refers to the position of the previous epoch; The position obtained by matching the shadow in the current epoch; The step size.

6. The street-side direction positioning system in complex urban environments according to claim 5, characterized in that, The candidate location generation module specifically includes: The initial position coordinate calculation unit is used to calculate the initial position coordinates of the current epoch using the pseudorange and broadcast ephemeris of the GNSS raw data and the least squares method; the initial position coordinates are spatial geodetic coordinates. A coordinate transformation unit is used to convert the initial position coordinates into initial position Gaussian projection coordinates; The candidate location generation unit is used to generate multiple candidate locations within the road area based on the road feature points, with the initial location Gaussian projection coordinates as the center and a set length as the radius, and to convert the Gaussian projection coordinates of each candidate location to spatial geodetic coordinates.

7. The street-side direction positioning system in complex urban environments according to claim 6, characterized in that, The sky occlusion map generation module specifically includes: The station center coordinate determination unit is used to convert the position coordinates of the building feature points and the satellite positions calculated by broadcast ephemeris into station center coordinates with the candidate position as the station center in the spatial geodetic coordinate system for each candidate position. The sky occlusion map generation unit is used to calculate the building occlusion situation of each candidate location and the distribution of each satellite in the sky relative to the candidate location based on the station center coordinates, and generate a sky occlusion map for each candidate location.

8. The street-side direction positioning system in complex urban environments according to claim 7, characterized in that, The shadow matching result determination module specifically includes: The satellite elevation angle and azimuth angle calculation unit is used to calculate the satellite elevation angle and azimuth angle based on the building obstruction and distribution. The occlusion type acquisition unit is used to acquire the occlusion type between the building, the satellite, and the candidate location for each candidate location; the occlusion type includes non-occlusion and occlusion. A direct signal relationship determination unit is used to determine the satellite signal between the building, the satellite, and the candidate location according to the type of obstruction; in the case of no obstruction, the satellite signal between the building, the satellite, and the candidate location is regarded as a direct signal; in the case of obstruction, the satellite signal between the building, the satellite, and the candidate location is regarded as an indirect signal. The satellite score determination unit is used to determine the satellite score of any satellite relative to any of the candidate positions based on the direct signal relationship, the satellite elevation angle, and the azimuth angle; the satellite score includes the direct satellite score and the indirect satellite score; The shadow matching result unit is used to arrange the satellite scores in descending order, perform a weighted average of the coordinates of the candidate positions corresponding to the previous set number of satellite scores, and determine the shadow matching result.

9. An electronic device, characterized in that, The device includes a memory and a processor, the memory being used to store a computer program, and the processor running the computer program to enable the electronic device to perform a street-direction positioning method in a complex urban environment as described in any one of claims 1-4.

10. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the street-direction positioning method in a complex urban environment as described in any one of claims 1-4.