Pseudolite positioning method, apparatus, device, and storage medium

By using extended Kalman filtering and the effective set method for regional and altitude constraints in indoor positioning, the positioning accuracy problem caused by insufficient pseudo-satellite numbers is solved, and the accuracy and availability of pseudo-satellite positioning are improved.

CN115616627BActive Publication Date: 2026-04-17REALME MOBILE TELECOMM SHENZHEN CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
REALME MOBILE TELECOMM SHENZHEN CO LTD
Filing Date
2022-11-08
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In complex indoor environments, insufficient numbers of pseudo-satellites or multipath interference can lead to poor positioning accuracy or even failure to locate.

Method used

By determining constraint parameters based on the activity area of ​​the positioning object, and combining extended Kalman filtering and effective set inequality constraint optimization methods, the pseudo-satellite positioning results are corrected. Prior information on known pseudo-satellite deployment locations, signal coverage areas, and user activity areas is used to impose regional and altitude constraints.

Benefits of technology

It improves the accuracy and usability of pseudo-satellite positioning results, especially when the number of visible pseudo-satellites is insufficient, effectively solving the problem of poor positioning accuracy and enhancing the reliability of indoor positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115616627B_ABST
    Figure CN115616627B_ABST
Patent Text Reader

Abstract

This application provides a pseudo-satellite positioning method, apparatus, device, and storage medium; wherein the method includes: determining constraint parameters of the positioning object based on the activity area of ​​the positioning object; wherein the constraint parameters include constraint parameters of position coordinates in at least one dimension; performing state estimation on the positioning object based at least on pseudo-satellite measurement values ​​observed at the current time and target positioning results at the previous time to obtain a first state estimation result; and correcting the first state estimation result according to the constraint parameters to obtain the target positioning result at the current time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to positioning technology, including but not limited to pseudo-satellite positioning methods, devices, equipment, and storage media. Background Technology

[0002] Global Navigation Satellite System (GNSS) has greatly facilitated people's travel; however, GNSS signals are usually weak and difficult to receive indoors. By deploying pseudo-satellites indoors, it has become possible to provide GNSS positioning services similar to those outdoors, meeting the growing demand for indoor positioning services.

[0003] However, due to limitations such as pseudosatellite deployment density, cost, and physical conditions, as well as obstructions, it is difficult to guarantee a sufficient number of visible pseudosatellites in all areas under complex indoor environments. Even if the number of visible pseudosatellites is sufficient (e.g., greater than or equal to 4), the presence of errors such as multipath interference may cause some pseudorange measurements to be discarded due to large errors, resulting in a lack of sufficient effective pseudorange measurements for positioning calculations, and consequently, poor positioning accuracy in certain areas. Summary of the Invention

[0004] In view of this, the pseudo-satellite positioning method, apparatus, equipment, and storage medium provided in this application can improve the accuracy of pseudo-satellite positioning results.

[0005] According to one aspect of the embodiments of this application, a pseudo-satellite positioning method is provided, comprising: determining constraint parameters of the positioning object based on the activity area of ​​the positioning object; wherein the constraint parameters include constraint parameters of position coordinates in at least one dimension; performing state estimation on the positioning object based at least on pseudo-satellite measurement values ​​observed at the current time and target positioning results at the previous time to obtain a first state estimation result; and correcting the first state estimation result according to the constraint parameters to obtain the target positioning result at the current time.

[0006] According to one aspect of the embodiments of this application, a pseudo-satellite positioning device is provided, comprising: a determining module configured to determine constraint parameters of the positioning object based on the activity area of ​​the positioning object; wherein the constraint parameters include constraint parameters of position coordinates in at least one dimension; a state estimation module configured to perform state estimation on the positioning object based at least on pseudo-satellite measurement values ​​observed at the current time and target positioning results at the previous time, to obtain a first state estimation result; and a correction module configured to correct the first state estimation result based on the constraint parameters, to obtain the target positioning result at the current time.

[0007] According to one aspect of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program executable on the processor, and the processor executes the program to implement the method described in the embodiments of the present application.

[0008] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the methods provided in the embodiments of this application.

[0009] In this embodiment of the application, the first state estimation result is constrained based on the known prior information (i.e. the activity area of ​​the positioning object) to obtain the final target positioning result. In this way, on the one hand, the problem of poor positioning accuracy when the number of visible pseudo-satellites or effective pseudo-satellite measurements is insufficient can be solved; on the other hand, when the number of visible pseudo-satellites is sufficient, the accuracy of pseudo-satellite positioning results can be further improved.

