Positioning method and device, electronic equipment, chip and medium
By evaluating the GNSS signal quality and selecting an appropriate positioning method, the problems of large positioning deviation and high power consumption when calman filtering and fusion pedestrian heading calculating position are solved, which improves the positioning accuracy when GNSS signal quality is poor and reduces power consumption.
Patent Information
- Application Number
- CN202311347956.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-17
- Publication Date
- 2025-04-18
AI Technical Summary
When Kalman filtering fusion pedestrian heading calculating position, there is a problem of large positioning deviation and large power consumption in the computing process.
By evaluating the signal quality of GNSS observation and using different positioning methods to position according to the signal quality, the positioning accuracy of GNSS signal quality is improved and the power consumption in positioning is reduced.
It improves the positioning accuracy when GNSS signal quality is poor, reduces power consumption in positioning, and solves the problem of large positioning deviation when Kalman filtering is fused with PDR position.
Smart Images

Figure CN119845253A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of inertial navigation, and in particular to a positioning method, device, electronic device, chip and medium. Background Art
[0002] Inertial Navigation System (INS) is a navigation system that uses inertial elements such as gyroscopes and accelerometers to measure motion. INS has the advantages of strong independence, high accuracy, and good reliability, and is widely used in aviation, aerospace, ocean, and ground fields.
[0003] In the field of sports and health, INS is widely used in navigation and health status recognition of watches, bracelets, mobile phones, etc. Currently, due to the cost and size of the Inertial Measurement Unit (IMU) in consumer products such as wearables and mobile phones, the measurement accuracy of IMU is relatively low, and the INS accuracy derived from IMU accumulates more and more errors over time. Summary of the invention
[0004] The present invention provides a positioning method, device, electronic device, chip and medium to solve the problem of large positioning deviation and high power consumption in the operation process when Kalman filtering is used to fuse the position of pedestrian dead reckoning (PDR). Before Kalman filtering is performed on the position calculated by the global navigation satellite system (GNSS) and PDR, the signal quality of the GNSS is evaluated by the GNSS observations, and different positioning methods are used for positioning according to the signal quality of the GNSS, thereby improving the positioning accuracy when the GNSS signal quality is poor and reducing the power consumption in positioning.
[0005] A first aspect of the present disclosure provides a positioning method, which is applied to a mobile terminal. The method includes:
[0006] Acquiring first motion sensor data and first satellite observation data;
[0007] Determining a first location estimate of the mobile terminal by pedestrian heading dead reckoning based on the first motion sensor data, wherein the first location estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal;
[0008] Determine the first satellite signal quality through the first satellite observation data;
[0009] Determining first positioning data for the mobile terminal based on the first positioning estimate and / or the first satellite observation data is based on the first satellite signal quality.
[0010] In one embodiment of the present disclosure, determining first positioning data of a mobile terminal based on a first satellite signal quality, a first positioning estimate and / or first satellite observation data includes:
[0011] Determining whether the quality of the first satellite signal meets a first condition;
[0012] When the first condition is met, the first positioning estimate is used as the first positioning data;
[0013] In one embodiment of the present disclosure, determining first positioning data of a mobile terminal based on a first satellite signal quality, a first positioning estimate and / or first satellite observation data includes:
[0014] Determining whether the quality of the first satellite signal meets a first condition;
[0015] When the first condition is not met, the first positioning estimate and the first satellite observation data are fused, a first error estimate is determined through Kalman filtering, and the first positioning data is determined based on the first positioning estimate and the first error estimate.
[0016] In one embodiment of the present disclosure, the first condition includes at least one of the following:
[0017] The number of satellites found is less than the first threshold.
[0018] The received signal strengths of the first number of satellites arranged in descending order of signal-to-noise ratio are less than a second threshold,
[0019] The positioning mode is not any of position velocity time solution, real-time carrier phase difference, and real-time code phase difference.
[0020] The number of satellites searched for positioning is less than a third threshold,
[0021] The number of satellites used for positioning whose elevation angles are smaller than a fourth angle is smaller than a fourth threshold,
[0022] The precision factor of the satellite used for positioning is greater than the fifth threshold,
[0023] The positioning error radius of the satellite used for positioning is greater than a sixth threshold.
[0024] In one embodiment of the present disclosure, fusing the first positioning estimate and the first satellite observation data to determine the first error estimate through Kalman filtering includes:
[0025] Extracting a first observation position, a first observation speed, a first observation time, and a first observation heading from the first satellite observation data;
[0026] A first error estimate is determined based on the first position estimate and the first observed position, the first observed velocity, the first observed time, and the first observed heading.
[0027] In one embodiment of the present disclosure, determining a first error estimate according to the first positioning estimate and the first observation position, the first observation time, and the heading information includes:
[0028] determining a position error based on the first position estimate and the first observed position;
[0029] determining a velocity error based on the first velocity estimate and the first observed velocity;
[0030] determining an attitude error based on the first attitude estimate and the first observed heading;
[0031] determining a time error based on the first time estimate and the first observed time;
[0032] The first error estimate is determined by Kalman filtering through position error, velocity error, attitude error, and time error.
[0033] A second aspect of the present disclosure provides a device, which is applied to a mobile terminal. The device includes:
[0034] An acquisition module, used for acquiring first motion sensor data and first satellite observation data;
[0035] a position determination module, configured to determine a first position estimate of the mobile terminal by pedestrian heading dead reckoning based on the first motion sensor data, wherein the first position estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal;
[0036] A signal determination module, configured to determine a first satellite signal quality through first satellite observation data;
[0037] The positioning determination module is used to determine the first positioning data of the mobile terminal according to the first satellite signal quality, based on the first positioning estimate and / or the first satellite observation data.
[0038] The third aspect embodiment of the present disclosure proposes an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the methods in the first aspect embodiment of the present disclosure.
[0039] The fourth aspect embodiment of the present disclosure proposes a non-transitory computer-readable storage medium storing computer instructions, characterized in that the computer instructions are used to enable a computer to execute the method in the first aspect embodiment of the present disclosure.
[0040] The fifth aspect embodiment of the present disclosure proposes a chip, comprising at least one processor and a communication interface; the communication interface is used to receive signals input into the chip or signals output from the chip, the processor communicates with the communication interface and implements any one of the methods in the first aspect embodiment of the present disclosure through logic circuits or execution code instructions.
[0041] In summary, according to the positioning method proposed in the present invention, the first motion sensor data and the first satellite observation data are obtained to provide a data source for positioning calculation; based on the first motion sensor data, the first positioning estimate of the mobile terminal is determined by pedestrian heading calculation, wherein the first positioning estimate includes a first position estimate, a first speed estimate, a first time estimate and a first attitude estimate representing the mobile terminal, and the current state of the mobile terminal is obtained; the first satellite signal quality is determined through the first satellite observation data to provide a judgment basis for the selection of the positioning method; according to the first satellite signal quality, based on the first positioning estimate and / or the first satellite observation data, the first positioning data of the mobile terminal is determined, which solves the problems of large positioning deviation and high power consumption of the operation process when the Kalman filter is fused with the PDR-calculated position, improves the positioning accuracy when the GNSS signal quality is poor, and reduces the power consumption in positioning.
[0042] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0044] Figure 1 A flow chart of a method for using GNSS and PDR positions for Kalman filter fusion and using GNSS positions to correct PDR positions in related technologies;
[0045] Figure 2 A flowchart of a positioning method according to an embodiment of the present disclosure;
[0046] Figure 3 A flowchart of an embodiment of the present disclosure for determining first positioning data of a mobile terminal based on a first satellite signal quality, a first positioning estimate and / or first satellite observation data;
[0047] Figure 4A flowchart of an embodiment of the present disclosure for determining first positioning data of a mobile terminal based on a first satellite signal quality, a first positioning estimate and / or first satellite observation data;
[0048] Figure 5 A flowchart of an embodiment of the present disclosure that fuses a first positioning estimate and first satellite observation data to determine a first error estimate through Kalman filtering;
[0049] Figure 6 A flowchart of determining a first error estimate based on a first positioning estimate and a first observed position, a first observation time, and a first observed heading according to an embodiment of the present disclosure;
[0050] Figure 7 A flowchart of a positioning method according to an embodiment of the present disclosure;
[0051] Figure 8 A schematic diagram of an actual test scenario of a positioning method according to an embodiment of the present disclosure;
[0052] Fig. 9 A schematic diagram showing comparison of results of the positioning method of the embodiment of the present disclosure and the positioning method of the related art on a fusion trajectory;
[0053] Fig.10 It is a structural schematic diagram of a positioning device according to an embodiment of the present disclosure;
[0054] Fig.11 is a block diagram of an electronic device for implementing the positioning method disclosed herein according to an exemplary embodiment;
[0055] Fig.12 It is a schematic diagram of the structure of the chip of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0056] Embodiments of the present disclosure are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout identify the same or similar originals or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.
[0057] An inertial navigation system is a navigation system that uses inertial elements such as gyroscopes and accelerometers to measure motion status. It has the advantages of strong independence, high precision, and high reliability, and is widely used in aviation, aerospace, ocean, ground and other fields. In the aviation field, inertial navigation systems are widely used in the navigation and attitude control of aircraft, missiles, satellites, etc.; in the ocean field, inertial navigation systems are widely used in the navigation and attitude control of ships, submarines, etc.; in the ground field, inertial navigation systems are widely used in the navigation and attitude control of vehicles, robots, etc. In the field of sports and health, inertial navigation systems are widely used in the navigation and health status identification of watches, bracelets, mobile phones, etc. In this field, the commonly used positioning method is heading calculation, especially the pedestrian heading calculation algorithm.
[0058] Dead reckoning is the process of using a known starting position, combined with an estimate of speed and direction over time, to estimate a future location without any external reference. Extending this concept to human motion, especially walking or running, is pedestrian dead reckoning.
[0059] Pedestrian dead reckoning uses inertial sensing to estimate speed and direction. Sensors such as accelerometers, gyroscopes, and magnetometers detect motion data, such as walking. The basic model includes the number of steps, step length, and direction. If the step length and number of steps are known, the distance can be inferred. Add the direction and you get a complete dead reckoning output result.
[0060] By fusing multiple sensor outputs, the PDR algorithm calculates basic building blocks. This includes step detection, step length, walking direction, and device orientation (e.g., is the phone in hand or in pocket) These basic building blocks are pieced together to determine the overall trajectory. Combined with other outputs about step counting and activity classification (walking, running, or stationary), it can tell how far the user has traveled.
[0061] Currently, due to the cost and size of IMUs in consumer products such as wearable devices and mobile phones, the measurement accuracy of IMUs is relatively low. As time goes by, the cumulative error of INS accuracy derived from IMUs will become larger and larger, which will directly affect the accurate positioning of the equipment.
[0062] Figure 1The present invention is a flow chart of a method for using GNSS and PDR positions to perform Kalman filter fusion and use GNSS position to correct PDR position in the related technology. As shown in the figure, the sensor Sensor in the mobile terminal collects motion data as Sensor data, and the position is derived by PDR algorithm based on the Sensor data. At the same time, after the satellite positioning chip in the mobile terminal obtains the GNSS observation, it calculates the current position of the mobile terminal. The output error of the position derived by PDR and the position observed by GNSS is calculated by Kalman filtering, and the error value is added to the PDR estimated position to obtain the corrected positioning position. However, in the process of Kalman filtering the output error of PDR and GNSS positions, Kalman filtering uses more than ten dimensions of measurement data for calculation. The large matrix in the calculation consumes a lot of system resources, and the calculation process is very time-consuming. At the same time, when the GNSS signal quality is poor, it is difficult to correct the PDR derived position, resulting in a large deviation in the fused position.
[0063] The method proposed in the present disclosure is applied to the task of positioning a mobile terminal, and its application has a wide range of scenarios. For areas with poor satellite signals such as those blocked by tall buildings or passing through tree-lined paths, the positioning method proposed in the present disclosure can significantly improve the positioning accuracy, record the smooth movement trajectory of the mobile terminal, and has a wide range of application scenarios in the fields of sports, health, navigation, etc. The application scenarios are not limited in the embodiments of the present disclosure.
[0064] The positioning method provided by the present application is described in detail below with reference to the accompanying drawings.
[0065] Figure 2 Flow chart of a positioning method according to an embodiment of the present disclosure. The method is applied to a mobile terminal, such as Figure 2 In the embodiment shown, the positioning method includes:
[0066] Step 201: Acquire first motion sensor data and first satellite observation data.
[0067] In this embodiment, the first motion sensor is an integration of various motion sensors in the mobile terminal, including an accelerometer, a gyroscope, a magnetometer, and a barometer. The accelerometer is used to measure the magnitude and direction of the acceleration of the mobile terminal; the gyroscope is used to measure the rotational angular velocity and direction of the mobile terminal; the magnetometer is used to measure the earth's magnetic field and determine the heading angle of the mobile terminal relative to the earth; the barometer is used to measure the atmospheric pressure change and determine the height and climb rate of the mobile terminal according to the atmospheric pressure change. The first satellite is a navigation satellite, which may include the Global Positioning System (GPS), the BeiDou Navigation Satellite System (BDS), the Galileo Global Navigation Satellite System (Galileo), and the Global Navigation Satellite System GLONASS (GLONASS). The first satellite observation data is the total amount of signals from the first satellite received by the positioning chip of the mobile terminal, including the number of satellites searched, the signal strength of each satellite searched, the positioning mode used by the satellite, the number of satellites participating in the current positioning, the pitch angles of satellites participating in the positioning, the horizontal position precision factor, the signal-to-noise ratio, the accuracy and other data.
[0068] Step 202, based on the first motion sensor data, determine a first location estimate of the mobile terminal by pedestrian heading calculation, wherein the first location estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal.
[0069] In this embodiment, the pedestrian heading estimation algorithm uses an inertial measurement unit to sense the acceleration, angular velocity, magnetism, pressure and other data of a person in a beacon-free environment, and uses these data to estimate the step length and direction of the person, thereby achieving the purpose of positioning and tracking the person. The main processes involved are gait detection, step length and direction calculation. The first positioning estimate is: based on the first motion sensor data at each moment, the position estimation data, speed estimation data, time estimation data and attitude estimation data of the mobile terminal at the current moment are obtained by the PDR algorithm. Among them, the position estimation includes longitude and latitude data, and the attitude estimation includes pitch angle and heading angle data.
[0070] Step 203: determine the first satellite signal quality through the first satellite observation data.
[0071] In this embodiment, the first satellite signal quality is an evaluation index of the availability and accuracy of satellites that can be used for positioning and are searched by the mobile terminal. It is mainly affected by the geometric distribution of satellite signals, multipath effects, atmosphere, etc. The first satellite signal quality can be determined through the first satellite observation data.
[0072] Step 204: Determine first positioning data of the mobile terminal according to the first satellite signal quality, based on the first positioning estimate and / or the first satellite observation data.
[0073] In this embodiment, the first positioning data is the positioning data obtained by the mobile terminal through PDR or GNSS, including the position, speed, and attitude of the mobile terminal. According to whether the quality of the first satellite signal meets the preset conditions, the first positioning data of the mobile terminal can be determined using the first positioning estimate and / or the first satellite observation data, thereby providing positioning for the mobile terminal.
[0074] In an implementation of this embodiment, the first satellite signal quality satisfies a first condition, and first positioning data of the mobile terminal is determined based on the first positioning estimate.
[0075] In an implementation of this embodiment, the first satellite signal quality does not meet the first condition, and the first positioning data of the mobile terminal is determined based on the first positioning estimate and the positioning satellite observation data.
[0076] In summary, the positioning method proposed in the present invention solves the problems of large positioning deviation and high power consumption in the operation process when the Kalman filter is integrated with the PDR position, improves the positioning accuracy when the GNSS signal quality is poor, and reduces the power consumption in positioning.
[0077] Figure 3 The present invention is a flowchart of an embodiment of the present invention for determining first positioning data of a mobile terminal according to a first satellite signal quality, based on a first positioning estimate and / or first satellite observation data. Figure 3 Yes Figure 2 Step 204 is further described based on Figure 3 The embodiment shown comprises the following steps:
[0078] Step 301: determine whether the quality of a first satellite signal meets a first condition.
[0079] In this embodiment, the first condition is a judgment condition for the quality of the first satellite signal. The first satellite observation data includes the number of searched satellites, the signal strength of each searched satellite, the positioning mode used by the satellite, the number of satellites participating in the current positioning, the pitch angle of the satellites participating in the positioning, the horizontal position precision factor, the signal-to-noise ratio, the accuracy and other data to judge whether the quality of the first satellite signal is reliable and whether it can be used to accurately provide satellite positioning data for the current mobile terminal.
[0080] Step 302: When the first condition is met, the first positioning estimate is used as the first positioning data.
[0081] In this embodiment, if the quality of the first satellite signal meets the first condition, the positioning of the mobile terminal is the first positioning estimate determined by the PDR. In other words, when the quality of the first satellite signal is very poor and it is difficult to provide accurate positioning data, the positioning estimate data derived by the IMU sensor in the mobile terminal using the PDR algorithm can be directly used as positioning data. This avoids the need to continuously search for satellite signals with weak signal strength and consume a large amount of power, thereby reducing power consumption in positioning.
[0082] In one implementation of this embodiment, the first positioning estimation data in the northeast celestial coordinate system is projected in the northeast celestial coordinate system with the initial positioning as S 0 (E 0 , N 0 ), the angle between the attitude sensor and the direction of the geomagnetic north pole is measured by the attitude sensor in the IMU sensor as θ 1 ; The next frame positioning S measured by the gait sensor in the IMU sensor 1 With S 0 The displacement between 1 ; in S 1 In the frame, the angle with the direction of the geomagnetic north pole is θ 2 .
[0083] Assume that the location of positioning S1 is (E 1 , N 1 ), from which we can know:
[0084]
[0085] So, E 1 =E 0 +d 1 sin(θ 1 ), N 1 =N 0 +d 1 cos(θ 1 ).
[0086] Then you can get the S1 positioning position (E 1 , N 1 ).
[0087] Since the IMU sensor works in real time, each frame collects the angle with the direction of the geomagnetic North Pole. The angle collected by the nth frame with the direction of the geomagnetic North Pole is θ n , the distance d between two adjacent frames n can be calculated by the number of steps recorded by the gait sensor in two frames, so the location of k at any time (Ek , N k ) is located at:
[0088]
[0089]
[0090] Figure 4 The present invention is a flowchart of an embodiment of the present invention for determining first positioning data of a mobile terminal according to a first satellite signal quality, based on a first positioning estimate and / or first satellite observation data. Figure 4 Yes Figure 2 Step 204 is further described based on Figure 4 The embodiment shown comprises the following steps:
[0091] Step 401: determine whether the quality of a first satellite signal satisfies a first condition.
[0092] In this embodiment, the first condition is a judgment condition for the quality of the first satellite signal. The first satellite observation data includes the number of searched satellites, the signal strength of each searched satellite, the positioning mode used by the satellite, the number of satellites participating in the current positioning, the pitch angle of the satellites participating in the positioning, the horizontal position precision factor, the signal-to-noise ratio, the accuracy and other data to judge whether the quality of the first satellite signal is reliable and whether it can be used to accurately provide satellite positioning data for the current mobile terminal.
[0093] Step 402: When the first condition is not met, the first positioning estimate and the first satellite observation data are fused, a first error estimate is determined through Kalman filtering, and the first positioning data is determined based on the first positioning estimate and the first error estimate.
[0094] In this embodiment, if the quality of the first satellite signal does not meet the first condition, it means that the quality of the first satellite signal is excellent, then the first positioning estimate calculated by PDR and the first satellite observation data of GNSS are integrated, and the first error estimate is determined through Kalman filtering; the first positioning data is calculated through the first positioning estimate and the first error estimate.
[0095] In one implementation of this embodiment, the first positioning estimation includes position estimation, speed estimation, attitude estimation, and time estimation. The first positioning estimation calculated by PDR and the first satellite observation data measured by GNSS are integrated to obtain the error between the estimated value and the true value. The error estimation matrix obtained based on the error after Kalman filtering is used as the first error estimate. The elements in the first error estimate are error estimates of each dimensional error. The product of the empirical value of the error coefficient of each dimensional and the corresponding error estimate value and the sum of the corresponding values calculated by PDR can be used as the positioning data of the mobile terminal, that is, the first positioning data.
[0096] In this embodiment, by judging the quality of the first satellite signal, a method for calculating the positioning data of the mobile terminal is determined, so that the position derived from the PDR can be used for positioning when the quality of the GNSS first satellite signal is poor, and the position derived from the PDR can be corrected to obtain accurate positioning when the quality of the GNSS first satellite signal is good. Among them, the judgment of the quality of the first satellite signal is particularly important, and the first condition needs to be met.
[0097] In the present disclosure, Figure 3 and Figure 4 The first condition in the condition includes at least one of the following: the number of satellites searched is less than a first threshold value, preferably, the first threshold value is 20, that is, the number of satellites with which the mobile terminal can successfully establish a communication connection is insufficient, indicating that it is difficult to obtain accurate communication through the satellite; the signal strength of the first number of satellites received in descending order of signal-to-noise ratio is less than a second threshold value, preferably, the first number is 4, that is, the noise component in the signal of the multiple satellites with the best signal among the positioning satellites that have successfully established a communication connection with the mobile terminal is large, indicating that the positioning data provided by the satellite is unreliable; the positioning mode is not a position velocity time (PVT) solution algorithm, a real-time carrier phase difference (RTK) method, or a real-time code phase difference (RTK) method. The number of satellites used for positioning is less than the third threshold, that is, the number of positioning satellites that have successfully established a connection with the positioning module in the mobile terminal is insufficient, and it is difficult to obtain accurate positioning; the pitch angle of the satellite used for positioning is less than the fourth angle, and the number is less than the fourth threshold. Preferably, the fourth threshold is 45°, and the fourth threshold is 8, that is, the satellite used for positioning is not located in the area directly above the space of the mobile terminal, and the angle between the line connecting it and the mobile terminal and the horizon is small, making it difficult to obtain accurate positioning; the precision factor of the satellite used for positioning is greater than the fifth threshold, and preferably, the fifth threshold is 0.8 meters, that is, the positioning accuracy is low, and it is difficult to provide accurate positioning data; the positioning error radius of the satellite used for positioning is greater than the sixth threshold, that is, the positioning error radius of the satellite is large, and it is difficult to provide accurate positioning data.
[0098] Figure 5 This is a flowchart of an embodiment of the present disclosure for fusing a first positioning estimate and first satellite observation data to determine a first error estimate through Kalman filtering. Figure 5 Yes Figure 4 Step 402 is specifically described based on Figure 5 The embodiment shown comprises the following steps:
[0099] Step 501: extract a first observation position, a first observation speed, a first observation time, and a first observation heading from first satellite observation data.
[0100] In this embodiment, the first observation position is the positioning position received by the positioning chip in the mobile terminal, the first observation speed is the moving speed and moving direction received by the positioning chip in the mobile terminal, the first observation time is the time point when the positioning chip in the mobile terminal receives each frame of data, and the first observation heading is the pitch angle and heading angle of the mobile terminal received by the positioning chip in the mobile terminal. The first observation position, the first observation speed, the first observation time and the first observation heading can be extracted from the first satellite observation data.
[0101] Step 502, determining a first error estimate based on the first position estimate and the first observed position, the first observed speed, the first observed time, and the first observed heading.
[0102] In this embodiment, the first error estimate is an estimated error value. The position error, velocity error, attitude error and time error are calculated by combining the position estimate value, velocity estimate value, time estimate value and attitude estimate value of the first positioning estimate with the actual position, velocity, time and heading observed by the GNSS satellite. The position error, velocity error, attitude error and time error are used as an error matrix and processed by Kalman filtering to obtain an estimated error matrix. The elements of the estimated error matrix include values such as position estimation error, velocity estimation error, time estimation error and heading estimation error.
[0103] In this embodiment, more accurate positioning data is provided for positioning of the mobile terminal when the GNSS satellite signal quality is good, thereby improving positioning accuracy, wherein the higher positioning accuracy is obtained by fusing the first positioning estimate and GNSS observation data processing.
[0104] Figure 6 The present invention is a flowchart of determining a first error estimate according to a first positioning estimate and a first observation position, a first observation time and a first observation heading according to an embodiment of the present invention. Figure 6 Yes Figure 5 Step 502 is specifically described based on Figure 6 The embodiment shown comprises the following steps:
[0105] Step 601, determining a position error based on a first position estimate and a first observed position.
[0106] In this embodiment, the first position estimate is a position estimate value obtained by the mobile terminal through PDR calculation, and the position error value is calculated with the first observed position of the GNSS satellite positioning. Optionally, the error value can be calculated by the difference, absolute value or square of the difference between the two. The first position estimate and the first observed position are both composed of longitude and latitude. The position error value is composed of the longitude difference and the latitude difference.
[0107] Step 602, determining a velocity error based on the first velocity estimate and the first observed velocity.
[0108] In this embodiment, the first speed estimate is a speed estimate value obtained by the mobile terminal through PDR calculation, and the speed error value is calculated with the first observed speed of GNSS satellite positioning. The first speed estimate and the first observed speed are both composed of speeds in two directions, taking the east direction in the northeast sky coordinate system as the lateral speed difference, and taking the north direction in the northeast sky coordinate system as the longitudinal speed difference. The speed error is composed of the lateral speed difference and the longitudinal speed difference.
[0109] Step 603: Determine an attitude error based on the first attitude estimate and the first observed heading.
[0110] In this embodiment, the first attitude estimation is an attitude angle estimation value obtained by the mobile terminal through PDR calculation, and an attitude error value is calculated with the first observed heading of GNSS satellite positioning. The first attitude estimation and the first observed heading both include a pitch angle and a heading angle. The pitch angle error is calculated by the pitch angle of the first attitude estimation and the pitch angle of the first observed heading. The heading angle error is calculated by the heading angle of the first attitude estimation and the heading angle of the first observed heading. The pitch angle error and the heading angle error can be used as attitude errors.
[0111] Step 604, determining a time error based on the first time estimate and the first observed time.
[0112] In this embodiment, the first time estimate is a time estimate value obtained by the mobile terminal through PDR calculation, and the time error is calculated with the first observation time of GNSS satellite positioning as the time error between the positioning estimation time and the actual positioning time.
[0113] Step 605, determine a first error estimate through Kalman filtering using the position error, velocity error, attitude error, and time error.
[0114] In this embodiment, after the position error deltaP, the speed error deltaV, the attitude error deltaA, and the time error deltaT are calculated by the above steps, deltaP, deltaV, deltaA, and deltaT are constructed into an error matrix E. The difference matrix E is pre-estimated by Kalman filtering to determine the error estimation matrix K, which is the first error estimate. The error estimation matrix contains the estimated value of the position error deltaP, the estimated value of the speed error deltaV, the estimated value of the attitude error deltaA, and the estimated value of the time error deltaT. According to the error estimation matrix, combined with the position, speed, attitude, and time calculated by PDR, the accurate positioning of the mobile terminal can be obtained. When the quality of the GNSS satellite signal is excellent, the GNSS satellite observation data and the PDR positioning estimation data are integrated to obtain more accurate positioning data.
[0115] Figure 7 Flow chart of a positioning method according to an embodiment of the present disclosure. Figure 7 In the embodiment shown, the motion sensor in the mobile terminal collects sensor data (accelerometer, gyroscope, magnetometer, barometer, etc.), and uses the sensor data to calculate the estimated position through the PDR algorithm. At the same time, the satellite positioning chip in the mobile terminal collects GNSS observations and calculates the position based on the GNSS observations. When the GNSS cannot calculate the position based on the original observations, the PDR position report is used directly; when the GNSS can calculate the output position, the original observations are used to judge the quality of the GNSS signal. The GNSS position is integrated in the PDR, and the two-dimensional plane information of the northeast sky coordinate system is output. The error is output through the Kalman filter, and the positioning information of the mobile terminal can be obtained by adding the error output to the PDR position.
[0116] Figure 8 Schematic diagram of an actual test scenario of a positioning method according to an embodiment of the present disclosure. Figure 8 In the embodiment shown, a stadium is shown in the figure. The stadium is a semi-blocked scene, and the influence of GNSS signal quality on positioning accuracy can be tested by walking around the stadium.
[0117] Fig. 9 The following is a schematic diagram showing the comparison of the positioning method of the embodiment of the present disclosure and the positioning method of the related art on the fusion trajectory. Fig. 9In the embodiment shown, in the left and right figures, the light color is the GNSS positioning trajectory. Due to the presence of occlusion, the GNSS signal quality is poor, and there is a deviation between the GNSS position output and the actual playground runway. The dark color is the positioning trajectory of the PDR fused GNSS position for Kalman filtering output. The left figure shows the positioning trajectory without GNSS signal quality judgment, after Kalman filtering fusion with the PDR derived position; the right figure shows the positioning trajectory after Kalman filtering fusion with the PDR derived position after adding GNSS signal quality judgment. From the comparison of the two figures, it can be seen that the fusion trajectory without GNSS signal quality judgment has a large offset, and the overall trajectory is difficult to match with the actual runway. The fusion trajectory with the addition of GNSS signal quality judgment is consistent with the actual runway. It fully illustrates that adding GNSS signal quality judgment can improve the accuracy of positioning.
[0118] The first motion sensor data and the first satellite observation data are obtained to provide a data source for positioning calculation; based on the first motion sensor data, a first positioning estimate of the mobile terminal is determined by pedestrian heading calculation to obtain the current position of the mobile terminal; the first satellite signal quality is determined by the first satellite observation data to provide a judgment basis for the selection of the positioning method; according to the first satellite signal quality, based on the first positioning estimate and / or the first satellite observation data, the first positioning data of the mobile terminal is determined, which solves the problems of large positioning deviation and high power consumption of the operation process when the Kalman filter fuses the PDR position, improves the positioning accuracy when the GNSS signal quality is poor, and reduces the power consumption in positioning.
[0119] Corresponding to the methods provided in the above-mentioned embodiments, the present disclosure also provides a positioning device. Since the device provided in the embodiment of the present disclosure corresponds to the methods provided in the above-mentioned embodiments, the implementation method of the method is also applicable to the device provided in this embodiment and will not be described in detail in this embodiment.
[0120] Fig.10 FIG. 1 is a schematic diagram of a positioning device 1000 according to an embodiment of the present disclosure. The device is applied to a mobile terminal, such as Fig.10 As shown, the positioning device comprises:
[0121] An acquisition module 1010 is used to acquire first motion sensor data and first satellite observation data;
[0122] A position determination module 1020, configured to determine a first position estimate of the mobile terminal by pedestrian heading dead reckoning based on the first motion sensor data, wherein the first position estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal;
[0123] A signal determination module 1030, configured to determine a first satellite signal quality through first satellite observation data;
[0124] The positioning determination module 1040 is used to determine first positioning data of the mobile terminal based on the first satellite signal quality, the first positioning estimate and / or the first satellite observation data.
[0125] In some embodiments, the location determination module 1040 is used to:
[0126] Determining whether the quality of the first satellite signal meets a first condition;
[0127] When the first condition is met, the first positioning estimate is used as the first positioning data;
[0128] In some embodiments, the location determination module 1040 is further configured to:
[0129] Determining whether the quality of the first satellite signal meets a first condition;
[0130] When the first condition is not met, the first positioning estimate and the first satellite observation data are fused, a first error estimate is determined through Kalman filtering, and the first positioning data is determined based on the first positioning estimate and the first error estimate.
[0131] In some embodiments, the first condition includes at least one of the following:
[0132] The number of satellites found is less than the first threshold.
[0133] The received signal strengths of the first number of satellites arranged in descending order of signal-to-noise ratio are less than a second threshold,
[0134] The positioning mode is not any of the position velocity time solution algorithm, real-time carrier phase difference, and real-time code phase difference.
[0135] The number of satellites searched for positioning is less than a third threshold,
[0136] The number of satellites used for positioning whose elevation angles are smaller than a fourth angle is smaller than a fourth threshold,
[0137] The precision factor of the satellite used for positioning is greater than the fifth threshold,
[0138] The positioning error radius of the satellite used for positioning is greater than a sixth threshold.
[0139] In some embodiments, the positioning determination module 1040 fuses the first positioning estimate and the first satellite observation data in the following manner to determine the first error estimate through Kalman filtering:
[0140] Extracting a first observation position, a first observation speed, a first observation time, and a first observation heading from the first satellite observation data;
[0141] A first error estimate is determined based on the first position estimate and the first observed position, the first observed velocity, the first observed time, and the first observed heading.
[0142] In some embodiments, the positioning determination module 1040 determines the first error estimate based on the first positioning estimate and the first observed position, the first observation time, and the first observed heading in the following manner:
[0143] determining a position error based on the first position estimate and the first observed position;
[0144] determining a velocity error based on the first velocity estimate and the first observed velocity;
[0145] determining an attitude error based on the first attitude estimate and the first observed heading;
[0146] determining a time error based on the first time estimate and the first observed time;
[0147] The first error estimate is determined by Kalman filtering through position error, velocity error, attitude error, and time error.
[0148] In summary, the first motion sensor data and the first satellite observation data are obtained through the positioning device; based on the first motion sensor data, the first positioning estimate of the mobile terminal is determined by pedestrian heading calculation, wherein the first positioning estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal; the first satellite signal quality is determined through the first satellite observation data; according to the first satellite signal quality, the first positioning data of the mobile terminal is determined based on the first positioning estimate and / or the first satellite observation data. This device solves the problems of large positioning deviation when the Kalman filter fuses the PDR position and high power consumption during the operation process, improves the positioning accuracy when the GNSS signal quality is poor, and reduces the power consumption in positioning.
[0149] In the embodiments provided in the present application, the methods and devices provided in the embodiments of the present application are introduced. In order to implement the functions in the methods provided in the embodiments of the present application, the electronic device may include a hardware structure and a software module, and implement the functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. A function of the functions may be executed in the form of a hardware structure, a software module, or a hardware structure plus a software module.
[0150] Fig.11 is a block diagram of an electronic device 1100 for implementing the above positioning method according to an exemplary embodiment.
[0151] For example, the electronic device 1100 may be a mobile phone, a computer, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.
[0152] Reference Fig.11 , the electronic device 1100 may include one or more of the following components: a processing component 1102 , a memory 1104 , a power component 1106 , a multimedia component 1108 , an audio component 1110 , an input / output (I / O) interface 1112 , a sensor component 1114 , and a communication component 1116 .
[0153] The processing component 1102 generally controls the overall operation of the electronic device 1100, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 1102 may include one or more processors 1120 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 1102 may include one or more modules to facilitate the interaction between the processing component 1102 and other components. For example, the processing component 1102 may include a multimedia module to facilitate the interaction between the multimedia component 1108 and the processing component 1102.
[0154] The memory 1104 is configured to store various types of data to support operations on the electronic device 1100. Examples of such data include instructions for any application or method operating on the electronic device 1100, contact data, phone book data, messages, pictures, videos, etc. The memory 1104 may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.
[0155] The power supply component 1106 provides power to various components of the electronic device 1100. The power supply component 1106 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 1100.
[0156] The multimedia component 1108 includes a screen that provides an output interface between the electronic device 1100 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1108 includes a front camera and / or a rear camera. When the electronic device 1100 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0157] The audio component 1110 is configured to output and / or input audio signals. For example, the audio component 1110 includes a microphone (MIC), and when the electronic device 1100 is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 1104 or sent via the communication component 1116. In some embodiments, the audio component 1110 also includes a speaker for outputting audio signals.
[0158] I / O interface 1112 provides an interface between processing component 1102 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0159] The sensor assembly 1114 includes one or more sensors for providing various aspects of status assessment for the electronic device 1100. For example, the sensor assembly 1114 can detect the open / closed state of the electronic device 1100, the relative positioning of components, such as the display and keypad of the electronic device 1100, and the sensor assembly 1114 can also detect the position change of the electronic device 1100 or a component of the electronic device 1100, the presence or absence of user contact with the electronic device 1100, the orientation or acceleration / deceleration of the electronic device 1100, and the temperature change of the electronic device 1100. The sensor assembly 1114 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 1114 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1114 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0160] The communication component 1116 is configured to facilitate wired or wireless communication between the electronic device 1100 and other devices. The electronic device 1100 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, 4G LTE, 5G NR (NewRadio) or a combination thereof. In an exemplary embodiment, the communication component 1116 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component A16 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0161] In an exemplary embodiment, the electronic device 1100 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.
[0162] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 1104 including instructions, and the instructions can be executed by a processor 1120 of the electronic device 1100 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0163] The embodiments of the present disclosure further provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the positioning method described in the above embodiments of the present disclosure.
[0164] Fig.12 is a schematic structural diagram of a chip 1200 for implementing the above positioning method according to an exemplary embodiment.
[0165] Reference Fig.12 The chip 1200 includes at least one communication interface 1201 and a processor 1202; the communication interface 1201 is used to receive a signal input to the chip 1200 or a signal output from the chip 1200, and the processor 1202 communicates with the communication interface 1201 and implements the positioning method described in the above embodiment through a logic circuit or executing code instructions.
[0166] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0167] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples" or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0168] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present disclosure includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present disclosure belong.
[0169] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processing module, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (control method), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or otherwise processing in a suitable manner if necessary, and then stored in a computer memory.
[0170] It should be understood that the various parts of the embodiments of the present disclosure can be implemented by hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0171] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0172] In addition, each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. The above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0173] Although the embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present disclosure. A person skilled in the art may make changes, modifications, substitutions and variations to the above embodiments within the scope of the present disclosure.
Claims
1. A positioning method, characterized in that: The method comprises: Acquiring first motion sensor data and first satellite observation data; Determining a first location estimate of the mobile terminal by pedestrian heading dead reckoning based on the first motion sensor data, wherein the first location estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal; Determine a first satellite signal quality using the first satellite observation data; Determine first positioning data for the mobile terminal according to the first satellite signal quality, based on the first positioning estimate and / or the first satellite observation data.
2. The method according to claim 1, characterized in that The determining, according to the first satellite signal quality, the first positioning estimate and / or the first satellite observation data, the first positioning data of the mobile terminal comprises: Determining whether the quality of the first satellite signal meets a first condition; When the first condition is met, the first positioning estimate is used as the first positioning data.
3. The method according to claim 1, characterized in that The determining, according to the first satellite signal quality, the first positioning estimate and / or the first satellite observation data, the first positioning data of the mobile terminal comprises: Determining whether the quality of the first satellite signal meets a first condition; If the first condition is not met, the first positioning estimate and the first satellite observation data are fused, a first error estimate is determined through Kalman filtering, and the first positioning data is determined based on the first positioning estimate and the first error estimate.
4. The method according to claim 2 or 3, characterized in that: The first condition includes at least one of the following: The number of satellites found is less than the first threshold. The received signal strengths of the first number of satellites arranged in descending order of signal-to-noise ratio are less than a second threshold, The positioning mode is not any of position velocity time solution, real-time carrier phase difference, and real-time code phase difference. The number of satellites searched for positioning is less than a third threshold, The number of satellites used for positioning whose elevation angles are less than a fourth angle is less than a fourth threshold, The precision factor of the satellite used for positioning is greater than a fifth threshold, The positioning error radius of the satellite used for positioning is greater than a sixth threshold.
5. The method according to claim 3, characterized in that: The fusing the first positioning estimate and the first satellite observation data to determine a first error estimate by Kalman filtering includes: Extracting a first observation position, a first observation speed, a first observation time, and a first observation heading from the first satellite observation data; The first error estimate is determined based on the first position estimate and the first observed position, the first observed velocity, the first observation time, and the first observed heading.
6. The method according to claim 5, characterized in that Determining the first error estimate according to the first location estimate and the first observation position, the first observation time, and the heading information includes: determining a position error based on the first position estimate and the first observed position; determining a velocity error based on the first velocity estimate and the first observed velocity; determining an attitude error based on the first attitude estimate and the first observed heading; determining a time error based on the first time estimate and the first observed time; The first error estimate is determined by Kalman filtering using the position error, the velocity error, the attitude error, and the time error.
7. A positioning device, characterized in that: The device comprises: An acquisition module, used for acquiring first motion sensor data and first satellite observation data; a position determination module, configured to determine a first position estimate of the mobile terminal by pedestrian heading dead reckoning based on the first motion sensor data, wherein the first position estimate includes a first position estimate, a first speed estimate, a first time estimate, and a first attitude estimate representing the mobile terminal; A signal determination module, configured to determine a first satellite signal quality based on the first satellite observation data; A positioning determination module is used to determine first positioning data of the mobile terminal according to the first satellite signal quality, based on the first positioning estimate and / or the first satellite observation data.
8. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-6.
10. A chip, characterized in that: It includes at least one processor and a communication interface; the communication interface is used to receive a signal input to the chip or a signal output from the chip, and the processor communicates with the communication interface and implements the method according to any one of claims 1-6 through a logic circuit or executing code instructions.