Indoor positioning method and helmet

By using a multi-sensor system and complementary filtering algorithm inside the helmet, the heading drift and two-dimensional positioning deficiencies of traditional pedestrian dead reckoning systems are solved, achieving high-precision positioning in three-dimensional space and recognition of user movement status, and generating a continuous three-dimensional movement path.

CN121594867AActive Publication Date: 2026-03-03SHENZHEN KAISHUODA DIGITAL CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610122517.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-29
Publication Date
2026-03-03
Estimated Expiration
2046-01-29

AI Technical Summary

Technical Problem

Traditional pedestrian dead reckoning systems rely on a single gyroscope for heading estimation, which leads to heading drift and lacks effective perception of the vertical direction, making it difficult to achieve high-precision positioning in three-dimensional space.

Method used

The helmet employs a multi-sensor system, including a geomagnetic sensor, gyroscope, accelerometer, and barometer, combined with a complementary filtering algorithm to fuse heading data and altitude change information, identify the user's motion state, and generate three-dimensional position coordinates.

Benefits of technology

It achieves high-precision positioning in three-dimensional space, accurately reflects the user's floor changes, generates a continuous three-dimensional travel path, and improves positioning accuracy and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121594867A_ABST
    Figure CN121594867A_ABST
Patent Text Reader

Abstract

The invention discloses an indoor positioning method and a helmet, and relates to the technical field of indoor positioning, and the indoor positioning method comprises the steps: obtaining the initial position information of the helmet, and obtaining the data outputted by a geomagnetic sensor, a gyroscope, a barometer and an accelerometer; calculating the height change information of the helmet according to the change of the air pressure data, and determining the course angle of the helmet according to the angular velocity data and the course data; detecting a gait event and / or height change information of the user based on the acceleration data, and identifying a motion state of the user who currently wears the helmet; generating a displacement increment of the user in the horizontal direction and a displacement increment of the user in the vertical direction according to the motion state, the course angle, the height change information and the step length of the user; and determining the current three-dimensional position coordinate of the user according to the initial position information, the displacement increment in the horizontal direction and the displacement increment in the vertical direction. The invention aims to realize positioning in a three-dimensional space.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of indoor positioning technology, and more particularly to indoor positioning methods and helmets. Background Technology

[0002] Pedestrian dead reckoning technology, as an important means of indoor positioning, has been widely used in indoor navigation, emergency rescue, smart wearable devices, and logistics delivery. Its basic principle is to obtain information such as the gait, direction, and stride length of a pedestrian using inertial sensors, and then recursively estimate the pedestrian's real-time position in space by combining the initial position.

[0003] However, traditional PDR systems typically rely on a single gyroscope for heading estimation. Due to the gyroscope's bias and noise, the angular velocity signal it outputs accumulates errors during integration, leading to heading drift and severely impacting positioning accuracy. Furthermore, most existing solutions focus only on two-dimensional planar positioning, lacking effective vertical sensing and failing to accurately reflect floor changes in multi-story buildings, thus failing to meet the high-precision requirements for three-dimensional spatial path mapping in practical applications. Summary of the Invention

[0004] The main purpose of this application is to provide an indoor positioning method and helmet, which aims to achieve positioning in three-dimensional space.

[0005] To achieve the above objectives, this application proposes an indoor positioning method applied to a helmet, the helmet comprising a helmet body, a geomagnetic sensor, a gyroscope, an accelerometer, a barometer, and a processor, the indoor positioning method comprising: When the helmet is detected to be in an indoor environment, the initial position information of the helmet is obtained, as well as the heading data output by the geomagnetic sensor, the angular velocity data output by the gyroscope, the air pressure data output by the barometer, and the acceleration data output by the accelerometer. Based on the changes in the air pressure data, the height change information of the helmet is calculated, and based on the angular velocity data and the heading data, the heading angle of the helmet is determined; Based on the acceleration data, the user's gait events are detected, and based on the gait events and / or the height change information, the movement state of the user currently wearing the helmet is identified; Based on the motion state, the heading angle, altitude change information, and the step size estimated based on the acceleration data, the user's displacement increment in the horizontal direction and displacement increment in the vertical direction are generated. The user's current three-dimensional position coordinates are determined based on the initial position information, the displacement increment in the horizontal direction, and the displacement increment in the vertical direction.

