Seamless navigation method based on dogvessel colony algorithm

By improving Kalman filtering based on the combined method of cassia group algorithm and Gaussian constraints, the switching parameters are dynamically adjusted, and the problem of degradation of positioning accuracy caused by GNSS signal interference in indoor and outdoor transition environments is solved, achieving high-precision seamless navigation.

CN119289979APending Publication Date: 2025-01-10XIAN UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411077894.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-07
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

In indoor and outdoor transition environments, GNSS signals are easily disturbed, resulting in a decrease in positioning accuracy. It is difficult for the prior art to achieve seamless high-precision positioning, especially in areas with poor GNSS signal quality.

Method used

Using a seamless navigation method based on the squid group algorithm, the indoor and outdoor switching detection fitness function is constructed by collecting data such as light intensity, cellular RSSI value, magnetic field intensity and satellite signal-to-noise ratio, and using the squid group optimization algorithm to find the optimal solution , dynamically adjust the switching parameters, and modify the positioning data in combination with the inertial navigation system and Gaussian constraints.

Benefits of technology

Accurate positioning in transition areas with poor GNSS signal quality and indoor areas is achieved, power consumption is reduced, accuracy and positioning accuracy of indoor and outdoor environment detection are improved, and seamless cross-region positioning is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119289979A_ABST
    Figure CN119289979A_ABST
Patent Text Reader

Abstract

The invention discloses a seamless navigation method based on a Salp Swarm Algorithm algorithm, which is characterized in that a fitness function of SSA (Salp Swarm Algorithm) is designed based on an indoor and outdoor switching algorithm optimized by a Salp Swarm Algorithm, a traditional fixed threshold value is converted into a real-time dynamic switching parameter, and accurate detection work of indoor and outdoor environments is effectively completed without a test set. INS measurement data is added for a transition area with poor GNSS signal quality and an indoor area, and Gaussian constraint between state and observation is introduced to improve Kalman filtering, so that continuous positioning and orientation across indoor and outdoor areas can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of wireless communications, and in particular relates to a seamless navigation method based on a salp swarm algorithm. Background Art

[0002] With the vigorous development of navigation technology, various navigation sensors and algorithms have emerged. The Global Navigation Satellite System (GNSS) plays a key role in outdoor positioning. However, in the transitional environment between indoor and outdoor, GNSS signals are easily interfered by high-rise buildings, and the signal strength will drop significantly, which brings severe challenges to seamless high-precision positioning in indoor and outdoor and their transitional areas.

[0003] In order to improve the navigation performance in indoor and outdoor conversion environments, more and more researchers are committed to solving the positioning problem when the GNSS signal is poor in an obstructed environment. Inertial Navigation System (INS) is an autonomous navigation system that does not rely on external information and does not radiate energy to the outside. Its working principle is based on Newton's law of mechanics. By integrating the acceleration of the measurement carrier in the inertial reference system over time and transforming it into the navigation coordinate system, it is possible to obtain information such as speed, yaw angle and position in the navigation coordinate system. In an indoor or other obstructed environment, if the GNSS reception signal is not in good condition, INS-assisted fusion Kalman filtering can be used to achieve positioning, so GNSS / INS combined navigation is a better solution. Since the power consumption and resource allocation of various indoor and outdoor positioning algorithms are different, detecting the location of smartphone users in order to apply appropriate positioning methods can save resources while improving positioning accuracy. Therefore, in order to achieve better seamless positioning, it is very necessary to perform I / O (Indoor / Outdoor) detection of the user's location.

[0004] I / O detection is a bridge that connects indoor and outdoor areas to achieve seamless positioning. In order to improve positioning accuracy and reduce power consumption, the multi-source fusion positioning system triggers a specific positioning fusion strategy based on the I / O detection results. The methods that focus on I / O detection in various environments are divided into two categories: technologies based on fixed detection rules or thresholds, and technologies based on machine learning. Of the two methods mentioned above, the first method using a fixed threshold cannot adapt to different environments. The second switching method based on machine learning, although it improves the accuracy to a certain extent compared to the traditional threshold method, requires a large amount of test set data, which greatly increases the workload. Summary of the invention

[0005] The object of the present invention is to provide a seamless navigation method based on a salp swarm algorithm to more accurately locate transition areas and indoor areas with poor signal quality.

[0006] The object of the present invention is to achieve a seamless navigation method based on a salp swarm algorithm by the following technical means, comprising the following steps:

[0007] Collect data, such as light intensity, cellular RSSI value, magnetic field strength, satellite signal-to-noise ratio, and number of visible satellites through mobile phone sensors;

[0008] Indoor and outdoor environment detection, constructing the indoor and outdoor switching detection fitness function, and using the salp swarm optimization algorithm to find the optimal solution as the weight of the indoor and outdoor switching detection fitness function, that is, the weight of the optimal switching parameter, converting the static switching threshold into the real-time dynamic optimal switching parameter to detect the indoor and outdoor environment;