[0010] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0011] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0012] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0013] Figure 1 A schematic diagram illustrating the implementation process of the pseudo-satellite positioning method provided in this application embodiment;

[0014] Figure 2 This is a schematic diagram illustrating the implementation process of step 103 provided in an embodiment of this application;

[0015] Figure 3 This is a schematic diagram of the pseudo-satellite indoor positioning system architecture provided in the embodiments of this application;

[0016] Figure 4 This is a schematic diagram illustrating the pseudo-satellite positioning principle provided in an embodiment of this application.

[0017] Figure 5 A schematic diagram illustrating the implementation process of the pseudo-satellite positioning method provided in this application embodiment;

[0018] Figure 6 This is a schematic diagram of the pseudo-satellite positioning device provided in the embodiments of this application;

[0019] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the specific technical solutions of this application will be further described in detail below with reference to the accompanying drawings of the embodiments of this application. The following embodiments are used to illustrate this application, but are not intended to limit the scope of this application.

[0021] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0022] In the following description, references to "some embodiments," "this embodiment," "this application embodiment," and examples, etc., describe a subset of all possible embodiments. However, it is understood that "some embodiments" may be the same subset or different subset of all possible embodiments and may be combined with each other without conflict.

[0023] It should be noted that the terms "first, second, third, fourth, fifth," etc., used in the embodiments of this application are for distinguishing similar or different objects and do not represent a specific order of objects. It is understood that "first, second, third, fourth, fifth" can be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0024] This application provides a pseudo-satellite positioning method applied to an electronic device. This electronic device can be of various types with information processing capabilities, such as handheld terminal devices (e.g., mobile phones, tablets), vehicle-mounted devices, wearable devices, drones, robots, and various forms of user terminal devices or mobile stations (MS). The functionality achieved by this method can be implemented by a processor in the electronic device calling program code. The program code can be stored in a computer storage medium. Therefore, the electronic device includes at least a processor and a storage medium.

[0025] Figure 1 This is a schematic diagram illustrating the implementation process of the pseudo-satellite positioning method provided in the embodiments of this application, as follows: Figure 1 As shown, the method may include the following steps 101 to 103:

[0026] Step 101: Determine the constraint parameters of the positioning object based on the activity area of ​​the positioning object; wherein the constraint parameters include constraint parameters of position coordinates in at least one dimension;

[0027] Step 102: Based at least on the pseudo-satellite measurement values ​​observed at the current time and the target positioning results at the previous time, perform state estimation on the positioning object to obtain a first state estimation result;

[0028] Step 103: Based on the constraint parameters, correct the first state estimation result to obtain the target positioning result at the current time.

[0029] In this embodiment of the application, the first state estimation result is constrained based on the known prior information (i.e. the activity area of ​​the positioning object) to obtain the final target positioning result. In this way, on the one hand, the problem of poor positioning accuracy or even inability to locate is solved when the number of visible pseudo-satellites or effective pseudo-satellite measurements is insufficient, thereby improving the availability of pseudo-satellite positioning results; on the other hand, when the number of visible pseudo-satellites is sufficient, the accuracy of pseudo-satellite positioning results can be further improved.

[0030] The following sections will describe further optional implementation methods for each of the above steps, as well as related terms.

[0031] In step 101, the constraint parameters of the positioning object are determined based on the active area of ​​the positioning object; wherein the constraint parameters include constraint parameters of position coordinates in at least one dimension.

[0032] In this embodiment, the constraint parameters are not limited; they may include constraint parameters for position coordinates in only one dimension, or they may include constraint parameters for position coordinates in multiple dimensions. It is understood that the so-called constraint parameters for position coordinates refer to parameters that can limit / constrain the range of the position coordinates.

[0033] In some embodiments, the constraint parameters include upper and lower bounds for the x-coordinate, y-coordinate, and z-coordinate.

[0034] It is understandable that if the activity area of ​​the object being located is known, the location area boundary and location height range of the object can be determined. As shown in the following expression (1), the upper bound x2 and lower bound x1 of the x-coordinate and the upper bound y2 and lower bound y1 of the y-coordinate constitute the area boundary of the object being located, which includes all possible positioning results.

[0035]

[0036] The upper bound h2 and lower bound h1 of the z-coordinate actually constrain the approximate range of the position and height of the object being located, i.e., h1≤z≤h2.

[0037] The active area generally refers to any environment where GNSS is unavailable, or even if GNSS is available, but the quality of the received satellite signals is insufficient to meet the positioning accuracy requirements, such as when the quality parameters characterizing the satellite signal reception are less than or equal to a specific threshold. Examples of active areas include, but are not limited to: offices, residences, underground garages, tunnels, indoor parking lots, shopping malls, mines, under bridges, urban canyons, or waiting rooms.