[0006] In one embodiment, determining the heading angle of the helmet based on the angular velocity data and the heading data includes: The angular velocity data is integrated over time to determine the relative angle change of the helmet; The heading angle of the helmet is determined by fusing the relative angle change with the heading data using a complementary filtering algorithm.

[0007] In one embodiment, the step of detecting the user's gait events and / or the height change information based on the acceleration data to identify the motion state of the user currently wearing the helmet includes: Detect user gait events based on the periodic characteristics of the acceleration data; If a periodic and valid gait event is detected within a first preset time period, the movement state is determined to be a walking state; If no valid gait event is detected within a first preset time period, the movement state is determined to be a non-walking state.

[0008] In one embodiment, determining the movement state as a walking state when a periodic and valid gait event is detected within a first preset duration includes: If the movement state is walking, and the height change information is continuously less than the first preset height threshold within a second preset time period, then the movement state is determined to be a planar walking state. If the movement state is walking and the height change information is not less than a preset height threshold for a second preset time period, then the movement state is determined to be going up or down stairs.

[0009] In one embodiment, generating the user's horizontal and vertical displacement increments based on the motion state, the heading angle, altitude change information, and the step size estimated from the acceleration data includes: When the movement state is a planar walking state, the horizontal displacement increment is calculated based on the step length and the heading angle, and the vertical displacement increment of the user is set to zero. When the user is moving up or down stairs, the height change information is used as the user's vertical displacement increment. Based on a preset stair inclination model, the horizontal projection distance is inferred from the height change information, and then the user's horizontal displacement increment is calculated by combining the heading angle.

[0010] In one embodiment, determining the motion state as a non-walking state when no valid gait event is detected within a first preset time period further includes: If the motion state is determined to be a non-walking state, and the duration of the change rate of the height change information being greater than the first preset change rate threshold is greater than the third preset duration, then the user's motion state is determined to be an elevator riding state. If the motion state is determined to be a non-walking state, and the duration of the change rate of the height change information being less than a first preset change rate threshold and greater than a second preset change rate threshold is greater than a third preset duration, then the user's motion state is determined to be an escalator riding state.

[0011] In one embodiment, generating the user's horizontal and vertical displacement increments based on the motion state, the heading angle, altitude change information, and the step size estimated from the acceleration data includes: When the motion state is that of riding an elevator, the user's horizontal displacement increment is set to zero, and the user's vertical displacement increment is set to the height change information. When the movement state is escalator riding, based on the preset escalator tilt angle model, the horizontal projection distance is inferred from the height change information, and the user's displacement increment in the horizontal direction is calculated by combining the heading angle. The height change information is also used as the user's displacement increment in the vertical direction.

[0012] In one embodiment, determining the user's current three-dimensional position coordinates based on the initial position information, the displacement increment in the horizontal direction, and the displacement increment in the vertical direction includes: The initial position information is used as the starting point of the travel path; The displacement increment in the horizontal direction is superimposed on the horizontal coordinate of the previous moment, and the displacement increment in the vertical direction is superimposed on the height coordinate of the previous moment to obtain the user's current three-dimensional position.

[0013] In one embodiment, the indoor positioning method further includes: Connect the three-dimensional position coordinates at each moment in chronological order to generate a continuous three-dimensional travel path.

[0014] In addition, to achieve the above objectives, this application also proposes a helmet, the helmet comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the indoor positioning method described in any of the above claims; the helmet further comprising a helmet body, a geomagnetic sensor, a gyroscope, an accelerometer, and a barometer, the geomagnetic sensor, the gyroscope, the accelerometer, and the barometer being electrically connected to the processor.

[0015] The indoor positioning solution of this application includes acquiring the initial position information of the helmet, as well as acquiring heading data output by a geomagnetic sensor, angular velocity data output by a gyroscope, air pressure data output by a barometer, and acceleration data output by an accelerometer; calculating the helmet's altitude change information based on changes in air pressure data, and determining the helmet's heading angle based on the angular velocity data and heading data; detecting the user's gait events based on acceleration data, and identifying the current motion state of the user wearing the helmet based on gait events and / or altitude change information; generating the user's horizontal displacement increment and vertical displacement increment based on the motion state, the heading angle, altitude change information, and the step length estimated from the acceleration data; and determining the user's current three-dimensional position coordinates based on the initial position information, the horizontal displacement increment, and the vertical displacement increment.