[0009] When the indoor and outdoor environment detection results are indoor or transitional areas, the mobile phone inertial navigation system data and GNSS data are corrected by using the Gaussian constraint-based improved Kalman filter algorithm to obtain the corrected positioning result and output it;

[0010] When the indoor and outdoor environment detection result is an outdoor area, positioning is performed through GNSS data.

[0011] The indoor and outdoor switching detection fitness function is:

[0012]

[0013] in, is the measured value of the sensor at the i-th moment, D is the constant of the sensor's ability to distinguish between indoor and outdoor switching, x is the optimal solution found by the salp swarm optimization algorithm, and is also the weight for calculating the optimal parameters for indoor and outdoor switching, and M is the total number of collected data;

[0014] The dynamic threshold of indoor and outdoor environment detection is λ = x·D, and the result of judging the current user is:

[0015]

[0016] Where α1 and α2 are constants between 0 and 2.

[0017] The specific method of the salp swarm optimization algorithm is:

[0018] The number of salps represents the dimensional value of the number of multiple sensors, and the upper and lower limits of the population in each dimensional space represent the upper and lower limits of the weight range of each sensor, as shown in the following formula:

[0019] X j×N=rand(j,N)·(ub(j,N)-lb(j,N))+lb(j,N)

[0020] The search space can be expressed as N×2, where N is the size of the salp group and j is the dimension of the dynamic model. The food in the space can be expressed as F=[F1,F2], where the food represents the optimal parameters for switching between indoor and outdoor. The position matrix of the salps in the candidate solution space is X=[X n1 , X n2 ], the upper bound of the search space is ub = [ub1, ub2], and the lower bound is lb = [lb1, lb2];

[0021] Calculate the individual fitness value and select the current optimal solution. Calculate the fitness value of each salp, then select the position of the salp group with the best fitness value and use it as the optimal solution, that is, calculate the weight of the current optimal switching parameter;

[0022] Then the salp group is divided into two parts, namely, leaders and followers, wherein the leaders are located in the front half and the followers are located in the back half;

[0023] The leader salp updates its position according to the following formula,

[0024]

[0025] Among them: F d is the d-th dimension variable of the food location; c2 and c3 are random numbers from 0 to 1. When c1>1, a global search is performed, and when c1<1, a local search is performed.

[0026]

[0027] Where: t is the current iteration number; T max is the maximum number of iterations;

[0028] Follower salps update their positions as follows:

[0029]

[0030] in, represents that the mth follower is located in the dth dimension before the update, Indicates the position of the follower after the update. The correction method for particles that exceed the value range is:

[0031]

[0032] Again, recalculate the fitness value. After completing the above steps, recalculate the fitness value of the new salp, select the salp position corresponding to the best fitness value, and then update the optimal solution;

[0033] Until the maximum number of iterations is reached, the optimal solution, that is, the optimal fitness value and the optimal position, is output.

[0034] When detecting the indoor and outdoor environment, the target is first detected based on the acceleration data to see whether it is moving or still. If the stillness exceeds the set time, the result of the last indoor and outdoor environment detection is directly used. If the movement or stillness time does not exceed the set time, the indoor and outdoor environment detection is performed again.

[0035] When performing indoor and outdoor environment detection, if it is at night or the light sensor is unavailable, the light intensity data is not collected.

[0036] The Gaussian constraint-based improved Kalman filter algorithm is specifically:

[0037] The system state at time k is estimated based on the inertial navigation data at time k-1 and the GNSS data information. Assuming that the system noise is zero mean, the state estimation at time k can be written as:

[0038] Φ is the state transfer matrix;

[0039] At the same time, the Kalman filter also transfers the uncertainty of the previous moment k-1 to the next moment k, and the uncertainty is expressed by the error covariance P k (-), also called the prior covariance matrix:

[0040]

[0041] Where P is the state covariance matrix, Q is the input covariance matrix;

[0042] By evaluating the state variable x k and the observed variable z k The similarity between them is then used to calculate the Kalman gain to update the equation. The following formula is called to update the Kalman gain during each GPS measurement.

[0043]

[0044] R is the variance of the measurement noise;

[0045] In the above formula, χ and Ψ are:

[0046]

[0047] is the diagonal matrix of χ, defined as follows:

[0048]

[0049] When tk Get a new measurement value Z at any time k , and compare it with the predicted measurement value based on the prior state estimate For comparison,

[0050]

[0051] The errors of the two are weighted by K, and the prediction of the state vector is updated to generate the best estimate, and the best estimate is output, which is the final positioning result:

[0052]

[0053] In the Gaussian constraint-based improved Kalman filter algorithm, the system model of the continuous-time Kalman filter is: Specifically,

[0054]

[0055] Where w is the system noise matrix, which is zero-mean white noise with a variance matrix of INS, and G is the noise distribution vector, which contains the variance associated with the state vector:

[0056] G=[σ r,1×3 ,σ v,1×3 ,σ ε,1×3 ,σ ω,1×3 ,σ f,1×3 ]