[0038] In some embodiments, based on the activity area of ​​the positioning object, the deployment positions of multiple pseudo-satellites and the upper and lower bounds of the z-coordinate are determined; based on the deployment positions of the multiple pseudo-satellites and the signal coverage range of the multiple pseudo-satellites, the upper and lower bounds of the x-coordinate and the upper and lower bounds of the y-coordinate are determined. Thus, when determining the area boundary of the positioning object, not only its activity area is considered, but also the positions and signal coverage ranges of the pseudo-satellites deployed in the activity area. The area boundary determined based on this is more accurate, thereby improving the accuracy of the target positioning result.

[0039] In step 102, the state of the positioning object is estimated based at least on the pseudo-satellite measurement value observed at the current time and the target positioning result at the previous time, to obtain a first state estimation result.

[0040] In this embodiment, the algorithm used to implement step 102 is not limited. An extended Kalman filter (EKF) or an unscented Kalman filter (UKF) algorithm can be used to obtain the first state estimation result. Alternatively, optimization-based methods such as moving level estimation (MHE) and factor graph optimization can be used to obtain the first state estimation result.

[0041] Furthermore, in some embodiments, the first transformation matrix of the observation equation can be determined based on the target positioning result of the previous moment; the observation equation can be solved based on the first transformation matrix, the Jacobian matrix, the pseudo-satellite measurement value and the measurement noise to obtain the first state estimation result.

[0042] For example, the variance of the pseudo-satellite measurements and the velocity variance of the positioning object along the z-axis can be used as the measurement noise of the observation equation, and EKF can be updated based on this together with the pseudo-satellite measurements (e.g., pseudorange).

[0043] Assume the state of the system is X = [xyzv] x v y v z clk b clk d ] T Where (x,y,z) represents the three-dimensional position of the object being located, and (v x ,v y ,v z (clk) represents the three-dimensional velocity of the object being located. b ,clk d ) represents the clock bias and clock drift of the pseudo-satellite receiver in the positioning device.

[0044] The observation equation after adding height constraints is shown in equation (2) below:

[0045]

[0046] In equation (2), Y k This represents the pseudosatellite measurement value (e.g., pseudorange) at the current moment. c represents the estimated result of the first state to be determined; k ~N(0R) c ), v k ~N(0R) a ), R c R represents the velocity variance of the positioning object along the z-axis. a The variance of pseudosatellite measurements is represented.

[0047] The expression for the first transformation matrix D is shown in equation (3) below:

[0048] D=[0 0 0 J1 J2 J3 0 0] (3);

[0049] In equation (3), J3 = cos(φ); φ and These represent the latitude and longitude corresponding to the target positioning result at the previous moment, respectively.

[0050] In step 103, the first state estimation result is corrected according to the constraint parameters to obtain the target positioning result at the current time.

[0051] In this embodiment, the algorithm for implementing step 103 is not limited, meaning the correction algorithm is not limited and can be of various kinds. In short, the goal is to correct the first state estimation result based on the constraint parameters to obtain a target localization result with higher accuracy than the first state estimation result. For example, iterative solutions can be performed using the effective set method, or alternatively, other inequality constraint optimization methods such as the interior point method, penalty function method, or obstacle boundary method can be used to obtain the target localization result at the current moment.

[0052] In some embodiments, the first state estimation result is projected onto a constraint space related to the constraint parameters using a state projection method to correct the first state estimation result and obtain the target positioning result at the current moment.

[0053] Furthermore, in some embodiments, the effective set method can be used for iterative solution to obtain the target localization result at the current moment. Specifically, such as... Figure 2 As shown, step 103 can be achieved through the following steps 1030 to 1039:

[0054] Step 1030: Based on the first state estimation result and the preset second transformation matrix, select effective constraint parameters from the constraint parameters of the positioning object to obtain an effective constraint set.

[0055] For example, constraint parameter d i If C is satisfied i X = d i Then d is called i If a parameter is a valid constraint parameter, then it is considered an invalid constraint parameter; where C i This is the second transformation matrix, and its number of columns depends on the constraint parameters of the object being located. For example, Here, C i X = d i In this context, X refers to the first-state estimation result.

[0056] Step 1031: Determine the projection matrix based on the covariance of the first state estimation result and the second transformation matrix.

[0057] For example, the projection matrix γ can be determined according to the following equation (4):

[0058]