[0016] With this configuration, the data obtained from the geomagnetic sensor, gyroscope, accelerometer, and barometer installed inside the helmet can determine the user's current three-dimensional position coordinates. Compared with the two-dimensional planar positioning achieved by a single sensor in the transmission positioning system, this makes up for the shortcomings of traditional planar positioning that relies solely on the gyroscope and enriches the positioning information. Attached Figure Description

[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 A flowchart illustrating an embodiment of this application; Figure 2 A flowchart illustrating another embodiment of this application; Figure 3 A flowchart is provided for yet another embodiment of this application; Figure 4 This is a flowchart illustrating another embodiment of the present application.

[0020] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0021] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0022] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0023] Pedestrian dead reckoning technology, as an important means of indoor positioning, has been widely used in indoor navigation, emergency rescue, smart wearable devices, and logistics delivery. Its basic principle is to obtain information such as the gait, direction, and stride length of a pedestrian using inertial sensors, and then recursively estimate the pedestrian's real-time position in space by combining the initial position.

[0024] However, traditional PDR systems typically rely on a single gyroscope for heading estimation. Due to the gyroscope's bias and noise, the angular velocity signal it outputs accumulates errors during integration, leading to heading drift and severely impacting positioning accuracy. Furthermore, most existing solutions focus only on two-dimensional planar positioning, lacking effective vertical sensing and failing to accurately reflect floor changes in multi-story buildings, thus failing to meet the high-precision requirements for three-dimensional spatial path mapping in practical applications.

[0025] To address the aforementioned problems, this application proposes an indoor positioning method applied to a helmet. The helmet includes a helmet body, a geomagnetic sensor, a gyroscope, an accelerometer, a barometer, and a processor. In one embodiment, referring to… Figure 1 The indoor positioning method includes: Step S100: When the helmet is detected to be in an indoor environment, the initial position information of the helmet is obtained, as well as the heading data output by the geomagnetic sensor, the angular velocity data output by the gyroscope, the air pressure data output by the barometer, and the acceleration data output by the accelerometer. Step S200: Calculate the height change information of the helmet based on the change in air pressure data, and determine the heading angle of the helmet based on the angular velocity data and the heading data; Step S300: Detect the user's gait events based on the acceleration data, and identify the current motion state of the user wearing the helmet based on the gait events and / or the height change information; Step S400: Based on the motion state, the heading angle, altitude change information, and the step size estimated by the acceleration data, generate the user's displacement increment in the horizontal direction and displacement increment in the vertical direction; Step S500: Determine the user's current three-dimensional position coordinates based on the initial position information, the displacement increment in the horizontal direction, and the displacement increment in the vertical direction.

[0026] It should be noted that the helmet establishes a communication connection with handheld terminals such as mobile phones. The mobile phone has an integrated GNSS positioning module. When the satellite signal received by the GNSS positioning module changes from strong to weak rapidly, it can be determined that the user is wearing the helmet and has entered an indoor environment. The positioning point at which the satellite signal received by the GNSS positioning module changes from strong to weak rapidly is used as the initial position coordinates.

[0027] It should be noted that this application can process the acquired air pressure data based on an atmospheric pressure-altitude model (such as the International Standard Atmospheric Model or a simplified linear model) to calculate the user's vertical altitude at the current moment, and obtain the altitude change by the altitude difference between adjacent moments.

[0028] In this embodiment, reference Figure 2 The step of determining the heading angle of the helmet based on the angular velocity data and the heading data includes: Step S210: Integrate the angular velocity data over time to determine the relative angle change of the helmet; Step S220: Based on the complementary filtering algorithm, fuse the relative angle change and the heading data to determine the heading angle of the helmet.