[0057] F is the dynamic covariance matrix, which contains the various parts of the INS error model.

[0058]

[0059] The state vector is the error components of position, velocity, attitude, accelerometer, and gyroscope:

[0060]

[0061] In the Gaussian constraint-based improved Kalman filter algorithm, the system observation model, i.e., Z k-1 Specifically,

[0062] δz k =H k δx k +η k

[0063] The second term on the right side of the equation represents the zero-mean measurement noise with a covariance of R k ,

[0064] Since the state vector of the KF contains the error in the INS, the corresponding measurement vector consists of the difference between the speed and position predicted by the INS and the position and speed measured by the GPS:

[0065]

[0066] H k Yes k The measurement matrix at the moment describes the measurement value z obtained by linear combination of state variables in the absence of noise. k :

[0067] H k =[I 6×6 0 6×9 ].

[0068] The beneficial effects of the present invention are: based on the indoor and outdoor switching algorithm optimized by the salp swarm, the fitness function of the SSA (SalpSwarm Algorithm) algorithm is designed, the traditional fixed threshold is converted into a real-time dynamic switching parameter, and the precise detection of indoor and outdoor environments is effectively completed without the need for a test set. For transition areas and indoor areas with poor GNSS signal quality, INS measurement data is added, and Gaussian constraints between states and observations are introduced to improve the Kalman filter, which can achieve continuous positioning and orientation across indoor and outdoor areas. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] Figure 1 It is a flow chart of a seamless navigation method based on a salp swarm algorithm;

[0070] Figure 2 Classify indoor and outdoor environment detection;

[0071] Figure 3 Search space graph for fitness function;

[0072] Figure 4 is the fitness function curve;

[0073] Figure 5 This is the switching delay effect diagram;

[0074] Figure 6 It is a satellite vector positioning map;

[0075] Figure 7 It is the target motion trajectory tracking diagram;

[0076] Figure 8 It is the curve diagram of the velocity error result in N direction;

[0077] Fig. 9 It is the curve diagram of the velocity error result in E direction;

[0078] Fig.10is the curve diagram of the roll angle error result;

[0079] Fig.11 is the pitch angle error result curve graph;

[0080] Fig.12 is the yaw angle result curve graph;

[0081] Fig.13 is the position error result curve graph;

[0082] Fig.14 is the positioning target position error map;

[0083] Fig.15 is the cumulative distribution error graph;

[0084] Fig.16 Flowchart of the algorithm for optimizing salp swarms in indoor and outdoor environment detection;

[0085] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. DETAILED DESCRIPTION

[0086] [Example 1]

[0087] like Figure 1 As shown, a seamless navigation method based on a salp swarm algorithm comprises the following steps:

[0088] Collect data, such as light intensity, cellular RSSI value, magnetic field strength, satellite signal-to-noise ratio, and number of visible satellites through mobile phone sensors;

[0089] When detecting the indoor and outdoor environment, the target is first detected based on the acceleration data to see whether it is moving or still. If the stillness exceeds the set time, the result of the last indoor and outdoor environment detection is directly used. If the movement or stillness time does not exceed the set time, the indoor and outdoor environment detection is performed again.

[0090] When performing indoor and outdoor environment detection, if it is at night or the light sensor is unavailable, the light intensity data is not collected.

[0091] Android smartphones are used to collect measurement data of sensors such as light, magnetometer, GNSS, etc. in different indoor and outdoor environments, and the changing patterns of the data are analyzed. A suitable fitness function is designed based on the changing patterns of indoor and outdoor data.

[0092] In actual detection, since there are detection results from the previous moment, before a new round of detection is carried out, we first judge whether the target is stationary based on the acceleration data. If the stationary time is greater than the set time, it is considered that the target has not moved, and the last indoor and outdoor detection results are still used; otherwise, a new round of indoor and outdoor environment detection is started.

[0093] Depending on the time, such as at night or when the light sensor cannot work, the light intensity data is removed from subsequent calculations and is not used as an indication.

[0094] like Figure 2 As shown, there are three types of detection results, namely outdoor, indoor-outdoor transition area and indoor. For indoor or indoor-outdoor transition area, this method is used for positioning. If the detection result is outdoor, the existing conventional method can be used for positioning.

[0095] Indoor and outdoor environment detection, constructing the indoor and outdoor switching detection fitness function, and using the salp swarm optimization algorithm to find the optimal solution as the weight of the indoor and outdoor switching detection fitness function, that is, the weight of the optimal switching parameter, converting the static switching threshold into the real-time dynamic optimal switching parameter to detect the indoor and outdoor environment;

[0096] The indoor and outdoor switching detection fitness function is:

[0097]

[0098] in, is the measured value of the sensor at the i-th moment, D is the constant of the sensor's ability to distinguish between indoor and outdoor switching, x is the optimal solution found by the salp swarm optimization algorithm, and is also the weight for calculating the optimal parameters for indoor and outdoor switching, M is the total number of collected data, and T is the transposition symbol in mathematics;