[0059] In equation (4), This refers to the covariance matrix of the first-state estimation results. It refers to the C matrix corresponding to the effective constraint set used in the j-th iteration.

[0060] Understandably, when In this case, the method is equivalent to the maximum conditional probability method, which results in a higher accuracy of the final target localization result.

[0061] Step 1032: Based on the projection matrix, the second transformation matrix, and the effective constraint set, the first state estimation result is corrected to obtain the second state estimation result.

[0062] For example, the second state estimation result can be determined according to the following equation (5).

[0063]

[0064] In equation (5), This represents the result of the first state estimation. This represents the set of valid constraints used in this iteration. Indicates and The corresponding submatrix of the C matrix.

[0065] Step 1033: Determine the gradient direction based on the second state estimation result obtained in the previous iteration and the second state estimation result obtained in the current iteration.

[0066] For example, the gradient direction of this iteration is determined according to the following equation (6).

[0067]

[0068] In equation (6), This represents the second state estimation result obtained in this iteration. This represents the second state estimate obtained in the previous iteration. In the case of j=1, i.e., in the first iteration, It equals the first-state estimation result; when j > 1, It is equal to the second state estimation result obtained in the previous iteration.

[0069] Step 1034: Determine whether the gradient direction is equal to a preset value; if yes, proceed to step 1035; otherwise, proceed to step 1038.

[0070] Here, the preset value can be set according to actual needs. For example, the preset value can be set to a 0 matrix.

[0071] Step 1035: Determine the Lagrange multiplier for each effective constraint parameter in the effective constraint set based on the covariance of the first state estimation result and the second transformation matrix.

[0072] For example, the Lagrange multipliers λ of each effective constraint parameter can be determined according to the following equation (7):

[0073]

[0074] Step 1036: Determine whether the Lagrange multiplier of each valid constraint parameter is greater than or equal to 0; if so, end the iteration and use the second state estimation result as the target localization result at the current moment; otherwise, proceed to step 1037.

[0075] Step 1037: Determine the projected covariance based on the covariance of the first state estimation result, the preset identity matrix, the projection matrix, and the second transformation matrix; and use the projected covariance as the covariance for the next iteration, and use the constraint parameters where the Lagrange multipliers are greater than or equal to 0 as the effective constraint set for the next iteration, then return to step 1031 to obtain a new second state estimation result.

[0076] For example, the projected covariance can be determined according to the following equation (8):

[0077]

[0078] In equation (8), I is the preset identity matrix.

[0079] Step 1038: Determine the search step size based on the effective constraint set and the first state estimation result.

[0080] For example, the search step size α can be determined according to the following formula (9). j :

[0081]

[0082] In equation (9), c i w represents the i-th constraint parameter in the effective constraint set. k This represents the effective constraint set at the k-th iteration, also known as the working set.

[0083] Step 1039: Based on the search step size, the gradient direction, and the first state estimation result, determine the first state estimation result to be calculated in the next iteration, and return to step 1030 to obtain a new second state estimation result.

[0084] For example, the first state estimation result of the following iterations can be determined according to the following equation (10).

[0085]

[0086] The following describes an exemplary application of the embodiments of this application in a real-world application scenario.

[0087] like Figure 3 The diagram illustrates the architecture of an indoor pseudosatellite positioning system. By deploying a pseudosatellite system indoors, positioning services similar to outdoor GNSS can be provided. The user receiver determines its position by receiving wireless signals transmitted by multiple pseudosatellites and using pseudorange measurements. For indoor 3D positioning, at least four valid pseudorange measurements are required. In complex indoor environments, when the number of visible pseudosatellites or valid pseudorange measurements is insufficient, weighted least squares (WLS) methods can only perform 2D positioning. While the EKF method can achieve 3D positioning, the positioning accuracy will significantly decrease, potentially rendering the positioning results unusable.

[0088] Figure 4 The pseudo-satellite-based positioning principle is illustrated, such as... Figure 4 As shown, the positioning principle based on pseudo-satellites is similar to that of GPS positioning. To establish the pseudorange observation equation, pseudo-satellite clock errors and receiver clock errors must be considered. For ease of expression, let q represent the receiver number, b represent the pseudo-satellite number, and e represent the observation epoch number. Then, the pseudorange observation value ρ′(q,b,e) can be expressed as the following equation (11):

[0089]

[0090] In the formula, c is the speed of light. For receiver clock bias, Let ρ(q,b,e) be the pseudo-satellite clock bias, and let ρ(q,b,e) be the accurate distance from the pseudo-satellite to the receiver. Its calculation formula is as follows (12):