[0029] It should be noted that the heading data output by the geomagnetic sensor provides an absolute direction reference based on the Earth's magnetic field. The absolute heading angle calculated from this data remains close to the true heading under normal conditions, without drifting over time, exhibiting good long-term stability. Therefore, it can be used as a low-frequency absolute reference to correct systematic deviations in heading during long-term operation. However, its dynamic response is slow and it is susceptible to interference from local environments such as indoor ferromagnetic materials, making it unsuitable for capturing rapid changes in direction. Integrating the angular velocity data output by the gyroscope over time yields the relative angle change. This relative angle change reflects high-frequency dynamic behaviors during pedestrian movement, such as rapid turns and slight head movements, thus ensuring the system's real-time performance and direction tracking capabilities in dynamic scenarios. However, due to inherent issues with gyroscopes, such as zero bias, noise, and temperature drift, relying solely on the integration result will result in continuous heading drift over time, making it difficult to meet the requirements of high-precision 3D positioning.

[0030] To balance dynamic response performance and long-term heading stability, this application utilizes lightweight fusion algorithms such as complementary filtering to fuse the relative angle change and heading data in the above embodiments. Specifically, the complementary filtering algorithm retains the high-frequency dynamic information provided by the gyroscope with high weight, while periodically introducing the absolute heading angle output by the geomagnetic sensor as a low-frequency correction term to dynamically compensate for the relative angle change and effectively suppress cumulative drift. In one embodiment, the complementary filtering algorithm can be specifically as follows:

[0031] in, The heading angle at the current moment. The fusion weighting coefficient is a constant close to 1. The heading angle at the previous moment. This represents the relative angle change provided by the gyroscope at the current moment. To predict the heading angle of the gyroscope at the current moment, This is the absolute heading angle provided by the geomagnetic sensor at the current moment. Specifically, complementary filtering suppresses cumulative drift by slightly correcting the gyroscope's integral result with the absolute heading angle provided by the geomagnetic sensor at each update. This is because the gyroscope integrates angular velocity to obtain angle changes, but due to its inherent zero bias (e.g., 0.1° / s), the integral result will continuously drift over time. The geomagnetic sensor, on the other hand, directly outputs the absolute heading angle; although there may be instantaneous interference, there is no cumulative error in the long run, making it suitable as a direction reference. Complementary filtering uses high weights... Preserve the dynamic response of the gyroscope while using small weights The system continuously "pulls back" the gyroscope to its true magnetic field value. Although each pullback is small, long-term, continuous correction can offset the gyroscope's continuous drift, preventing the total error from growing indefinitely and instead stabilizing it within a very small range. As a result, the heading error no longer grows indefinitely over time but is constrained within a bounded range, thus achieving long-term stable heading estimation.

[0032] Assume the actual heading angle at the current moment is 50°, but due to gyroscope drift, the gyroscope predicts a heading angle of 52°; the geomagnetic sensor is slightly disturbed and reads 49°; let... =0.96, then the heading angle at the current moment is =0.96×52+0.04×49=49.92+1.96=51.88. Although not exactly equal to the true value of 50°, it is closer to the actual heading angle at the current moment than the 52° predicted by the pure gyroscope. The final output calibrated heading angle accurately represents the pedestrian's real-time turning action and has good long-term consistency, which is beneficial to improving the accuracy of locating the user's position in three-dimensional space.

[0033] It should be noted that during a user's walking process, the body (especially the head) experiences periodic vertical impacts and swings, manifested as regular peaks in the acceleration waveform. This application can identify these periodic features using bandpass filtering and peak detection algorithms, determining each detected valid cycle as a gait event. Since the dynamic characteristics of the human body and environmental height changes differ significantly under different movement states, gait events reflect the presence of periodic walking behavior. For example, the absence of significant periodic peaks indicates no gait event, as the user is essentially stationary. The presence of regular impact peaks confirms continuous gait events, suggesting the user may be walking on flat ground, walking briskly, or going up and down stairs. Height change information can distinguish vertical movement patterns such as planar movement, stair climbing, or elevator ascent and descent. Therefore, this application can combine the user's gait events and height change information to determine the user's movement state.