[0099] The dynamic threshold of indoor and outdoor environment detection is λ = x·D, and the result of judging the current user is:

[0100]

[0101] Where α1 and α2 are constants between 0 and 2.

[0102] According to the observation data obtained by each sensor, a correlation matrix is ​​constructed, and the solution principle of the optimal switching coefficient is summarized and organized into a matrix form, and the following relationship can be obtained:

[0103] E=FY

[0104] Where Y is the estimated weight, E is the coefficient matrix associated with each sensor, and F is the correlation matrix of the collected data.

[0105] Due to the influence of measurement error, the above formula can be expressed as:

[0106]

[0107] Therefore, the problem of solving the optimal switching parameters can be regarded as the problem of finding the optimal weights, which can be solved by applying intelligent optimization algorithms.

[0108] The objective function is constructed as follows:

[0109]

[0110] Then the fitness function for evaluating the quality of individuals in the SSA algorithm is:

[0111]

[0112] in, is the measured value of the sensor at the i-th moment, D is the constant of the sensor's ability to distinguish between indoor and outdoor switching, x is the optimal solution found by the salp swarm, and is also the weight for calculating the optimal parameters for indoor and outdoor switching.

[0113] Therefore, the dynamic threshold of I / O detection is λ=x·D, and the result of judging the current user is:

[0114]

[0115] in, is the measurement value of the sensor at the i-th moment, D is the constant matrix with the ability to distinguish when the sensor switches between indoor and outdoor, x is the optimal solution sought by the salp swarm, and α1 and α2 can be adjusted according to the specific situation. α1 and α2 are constants between 0 and 2.

[0116] When the indoor and outdoor environment detection results are indoor or transitional areas, the mobile phone inertial navigation system data and GNSS data are corrected by using the Gaussian constraint-based improved Kalman filter algorithm to obtain the corrected positioning result and output it;

[0117] When the indoor and outdoor environment detection result is an outdoor area, positioning is performed through GNSS data, thereby achieving a seamless transition between the three scene positioning.

[0118] like Fig.16 As shown, the specific method of the salp swarm optimization algorithm is:

[0119] The number of salps represents the dimensional value of the number of multiple sensors, and the upper and lower limits of the population in each dimensional space represent the upper and lower limits of the weight range of each sensor, as shown in the following formula:

[0120] X j×N =rand(j,N)·(ub(j,N)-lb(j,N))+lb(j,N)

[0121] The search space can be expressed as N×2, where N is the size of the salp group and j is the dimension of the dynamic model. The food in the space can be expressed as F=[F1,F2], where the food represents the optimal parameters for switching between indoor and outdoor. The position matrix of the salps in the candidate solution space is X=[X n1, X n2 ], the upper bound of the search space is ub = [ub1, ub2], and the lower bound is lb = [lb1, lb2];

[0122] Calculate the individual fitness value and select the current optimal solution. Calculate the fitness value of each salp, then select the position of the salp group with the best fitness value and use it as the optimal solution, that is, calculate the weight of the current optimal switching parameter;

[0123] Then the salp group is divided into two parts, namely, leaders and followers, wherein the leaders are located in the front half and the followers are located in the back half;

[0124] The leader salp updates its position according to the following formula,

[0125]

[0126] Among them: F d is the d-th dimension variable of the food location; c2 and c3 are random numbers from 0 to 1. When c1>1, a global search is performed, and when c1<1, a local search is performed.

[0127]

[0128] Where: t is the current iteration number; T max is the maximum number of iterations;

[0129] Follower salps update their positions as follows:

[0130]

[0131] in, represents that the mth follower is located in the dth dimension before the update, Indicates the position of the follower after the update. The correction method for particles that exceed the value range is:

[0132]

[0133] Again, recalculate the fitness value. After completing the above steps, recalculate the fitness value of the new salp, select the salp position corresponding to the best fitness value, and then update the optimal solution;

[0134] Until the maximum number of iterations is reached, the optimal solution, that is, the optimal fitness value and the optimal position, is output.

[0135] First, initialize each parameter, calculate the individual fitness function and food source. Initialize the maximum number of iterations, the number of salps represents the dimensional value of the number of multiple sensors, and the upper and lower limits of the population in each dimensional space represent the upper and lower limits of the weight range of each sensor, as shown in the following formula:

[0136] X j×N =rand(j,N)·(ub(j,N)-lb(j,N))+lb(j,N)

[0137] The search space can be expressed as N×2, where N is the size of the salp group and j is the dimension of the dynamic model. The food in the space can be expressed as F=[F1,F2], where the food represents the optimal parameters for switching between indoor and outdoor. The position matrix of the salps in the candidate solution space is X=[X n1 , X n2 ], the upper bound of the search space is ub=[ub1,ub2], and the lower bound is lb=[lb1,lb2].

[0138] Secondly, the individual fitness values ​​are calculated and the current optimal solution is selected. The fitness value of each salp is calculated, and then the position of the salp group with the best fitness value is selected and used as the optimal solution, that is, the weight of the current optimal switching parameter is calculated.

