A pedestrian azimuth angle calculation method
By combining MEMS inertial sensors with accelerometers, gyroscopes, and magnetometers, the instability point of the center of gravity is detected and weighted averaged, solving the problems of large sensor errors, large computational load, and high energy consumption in pedestrian dead reckoning systems, and achieving higher accuracy and efficiency in indoor positioning.
Patent Information
- Application Number
- CN202310097361.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-03
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2043-02-03
AI Technical Summary
Existing pedestrian dead reckoning systems suffer from large sensor errors, high computational load, and high energy consumption in indoor positioning, especially when combined with digital compasses and inertial sensors.
Using MEMS inertial sensors, combined with accelerometers, gyroscopes, and magnetometers, the pedestrian's azimuth angle is calculated by detecting the center of gravity instability point, using acceleration and magnetometer data, and then weighted and averaged with the gyroscope integration result to reduce sensor integration error.
It improves the accuracy of pedestrian azimuth calculation and reduces computational load and energy consumption, achieving more efficient indoor positioning.
Smart Images

Figure CN116295373B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of target detection, specifically a method for calculating the azimuth angle of pedestrians. Background Technology
[0002] Existing Pedestrian Dead Retrieval (PDR) systems are widely used in indoor positioning due to their low cost and lack of need for beacon node deployment. When retrieving pedestrian positions, in addition to knowing the step length, the walking direction is also necessary to calculate the pedestrian's location. Smartphones typically have digital compasses (direction sensors) that measure the phone's orientation angle. However, due to sensor errors and environmental interference, significant errors exist in practical applications. To overcome these biases, many studies propose integrating other sensors. Based on the types of sensors used, these solutions can be categorized into two types. Since smartphones integrate many inertial sensors (such as accelerometers and gyroscopes), they can be combined with digital compasses. For example, the acceleration trajectory measured by an accelerometer can be used to determine a type of time point where the positional deviation is the same as the positional deviation after the person puts the phone in their pocket at the starting point. Therefore, by measuring the positional deviation at the starting point and combining it with the phone's orientation angle measured at each step's inference point, the sum of these two measurements gives the walking direction for each step. The straight edge of the ceiling can also be used as a reference to calculate the pedestrian's direction. Sun Z et al. [7] first used computer vision technology to extract the ceiling edge from photos taken by mobile phones, and then calculated the directional deviation of the mobile phone's Y-axis relative to the ceiling edge. Since the horizontal interface of buildings is mostly rectangular, the ceiling edge is horizontal or vertical relative to the building. At this time, the absolute direction of the building is measured, which is equivalent to the absolute direction of the ceiling edge. Combined with the directional deviation of the mobile phone relative to the ceiling edge, the direction of the mobile phone can be obtained. This scheme can achieve an accuracy of about 1°, but the disadvantage is that the amount of calculation is huge and the energy consumption is also very high. Summary of the Invention
[0003] This invention uses MEMS inertial sensors to capture key nodes (center of gravity instability points) in the motion process, and combines data from accelerometers, gyroscopes, and magnetometers to jointly calculate the pedestrian's location, thus solving the problems of high computational load and high energy consumption in the prior art.
[0004] The technical solution adopted in this invention is a method for calculating the azimuth angle of pedestrians, which includes:
[0005] Step 1: While walking, acquire the triaxial signals (a, b, c) from the accelerometer. x (t),a y (t),a z (t)), t=1,2,3,…,n. t represents the sampling point; the acquired magnetometer signal is (M x (t),M y(t),M z (t));
[0006] Synthesize triaxial acceleration signals into a one-dimensional signal
[0007] Step 2: Calculate the maximum points in the one-dimensional signal obtained in Step 1 that are greater than the set threshold;
[0008] Step 3: Calculate the minimum points in the one-dimensional signal obtained in Step 1;
[0009] Step 4: Calculate the centroid offset between adjacent minimum and maximum points along the sampling direction. The calculation method is as follows:
[0010] Step 4.1: Manually extract multiple center of gravity offset point curves from the existing gait database, then calculate the average value of these center of gravity offset point curves to obtain the center of gravity offset point curve template;
[0011] Step 4.2: Slide the template from the minimum point to the adjacent maximum point. Calculate the matching degree between the corresponding one-dimensional signal curve within the template size and the template at each slide. After sliding, find the most matching one-dimensional signal curve segment as the centroid offset point.
[0012] Step 5: Calculate the azimuth angle of the centroid offset point;
[0013] Step 5.1: Use a low-pass filter to separate the triaxial acceleration signals (a x (t),a y (t),a z Given the gravitational acceleration g in (t)), we can obtain the gravitational acceleration a. g (t)=(a x-g (t),a y-g (t),a z-g (t));
[0014] Step 5.2: Calculate the pedestrian's acceleration: a u (t)=(a x-u (t),a y-u (t),a z-u (t))
[0015] in,
[0016] Step 5.3: Calculate the azimuth angle θ(t) of the center of gravity offset point based on the accelerometer and magnetometer using the following formula. am ; Azimuth angle θ(t) am Indicates the angle with due north;
[0017]
[0018] Step 6: Synthesize the azimuth angle θ(t) of the next centroid offset point;
[0019] θ(t)=λθ(t) am +(1-λ)θ(t) gyr
[0020] Where, θ(t) gyr =θ(t-1)+β, where λ represents the weighting coefficient and β represents the azimuth change obtained by integration through the gyroscope;
[0021] Step 7: Iterate through steps 1-6 as you sample points.
[0022] Furthermore, the specific method for step 2 is as follows:
[0023] Step 2.1: Traverse the acceleration time series from t to t+n to find the local maximum value a. k a k =max{a i |i=t,t+1,…,t+n}
[0024] Step 2.2: Set an acceleration threshold δ, when a k When k > δ, k is determined to be a true maximum point, and the remaining maximum points are deleted;
[0025] Step 2.3: Set a time difference threshold ζ. If the time difference between two peaks is greater than the time difference threshold ζ, it means that they are normal peaks; if it is less than the threshold ζ, it means that one of them is a false peak. Then keep the largest peak and delete the smaller peak.
[0026] This invention first detects the point of instability at the center of gravity, and then detects the walking direction based on acceleration and magnetometer readings at that point. The heading θ obtained from acceleration and magnetometer readings is fused with the heading β obtained from gyroscope integration. The heading angle is calculated at the point of instability at each step, meaning a direction correction is performed with each step. This effectively reduces sensor integration errors and makes the heading angle calculation more accurate. Attached Figure Description
[0027] Figure 1 This is a schematic diagram of the coordinate system of the present invention;
[0028] Figure 2 This is a schematic diagram of the synthesis of a one-dimensional signal from triaxial acceleration signals in a specific embodiment of the present invention;
[0029] Figure 3 This is a schematic diagram of maximum point detection in a specific embodiment of the present invention;
[0030] Figure 4 This is a schematic diagram of minimum point detection in a specific embodiment of the present invention;
[0031] Figure 5 This is a schematic diagram of the detection of the center of gravity offset point in a specific embodiment of the present invention.
[0032] Specifically, the implementation method
[0033] Step 1: Peak Detection
[0034] Obtain triaxial acceleration signals from the sensor
[0035] (a x (t),a y (t),a z (t)), t=1,2,3,…,n. t is the sampling point.
[0036] Synthesize triaxial acceleration signals into a one-dimensional signal Waveform as Figure 2 As shown.
[0037] The peak detection algorithm is as follows:
[0038] 1) Traverse the acceleration time series from t to t+n to find the local maximum value a. k a k =max{a(i)|i=t,t+1,…,t+n}
[0039] 2) Set an acceleration threshold δ, when a k When k > δ, point k is determined to be a peak point;
[0040] 3) Simultaneously, consider adding a time difference threshold ζ. If the time difference between two peaks is greater than the threshold ζ, it indicates a normal peak; if it is less, it indicates one is a spurious peak. In this case, keep the peak with the largest difference and delete the smaller one. The detection results are as follows: Figure 3 As shown.
[0041] Step 2: Valley Detection
[0042] Bo Guru Figure 4 As shown. Two adjacent wave peaks a k and a k+1 The minimum value between them is the trough a. v a v ≤a i Step 3: Detection of the center of gravity offset point (i = k, ..., k+1)
[0043] trough a v Find the centroid offset point between the next wave crest, such as... Figure 5 The boxed area shown.
[0044] 1. From different gait cycles, manually select n segments of red-frame data, with a length of m. Add the corresponding points and calculate the average to obtain the template of the red-frame portion.
[0045] The data in the red box of segment k can be represented as:
[0046] The data template in the red box can be represented as follows:
[0047] in:
[0048] 2. The template within the red box slides from the trough to the peak for matching. Calculate the mean square error.
[0049]
[0050] 3. The midpoint of the part with the smallest error is regarded as the point of deviation of the human body's center of gravity when walking.
[0051] Step 4: Estimating the azimuth of the center of gravity offset point
[0052] Let the triaxial acceleration signal collected at the center of gravity offset point t be (a x (t),a y (t),a z (t)),
[0053] The magnetometer signal is (M x (t),M y (t),M z (t))
[0054] The gravitational acceleration g is separated by a low-pass filter.
[0055] a x (t)→low-pass-filter→a x-g (t)
[0056] a y (t)→low-pass-filter→a y-g (t)
[0057] a z (t)→low-pass-filter→a z-g (t)
[0058] Remove gravitational acceleration a g (t)=(a x-g (t),a y-g (t),a z-g After (t)),
[0059] That is, to obtain the pedestrian's acceleration a u (t)=(ax-u (t),a y-u (t),a z-u (t))
[0060] a x-u (t)=a x (t)-a x-g (t)
[0061] a y-u (t)=a y (t)-a y-g (t)
[0062] a z-u (t)=a z (t)-a z-g (t)
[0063]
[0064] Then we can obtain θ(t). am .
[0065] Step 5: Calculate the azimuth angle of the centroid offset point based on gyroscope integration.
[0066] θ(t) gyr =θ(t-1)+β, where β is the azimuth change obtained by integrating the gyroscope.
[0067] Step 6: Combining the azimuth angle θ(t) of the centroid offset point
[0068] θ(t)=λθ(t) am +(1-λ)θ(t) gyr The final azimuth angle of the center of gravity offset point is the weighted average of the angles obtained in steps 4 and 5.
[0069] If specific azimuth angle data we have calculated is available, it should be listed. Finally, the accuracy of the azimuth angle calculated by this invention should be calculated. The accuracy of this invention is higher than, or at least equivalent to, the accuracy obtained by existing methods. This strongly demonstrates the technical effectiveness of this invention.
Claims
1. A method for calculating the azimuth angle of a pedestrian, the method comprising: Step 1: While walking, acquire the triaxial signals (a, b, c) from the accelerometer. x (t),a y (t),a z (t)), t=1,2,3,…,n; t is the sampling point; the magnetometer signal is collected as (M x (t),M y (t),M z (t)); Synthesize triaxial acceleration signals into a one-dimensional signal Step 2: Calculate the maximum points in the one-dimensional signal obtained in Step 1 that are greater than the set threshold; Step 3: Calculate the minimum points in the one-dimensional signal obtained in Step 1; Step 4: Calculate the centroid offset between adjacent minimum and maximum points along the sampling direction. The calculation method is as follows: Step 4.1: Manually extract multiple center of gravity offset point curves from the existing gait database, then calculate the average value of these center of gravity offset point curves to obtain the center of gravity offset point curve template; Step 4.2: Slide the template from the minimum point to the adjacent maximum point. Calculate the matching degree between the corresponding one-dimensional signal curve within the template size and the template at each slide. After sliding, find the most matching one-dimensional signal curve segment as the centroid offset point. Step 5: Calculate the azimuth angle of the center of gravity offset point; Step 5.1: Use a low-pass filter to separate the triaxial acceleration signals (a x (t),a y (t),a z Given the gravitational acceleration g in (t)), we can obtain the gravitational acceleration a. g (t)=(a x-g (t),a y-g (t),a z-g (t)); Step 5.2: Calculate the pedestrian's acceleration: a u (t)=(a x-u (t),a y-u (t),a z-u (t)) a x-u (t)=a x (t)-a x-g (t) a y-u (t)=a y (t)-a y-g (t) where, a z-u (t) = a z (t) - a z-g (t); Step 5.3: Calculate the azimuth angle θ(t) of the center of gravity offset point based on the accelerometer and magnetometer using the following formula. am ; Azimuth angle θ(t) am Indicates the angle with due north; Step 6: Synthesize the azimuth angle θ(t) of the next centroid offset point; θ(t)=λθ(t) am +(1-λ)θ(t) gyr Where, θ(t) gyr =θ(t-1)+β, where λ represents the weighting coefficient and β represents the azimuth change obtained by integration through the gyroscope; Step 7: Iterate through steps 1-6 as you sample points.
2. The method for calculating pedestrian azimuth angle as described in claim 1, characterized in that, The specific method for step 2 is as follows: Step 2.1: Traverse the acceleration time series from t to t+n to find the local maximum value a. k a k =max{a i |i=t,t+1,…,t+n} Step 2.2: Set an acceleration threshold δ, when a k When k > δ, k is determined to be a true maximum point, and the remaining maximum points are deleted; Step 2.3: Set a time difference threshold ζ. If the time difference between two peaks is greater than the time difference threshold ζ, it means that they are normal peaks; if it is less than the threshold ζ, it means that one of them is a false peak. Then keep the largest peak and delete the smaller peak.
Citation Information
Patent Citations
Pedestrian indoor track positioning method
CN108444473A
Inertial navigation system using all-accelerometer
US20190302804A1