[0034] It should be noted that the user's horizontal and vertical displacement increments differ under different motion states. For example, in a planar walking state, the user experiences horizontal displacement but virtually no vertical displacement. Similarly, when riding an elevator, the user experiences minimal horizontal displacement, only vertical displacement. Or, when ascending or descending stairs, the user experiences displacement increments in both the horizontal and vertical directions. Therefore, this application can generate the user's horizontal and vertical displacement increments based on the motion state, the heading angle, altitude change information, and the step length estimated based on the acceleration data. For instance, when the motion state is determined to be planar walking or running, only the planar displacement increment is updated; when the motion state is determined to be riding an elevator, only the vertical displacement increment is updated; and when the motion state is determined to be ascending or descending stairs, both the horizontal and vertical displacement increments are updated simultaneously.

[0035] This application can extract step frequency and acceleration amplitude by analyzing periodic gait characteristics in acceleration data, and input the step frequency and acceleration amplitude into an existing step length estimation model for processing to estimate the user's step length.

[0036] In this embodiment, reference Figure 3 The step of determining the user's current three-dimensional position coordinates based on the initial position information, the displacement increment in the horizontal direction, and the displacement increment in the vertical direction includes: Step S510: Use the initial position information as the starting point of the travel path; Step S520: The displacement increment in the horizontal direction is superimposed on the horizontal coordinate of the previous moment, and the displacement increment in the vertical direction is superimposed on the height coordinate of the previous moment to obtain the user's current three-dimensional position.

[0037] It is understandable that when initially locating a user, the horizontal and vertical coordinates from the previous moment serve as the initial location information.

[0038] In summary, this application uses data acquired by the geomagnetic sensor, gyroscope, accelerometer, and barometer installed inside the helmet to determine the user's current three-dimensional position coordinates. Compared with the two-dimensional planar positioning achieved by a single sensor in a transmission positioning system, this application makes up for the shortcomings of traditional planar positioning that relies solely on gyroscopes and enriches the positioning information.

[0039] In practical applications, indoor positioning methods can also connect the three-dimensional position coordinates at different times in chronological order to generate a continuous three-dimensional movement path. With this setup, for users (especially deliverymen, food delivery workers, and other personnel who move frequently indoors), when a user wears a helmet that implements the indoor positioning method of this application, the helmet can automatically record their three-dimensional walking trajectory after they enter complex multi-story buildings such as shopping malls and office buildings, including key behaviors such as floor changes, stair climbing, and elevator riding, without relying on external positioning infrastructure (such as Wi-Fi or Bluetooth beacons).

[0040] When a user is a delivery driver, they can view or review their complete delivery route in real time through a mobile app. This helps them confirm whether the delivery was made to the designated floor, analyze delivery efficiency, optimize routes, and store and share the 3D route. This allows the user to quickly reach the destination based on the previous route during their next delivery, and other users can also quickly reach the destination based on the shared 3D route, thus improving the user experience.

[0041] In one embodiment of this application, reference is made to Figure 4 The step of detecting the user's gait events based on the acceleration data, and identifying the current motion state of the helmet-wearing user based on the gait events and / or the height change information, includes: Step S310: Detect the user's gait events based on the periodic characteristics of the acceleration data; Step S320: If a periodic valid gait event is detected within a first preset time period, the movement state is determined to be a walking state; if no valid gait event is detected within the first preset time period, the movement state is determined to be a non-walking state.

[0042] It should be noted that when a user walks, the human body produces regular vertical / backward swaying, which manifests as periodic peaks in the acceleration waveform. This application can identify these periodic peaks using bandpass filtering and peak detection algorithms. Each peak exceeding a set threshold is identified as a valid gait event. If periodic valid gait events are detected within multiple consecutive sampling windows (a first preset duration), the user's motion state is determined to be walking. Conversely, since users are generally stationary when riding elevators or escalators, there are virtually no valid gait events. Therefore, this application can determine the user's motion state as non-walking when no valid events are detected. It should be noted that a single gait event is insufficient to confirm that the user is walking (it may be an occasional sway); its persistence within the time window needs to be examined. Therefore, a first preset duration is introduced as the judgment window.

[0043] Furthermore, the walking state can be specifically divided into planar walking state and stair climbing state. Since the user's height position remains essentially constant during planar walking, this application can determine the movement state as planar walking if the movement state is walking and the height change information is less than a first preset height threshold. Since the user's height position changes when climbing stairs, this application can determine the movement state as stair climbing if the movement state is walking and the height change information is not less than the first preset height threshold. The first preset height threshold is the minimum significant height change used to distinguish between planar walking and stair climbing, and can be set to a value between 0.15 meters and 0.25 meters.