[0139] The leader and followers update their positions, and then divide the salp group. The salp group is divided into two parts: leaders and followers, where the leader is in the front half and the followers are in the back half. The leader salp updates its position according to the following formula, so that the leader can explore and develop resources near the current optimal solution;

[0140]

[0141] Among them: F d is the d-th dimension variable of the food location; c2 and c3 are random numbers from 0 to 1, and c2 determines x i The length of the move, c3 determines x i The moving direction of the algorithm is enhanced with diversity and global search function. Whether the algorithm performs global search or local search is controlled by c1. When c1>1, global search is performed, and when c1<1, local search is performed. c1 is determined by the following formula.

[0142]

[0143] Where: t is the current iteration number; T max is the maximum number of iterations.

[0144] Follower salps update their positions as follows:

[0145]

[0146] in, represents that the mth follower is located in the dth dimension before the update, Indicates the position of the follower after the update. The correction method for particles that exceed the value range is:

[0147]

[0148] After completing the above steps, recalculate the fitness value of the new salp, select the salp position corresponding to the best fitness value, and then update the optimal solution.

[0149] The final iteration condition is judged. If it is greater than the maximum number of iterations, the optimal solution, that is, the optimal fitness value and the optimal position, is output, and the fitness function of the indoor and outdoor switching detection in the indoor and outdoor environment detection is given, and the algorithm ends. If it is less than the maximum number of iterations, repeat the above steps.

[0150] The Gaussian constraint-based improved Kalman filter algorithm is specifically:

[0151] The system state at time k is estimated based on the inertial navigation data at time k-1 and the GNSS data information. Assuming that the system noise is zero mean, the state estimation at time k can be written as:

[0152] Φ is the state transfer matrix;

[0153] At the same time, the Kalman filter also transfers the uncertainty of the previous moment k-1 to the next moment k, and the uncertainty is expressed by the error covariance P k (-), also called the prior covariance matrix:

[0154]

[0155] Where P is the state covariance matrix, Q is the input covariance matrix;

[0156] By evaluating the state variable x k and the observed variable z k The similarity between them is then used to calculate the Kalman gain to update the equation. The following formula is called to update the Kalman gain during each GPS measurement.

[0157]

[0158] R is the variance of the measurement noise; Ψ has no actual physical meaning and is only used to simplify the formula, as follows:

[0159] In the above formula, χ and Ψ are:

[0160]

[0161] is the diagonal matrix of χ, defined as follows:

[0162]

[0163] When t k Get a new measurement value Z at any time k , and compare it with the predicted measurement value based on the prior state estimate For comparison,

[0164]

[0165] The errors of the two are weighted by K, and the prediction of the state vector is updated to generate the best estimate, and the best estimate is output, which is the final positioning result:

[0166]

[0167] The system state at time k is estimated based on the inertial navigation system data and GNSS data information at time k-1. Assuming that the system noise is zero mean, the state estimate at time k can be written as:

[0168]

[0169] At the same time, the Kalman filter also transfers the uncertainty of the previous moment k-1 to the next moment k, and the uncertainty is expressed by the error covariance P k (-), also called the prior covariance matrix:

[0170]

[0171] Where P is the state covariance matrix and Q is the input covariance matrix.

[0172] If the state x k It obeys the following Gaussian distribution:

[0173] f x =N(x|μ(-),p(-))

[0174] The posterior is then determined according to the following rules:

[0175] f x|z ∝f x N(z|Φ,R)

[0176] For additive noise, the Kalman posterior estimate is usually calculated using the general Gaussian filter (GGF) equation. In the GGF solution process, there is an implicit condition; that is, the state variable x k and the observed variable z k obey a joint Gaussian distribution. However, usually the variable x k and z kdoes not follow a strict Gaussian distribution, which makes the prediction error large and may even lead to prediction bias. Therefore, by evaluating x k and z k The similarity between them is then used to calculate the Kalman gain to update the equation. The following formula is called to update the Kalman gain K each time the GPS is measured, that is, a new K value is obtained each time the GPS is measured:

[0177]

[0178] In the above formula, χ and Ψ are:

[0179]

[0180] is the diagonal matrix of χ, defined as follows:

[0181]

[0182] When t k Get a new measurement value Z at any time k , and compare it with the predicted measurement value based on the prior state estimate Make a comparison.

[0183]

[0184] The errors of the two are weighted by K, and the prediction of the state vector is updated to generate the best estimate, that is, the final positioning result corrected based on the inertial navigation data and GNSS data. The final state vector includes the predicted mobile target position, speed, attitude and other information:

[0185]

[0186] During the update phase, the mean and variance of the Gaussian-distributed posterior are estimated as follows:

[0187] μ(+)=μ(-)+K(Z k -Z k-1 )

[0188]

[0189] In the Gaussian constraint-based improved Kalman filter algorithm, the system state model of GPS / INS is as follows:

[0190] The system model of continuous-time Kalman filtering for GPS / INS integrated navigation system is Specifically,

[0191]

[0192] Where w is the system noise matrix, which is zero-mean white noise with a variance matrix of INS, and G is the noise distribution vector, which contains the variance associated with the state vector:

[0193] G=[σ r,1×3 ,σ v,1×3 ,σ ε,1×3 ,σ ω,1×3 ,σ f,1×3 ]

[0194] F is the dynamic covariance matrix, which contains the various parts of the INS error model.

[0195]

[0196] The state vector is the error components of position, velocity, attitude, accelerometer, and gyroscope:

[0197]

[0198] Therefore, the system model of INS / GPS integrated navigation can be written as:

[0199]

[0200] Discretize it, and the discrete-time system model is:

[0201] δx k =(I+FΔt)δx k-1 +GΔtw k-1

[0202]

[0203] In the Gaussian constraint-based improved Kalman filter algorithm, the system observation model, i.e., Z k-1 Specifically,

[0204] δz k =H k δx k +η k

[0205] The second term on the right side of the equation represents the zero-mean measurement noise with a covariance of R k ,

[0206] Since the state vector of the KF contains the error in the INS, the corresponding measurement vector consists of the difference between the speed and position predicted by the INS and the position and speed measured by the GPS:

[0207]

[0208] H k Yes kThe measurement matrix at the moment describes the measurement value z obtained by linear combination of state variables in the absence of noise. k :

[0209] H k =[I 6×6 0 6×9 ].

[0210] The complete measurement model can be written as:

[0211]

[0212] Expand it to get:

[0213]

[0214] In addition, there are two important covariance matrices R k , P k

[0215] R k Contains the variance on the measurement state diagonal, defined as:

[0216]

[0217] The covariance P of the predicted state k It is also a diagonal matrix consisting of the variances on the diagonal:

[0218]

[0219] Among them, the variance term of each diagonal element is also a 3x3 diagonal matrix, which is related to position, velocity, attitude, gyroscope bias and accelerometer bias respectively.

[0220] The above steps are used to obtain the prior information of the Kalman filter, and then the improved Kalman filter algorithm based on Gaussian constraints is used to obtain the posterior information. The state vector in the update phase is the final state vector, which includes the predicted moving target position, speed, posture and other information.

[0221] The simulation results are as follows

[0222] This experiment uses the method in implementation to conduct simulation experiments. In the experiment, the number of salps is 30, the dimension is 5, the search upper limit of each dimension is 0, the lower limit is 100, and the maximum number of iterations is 50. In order to build the data basis of the indoor and outdoor detection model across indoor, outdoor and semi-indoor scenes (transition area), a series of sensor data such as GNSS, magnet, light, Wi-Fi, accelerometer, gyroscope and gravity are selected, and their measurements are recorded synchronously through the Android application. Since the sampling rate of smartphones varies, the time window method is used to complete the data collection of each sensor separately. For the light sensor, the detection of the close-range sensor avoids interference such as human clothing, and collects several (2 to 6) light intensity values ​​per second. For the magnetometer sensor, the three-axis magnetic value is collected. Since the numerical value of the magnetometer in three directions is used, the coordinate conversion is skipped. For Wi-Fi, the callback is the relevant signal indicator, and the RSSI is recorded in each periodic scan controlled by the Android API.

[0223] The detection accuracy of each mobile phone is shown in the following table.

[0224] Table 1 Detection accuracy table

[0225]

[0226] The observation interval T of the Kalman filter is set to 0.017s, the sampling number N is 29849 times, and the observation noise variances of GPS and speed are and 1m / s; the process noise variance of the acceleration and gyroscope are 5.01m / s^2 and 0.1pi / 180(rad / s), and the zero bias is 1e-12 and 0.03pi / 180(rad / s^1.5); the simulation trajectory is as follows Figure 6 As shown in the figure, assume that the user holds a smartphone and moves slowly along the red route, with the initial coordinates at (1000, 0) and the acceleration at (-0.77, -0.59). The user enters the indoor area at (1200, 500) and enters the outdoor area at (100, 1200). Figure 7 As shown,

[0227] Figure 3 and Figure 4 They are respectively the fitness function search space and the fitness function curve. Figure 3 As can be seen in , the designed fitness functions are multimodal test functions with more than one optimal value making them suitable for benchmarking the local optimum avoidance and exploration behaviors of optimization algorithms. Figure 4 It can be seen that the fitness function is decreasing and tends to 0 within 20 iterations, which means that the function has a certain search ability and can seek the best switching parameters.

[0228] Figure 5The following are the detection results of three mobile phones using the SSA switching algorithm. It can be seen from the figure that there are a total of 4 indoor and outdoor and transition area switches in this scene, at 65s and 75s, 410s and 415s respectively. Using the SSA algorithm, the recognition effects of the three mobile phones are slightly different, with high accuracy and low latency.

