An indoor positioning method, device, mobile terminal and storage medium
By fusing acceleration, angular velocity, and altitude data in mobile terminals, and combining pseudo-satellite and indoor map information, the problem of poor indoor positioning accuracy of GNSS signals was solved, achieving high-precision indoor positioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
- Filing Date
- 2022-02-10
- Publication Date
- 2026-06-23
AI Technical Summary
GNSS signals are difficult to receive indoors, resulting in poor indoor positioning accuracy, especially the pseudorange single-point positioning accuracy and vertical positioning accuracy of pseudosatellites.
By acquiring acceleration, angular velocity, and altitude data from mobile terminals, and combining this with pseudorange observations from pseudosatellites, data fusion is performed using an inertial measurement unit and a barometer to predict and correct the state, and positioning is achieved by combining this with indoor map information.
It improves the accuracy and reliability of pseudo-satellite indoor positioning, enhances the accuracy of altitude estimation, solves the accuracy problem of indoor positioning, and achieves accurate positioning of mobile terminals.
Smart Images

Figure CN116625362B_ABST
Abstract
Description
Technical Field
[0001] This application relates to positioning technology, and more particularly to an indoor positioning method, device, mobile terminal, and storage medium. Background Technology
[0002] Global Navigation Satellite System (GNSS) positioning technology provides convenient location services and has been widely used in many fields, becoming an indispensable technology for people's daily travel. However, due to the difficulty in receiving GNSS signals indoors, the problem of accurate indoor positioning has remained unsolved.
[0003] A pseudosatellite is a ground-based wireless device that transmits GNSS-like signals to achieve indoor positioning in a manner similar to outdoor GNSS positioning. However, indoor pseudorange observations are subject to severe multipath interference, resulting in poor single-point pseudorange positioning accuracy. Furthermore, the inherently large vertical geometric accuracy factor of the pseudosatellite's spatial layout contributes to its poor vertical positioning accuracy. Summary of the Invention
[0004] To address the aforementioned technical problems, embodiments of this application aim to provide an indoor positioning method, device, mobile terminal, and storage medium.
[0005] The technical solution of this application is implemented as follows:
[0006] Firstly, an indoor positioning method is provided, including:
[0007] Acquire a first type of data and a second type of data collected by the sensor system of the mobile terminal; wherein the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and a first height;
[0008] Based on the first type of data, the state of the mobile terminal at the target time is predicted to obtain the first state information of the mobile terminal.
[0009] Based on the second type of data, a height estimation is performed to obtain the second height of the mobile terminal;
[0010] Obtain pseudorange observations of pseudosatellites in a pseudosatellite system; wherein the pseudosatellite system includes at least four pseudosatellites;
[0011] Based on the first altitude, the second altitude, and the pseudorange observation, the first state information is corrected to obtain the second state information of the mobile terminal.
[0012] The mobile terminal is positioned indoors based on the second status information and indoor map information.
[0013] Secondly, an indoor positioning device is provided, the device comprising:
[0014] The first acquisition unit is used to acquire a first type of data and a second type of data collected by the sensor system of the mobile terminal; wherein the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and a first height;
[0015] A state prediction unit is used to predict the state of the mobile terminal at a target time based on the first type of data, and obtain the first state information of the mobile terminal.
[0016] A height estimation unit is used to perform height estimation based on the second type of data to obtain the second height of the mobile terminal;
[0017] The second acquisition unit is used to acquire the pseudorange observation values of pseudosatellites in the pseudosatellite system; wherein the pseudosatellite system includes at least four pseudosatellites;
[0018] A state correction unit is used to perform state correction on the first state information based on the first altitude, the second altitude and the pseudorange observation value to obtain the second state information of the mobile terminal.
[0019] The positioning unit is used to perform indoor positioning of the mobile terminal based on the second status information and indoor map information.
[0020] Thirdly, a mobile terminal is provided, comprising: a processor and a memory configured to store a computer program capable of running on the processor, and a sensor system.
[0021] Wherein, the processor is configured to execute the steps of the aforementioned method when running the computer program.
[0022] Fourthly, a computer-readable storage medium is provided having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the aforementioned method.
[0023] This application provides an indoor positioning method, device, mobile terminal, and storage medium. The method includes: acquiring a first type of data and a second type of data collected by the sensor system of the mobile terminal; wherein the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and a first altitude; predicting the state of the mobile terminal at a target time based on the first type of data to obtain first state information of the mobile terminal; estimating the altitude based on the second type of data to obtain a second altitude of the mobile terminal; acquiring pseudorange observations of pseudosatellites in a pseudosatellite system; wherein the pseudosatellite system includes at least four pseudosatellites; performing state correction on the first state information based on the first altitude, the second altitude, and the pseudorange observations to obtain second state information of the mobile terminal; and performing indoor positioning of the mobile terminal based on the second state information and indoor map information. Thus, by fusing multi-source data collected by the sensor system, the accuracy and reliability of indoor positioning using pseudosatellites are improved, while the continuity and output frequency of the positioning results from the pseudosatellite system are also enhanced. In particular, utilizing the second altitude (which combines the acceleration measured by the accelerometer and the first altitude measured by the barometer) can compensate for the adverse effects of the large vertical geometric accuracy factor of the pseudo-satellite layout on altitude positioning, improve the accuracy of altitude estimation, and thus improve the accuracy of floor positioning. Attached Figure Description
[0024] Figure 1 This is a flowchart illustrating the indoor positioning method in an embodiment of this application;
[0025] Figure 2 This is a schematic diagram showing the indoor positioning location in an embodiment of this application;
[0026] Figure 3 This is a schematic diagram of the overall framework of the indoor positioning method implemented in the embodiments of this application.
[0027] Figure 4 This is a schematic diagram of the composition of the indoor positioning device in the embodiments of this application;
[0028] Figure 5 This is a schematic diagram of the composition structure of the mobile terminal in an embodiment of this application. Detailed Implementation
[0029] In order to gain a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for reference and illustration only and are not intended to limit the embodiments of this application.
[0030] Global Navigation Satellite System (GNSS) is a radio navigation system capable of global positioning. It mainly includes GPS, Galileo, GLONASS, and BeiDou.
[0031] A pseudosatellite (PL), also known as a "ground satellite," is a GNSS-like signal transmitter deployed on the ground. It can assist GNSS positioning in complex environments or provide standalone indoor positioning in environments where GNSS is denied, such as indoors. Because pseudosatellites transmit signals similar to GPS and operate on GPS frequencies, a user's GPS receiver can be used to simultaneously receive both GPS and pseudosatellite signals without the need for a separate pseudosatellite receiver. Ground-based pseudosatellite stations not only enhance regional GPS satellite navigation and positioning systems but also improve the reliability and anti-interference capabilities of satellite positioning systems.
[0032] Indoor pseudorange observations from pseudosatellites suffer from severe multipath interference, resulting in poor single-point positioning accuracy. Furthermore, the inherently large vertical geometric accuracy factor of the pseudosatellite spatial layout further contributes to poor vertical positioning accuracy. Therefore, to improve indoor positioning accuracy, this application provides an indoor positioning method. Figure 1 This is a flowchart illustrating the indoor positioning method in an embodiment of this application, as shown below. Figure 1 As shown, the method may specifically include:
[0033] Step 101: Acquire the first type of data and the second type of data collected by the sensor system of the mobile terminal; wherein, the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and first height;
[0034] For example, the sensor system includes an accelerometer for detecting acceleration, a gyroscope for detecting angular velocity, and a barometer for detecting altitude.
[0035] Specifically, the sensor system includes an inertial measurement unit (IMU) and a barometer; the IMU is used to acquire the acceleration and angular velocity of the mobile terminal; the barometer is used to acquire the first height of the mobile terminal. Here, an inertial measurement unit (IMU) is a device used to measure the acceleration and angular velocity of an object, and generally includes a three-axis accelerometer and a three-axis gyroscope.
[0036] Step 102: Based on the first type of data, predict the state of the mobile terminal at the target time to obtain the first state information of the mobile terminal;
[0037] Here, the state of the mobile terminal includes one or more pieces of information characterizing the mobile terminal's movement state, such as position, speed, and attitude. For example, the preset state prediction unit uses the first type of data to perform state prediction, obtaining predicted state information (i.e., first state information).
[0038] For example, in some embodiments, predicting the state of the mobile terminal at a target time based on the first type of data to obtain the first state information of the mobile terminal includes: obtaining the second state information of the mobile terminal after state correction at a reference time; and predicting the state of the mobile terminal at the current time based on the second type of data and the second state information at the reference time to obtain the first state information of the mobile terminal at the target time.
[0039] Since mobile terminals have certain motion patterns, using the second state information of the reference time to predict the state of the target time can improve the prediction accuracy and reduce the prediction difficulty. Here, the target time can be the current time, and the reference time can be the previous time.
[0040] Step 103: Based on the second type of data, perform height estimation to obtain the second height of the mobile terminal;
[0041] Here, based on the pseudo-satellite indoor positioning, a second altitude is obtained by fusing the acceleration data collected by the accelerometer with the first altitude data collected by the barometer. This second altitude, as the altitude estimated by the first information fusion, is then used for a second information fusion during state correction. This second altitude compensates for the adverse effects of the large vertical geometric accuracy factor of the pseudo-satellite layout, improves the system's vertical positioning accuracy, and overcomes the problem of poor vertical positioning accuracy caused by pseudo-satellites.
[0042] For example, in some embodiments, the step of estimating the height based on the second type of data to obtain the second height of the mobile terminal includes: removing the bias from the Z-axis acceleration in the acceleration and integrating it twice to obtain the Z-axis height corresponding to the acceleration; and fusing the Z-axis height and the first height based on a first weight to obtain the second height.
[0043] Step 104: Obtain pseudorange observations of pseudosatellites in the pseudosatellite system; wherein the pseudosatellite system includes at least four pseudosatellites;
[0044] For example, in some embodiments, after obtaining the pseudorange observations of pseudosatellites in the pseudosatellite system, the method further includes: calculating the normalized innovation of the pseudorange observations; when the normalized innovation is less than an innovation threshold, determining to use the pseudorange measurement for state correction; when the normalized innovation is greater than or equal to the innovation threshold, determining not to use the pseudorange measurement for state correction.
[0045] Here, when the normalized innovation is less than the innovation threshold, the pseudorange observation is considered to be subject to relatively low multipath interference or measurement noise, and can be used for state correction. When the innovation is greater than the threshold, the pseudorange observation is considered to be subject to relatively high multipath interference or measurement noise, and should not be used for state correction. Removing pseudorange observations with high multipath interference or measurement noise ensures the accuracy of state correction.
[0046] For example, in some embodiments, the method further includes: decreasing the innovation threshold when the normalized innovation is less than the innovation threshold; and increasing the innovation threshold when the normalized innovation is greater than or equal to the innovation threshold.
[0047] Here, decreasing the innovation threshold relaxes the conditions for using pseudorange observations, preventing them from being excluded from state correction and thus reducing the accuracy of state information measurement. Increasing the innovation threshold tightens the conditions for using pseudorange observations, preventing situations where the conditions fail to eliminate pseudorange observations with multipath interference or high measurement noise, thereby reducing the accuracy of state information measurement.
[0048] For example, when any normalized refresh rate is less than the refresh rate threshold, the refresh rate threshold is decreased; or when two or more normalized refresh rates are less than the refresh rate threshold, the refresh rate threshold is decreased. When any normalized refresh rate is greater than or equal to the refresh rate threshold, the refresh rate threshold is increased; or when two or more normalized refresh rates are greater than or equal to the refresh rate threshold, the refresh rate threshold is increased.
[0049] In practical applications, the innovation threshold can be increased or decreased according to a preset step size. Furthermore, the number of times the innovation threshold can be adjusted or the adjustment range of the innovation threshold can be set. When the number of adjustments or the adjustment range is exceeded, the adjustment stops, and when the number of adjustments or the adjustment range is exceeded, the innovation threshold is restored to the initial value.
[0050] Step 105: Perform state correction on the first state information based on the first altitude, the second altitude, and the pseudorange observation value to obtain the second state information of the mobile terminal;
[0051] For example, the preset state correction unit integrates the first altitude, second altitude, and pseudorange observations with the first state information to perform state correction, obtaining corrected state information (i.e., second state information). The accuracy of the second state information is higher than that of the first state information. Using the second state information for indoor positioning can improve the accuracy and reliability of pseudosatellite indoor positioning, while also improving the continuity of the system positioning results and the output frequency.
[0052] For example, in some embodiments, the step of performing state correction on the first state information based on the first height, the second height, and the pseudorange observation to obtain the second state information of the mobile terminal includes: performing pseudorange single-point positioning based on the pseudorange observation to obtain the initial position of the mobile terminal; determining error information corresponding to the first state information based on the first height, the pseudorange observation, and the initial position; correcting the first state information based on the error information to obtain the second state information; and correcting the height in the second state information based on the second height to obtain the final height in the second state information.
[0053] For example, in some embodiments, the step of correcting the height in the second state information based on the second height to obtain the final height in the second state information includes: fusing the second height and the height in the second state information based on a second weight to obtain the final height.
[0054] For example, the first state information includes: a first position, a first velocity, a first attitude, and a first bias of the sensor; the second state information includes: a second position, a second velocity, a second attitude, and a second bias of the sensor; wherein the first position and the second position include a horizontal position and a height.
[0055] It should be noted that the first state information and the second state information are all the information obtained from state prediction and state correction. However, when performing positioning applications, some information in the second state information can be used, such as displaying the position and attitude information on a map to the user.
[0056] Step 106: Perform indoor positioning of the mobile terminal based on the second status information and indoor map information.
[0057] In some embodiments, the indoor map information is also used to constrain and correct the height in the second state information to obtain corrected height information. Specifically, the indoor map information includes a floor height range, constraining the height in the second state information to a normal height range. For example, each floor corresponds to a normal height range of [hi, hi+C1]. If the height is not within the normal height range, it is corrected to that range.
[0058] Specifically, the indoor positioning of the mobile terminal based on the second state information and indoor map information includes: constraining the height of the second position in the second state information based on the indoor map information, and determining the current floor of the mobile terminal; and determining the activity area and direction of the mobile terminal in the area distribution information of the current floor based on the horizontal position and the second posture of the second position in the second state information.
[0059] Here, the indoor map information includes the range of each floor as [hi, hi+C2], and the regional distribution information of each floor. The second orientation includes the direction angle. The current floor is determined based on the floor range of its height, the location area within the current floor is determined based on its horizontal position, and the direction is determined based on the direction angle. For example... Figure 2 As shown, even if the plane position is the same, the mobile device can still display the activity area of the mobile device differently when it is on different floors.
[0060] By employing the above technical solution, the accuracy of altitude estimation is enhanced through multi-source information fusion of pseudosatellites, inertial measurement units, barometers, and indoor map information, thus solving the problem of accurate indoor positioning. For complex indoor environments such as large shopping malls, underground parking lots, hospitals, office buildings, and museums, the deployed pseudosatellite system, along with the inertial measurement unit, barometer, and pseudosatellite receiver carried by the mobile device, can accurately estimate the horizontal position, altitude, and orientation of the mobile device. Combined with indoor map information, the floor level of the mobile device can be estimated, and its specific area, location, and orientation on the map can be displayed, enabling location guidance between different floors and areas within the building.
[0061] The above-mentioned state prediction and state correction can be fused from multiple sources using filtering methods such as Error State Extended Kalman Filter (ESKF), Extended Kalman Filter (EKF), and Unscented Kalman Filter (UKF), or optimization algorithms such as Levenberg-Marquardt nonlinear optimization (LM).
[0062] The following example illustrates how the ESKF framework enables state prediction and state correction through multi-source information fusion. Figure 3 This is a schematic diagram of the overall framework of the indoor positioning method implemented in this application embodiment. Figure 3 As shown, the main components include altitude estimation, pseudorange point positioning, state prediction, state correction, and map display. Figure 3 (Not shown in the image). An Error Extended Kalman Filter (ESKF) framework is employed to achieve multi-source information fusion. High-frequency IMU data is used for state prediction based on the system's process model, while low-frequency barometer and pseudosatellite data are used for state correction based on the system's observation model. Map information is then used to constrain altitude estimation during state correction. In addition, accelerometers and barometers are used for local altitude estimation, and pseudorange single-point positioning is used to obtain a coarse position estimate for the mobile device. The specific steps of the entire pseudosatellite indoor navigation scheme are as follows:
[0063] S1: State Prediction
[0064] Based on the mobile device's location p k Speed v k Posture q k (Parameterization using quaternions) and accelerometer bias gyroscope bias Barometer bias As the first state information to be predicted, the angular velocity a measured by the IMU will be used. k and acceleration ω k Information serves as the input to the system, and the system's state is predicted based on the system's process model.
[0065] The ESKF framework divides the system's state into a large nominal state and a small error state. The system's nominal state is... The first state information obtained from the prediction is used to make predictions using the following process model.
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072] Where the superscript "v" indicates the predicted state, the superscript "^" indicates the corrected state, and g is the gravitational acceleration vector. R(q) represents the state derived from the quaternion q = [q w q v ] T The resulting rotation matrix. Ω(q) represents the right-multiplication matrix corresponding to the quaternion q, and q(θ) represents the quaternion obtained by the rotation vector θ.
[0073] Calculate the covariance matrix of the first state information
[0074] Among them, F k-1 Let L be the error state transition matrix. k-1 This is the process noise matrix. Q k-1 Let be the covariance matrix of the process noise.
[0075]
[0076] Where, σ acc_x ,σ acc_y ,σ acc_z These represent the measurement accuracy of the triaxial accelerometer, σ and σ', respectively. gyro_x ,σ gyro_y ,σ gyro_z These represent the measurement accuracy of the three-axis gyroscope, σ and σ', respectively. baro This indicates the measurement accuracy of the barometer.
[0077] S2: Height estimation
[0078] By locally fusing measurements from the accelerometer and barometer, the altitude can be estimated separately initially. A complementary filter is used to integrate the bias-removed Z-axis acceleration twice to obtain the altitude. The first altitude measured by the barometer (which can be relative altitude) The second height is obtained by fusing according to the weight α (0≤α≤1). Where h0 is the initial height measured by the barometer.
[0079] S3: Pseudorange Single-Point Positioning
[0080] When there are enough visible pseudosatellites (4 or more), pseudorange single-point positioning can be performed to obtain a coarse position p of the mobile device. LS There are many algorithms related to pseudorange point localization; here, the classic least squares method is used. However, other localization algorithms such as Taylor series and LM optimization can also be employed.
[0081] S4: State Correction
[0082] The system's observation information consists of barometer altitude measurements and pseudorange measurements from pseudosatellites. Furthermore, when conditions are met for pseudorange point positioning, the calculated coarse position p is used. LS It also serves as the system's observation information. Relative to the pseudorange measurements of the pseudosatellites, p LS This can be viewed as a stronger form of constraint information. Therefore, the observation model of the system is:
[0083]
[0084] Among them, v k The observation noise is assumed to be Gaussian white noise, and its covariance matrix is: Where Φ LS The coarse position estimate p obtained from pseudorange single-point localization LS The covariance matrix. Based on the system's observation model, the corresponding Jacobian matrix H can be calculated. k .
[0085] (1) Calculate the Kalman gain matrix
[0086] (2) The error state of the system is That is, the error information corresponding to the first state information, where δθ k It is a 3x1 attitude angle error vector.
[0087] The error state is calculated based on the altitude measurement from the barometer, the pseudorange measurement from the pseudosatellite, and the rough position obtained from pseudorange point positioning.
[0088] (3) Calculate the normalized information of pseudorange measurements Among them, Y k , R k Only the portion corresponding to the pseudorange measurement is calculated. The normalized innovation *in* is compared with the set innovation threshold *th*. test Compare them.
[0089] (a) When the normalized innovation is less than the threshold, it can be considered that the pseudorange observation is subject to relatively small multipath interference or measurement noise, and the pseudorange observation can be used for state correction and to update the dynamic innovation threshold th. test That is, to reduce it by a change amount th succeed (0≤th succeed ≤1);
[0090] (b) When the normalized innovation is greater than the threshold, it can be considered that the pseudorange observation is subject to significant multipath interference or measurement noise. Therefore, the pseudorange observation should not be used for state correction, and the dynamic innovation threshold th should be updated. test That is, to increase it by a change amount th fail (0≤th fail ≤1).
[0091] (4) Perform state correction Obtain the corrected state information in This represents a compound operator, where the quaternion part of the state is combined using quaternion multiplication, and the other parts are combined using linear addition.
[0092] (5) Calculate the covariance matrix of the corrected state information. Will and Used for state estimation at the next time step.
[0093] (6) The second altitude obtained by partially fusing the accelerometer and barometer The height estimated by ESKF The final corrected height is obtained by fusing the data using a complementary filter method with weights β (0 ≤ β ≤ 1).
[0094] (7) Based on the final state obtained through fusion and combined with indoor map information, estimate the current floor of the mobile device, on the one hand, for height. On the one hand, it performs constraints and corrections, and on the other hand, based on the specific regional distribution information of the current floor, it provides the current activity area of the mobile terminal, as well as its location and direction.
[0095] This technical solution proposes a pseudo-satellite indoor fusion positioning method to enhance altitude estimation, and the resulting benefits include the following aspects:
[0096] (1) By integrating the measurement information of accelerometer and barometer, the adverse effects caused by the large vertical geometric accuracy factor of pseudo-satellite layout are compensated, and the problem of poor vertical positioning accuracy of pseudo-satellites is overcome.
[0097] (2) By setting a dynamic information threshold, pseudorange observations can be detected and judged, thereby eliminating abnormal pseudorange observations caused by excessive multipath interference.
[0098] (3) By fusing multi-source information with inertial measurement unit and barometer, the accuracy and reliability of pseudo-satellite positioning are improved, and the continuity and output frequency of pseudo-satellite system positioning results are also improved.
[0099] (4) By combining indoor map information to estimate the current floor of the mobile terminal, on the one hand, the estimated height can be constrained, and on the other hand, the location guidance between different floors and different areas in the room can be realized based on the specific regional distribution information of the floor.
[0100] To implement the method of the embodiments of this application, based on the same inventive concept, the embodiments of this application also provide an indoor positioning device, such as... Figure 4 As shown, the device 40 includes:
[0101] Sensor system 401 is used to acquire a first type of data and a second type of data from a mobile terminal; wherein the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and a first height;
[0102] The state prediction unit 402 is used to predict the state of the mobile terminal at the target time based on the first type of data, and obtain the first state information of the mobile terminal.
[0103] The height estimation unit 403 is used to perform height estimation based on the second type of data to obtain the second height of the mobile terminal;
[0104] Acquisition unit 404 is used to acquire pseudorange observations of pseudosatellites in a pseudosatellite system; wherein, the pseudosatellite system includes at least four pseudosatellites;
[0105] The state correction unit 405 is used to perform state correction on the first state information based on the first altitude, the second altitude and the pseudorange observation value to obtain the second state information of the mobile terminal; and to perform indoor positioning on the mobile terminal based on the second state information and indoor map information.
[0106] For example, in some embodiments, the state prediction unit 402 is used to obtain the second state information of the mobile terminal after state correction at a reference time; based on the second type of data and the second state information at the reference time, predict the state of the mobile terminal at the current time to obtain the first state information of the mobile terminal at the target time.
[0107] For example, in some embodiments, the height estimation unit 403 is used to remove the bias from the Z-axis acceleration in the acceleration and then integrate it twice to obtain the Z-axis height corresponding to the acceleration; and to fuse the Z-axis height and the first height based on a first weight to obtain the second height.
[0108] For example, in some embodiments, the state correction unit 405 is further configured to calculate the normalized innovation of the pseudorange observation; when the normalized innovation is less than the innovation threshold, it is determined that the pseudorange measurement is used for state correction; when the normalized innovation is greater than or equal to the innovation threshold, it is determined that the pseudorange measurement is not used for state correction.
[0109] For example, in some embodiments, the state correction unit 405 is further configured to decrease the innovation threshold when the normalized innovation is less than the innovation threshold, and increase the innovation threshold when the normalized innovation is greater than or equal to the innovation threshold.
[0110] For example, in some embodiments, the device 40 further includes: a pseudorange point positioning unit, used to perform pseudorange point positioning based on the pseudorange observation value to obtain the initial position of the mobile terminal;
[0111] Correspondingly, the state correction unit 405 is used to determine error information corresponding to the first state information based on the first height, the pseudorange observation value, and the initial position; correct the first state information based on the error information to obtain the second state information; and correct the height in the second state information based on the second height to obtain the final height in the second state information.
[0112] For example, in some embodiments, the first state information includes: a first position, a first velocity, a first attitude, and a first bias of the sensor;
[0113] The second state information includes: second position, second velocity, second attitude, and second bias of the sensor;
[0114] The first position and the second position include horizontal position and height.
[0115] For example, in some embodiments, the state correction unit 405 is used to constrain the height of the second position in the second state information based on the indoor map information and determine the current floor of the mobile terminal; based on the horizontal position of the second position in the second state information and the second posture, it determines the activity area and direction of the mobile terminal in the area distribution information of the current floor.
[0116] For example, in some embodiments, the sensor system includes an inertial measurement unit and a barometer;
[0117] The inertial measurement unit is used to collect the acceleration and angular velocity of the mobile terminal;
[0118] The barometer is used to collect the first altitude of the mobile terminal.
[0119] It should be noted that the above-mentioned indoor positioning devices are used for indoor positioning of various mobile terminals, including but not limited to robots, unmanned vehicles, drones, smartphones, and handheld mobile terminals.
[0120] In practical applications, the aforementioned device can be a mobile terminal or a chip applied to a mobile terminal. In this application, the device can implement the functions of multiple units through software, hardware, or a combination of both, enabling the device to execute the indoor positioning method provided in any of the above embodiments. Furthermore, the technical effects of each technical solution of the device can be referenced to the technical effects of the corresponding technical solutions in the indoor positioning method; these will not be elaborated upon further in this application.
[0121] Based on the hardware implementation of each unit in the above-mentioned indoor positioning device, this application embodiment also provides a mobile terminal, such as... Figure 5As shown, the mobile terminal 50 includes: a processor 501 and a memory 502 configured to store computer programs capable of running on the processor, and a sensor system 503.
[0122] When the processor 501 is configured to run a computer program, it executes the method steps described in the foregoing embodiments.
[0123] Of course, in practical applications, such as Figure 5 As shown, the various components in this mobile terminal are coupled together via a bus system 504. It can be understood that the bus system 504 is used to enable communication between these components. In addition to a data bus, the bus system 504 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as bus system 504 in the figure.
[0124] In practical applications, the aforementioned processor can be at least one of the following: Application-Specific Integrated Circuit (ASIC), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field-Programmable Gate Array (FPGA), controller, microcontroller, and microprocessor. It is understood that, for different devices, the electronic devices used to implement the functions of the aforementioned processor can also be other types, and the embodiments of this application do not specifically limit this.
[0125] The aforementioned memory can be volatile memory, such as random-access memory (RAM); or non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); or a combination of the above types of memory, and provides instructions and data to the processor.
[0126] In an exemplary embodiment, this application also provides a computer-readable storage medium, such as a memory including a computer program, which can be executed by the processor of an indoor positioning device to perform the steps of the aforementioned method.
[0127] This application also provides a computer program product, including computer program instructions.
[0128] Optionally, the computer program product can be applied to the mobile terminal in the embodiments of this application, and the computer program instructions cause the computer to execute the corresponding processes implemented by the mobile terminal in the various methods of the embodiments of this application. For the sake of brevity, they will not be described in detail here.
[0129] This application also provides a computer program.
[0130] Optionally, the computer program can be applied to the mobile terminal in the embodiments of this application. When the computer program is run on a computer, it causes the computer to execute the corresponding processes implemented by the mobile terminal in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0131] It should be understood that the terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items. The expressions “having,” “may have,” “comprising,” and “including,” or “may include” and “may contain” used herein may be used to indicate the presence of a corresponding feature (e.g., an element such as a number, function, operation, or component), but do not exclude the presence of additional features.
[0132] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another, and are not necessarily used to describe a specific order or sequence. For example, without departing from the scope of this invention, first information may also be referred to as second information, and similarly, second information may also be referred to as first information.
[0133] The technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.
[0134] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatus, and devices can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical, or other forms.
[0135] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0136] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0137] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. An indoor positioning method, characterized in that, The method includes: Acquire a first type of data and a second type of data collected by the sensor system of the mobile terminal; wherein the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and a first height; Based on the first type of data, the state of the mobile terminal at the target time is predicted to obtain the first state information of the mobile terminal. A complementary filter is used to fuse the height obtained by integrating the bias-removed Z-axis acceleration twice with the first height according to the first weight to obtain the second height; Acquire pseudorange observations of pseudosatellites in a pseudosatellite system; wherein, the pseudosatellite system is a GNSS signal transmitting device similar to a global navigation satellite system deployed on the ground, and the pseudosatellite system includes at least four pseudosatellites; Based on the first height, the second height, and the pseudorange observation, the first state information is corrected to obtain the second state information of the mobile terminal. The second height is then fused with the height estimated by the Error Extended Kalman Filter (ESKF) according to the second weight using the complementary filter method to obtain the corrected final height in the second state information. The height of the second location in the second state information is constrained based on indoor map information, and the current floor of the mobile terminal is determined; the indoor map information includes a range of floor heights. Based on the horizontal position and second posture of the second location in the second state information, the activity area and direction of the mobile terminal are determined from the area distribution information of the current floor.
2. The method according to claim 1, characterized in that, The step of predicting the state of the mobile terminal at the target time based on the first type of data to obtain the first state information of the mobile terminal includes: Obtain the second state information of the mobile terminal after state correction at the reference time; Based on the second type of data and the second state information of the reference time, the state of the mobile terminal at the current time is predicted to obtain the first state information of the mobile terminal at the target time.
3. The method according to claim 1, characterized in that, After obtaining the pseudorange observations of pseudosatellites in the pseudosatellite system, the method further includes: Calculate the normalized information of the pseudorange observations; When the normalized innovation is less than the innovation threshold, it is determined that the pseudorange observation value will be used for state correction. When the normalized innovation is greater than or equal to the innovation threshold, it is determined that the pseudorange observation will not be used for state correction.
4. The method according to claim 3, characterized in that, The method further includes: When the normalized innovation is less than the innovation threshold, the innovation threshold is reduced. When the normalized innovation is greater than or equal to the innovation threshold, the innovation threshold is increased.
5. The method according to claim 1, characterized in that, The step of performing state correction on the first state information based on the first altitude, the second altitude, and the pseudorange observation to obtain the second state information of the mobile terminal includes: Based on the pseudorange observations, pseudorange single-point positioning is performed to obtain the initial position of the mobile terminal; Based on the first altitude, the pseudorange observation value, and the initial position, determine the error information corresponding to the first state information; The first state information is corrected based on the error information to obtain the second state information; Based on the second height, the height in the second state information is corrected to obtain the final height in the second state information.
6. The method according to any one of claims 1-5, characterized in that, The first state information includes: first position, first velocity, first attitude, and first bias of the sensor; The second state information includes: second position, second velocity, second attitude, and second bias of the sensor; The first position and the second position include horizontal position and height.
7. The method according to claim 1, characterized in that, The sensor system includes an inertial measurement unit and a barometer; The inertial measurement unit is used to collect the acceleration and angular velocity of the mobile terminal; The barometer is used to collect the first altitude of the mobile terminal.
8. An indoor positioning device, characterized in that, The device includes: The first acquisition unit is used to acquire a first type of data and a second type of data collected by the sensor system of the mobile terminal; wherein the first type of data includes acceleration and angular velocity, and the second type of data includes acceleration and a first height; A state prediction unit is used to predict the state of the mobile terminal at a target time based on the first type of data, and obtain the first state information of the mobile terminal. The height estimation unit is used to use a complementary filter to fuse the height obtained by integrating the bias-removed Z-axis acceleration twice with the first height according to the first weight to obtain the second height; The second acquisition unit is used to acquire the pseudorange observation values of pseudo satellites in the pseudo satellite system; wherein, the pseudo satellite system is a GNSS signal transmitting device similar to a global navigation satellite system deployed on the ground, and the pseudo satellite system includes at least four pseudo satellites; A state correction unit is used to perform state correction on the first state information based on the first height, the second height and the pseudorange observation value to obtain the second state information of the mobile terminal, and to fuse the second height with the height estimated by the error extended Kalman filter (ESKF) according to the second weight using a complementary filter to obtain the corrected final height in the second state information. The positioning unit is used to constrain the height of the second position in the second state information based on indoor map information, and determine the current floor of the mobile terminal; the indoor map information includes a range of floor heights; based on the horizontal position and second posture of the second position in the second state information, the unit determines the activity area and direction of the mobile terminal in the area distribution information of the current floor.
9. A mobile terminal, characterized in that, The mobile terminal includes: a processor and a memory configured to store computer programs capable of running on the processor, and a sensor system. Wherein, when the processor is configured to run the computer program, it performs the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.