[0044] It is important to note that various indoor disturbances, such as opening doors, air conditioning blasts, and rapid movement, can cause instantaneous fluctuations in air pressure, leading to a rapid increase in height change information. Directly judging a user's movement state based on the relationship between height change information and a first preset height threshold can be easily influenced. It is understood that users typically walk on stairs for several seconds or more, exhibiting temporal continuity and trend stability in their height changes. Therefore, this application can also determine the movement state as planar walking if the movement state is walking and the height change information remains below the first preset height threshold for a second preset duration. Furthermore, if the movement state is walking and the height change information remains at or above the first preset height threshold for a second preset duration, the movement state is determined as ascending or descending stairs. The second preset duration is the length of the time window used to statistically analyze the persistence of height changes; it can be 3 to 5 seconds, and the specific value can be set by the developers based on actual conditions.

[0045] The non-walking state can be specifically divided into a stationary state, an elevator riding state, and an escalator riding state. Since a user experiences virtually no horizontal displacement while riding an elevator, only vertical displacement, resulting in changes in height information, this application can determine the user's motion state as an elevator riding state when the motion state is non-walking and the rate of change of height information exceeds a first preset rate of change threshold. Similarly, since the rate of change of height while riding an escalator is less than that in an elevator riding state but greater than that in a stationary state, this application can determine the user's motion state as an escalator riding state when the motion state is determined to be non-walking, and the rate of change of height information is less than a first preset rate of change threshold but greater than a second preset rate of change threshold. The first preset rate of change threshold is the lower limit for distinguishing between elevators and escalators in terms of height change rate, and can be set to 0.4–0.6 m / s. The second preset rate of change threshold is the lower limit for distinguishing between escalators and stationary states in terms of height change rate, and can be set to 0.03–0.05 m / s.

[0046] It is important to note that various indoor disturbances, such as opening doors, air conditioning blasts, and rapid movement, can cause instantaneous fluctuations in air pressure, which can rapidly increase the rate of change of height information. Directly judging a user's movement state based on the relationship between the height change information and a preset height threshold can be easily influenced by such fluctuations. It is understandable that users typically remain on elevators or escalators for several seconds or more, and their rate of change of height exhibits temporal continuity and trend stability. Therefore, this application further determines the user's movement state as elevator riding when the movement state is determined to be non-walking and the duration of the height change information's rate of change exceeding a first preset rate of change threshold is greater than a third preset duration. It also determines the user's movement state as escalator riding when the movement state is determined to be non-walking and the duration of the height change information's rate of change being less than a first preset rate of change threshold but greater than a second preset rate of change threshold is greater than a third preset duration. The third preset duration is the length of the time window for statistically analyzing the rate of change of height information, requiring the height change rate to continuously meet certain conditions to avoid misjudgments due to instantaneous disturbances.

[0047] With this setup, this application can determine the user's motion state based on gait events and / or height change information, laying the groundwork for subsequent calculation of the user's horizontal and vertical displacement increments based on the motion state. In practical applications, when delivery riders wear helmets using the indoor positioning method of this application for indoor delivery, the system can combine their current motion state (such as walking, going up and down stairs, taking elevators or escalators) to attach corresponding motion state identifiers to each location point in the positioning trajectory. This identifier enables other delivery riders to know in real time the movement method to be used for each segment when following the user's generated three-dimensional movement path (e.g., "climbing stairs ahead" or "entering elevator soon"), thereby more efficiently reproducing the optimal delivery route and significantly improving delivery efficiency and user experience.

[0048] In one embodiment of this application, generating the user's horizontal displacement increment and vertical displacement increment based on the motion state, the heading angle, altitude change information, and the step size estimated from the acceleration data includes: When the movement state is a planar walking state, the horizontal displacement increment is calculated based on the step length and the heading angle, and the vertical displacement increment of the user is set to zero. When the user is moving up or down stairs, the height change information is used as the user's vertical displacement increment. Based on a preset stair inclination model, the horizontal projection distance is inferred from the height change information, and then the user's horizontal displacement increment is calculated by combining the heading angle.