[0091]

[0092] In the formula, the position coordinates of the pseudo-satellite (x b ,y b ,z b ) is known. Considering equation (12), there are only 4 unknowns in equation (11): three are the position coordinates of the receiver (x) q ,y q ,z q Another unknown is the receiver clock bias. Therefore, theoretically, at least four pseudosatellites should be observed at the same observation epoch to obtain four observation equations, which can then be used to solve for the unknowns. However, in complex indoor environments, when the number of visible pseudosatellites or effective pseudorange measurements is insufficient, the weighted least squares method can only perform two-dimensional positioning. While the EKF method can perform three-dimensional positioning, the positioning accuracy will significantly decrease, potentially rendering the positioning results unusable.

[0093] Unlike GNSS positioning, pseudosatellites are stationary. Therefore, in this embodiment, based on the pseudosatellite deployment location and the effective coverage area of ​​the pseudosatellite signal, a boundary region encompassing all possible positioning results can be calculated when a user terminal performs indoor pseudosatellite positioning. By combining this boundary with the user's activity area, a rough range for the user's position and altitude can be obtained. In this embodiment, by combining the extended Kalman filter method with the effective set inequality constraint optimization method, the positioning results of the pseudosatellites are constrained, thereby fully utilizing known prior information such as the pseudosatellite deployment location, the effective coverage area of ​​the pseudosatellite signal, the user's activity area, and the user's position and altitude, improving the availability and accuracy of pseudosatellite positioning in complex indoor environments.

[0094] Figure 5 This is a schematic diagram illustrating the implementation process of the pseudo-satellite positioning method provided in the embodiments of this application, as follows: Figure 5 As shown, the first part 501 represents the process of indoor positioning by a user terminal using pseudosatellite measurements (such as pseudorange) under normal circumstances. The second part 502 represents the process of constrained EKF positioning in this embodiment of the application, which uses known prior information such as the deployment location of pseudosatellites, the effective coverage range of pseudosatellite signals, the user's activity area, and the user's position altitude, and adds regional and altitude constraints to the pseudosatellite measurement equation. This embodiment of the application uses known prior information to impose regional and altitude constraints on the user terminal's position, and the specific steps are described in S1 to S7 below:

[0095] S1: Based on known information such as the deployment location of the pseudo-satellites, the effective coverage area of ​​the pseudo-satellite signals, and the user's activity area, calculate a boundary area containing all possible positioning results, i.e., the following formula (13):

[0096]

[0097] S2: On the one hand, based on the user's activity area, a rough range of the user's position height can be determined; on the other hand, for indoor scenarios such as underground parking lots and offices, the user's position height can be considered to be basically constant, therefore the vertical velocity v at the current moment relative to the previous moment... z enu Approximately 0. The above information can be expressed as the following formula (14):

[0098]

[0099] Among them, R c for The standard deviation is used to represent the uncertainty of the vertical speed of the user terminal.

[0100] S3: The vertical velocity constraint of the user terminal is used as a pseudo-measurement value and updated together with the pseudo-satellite measurement value (such as pseudorange) using EKF observation. Taking the approximate constant velocity process model as an example, the system state is assumed to be as shown in equation (15):

[0101] X = [xyzv] x v y v z clk b clk d ] T (15);

[0102] Where (x,y,z) represents the user's three-dimensional position, (v x ,v y ,v z (clk) represents the user's three-dimensional velocity. b ,clk d ) represents the clock bias and clock drift of the user's pseudo-satellite receiver. The observation equation after adding altitude constraints is then given by equation (16):

[0103]

[0104] Among them, Y k Represents pseudosatellite measurements, where H is the corresponding Jacobian matrix, and R... a The variance of pseudosatellite measurements, φ, and These represent the positioning results at the previous time step. The corresponding latitude and longitude.

[0105] S4: Denote the updated state estimate after observation as... (That is, the result output in step S3), which can be obtained through the state projection method. Projecting onto the constraint space yields the state estimate with added region and height constraints. (i.e., the target location result at the current moment).

[0106] This problem can be expressed as the following equation (17):

[0107]

[0108] Among them, W k Let be any positive definite symmetric weighted matrix, C be the constraint matrix, and d be the region constraint and height constraint. In this case, the method is equivalent to the maximum conditional probability method.