[0229] Figure 6 and Figure 7 The position trajectory positioning results under two switching scenarios are shown. Figure 7 It can be seen that the black dotted box in the trajectory marks the specific positions of the two switches. As can be seen from the figure, the moving target starts from the position (1000, 0). When it reaches the first switching point, the environment changes from outdoor to indoor. The poor GPS signal is gradually interrupted. At the same time, the three positioning methods all begin to have large errors. After that, the positioning error continues to increase through accumulation. The traditional GPS-assisted inertial navigation method performs well at the first switching position, but the positioning error slowly increases over time. A large error occurs at the second switching, which cannot meet the higher system accuracy requirements. The improved scheme proposed in this paper tracks the user's position more accurately in the above two scenarios without disturbance caused by sudden changes in the environment, and can achieve accurate, stable, high-precision seamless positioning.

[0230] Figure 8-13 The low-speed motion process trajectory of the switching part is used for the carrier motion trajectory of the loosely coupled navigation simulation. As can be seen from the figure, even in the transition and indoor areas with poor GPS signals, the horizontal velocity error of the scheme using GPS-assisted INS combined with improved Kalman filtering is almost less than 0.05m / s, the horizontal attitude error is small, and the positioning error is within about 3m, which can maintain the attitude and velocity error at the level of normal GNSS. Therefore, the improved Kalman filtering algorithm after adding INS in this paper can correct the position error and make the error tend to stabilize and converge.

[0231] from Fig.14 It can be seen that the algorithm error of GPS-assisted INS positioning based on improved Kalman filtering is basically within 3.18 meters, while the error of GPS-assisted INS positioning algorithm is within 4.95 meters, and the positioning error of INS algorithm is basically within 6.86 meters; in addition, it is worth noting that when passing through the indoor and outdoor transition area, the positioning errors of the three algorithms all increase, and the use of pure INS method produces obvious drift errors, making it difficult to smoothly achieve accurate indoor and outdoor positioning. In contrast, the maximum error of this method does not exceed 5.26 meters, which can achieve a relatively accurate and stable navigation function.

[0232] Fig.15The cumulative distribution curves of the four algorithms are compared. It can be seen that there is a 90% probability that the error of this algorithm is within 3.18 meters, while the probability of the GPS / INS method error within 3.56 meters is only 68.28%, and the INS method is only 41.76%. It can be seen that this method greatly improves the positioning accuracy in indoor and outdoor transition environments and successfully reduces the error. Both the GPS-assisted INS algorithm and the method in this paper can achieve continuous positioning in GNSS severely degraded areas and indoor areas. However, in comparison, this algorithm has the best positioning performance among the three algorithms. By combining the relationship between state and observation, the fusion Kalman filter algorithm is improved to reduce the interference of NLOS, multipath and fault signals.

[0233] Android smartphones were used to collect sensor measurement data such as light, magnetometer, satellite signal-to-noise ratio, etc. in different environments, and the changing patterns of the data were analyzed. The salp swarm optimization algorithm was used in the I / O detection model, and a suitable fitness function was designed. By converting the static switching threshold into the real-time dynamic optimal switching parameter, the indoor and outdoor environment of the user can be detected with high efficiency and low latency; secondly, the proposed I / O detection service was used as an automatic switching mechanism, and the physical meaning of the data was added to the traditional GPS / INS combined navigation. Using the similarity between the state and the observation, a seamless indoor and outdoor positioning scheme based on Gaussian constraint improved Kalman filtering was proposed. This seamless positioning method can select the appropriate positioning method according to the characteristics of the environment to achieve accurate and continuous seamless navigation and positioning.

Claims

1. A seamless navigation method based on a salp swarm algorithm, characterized in that: The following steps are involved: Collect data, such as light intensity, cellular RSSI value, magnetic field strength, satellite signal-to-noise ratio, and number of visible satellites through mobile phone sensors; Indoor and outdoor environment detection, constructing the indoor and outdoor switching detection fitness function, and using the salp swarm optimization algorithm to find the optimal solution as the weight of the indoor and outdoor switching detection fitness function, that is, the weight of the optimal switching parameter, converting the static switching threshold into the real-time dynamic optimal switching parameter to detect the indoor and outdoor environment; When the indoor and outdoor environment detection results are indoor or transitional areas, the mobile phone inertial navigation system data and GNSS data are corrected by using the Gaussian constraint-based improved Kalman filter algorithm to obtain the corrected positioning result and output it; When the indoor and outdoor environment detection result is an outdoor area, positioning is performed through GNSS data.

2. A seamless navigation method based on a salp swarm algorithm according to claim 1, characterized in that: The indoor and outdoor switching detection fitness function is: in, is the measured value of the sensor at the i-th moment, D is the constant of the sensor's ability to distinguish between indoor and outdoor switching, x is the optimal solution found by the salp swarm optimization algorithm, and is also the weight for calculating the optimal parameters for indoor and outdoor switching, and M is the total number of collected data; The dynamic threshold of indoor and outdoor environment detection is λ = x·D, and the result of judging the current user is: Among them, α1 and α2 are constants between 0 and 2 and can be modified according to the actual measurement environment.