[0049] It should be noted that since the vertical displacement increment of a user is essentially zero when walking on a plane, the horizontal displacement increment can be calculated solely based on the step length and heading angle to obtain the user's horizontal displacement increments in the X and Y directions. For example, assuming a step length of 0.75m and a heading angle of 90°, the horizontal displacement increment in the X direction Δx = 0.75sin(90°) = 0.75m, and the horizontal displacement increment in the Y direction Δy = cos(90°) = 0m.

[0050] When a user is moving up or down stairs, they experience displacement increments in both the horizontal and vertical directions. Since stairs have a fixed geometric structure, such as a common stair inclination angle between 30° and 45°, a stair inclination model can be used to calculate the horizontal projection distance by acquiring height change information and then processing the horizontal projection distance in conjunction with the user's current heading angle to calculate the displacement increments in the horizontal X and Y directions. For example, assuming a height change of +3.4m and a stair inclination angle of 31°, the user's vertical displacement increment is +3.4m, and the horizontal projection distance is 3.4 × cot(31°) ≈ 5.6m. If the user's current heading angle is 60°, the displacement increments in X and Y are Δx = 5.6 × sin(60°) ≈ 4.8m and Δy = 0.56 × cos(60°) ≈ 2.8m, respectively.

[0051] In this embodiment, generating the user's horizontal and vertical displacement increments based on the motion state, the heading angle, altitude change information, and the step size estimated from the acceleration data includes: When the motion state is that of riding an elevator, the user's horizontal displacement increment is set to zero, and the user's vertical displacement increment is set to the height change information. When the movement state is escalator riding, based on the preset escalator tilt angle model, the horizontal projection distance is inferred from the height change information, and the user's displacement increment in the horizontal direction is calculated by combining the heading angle. The height change information is also used as the user's displacement increment in the vertical direction.

[0052] It should be noted that since users basically do not move horizontally when riding an elevator, when it is determined that a user is riding an elevator, the horizontal displacement increment is set to zero, and the vertical displacement increment is set to height change information.

[0053] It should be noted that when a user rides an escalator, there are displacement increments in both the horizontal and vertical directions. Since escalators have a fixed geometric structure, such as a common escalator inclination angle between 27.3° and 30°, the escalator inclination angle model can calculate the corresponding horizontal projection distance by acquiring height change information and using the escalator inclination angle. This horizontal projection distance is then processed in conjunction with the user's current heading angle to calculate the user's displacement increments in the horizontal X and Y directions. Specific embodiments can be found in the above-described example of motion as going up and down stairs, and will not be elaborated upon here.

[0054] This application provides a helmet, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the indoor positioning method in Embodiment 1 above; the helmet also includes a helmet body, a geomagnetic sensor, a gyroscope, an accelerometer, and a barometer, all of which are electrically connected to the processor.

[0055] The helmet provided in this application, employing the indoor positioning method described in the above embodiments, can solve the technical problem that existing technologies can only achieve two-dimensional planar positioning. Compared with the prior art, the helmet provided in this application has the same beneficial effects as the indoor positioning method provided in the above embodiments, and other technical features of the helmet are the same as those disclosed in the previous embodiment method, and will not be repeated here.

[0056] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

[0057] The above description is merely a specific 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.

[0058] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.

Claims

1. An indoor positioning method applied to a helmet, characterized in that, The helmet includes a helmet body, a geomagnetic sensor, a gyroscope, an accelerometer, a barometer, and a processor. The indoor positioning method includes: When the helmet is detected to be in an indoor environment, the initial position information of the helmet is obtained, as well as the heading data output by the geomagnetic sensor, the angular velocity data output by the gyroscope, the air pressure data output by the barometer, and the acceleration data output by the accelerometer. Based on the changes in the air pressure data, the height change information of the helmet is calculated, and based on the angular velocity data and the heading data, the heading angle of the helmet is determined; Based on the acceleration data, the user's gait events are detected, and based on the gait events and / or the height change information, the movement state of the user currently wearing the helmet is identified; Based on the motion state, the heading angle, altitude change information, and the step size estimated based on the acceleration data, the user's displacement increment in the horizontal direction and displacement increment in the vertical direction are generated. The user's current three-dimensional position coordinates are determined based on the initial position information, the displacement increment in the horizontal direction, and the displacement increment in the vertical direction.