[0109] This problem is actually an optimization problem with inequality constraints, which can be solved iteratively using the effective set method. For a certain sub-constraint d in the constraint set d... i(i.e., a certain constraint parameter), when C i X = d i When, then it is called d i If a constraint is valid, it is considered a valid constraint; otherwise, it is considered an invalid constraint. When solving this problem, invalid constraints can be ignored, and only valid constraints are considered, thus transforming it into an equality constraint problem. For the j-th iteration, the set formed by the indices of valid constraints in the constraint set d is denoted as w. j This is called the working set, used to solve the equality constraint problem shown in (18):

[0110]

[0111] in, This indicates that it corresponds to w j The effective constraint subset, Indicates and The corresponding submatrix of the C matrix. The state estimates that satisfy the effective constraints can be expressed as follows (19):

[0112]

[0113] Where γ is called the projection matrix. The projected error covariance matrix can be obtained by the following equation (20):

[0114]

[0115] S5: Calculate the gradient direction

[0116] S6: If The effective set is calculated according to the following formula (21). The Lagrange multiplier λ corresponding to each constraint:

[0117]

[0118] if If every constraint satisfies λ≥0, then the current solution... If the solution is optimal, stop iterating. Otherwise, remove it. Given a constraint that λ < 0, proceed to the next iteration.

[0119] S7: If The search step size α is calculated according to the following formula (22). j :

[0120]

[0121] Update status And proceed to the next iteration.

[0122] In this embodiment, the extended Kalman filtering method is combined with the effective set inequality constraint optimization method to constrain the positioning results of pseudo-satellites, thereby fully utilizing known prior information such as the deployment location of pseudo-satellites, the effective coverage range of pseudo-satellite signals, the user's activity area, and the user's position altitude. The resulting benefits are twofold: firstly, when the number of visible pseudo-satellites or effective pseudorange measurements is insufficient, leading to poor positioning accuracy or even failure to locate, increasing regional and altitude constraints can improve the usability of the positioning results; secondly, when the number of visible pseudo-satellites is sufficient, increasing regional and altitude constraints can further improve the accuracy of indoor pseudo-satellite positioning.

[0123] This application proposes a pseudosatellite indoor positioning method with additional area and height constraints. This method aims to address the problem of poor positioning accuracy or even inability to locate in complex indoor environments when the number of visible pseudosatellites or effective pseudorange measurements is insufficient. The method can be expanded upon in the following ways:

[0124] (1) The pseudo-satellite signals used in the embodiments of this application include, but are not limited to, GPS pseudo-satellite signals, Beidou pseudo-satellite signals, Galileo pseudo-satellite signals, GLONASS pseudo-satellite signals, Quasi-Zenith Satellite System (QZSS) pseudo-satellite signals, Indian Area (IRNSS) pseudo-satellite signals, and radio ranging signals used for local positioning.

[0125] (2) In this embodiment of the application, the EKF method is used for indoor pseudo-satellite positioning. Other filtering methods such as unscented Kalman filtering (UKF) or optimization-based methods such as motion level estimation (MHE) and factor graph optimization can also be used.

[0126] (3) In this embodiment of the application, when adding regional constraints and height constraints, the effective set method is used for iterative solution. It can also be replaced by other inequality constraint optimization methods such as interior point method, penalty function method, and obstacle boundary method.

[0127] It should be noted that although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps; or steps from different embodiments may be combined into a new technical solution.

[0128] Based on the foregoing embodiments, this application provides a pseudo-satellite positioning device, which includes various modules and units included in each module, and can be implemented by a processor; of course, it can also be implemented by specific logic circuits; in the implementation process, the processor can be an AI acceleration engine (such as NPU), GPU, central processing unit (CPU), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA), etc.

[0129] Figure 6 This is a schematic diagram of the pseudo-satellite positioning device provided in the embodiments of this application, as shown below. Figure 6 As shown, the pseudo-satellite positioning device 60 includes:

[0130] The determining module 601 is configured to determine the constraint parameters of the positioning object based on the active area of ​​the positioning object; wherein the constraint parameters include constraint parameters of position coordinates in at least one dimension;

[0131] The state estimation module 602 is configured to perform state estimation on the positioning object based at least on the pseudo-satellite measurement value observed at the current time and the target positioning result at the previous time, and obtain a first state estimation result.

[0132] The correction module 603 is configured to correct the first state estimation result according to the constraint parameters to obtain the target positioning result at the current time.

[0133] In some embodiments, the state estimation module 602 is configured to: determine a first transformation matrix of the observation equation based on the target positioning result of the previous moment; and perform state estimation on the positioning object based on the first transformation matrix, the Jacobian matrix, the pseudo-satellite measurement value, and the measurement noise to obtain the first state estimation result.