3. A seamless navigation method based on a salp swarm algorithm according to claim 1 or 2, characterized in that: The specific method of the salp swarm optimization algorithm is: The number of salps represents the dimensional value of the number of multiple sensors, and the upper and lower limits of the population in each dimensional space represent the upper and lower limits of the weight range of each sensor, as shown in the following formula: X j×N =rand(j,N)·(ub(j,N)-lb(j,N))+lb(j,N) The search space can be expressed as N×2, where N is the size of the salp group and j is the dimension of the dynamic model. The food in the space can be expressed as F=[F1,F2], where the food represents the optimal parameters for switching between indoor and outdoor. The position matrix of the salps in the candidate solution space is X=[X n1 , X n2 ], the upper bound of the search space is ub = [ub1, ub2], and the lower bound is lb = [lb1, lb2]; Calculate the individual fitness value and select the current optimal solution. Calculate the fitness value of each salp, then select the position of the salp group with the best fitness value and use it as the optimal solution, that is, calculate the weight of the current optimal switching parameter; Then the salp group is divided into two parts, namely, leaders and followers, wherein the leaders are located in the front half and the followers are located in the back half; The leader salp updates its position according to the following formula, Among them: F d is the d-th dimension variable of the food location; c2 and c3 are random numbers from 0 to 1. When c1>1, a global search is performed, and when c1<1, a local search is performed. Where: t is the current iteration number; T max is the maximum number of iterations; Follower salps update their positions as follows: in, represents that the mth follower is located in the dth dimension before the update, Indicates the position of the follower after the update. The correction method for particles that exceed the value range is: Again, recalculate the fitness value. After completing the above steps, recalculate the fitness value of the new salp, select the salp position corresponding to the best fitness value, and then update the optimal solution; Until the maximum number of iterations is reached, the optimal solution, that is, the optimal fitness value and the optimal position, is output.

4. The seamless navigation method based on the salp swarm algorithm according to claim 1, characterized in that: When detecting the indoor and outdoor environment, the target is first detected based on the acceleration data to see whether it is moving or still. If the stillness exceeds the set time, the result of the last indoor and outdoor environment detection is directly used. If the movement or stillness time does not exceed the set time, the indoor and outdoor environment detection is performed again.

5. A seamless navigation method based on a salp swarm algorithm according to claim 4, characterized in that: When performing indoor and outdoor environment detection, if it is at night or in the dark When the sensor is unavailable, no light intensity data is collected.

6. The seamless navigation method based on the salp swarm algorithm according to claim 1, characterized in that: The Gaussian constraint-based improved Kalman filter algorithm is specifically: The system state at time k is estimated based on the inertial navigation data at time k-1 and the GNSS data information. Assuming that the system noise is zero mean, the state estimation at time k can be written as: Φ is the state transfer matrix; At the same time, the Kalman filter also transfers the uncertainty of the previous moment k-1 to the next moment k, and the uncertainty is expressed by the error covariance P k (-), also called the prior covariance matrix: Where P is the state covariance matrix, Q is the input covariance matrix; By evaluating the state variable x k and the observed variable z k The similarity between them is then used to calculate the Kalman gain to update the equation. The following formula is called to update the Kalman gain during each GPS measurement. R is the variance of the measurement noise; In the above formula, χ and Ψ are: is the diagonal matrix of χ, defined as follows: When t k Get a new measurement value Z at any time k , and compare it with the predicted measurement value based on the prior state estimate For comparison, The errors of the two are weighted by K, and the prediction of the state vector is updated to generate the best estimate, and the best estimate is output, which is the final positioning result:

7. A seamless navigation method based on a salp swarm algorithm according to claim 6, characterized in that: In the Gaussian constraint-based improved Kalman filter algorithm, the system model of the continuous-time Kalman filter is: Specifically, Where w is the system noise matrix, which is zero-mean white noise with a variance matrix of INS, and G is the noise distribution vector, which contains the variance associated with the state vector: G=[σ r,1×3 ,s v,1×3 ,s ε,1×3 ,s ω,1×3 ,s f,1×3 ] F is the dynamic covariance matrix, which contains the various parts of the INS error model. The state vector is the error components of position, velocity, attitude, accelerometer, and gyroscope:

8. The seamless navigation method based on the salp swarm algorithm according to claim 6, characterized in that: In the Gaussian constraint-based improved Kalman filter algorithm, the system observation model, i.e., Z k-1 Specifically, δz k =H k δx k +n k The second term on the right side of the equation represents the zero-mean measurement noise with a covariance of R k , Since the state vector of the KF contains the error in the INS, the corresponding measurement vector consists of the difference between the speed and position predicted by the INS and the position and speed measured by the GPS: H k Yes k The measurement matrix at the moment describes the measurement value z obtained by linear combination of state variables in the absence of noise. k : H k =[I 6×6 0 6×9 ]。