2. The indoor positioning method as described in claim 1, characterized in that, Determining the heading angle of the helmet based on the angular velocity data and the heading data includes: The angular velocity data is integrated over time to determine the relative angle change of the helmet; The heading angle of the helmet is determined by fusing the relative angle change with the heading data using a complementary filtering algorithm.

3. The indoor positioning method as described in claim 1, characterized in that, The step of detecting the user's gait events based on the acceleration data, and identifying the current motion state of the helmet-wearing user based on the gait events and / or the height change information, includes: Detect user gait events based on the periodic characteristics of the acceleration data; If a periodic and valid gait event is detected within a first preset time period, the movement state is determined to be a walking state; If no valid gait event is detected within a first preset time period, the movement state is determined to be a non-walking state.

4. The indoor positioning method as described in claim 3, characterized in that, Determining the movement state as a walking state when a periodic and valid gait event is detected within a first preset time period includes: If the movement state is walking, and the height change information is continuously less than the first preset height threshold within a second preset time period, then the movement state is determined to be a planar walking state. If the movement state is walking and the height change information is not less than the first preset height threshold for a second preset time period, then the movement state is determined to be going up or down stairs.

5. The indoor positioning method as described in claim 4, characterized in that, The step of generating the user's horizontal and vertical displacement increments based on the motion state, the heading angle, altitude change information, and the step size estimated from the acceleration data includes: When the movement state is a planar walking state, the horizontal displacement increment is calculated based on the step length and the heading angle, and the vertical displacement increment of the user is set to zero. When the user is moving up or down stairs, the height change information is used as the user's vertical displacement increment. Based on a preset stair inclination model, the horizontal projection distance is inferred from the height change information, and then the user's horizontal displacement increment is calculated by combining the heading angle.

6. The indoor positioning method as described in claim 3, characterized in that, The step of determining the movement state as a non-walking state when no valid gait event is detected within a first preset time period further includes: If the motion state is determined to be a non-walking state, and the duration of the change rate of the height change information being greater than the first preset change rate threshold is greater than the third preset duration, then the user's motion state is determined to be an elevator riding state. If the motion state is determined to be a non-walking state, and the duration of the change rate of the height change information being less than a first preset change rate threshold and greater than a second preset change rate threshold is greater than a third preset duration, then the user's motion state is determined to be an escalator riding state.

7. The indoor positioning method as described in claim 6, characterized in that, The step of generating the user's horizontal and vertical displacement increments based on the motion state, the heading angle, altitude change information, and the step size estimated from the acceleration data includes: When the motion state is that of riding an elevator, the user's horizontal displacement increment is set to zero, and the user's vertical displacement increment is set to the height change information. When the movement state is escalator riding, based on the preset escalator tilt angle model, the horizontal projection distance is inferred from the height change information, and the user's displacement increment in the horizontal direction is calculated by combining the heading angle. The height change information is also used as the user's displacement increment in the vertical direction.

8. The indoor positioning method as described in claim 1, characterized in that, Determining the user's current three-dimensional position coordinates based on the initial position information, the displacement increment in the horizontal direction, and the displacement increment in the vertical direction includes: The initial position information is used as the starting point of the travel path; The displacement increment in the horizontal direction is superimposed on the horizontal coordinate of the previous moment, and the displacement increment in the vertical direction is superimposed on the height coordinate of the previous moment to obtain the user's current three-dimensional position.

9. The indoor positioning method according to any one of claims 1 to 8, characterized in that, The indoor positioning method further includes: Connect the three-dimensional position coordinates at each moment in chronological order to generate a continuous three-dimensional travel path.

10. A helmet, characterized in that, The helmet includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the indoor positioning method as described in any one of claims 1 to 9; the helmet also includes a helmet body, a geomagnetic sensor, a gyroscope, an accelerometer, and a barometer, the geomagnetic sensor, gyroscope, accelerometer, and barometer being electrically connected to the processor.

Citation Information

Patent Citations

  • Pedestrian positioning and trajectory tracking method and system

    CN107270896A

  • Indoor positioning method and device, electronic equipment and storage medium

    CN120027802A