[0134] In some embodiments, the correction module 603 is configured to: project the first state estimation result onto a constraint space related to the constraint parameters using a state projection method, so as to correct the first state estimation result and obtain the target positioning result at the current moment.

[0135] Further, in some embodiments, the correction module 603 is configured to: select effective constraint parameters from the constraint parameters of the positioning object according to the first state estimation result and a preset second transformation matrix to obtain an effective constraint set; determine a projection matrix according to the covariance of the first state estimation result and the second transformation matrix; correct the first state estimation result according to the projection matrix, the second transformation matrix, and the effective constraint set to obtain a second state estimation result; determine the gradient direction according to the second state estimation result obtained in the previous iteration and the second state estimation result obtained in the current iteration; if the gradient direction is equal to a preset value, determine the Lagrange multiplier of each effective constraint parameter in the effective constraint set according to the covariance of the first state estimation result and the second transformation matrix; if the Lagrange multiplier of each effective constraint parameter is greater than or equal to 0, end the iteration, and use the second state estimation result as the target positioning result at the current moment.

[0136] Furthermore, in some embodiments, the correction module 603 is further configured to: if the Lagrange multiplier of at least one valid constraint parameter is less than 0, determine the projected covariance based on the covariance of the first state estimation result, the preset identity matrix, the projection matrix, and the second transformation matrix; use the projected covariance as the covariance for the next iteration, use the constraint parameters whose Lagrange multipliers are greater than or equal to 0 as the valid constraint set for the next iteration, and return to perform iterative calculations to obtain a new second state estimation result.

[0137] Furthermore, in some embodiments, the correction module 603 is further configured to: if the gradient direction is not equal to the preset value, determine the search step size based on the effective constraint set and the first state estimation result; determine the first state estimation result to be used for the next iteration operation based on the search step size, the gradient direction and the first state estimation result, and return to perform iterative operation to obtain a new second state estimation result.

[0138] In some embodiments, the constraint parameters include upper and lower bounds for the x-coordinate, y-coordinate, and z-coordinate.

[0139] In some embodiments, the determining module 601 is configured to: determine the deployment positions of multiple pseudo-satellites and the upper and lower bounds of the z-coordinate based on the activity area of ​​the positioning object; and determine the upper and lower bounds of the x-coordinate and the upper and lower bounds of the y-coordinate based on the deployment positions of the multiple pseudo-satellites and the signal coverage range of the multiple pseudo-satellites.

[0140] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0141] It is understood that in the embodiments of this application, user data such as location results are involved. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0142] It should be noted that the module division in the pseudo-satellite positioning device described in this application embodiment is illustrative and only represents a logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical units, or have two or more units integrated into one unit. The integrated units can be implemented in hardware, as software functional units, or a combination of software and hardware.

[0143] It should be noted that, in the embodiments of this application, if the above-described methods are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.

[0144] This application provides an electronic device. Figure 7 This is a schematic diagram of the hardware entity of the electronic device according to an embodiment of this application, such as... Figure 7 As shown, the electronic device 70 includes a memory 701 and a processor 702. The memory 701 stores a computer program that can run on the processor 702. When the processor 702 executes the program, it implements the steps in the method provided in the above embodiments.

[0145] It should be noted that the memory 701 is configured to store instructions and applications executable by the processor 702, and can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data and video communication data) in the processor 702 and various modules in the electronic device 70. It can be implemented by flash memory or random access memory (RAM).

[0146] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method provided in the above embodiments.

[0147] This application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the method provided in the above-described method embodiments.

[0148] It should be noted that the descriptions of the storage medium and device embodiments above are similar to those of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium, storage medium, and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0149] It should be understood that the phrases "one embodiment," "an embodiment," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment," "in one embodiment," or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely for descriptive purposes and do not represent the superiority or inferiority of the embodiments. The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments; their similarities or commonalities can be referred to mutually, and for the sake of brevity, they will not be repeated here.

[0150] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three kinds of relationships. For example, object A and / or object B can represent three situations: object A exists alone, object A and object B exist simultaneously, and object B exists alone.

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

[0152] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple modules 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 between devices or modules can be electrical, mechanical, or other forms.

[0153] The modules described above as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules. They may be located in one place or distributed across multiple network units. Some or all of the modules may be selected to achieve the purpose of this embodiment according to actual needs.

[0154] In addition, each functional module in the various embodiments of this application can be integrated into one processing unit, or each module can be a separate unit, or two or more modules can be integrated into one unit; the integrated modules can be implemented in hardware or in the form of hardware plus software functional units.

[0155] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.

[0156] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0157] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0158] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0159] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.

[0160] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations 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. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A pseudolite positioning method, characterized by, The method includes: Based on the activity area of ​​the positioning object, the constraint parameters of the positioning object are determined; wherein, the constraint parameters include constraint parameters for position coordinates in at least one dimension; the positioning object is located in an indoor environment; Based at least on the pseudo-satellite measurement values ​​observed at the current moment and the target positioning results at the previous moment, the state of the positioning object is estimated to obtain a first state estimation result; Based on the first state estimation result and the preset second transformation matrix, effective constraint parameters are selected from the constraint parameters of the positioning object to obtain an effective constraint set; The projection matrix is ​​determined based on the covariance of the first state estimation result and the second transformation matrix; Based on the projection matrix, the second transformation matrix, and the effective constraint set, the first state estimation result is corrected to obtain the second state estimation result; Determine the gradient direction based on the second state estimation results obtained from the previous iteration and the second state estimation results obtained in the current iteration; If the gradient direction is equal to a preset value, the Lagrange multiplier of each effective constraint parameter in the effective constraint set is determined based on the covariance of the first state estimation result and the second transformation matrix. If the Lagrange multipliers of each valid constraint parameter are all greater than or equal to 0, the iteration ends, and the second state estimation result is used as the target localization result at the current moment.

2. The method of claim 1, wherein, The step of performing state estimation on the positioning object based at least on the pseudo-satellite measurement values ​​observed at the current time and the target positioning results at the previous time, to obtain a first state estimation result, includes: Based on the target positioning results of the previous moment, determine the first transformation matrix of the observation equation; The observation equation is solved based on the first transformation matrix, the Jacobian matrix, the pseudo-satellite measurements, and the measurement noise to obtain the first state estimation result.

3. The method of claim 1, wherein, The method further includes: If the Lagrange multiplier of at least one valid constraint parameter is less than 0, the projected covariance is determined based on the covariance of the first state estimation result, the preset identity matrix, the projection matrix, and the second transformation matrix; the projected covariance is used as the covariance for the next iteration, and the constraint parameters whose Lagrange multipliers are greater than or equal to 0 are used as the valid constraint set for the next iteration, and the iteration is returned to obtain a new second state estimation result.

4. The method of claim 1, wherein, The method further includes: If the gradient direction is not equal to the preset value, the search step size is determined based on the effective constraint set and the first state estimation result; Based on the search step size, the gradient direction, and the first state estimation result, determine the first state estimation result to be used for the next iteration, and return to perform iterative calculations to obtain a new second state estimation result.

5. The method according to any one of claims 1 to 4, characterized in that, The constraint parameters include the upper and lower bounds of the x-coordinate, the upper and lower bounds of the y-coordinate, and the upper and lower bounds of the z-coordinate.

6. The method of claim 5, wherein, The step of determining the constraint parameters of the positioning object based on the active area of ​​the positioning object includes: Based on the activity area of ​​the positioning object, determine the deployment positions of multiple pseudo-satellites and the upper and lower bounds of the z-coordinate; Based on the deployment locations of the multiple pseudo-satellites and their signal coverage areas, the upper and lower bounds of the x-coordinate and the y-coordinate are determined.

7. A pseudo-satellite positioning device, characterized in that, include: The determination module is configured to determine the constraint parameters of the positioning object based on the activity area of ​​the positioning object; wherein the constraint parameters include constraint parameters for position coordinates in at least one dimension; and the positioning object is located in an indoor environment. The state estimation module is configured to perform state estimation on the positioning object based at least on the pseudo-satellite measurement value observed at the current time and the target positioning result at the previous time, and obtain a first state estimation result; The correction module is configured to: select effective constraint parameters from the constraint parameters of the positioning object based on the first state estimation result and a preset second transformation matrix to obtain an effective constraint set; determine a projection matrix based on the covariance of the first state estimation result and the second transformation matrix; correct the first state estimation result based on the projection matrix, the second transformation matrix, and the effective constraint set to obtain a second state estimation result; determine the gradient direction based on the second state estimation result obtained in the previous iteration and the second state estimation result obtained in the current iteration; if the gradient direction is equal to a preset value, determine the Lagrange multiplier of each effective constraint parameter in the effective constraint set based on the covariance of the first state estimation result and the second transformation matrix; if the Lagrange multiplier of each effective constraint parameter is greater than or equal to 0, end the iteration, and use the second state estimation result as the target positioning result at the current moment.

8. An electronic device comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the method according to any one of claims 1 to 6.

9. 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 method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Vehicle positioning method, related device, equipment and storage medium

    CN112558125A