WO2020088352A1 - 一种行走检测方法及装置 - Google Patents
一种行走检测方法及装置 Download PDFInfo
- Publication number
- WO2020088352A1 WO2020088352A1 PCT/CN2019/113163 CN2019113163W WO2020088352A1 WO 2020088352 A1 WO2020088352 A1 WO 2020088352A1 CN 2019113163 W CN2019113163 W CN 2019113163W WO 2020088352 A1 WO2020088352 A1 WO 2020088352A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- threshold
- angular velocity
- terminal
- walking
- axis
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
Definitions
- Embodiments of the present application relate to the technical field of terminals, and in particular, to a walking detection method and device.
- LBS Location-based services
- GLONASS global navigation satellite system
- Beidou satellite navigation system beidou navigation, satellite system, BDS
- a pedestrian dead reckoning (PDR) method based on inertial navigation is generally used.
- PDR pedestrian dead reckoning
- the terminal is affected by the pedestrian's movement to generate triaxial acceleration.
- the terminal performs walking detection through a peak detection (PD) method, that is, by detecting whether there is a peak point of the acceleration modulus value of triaxial acceleration satisfying a certain peak-valley difference condition, to determine whether the pedestrian completes one-step walking, and completes one step before the pedestrian
- PD peak detection
- the position of the pedestrian after one-step walking is determined in combination with the direction of travel and the length of travel, so the accuracy of positioning is directly affected by the accuracy of walking detection.
- the present application provides a walking detection method and device to solve the problem of inaccurate walking detection when the terminal performs a flicking mode with the same frequency as the step frequency along the user's direction of travel.
- the present application provides a walking detection method.
- the method can be implemented by a terminal.
- the method includes: the terminal obtains a plurality of continuous three-axis angular velocities through detection by a sensor module; the terminal determines A plurality of angular velocity moduli corresponding to the continuous three-axis angular velocities; wherein, based on the detection times of the plurality of continuous triaxial angular velocities, the plurality of angular velocity moduli form a corresponding relationship with four time periods; the four times The segment is determined by the terminal according to the detection time sequence according to the first threshold and the second threshold; the terminal determines that the plurality of continuous angular velocity modulus values satisfy the condition through the processor, and determines that the user completes a one-step walk; the condition includes : The angular velocity modulus corresponding to the first period of time is less than the first threshold, the angular velocity modulus corresponding to the second period of time is not less than the first threshold and not greater than the
- the terminal fully utilizes the terminal's three-axis angular velocity modulus of angular velocity in the flicking mode along the user's direction of travel at the same frequency as the step frequency.
- the characteristics of the user's walking frequency are the same frequency periodicity and the amplitude is more stable; at the same time, the transformation process of the three-axis angular velocity angular velocity modulus value caused by the same frequency as the walking frequency during the one-step walking process is detected, Instead of only detecting a certain value of the angular velocity modulus of the three-axis angular velocity in one-step walking, the accuracy of walking detection is ensured.
- the terminal performs low-pass filtering on the plurality of continuous three-axis angular velocities through a low-pass filter.
- the cut-off frequency of the low-pass filter is slightly larger than the step frequency. This design helps to eliminate noise and improve the accuracy of walking detection; of course, the low-pass filter may not be set in the terminal, and the terminal passes the operation of the processor.
- the low-pass filtering of the plurality of continuous three-axis angular velocities is realized.
- the method further includes: the terminal receiving a positioning signal through a wireless communication module; when the terminal determines that the signal strength of the positioning signal is less than a third threshold, the processor according to the The starting position, direction of travel, and progress of the one-step walk determine the position of the user after the one-step walk. In this way, it is used to achieve accurate positioning of the user based on walking detection when positioning signals such as GPS are not available.
- the terminal determines the traveling direction in the following manner: the terminal detects, through the sensor module, a plurality of continuous three-axis accelerations and a plurality of continuous heading angles within a sampling time period; The terminal determines a plurality of horizontal plane accelerations corresponding to the plurality of continuous three-axis accelerations through the processor, and based on the detection time of the plurality of continuous three-axis accelerations, performs main control on the plurality of horizontal plane accelerations Component analysis (PCA) process to determine the motion axis corresponding to the horizontal plane of the one-step walking, wherein the motion axis indicates the direction of the two motion axes on the horizontal plane; the terminal will communicate with the The direction of the target motion axis where the average heading angle of multiple consecutive heading angles is not greater than 90 degrees is determined as the direction of travel.
- PCA Component analysis
- the terminal's axis of motion on the horizontal plane and the user's direction of travel on the horizontal plane are on the same straight line in the terminal's flicker mode with the same frequency as the cadence along the user's direction of travel.
- the feature avoids the problem of determining the direction of travel based only on the heading angle of the terminal, and the deviation of the direction of travel due to the deviation of the terminal's top from the user's direction of travel on the horizontal plane.
- the terminal performs low-pass filtering on the plurality of continuous three-axis accelerations through a low-pass filter.
- the cut-off frequency of the low-pass filter is slightly larger than the step frequency.
- the condition further includes: the duration that the terminal detects that the plurality of continuous triaxial angular velocities are not less than a fourth threshold.
- the fourth threshold can be set to be slightly less than the minimum time required to normally complete one-step walking. In this way, it helps to avoid misdetection of the user completing one-step walking.
- the condition further includes: a difference between a maximum angular velocity modulus value and a minimum angular velocity modulus value of the plurality of angular velocity modulus values determined by the terminal is not greater than a fifth threshold.
- the fifth threshold can be set to be slightly larger than the difference between the maximum angular velocity modulus value and the minimum angular velocity modulus value of the triaxial angular velocity that occurs during the normal completion of one-step walking. In this way, it helps to avoid mistakes for the user to complete one-step walking Check.
- the terminal determines the first threshold and the second threshold by: Determine the first threshold; and, according to Determine the second threshold; where Thrv (i) represents the first threshold, Thrp (i) represents the second threshold, and i represents the completed i-th walk, i is a natural number; max if is the The maximum angular velocity modulus determined by if walking, max ig is the maximum angular velocity modulus determined by ig walking, min if is the minimum angular velocity modulus determined by if walking, min ig is the minimum angular velocity modulus determined by ig walking Values, thrp 0 , thrv 0 , a, b, c, and d are constants, f ⁇ g ⁇ N, and f, g, and N are positive integers. In this way, the accuracy of walking detection can be ensured when different users perform walking detection at different times.
- the a and d are 1/3, and the b and c are 1/6. In this way, it helps to reasonably determine the first threshold and the second threshold, and improve the accuracy of walking detection.
- the f is 2, and the g is 4. In this way, it helps to reasonably determine the first threshold and the second threshold, and improve the accuracy of walking detection.
- the present application provides a walking detection device having the function of implementing the above-mentioned first aspect and any possible design method.
- the function can be realized by hardware, or can also be realized by hardware executing corresponding software.
- the hardware or software includes one or more modules corresponding to the above functions.
- the device may be a chip or an integrated circuit.
- the device includes a transceiver and a processor.
- the processor is used to execute a set of programs.
- the device may perform the above-mentioned first aspect and any of the possible designs. method.
- the device further includes a memory for storing the program executed by the processor.
- the device is a terminal.
- the present application provides a computer storage medium that stores a computer program, the computer program including instructions for performing the method of the first aspect or any one of the possible designs in the first aspect.
- the present application provides a computer program product containing instructions that, when run on a terminal, cause the terminal to perform the method in the first aspect or any possible design of the first aspect.
- a chip is provided, the chip being connected to a memory and used to read and execute a software program stored in the memory to implement the first aspect or any possible design of the first aspect Methods.
- FIG. 1 is a schematic structural diagram of a terminal provided in an embodiment of this application.
- FIG. 2 is a schematic diagram of a walking detection process provided in an embodiment of this application.
- FIG. 3 is a schematic diagram of the change of the angular velocity modulus of the three-axis angular velocity of a terminal provided in an embodiment of the present application;
- FIG. 4 is a schematic diagram of a limited state transition of a terminal improved in an embodiment of the present application.
- FIG. 5 is a schematic diagram of a positioning process provided in an embodiment of the present application.
- FIG. 6 is a schematic diagram of another positioning process provided in an embodiment of the present application.
- FIG. 7 is a schematic diagram of a test environment provided in an embodiment of this application.
- FIG. 8 is a schematic diagram of a positioning trajectory provided in an embodiment of the present application.
- FIG. 9 is a schematic structural diagram of a walking detection device provided by an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of another terminal provided by an embodiment of the present application.
- the present application provides a walking detection method and device, which aims to use the acceleration modulus value of the angular velocity modulus of the three-axis angular velocity detected by the terminal relative to the three-axis acceleration in a flicking mode in which the user travels in the same frequency as the step frequency It has better characteristics of same periodicity with cadence and more stable amplitude, and performs walking detection to improve the accuracy of walking detection.
- the method and the device are based on the same inventive concept. Since the principles of the method and the device to solve the problem are similar, the implementation of the device and the method can be referred to each other, and the repetition is not repeated here.
- the terminal involved in the embodiments of the present application is also called user equipment (UE), mobile station (MS), mobile terminal (MT), etc.
- the terminal may be a mobile phone (mobile) phone), tablet computers, PDAs, wearable devices (such as smart watches, smart bracelets, pedometers, etc.), including terminals including but not limited to Or other operating systems
- a possible application scenario of the present application is that the terminal shakes at the same frequency as the cadence along the user's direction of travel, for example: the terminal is a mobile phone, and the user performs a hand-shake motion at the same frequency as the cadence when walking.
- the scene held by the user in the hand; or the terminal is a smart bracelet, the user performs a hand-shake motion at the same frequency as the cadence when walking, the scene where the smart bracelet is worn on the user's wrist, etc.
- the user In scenarios where the terminal is fixed to the user's calf or foot during walking, the walking detection scheme of the present application is also applicable.
- FIG. 1 shows the structure of the terminal.
- the terminal 100 may include a processor 110, a memory 120, a USB interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, a wireless communication module 150, a sensor module 160, and the like.
- the sensor module 160 may include a gyro sensor 160A, a direction sensor 160B, a magnetic field sensor 160C, an acceleration sensor 160D, a gravity sensor 160F, and the like.
- the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the terminal 100.
- the terminal 100 may include more or less components than FIG. 1, or combine some components, or split some components, or arrange different components.
- the components of FIG. 1 may be implemented in hardware, software, or a combination of software and hardware.
- the processor 110 may include one or more processing units.
- the processor 110 may include an application processor (application processor (AP), controller, memory, baseband processor, etc.
- AP application processor
- the controller may be the nerve center and command center of the terminal 100.
- the controller can generate the operation control signal according to the instruction operation code and the timing signal to complete the control of fetching instructions and executing instructions.
- the processor 110 may also be provided with a memory for storing instructions and data.
- the memory in the processor 110 is a cache memory.
- the memory may store instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. Avoid repeated access, reduce the waiting time of the processor 110, thus improving the efficiency of the system.
- the processor 110 may include one or more interfaces.
- the interface may include a universal asynchronous receiver / transmitter (UART) interface, a general-purpose input / output (GPIO) interface, and / or a universal serial bus (USB) interface, etc. .
- UART universal asynchronous receiver / transmitter
- GPIO general-purpose input / output
- USB universal serial bus
- the UART interface is a universal serial data bus used for asynchronous communication.
- the bus may be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication.
- the UART interface is generally used to connect the processor 110 and the wireless communication module 150.
- the GPIO interface can be configured via software.
- the GPIO interface can be configured as a control signal or a data signal.
- the GPIO interface may be used to connect the processor 110 to the wireless communication module 150, the sensor module 160, and the like.
- the GPIO interface can also be configured as a UART interface, etc.
- the USB interface 130 is an interface that conforms to the USB standard, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, and so on.
- the USB interface can be used to connect a charger to charge the terminal 100, and can also be used to transfer data between the terminal 100 and peripheral devices.
- the interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic description, and does not constitute a limitation on the structure of the terminal 100.
- the terminal 100 may also use different interface connection methods in the foregoing embodiments, or a combination of multiple interface connection methods.
- the charging management module 140 is used to receive charging input from the charger.
- the charger may be a wireless charger or a wired charger.
- the charging management module 140 may receive the charging input of the wired charger through the USB interface.
- the charging management module 140 may receive wireless charging input through the wireless charging coil of the terminal 100. While the charging management module 140 charges the battery 142, it can also supply power to the terminal through the power management module 141.
- the power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110.
- the power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, the memory 120, and the wireless communication module 150.
- the power management module 141 can also be used to monitor battery capacity, battery cycle times, battery health status (leakage, impedance) and other parameters.
- the power management module 141 may also be disposed in the processor 110.
- the power management module 141 and the charging management module 140 may also be set in the same device.
- the wireless communication function of the terminal 100 may be realized through the antenna 1, the wireless communication module 150, the modem processor, and the baseband processor.
- the wireless communication module 150 can provide wireless communication solutions including wireless local area network (WLAN), global navigation satellite system (GNSS), etc., which are applied to the terminal 100.
- the wireless communication module 150 may be one or more devices integrating at least one communication processing module.
- the wireless communication module 150 receives electromagnetic waves via the antenna 1, frequency-modulates and filters electromagnetic wave signals, and transmits the processed signals to the processor 110.
- the wireless communication module 150 can also receive the signal to be transmitted from the processor 110, frequency-modulate it, amplify it, and convert it to electromagnetic waves through the antenna 1 to radiate it out.
- the GNSS may include GPS, GLONASS, BDS, quasi-zenith satellite system (QZSS) and / or satellite-based augmentation system (SBAS).
- the memory 120 may be used to store computer executable program code, where the executable program code includes instructions.
- the processor 110 executes instructions stored in the memory 120 to execute various functional applications and data processing of the terminal 100.
- the memory 120 may include a storage program area and a storage data area. Among them, the storage program area may store an operating system, at least one function required application programs, and the like. The storage data area may store data created during use of the terminal 100 and the like.
- the memory 120 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and so on.
- the gyro sensor 160A is also called an angular velocity sensor. Unlike an acceleration sensor, the physical quantity used for measurement is the rotational angular velocity when the terminal 100 is deflected and tilted, and can be used to determine the movement posture of the terminal 100. In some embodiments, the angular velocity of the terminal 100 around three axes (ie, X, Y, and Z axes) may be determined by the gyro sensor 160A. The gyro sensor 160A can be used for image stabilization.
- the gyro sensor 160A detects the shaking angle of the terminal 100, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the shaking of the terminal 100 through reverse movement to achieve anti-shake.
- the gyro sensor 160A can also be used for somatosensory game scenes and the like.
- the direction sensor 160B is used to sense the information of the Euler angle of the terminal 100, that is, the information of the heading angle, the pitch angle, and the roll angle of the terminal 100. In some embodiments, the terminal 100 determines the heading angle through the direction sensor 160B for positioning and navigation.
- the magnetic field sensor 160C is also called a magnetometer.
- the terminal 100 can use the magnetic field sensor 160C to detect the magnetic field strength of the terminal 100 in various directions (generally three-axis) under the current attitude, and can calculate the attitude information of the terminal 100 relative to the geomagnetic field according to the three-axis magnetic field strength. For the determination of terminal posture.
- the acceleration sensor 160D is a sensor capable of measuring acceleration, usually composed of a mass, a damper, an elastic element, a sensitive element, and an adaptive circuit. During acceleration, the acceleration sensor 160D passes the inertial force of the mass To measure, use Newton's second law to obtain the acceleration value.
- the acceleration sensor 160D can detect the magnitude of the acceleration of the terminal 100 in various directions (generally three axes), and can be used for vibration recognition related functions (such as pedometer, tap), and the like.
- the gravity sensor 160E is used to detect the magnitude of gravity acceleration of the terminal 100 in various directions (generally three axes). It can be used to calculate the inclination angle of the terminal 100 relative to the horizontal plane according to the three-axis gravity acceleration, and be used to identify the terminal posture applications (such as horizontal and vertical screen switching, related games, magnetic field sensor posture calibration), etc.
- the following uses walking detection in the terminal 100 as an example to describe in detail the walking detection method according to the embodiment of the present application.
- Embodiment 1 introduces a walking detection process provided by an embodiment of the present application.
- the following describes a walking detection process provided in Embodiment 1 with reference to FIG. 2.
- the process performed by the terminal 100 includes the following steps:
- the terminal obtains a plurality of continuous three-axis angular velocities through detection by the gyro sensor 160A.
- the terminal samples the triaxial angular velocity of the terminal detected by the gyro sensor 160A at the set sampling frequency, and records the sampling time stamp of the triaxial angular velocity obtained by each sampling.
- the set sampling frequency is not lower than 50 Hz, such as 50 Hz, 60 Hz, etc.
- the terminal performs low-pass filtering on the multiple three-axis angular velocities obtained by sampling to eliminate noise interference.
- the cut-off frequency of the low-pass filtering is slightly greater than the step frequency, such as 2.5Hz, 2.8Hz, etc .; specifically, the terminal samples
- the obtained multiple three-axis angular velocities can be low-pass filtered by using the low-pass filter set in the terminal, for example, by the Butterworth filter set in the terminal; or by not setting the low-pass filter in the terminal.
- the operation of the processor 110 realizes low-pass filtering of the multiple three-axis angular velocities obtained by sampling.
- the terminal determines, through the processor 110, a plurality of angular velocity modulus values corresponding to the plurality of continuous three-axis angular velocities. Wherein, based on the detection time of the plurality of continuous three-axis angular velocities, the plurality of angular velocity modulus values correspond to four time periods; the four time periods are the terminal according to the first threshold and the second threshold Determined in the order of detection time.
- the terminal determines, through the processor 110, that the plurality of continuous angular velocity modulus values satisfy the condition, and determines that the user completes a one-step walk.
- the condition includes: the angular velocity modulus corresponding to the first period of time is less than the first threshold, the angular velocity modulus corresponding to the second period of time is not less than the first threshold and not greater than the second threshold, corresponding to the third time
- the angular velocity modulus of the segment is greater than the second threshold, and the angular velocity modulus of the corresponding fourth time segment is not less than the first threshold and not greater than the second threshold.
- FIG. 3 it is a schematic diagram of the change of the angular velocity modulus corresponding to the three-axis angular velocity of the terminal in the flicking mode in which the terminal moves in the same frequency as the cadence along the direction of travel of the user.
- the processor 110 of the terminal may be based on the formula Realization,
- is the angular velocity modulus
- gyro x , gyro y, and gyro z are the X-axis angular velocity, Y-axis angular velocity, and Z-axis angular velocity of the three-axis angular velocity, respectively.
- the terminal is affected by the forward and backward flicking in the user's direction of travel.
- the terminal's triaxial angular velocity modulus increases and decreases once A wave corresponding to the flick.
- the angular velocity modulus (input) can be used as a detection quantity, and the input change of the terminal in one fluctuation can be determined according to the first threshold (Thrv) and the second threshold (Thrp) according to the pair
- the three-axis angular velocity detection time sequence of the angular velocity modulus is divided into finite state machine (FSM), where Thrv is less than Thrp, and the angular velocity modulus in one fluctuation is specifically divided into a valley state (S0) and a preparatory motion state (S1), peak state (S2) and leave peak state (S3) four long-term states, in the S0 state, input is less than Thrv; in S1 state, input is not less than Thrv and not more than Thrp; in S2 state, input is greater than Thrp; in the S3 state,
- FSM finite state machine
- a complete fluctuation involves four states: S0 state, S1 state, S2 state, and S3 state. Therefore, in order to reduce the consumption of resources of the processor 110, the terminal detects the gyro sensor 160A during walking detection The three-axis angular velocity of the terminal is sampled, and the continuous three-axis angular velocity obtained is not less than 4.
- the terminal performs walking detection based on the above four states of the S0 state, the S1 state, the S2 state, and the S3 state. Specifically, the terminal determines multiple inputs corresponding to the multiple continuous triaxial angular velocities obtained by the detection through the processor 110, and based on The detection time of multiple continuous three-axis angular velocities, according to Thrv and Thrp, in accordance with the detection time sequence, the detection time period with input less than Thrv is determined as the first time period (S0 state); the input is not less than Thrv and not more than Thrp The detection time period is determined as the second time period (S1 state); the detection time period with input greater than Thrp is determined as the third time period (S2 state); the detection time period with input not less than Thrv and not greater than Thrp is determined as the fourth During the time period (S3 state), the processor 110 of the terminal determines that the detection time for determining that multiple consecutive triaxial angular velocities are obtained includes the first
- the walking detection method provided in the embodiment of the present application is based on the S0 state, S1 state, S2 state, and S3 state during the flicking process of the terminal, and may also be called a flicker finite state machine division ( swing-mode finite state machine (SFSM) walking detection method.
- SFSM flicker finite state machine division
- the multiple inputs corresponding to the multiple consecutive three-axis angular velocities determined by the processor 110 of the terminal are: 0.9, 0.1, 0.6, 1.4, 2.1 , 2.9 and 3.6, Thrv is 1.5 and Thrp is 3.5, the unit is (rad / s), the terminal ’s processor 110 detects that 0.9 is less than 1.5, and determines that the detection time of the triaxial angular velocity corresponding to 0.9 is in the first time period; 0.1 is less than 1.5, it is determined that the detection time of the triaxial angular velocity corresponding to 1.1 is in the first period of time; 0.6 is less than 1.5, and the detection time of the triaxial angular velocity corresponding to 0.6 is located in the first period of time; 1.4 is detected that is less than 1.5, and 1.4 is determined The detection time of the corresponding three-axis angular velocity is in the first time period; when 2.1 is
- the processor 110 changes the detection time of the three-axis angular velocity corresponding to 0.9 to the detection of the three-axis angular velocity corresponding to 1.4
- the time is determined to be the first time period; in the same way, the processor 110 determines the detection time of the triaxial angular velocity corresponding to 2.1 to the detection time of the triaxial angular velocity corresponding to 2.9 as the second time period.
- the detection time of the three-axis angular velocity includes only the first time period and the second time period, and the processor 110 of the terminal cannot determine that the user has completed a one-step walk.
- the terminal's processor 110 determines The multiple inputs corresponding to the multiple continuous three-axis angular velocities are: 0.9, 0.1, 0.6, 1.4, 2.1, 2.9, 3.6, 4.4, 4.9, 4.3, 3.7, 3.1, 2, 1.4.
- the processor 110 determines the detection time of the triaxial angular velocity corresponding to 0.9 to the detection time of the triaxial angular velocity corresponding to 1.4 as the first time
- the processor 110 changes the detection time of the triaxial angular velocity corresponding to 2.1 to the triaxial angular velocity corresponding to 2.9
- the detection time is determined to be the second time period; there is a transition (3.7-3.1) from the third time period (S2 state) to the fourth time period (S3 state), and the processor 110 changes the detection time of the triaxial angular velocity corresponding to 3.6
- the detection time of the three-axis angular velocity corresponding to 3.7 is determined It is the third time period; there is a transition (2-1.4) from the fourth time period (S3 state) to the first time period (S0 state).
- the processor 110 changes the detection time of the triaxial angular velocity corresponding to 3.1 to 2
- the detection time of the three-axis angular velocity is determined to be the fourth time period.
- the detection time at which the terminal detects multiple consecutive three-axis angular velocity includes the first time period, the second time period, the third time period, and the fourth time
- the processor 110 of the terminal determines that the user completes a one-step walk.
- the processor 110 of the terminal detects that input is equal to 1.5 (S4 state) in the fourth time period (S3 state), it can also be determined that the fourth time period (S3 state) is transferring to another time period, and the terminal will transfer to The detection time of the triaxial angular velocity corresponding to the fourth time period to the detection time of the triaxial angular velocity corresponding to 1.5 is determined as the fourth time period.
- the processor 110 of the terminal obtains a plurality of continuous three-axis angular velocities according to the detection time sequence in which a plurality of continuous three-axis angular velocities are detected, and according to a plurality of inputs corresponding to the plurality of continuous three-axis angular velocities, and the first time period
- the input value ranges of the second time period, the third time period, and the fourth time period respectively, according to the order of the first time period, the second time period, the third time period, and the fourth time period, multiple
- the detection of the first time period, the second time period, the third time period, and the fourth time period included in the continuous three-axis angular velocity detection time is determined, for example: based on the detection of a plurality of continuous three-axis angular velocity
- the multiple inputs corresponding to the multiple continuous triaxial angular velocities determined by the processor 110 of the terminal are: 0.9, 0.1, 0.6, 1.4,
- the step frequency of the user's normal walking is usually 0.5Hz to 2Hz, that is, the time for the user to walk in one step is usually not less than 0.5s.
- determining the conditions for the user to complete the step of walking may also include: The duration of three consecutive three-axis angular velocities is not less than the fourth threshold (thr_time). The value of thr_time is less than 0.5s, for example, 0.25s.
- the terminal For the length of time when the terminal detects multiple continuous three-axis angular velocities, it can be based on the start time of the terminal to sample the three-axis angular velocity of the walking, or it can be referred to as the terminal determining the end time of the user's previous step (endTime (i- 1))
- the length of time corresponding to the current time (endTime (i)) is determined, that is, the conditions for determining that the user completes a one-step walk further include: endTime (i) -endTime (i-1) ⁇ thr_time.
- the identification and elimination of the maximum peaks that occur during turning in this application, and determining the conditions for the user to complete a one-step walk may also include: the terminal determines that the detection obtains multiple continuous three-axis angular velocities, and the corresponding multiple angular velocity moduli The difference between the maximum angular velocity modulus (max) and the minimum angular velocity modulus (min) is not greater than the fifth threshold (thr_pv).
- An thr_pv can be 7 in units of (rad / s), that is, the user is determined to complete a one-step walk
- the conditions also include: max-min ⁇ thr_pv.
- the processor 110 of the terminal only includes the first time period, the second time period, and the third time in the detection time of determining that multiple consecutive triaxial angular velocities are detected.
- judge endTime (i) -endTime (i-1) ⁇ thr_time and endTime (i) -endTime (i-1) ⁇ thr_time if the judgment results are both yes, it is determined that the user is completed One-step walking, otherwise, the terminal re-detects through the gyro sensor 160A to obtain multiple continuous three-axis angular velocities to perform walking detection.
- the terminal samples the three-axis angular velocity detected by its own gyro sensor 160A to obtain the three-axis angular velocity in the terminal's current posture, that is, the three-axis angular velocity in the carrier (terminal) coordinate system.
- the terminal's processor 110 can also convert the obtained three-axis angular velocity to the navigation coordinate system.
- the X axis coincides with the long semi-axis of the earth ellipsoid (eastward)
- the Y axis coincides with the short semi-axis of the earth ellipsoid (northward)
- the X axis, Y axis of the northeast sky coordinate system and the pole (O) of the coordinate system constitute
- the XOY plane is the horizontal plane on which the user walks.
- the navigation coordinate system of the terminal in this application selects the northwest sky coordinate system.
- the terminal samples the three-axis angular velocity obtained by sampling the three-axis angular velocity detected by its own gyro sensor 160A and converts it to the navigation coordinate system, if the terminal performs low-pass on the obtained multiple continuous three-axis angular velocity After filtering, the processor of the terminal converts the obtained multiple continuous three-axis angular velocities into the navigation coordinate system.
- the terminal still uses the sampling frequency to sample the triaxial angular velocity detected by its own gyro sensor 160A, for example: 50 Hz, the triaxial gravity acceleration detected by its own gravity sensor 160F and the triaxial magnetic field detected by the magnetic field sensor 160C
- the intensity is sampled on the same frequency.
- the sampling frequencies supported by the gyro sensor 160A, the gravity sensor 160F, and the gravity sensor 160F are different, the method of downsampling can be used to select the sensor with the slowest sampling frequency as the reference sensor. For each sampling of the reference sensor, select and The sampling value of the other sensor with the closest sampling timestamp of the reference sensor is taken as the same-order sampling value of this sampling, and the non-sequential sampling value is deleted to ensure that the sensor sampling frequency is equal.
- the processor 110 of the terminal calculates the rotation matrix between the carrier coordinate system and the navigation coordinate system according to the sampled three-axis gravity acceleration and the three-axis magnetic field strength, for example, a certain
- H E ⁇ A
- M A ⁇ H
- the terminal The processor 110 of the system adaptively updates the first threshold and the second threshold according to the three-axis angular velocity modulus corresponding to the detected walking to ensure the accuracy of walking detection.
- the terminal determines the first threshold and the second threshold in the following manner, according to Determine the first threshold; and,
- Thrv (i) represents the first threshold
- Thrp (i) represents the second threshold
- i represents the completed i-th walk
- i is a natural number
- max if is the maximum angular velocity determined by the if-th walk Modulus
- max ig is the maximum angular velocity modulus determined by the ig walking
- min if is the minimum angular velocity modulus determined by the if walking
- min ig is the minimum angular velocity modulus determined by the ig walking
- thrp 0 , thrv 0
- A, b, c, and d are constants
- f, g, and N are positive integers.
- the two thirds of the peak value and trough value of the angular velocity modulus can be selected approximately for the determination of the first threshold and the second threshold, that is, let a and d be 1/3, and b and c are 1/6
- the closer the historical one-step walk to the currently detected one-step walk the more similar the change characteristics of the terminal's triaxial acceleration, that is, the more similar the change characteristics of the angular velocity modulus corresponding to the terminal. Is 4 to ensure the accuracy of walking detection, where thrp 0 can be 1.5 and thrv 0 is 1 and so on.
- Embodiment 2 introduces a positioning process provided by an embodiment of the present application.
- the specific positioning process is implemented based on the walking detection of Embodiment 1, and the repetitive points will not be described in detail.
- the following describes the positioning process provided by Embodiment 2 in detail with reference to FIG. 5 Introduction, as shown in FIG. 5, the process performed by the terminal 100 includes the following steps:
- the terminal obtains a plurality of continuous three-axis angular velocities through detection by the gyro sensor 160A.
- the terminal determines multiple angular velocity modulus values corresponding to the multiple continuous three-axis angular velocities through the processor 110. Wherein, based on the detection time of the plurality of continuous three-axis angular velocities, the plurality of angular velocity modulus values correspond to four time periods; the four time periods are the terminal according to the first threshold and the second threshold Determined in the order of detection time.
- the terminal determines, through the processor 110, that the plurality of continuous angular velocity modulus values satisfy the condition, and determines that the user completes a one-step walk.
- the condition includes: the angular velocity modulus corresponding to the first period of time is less than the first threshold, the angular velocity modulus corresponding to the second period of time is not less than the first threshold and not greater than the second threshold, corresponding to the third time
- the angular velocity modulus of the segment is greater than the second threshold, and the angular velocity modulus of the corresponding fourth time segment is not less than the first threshold and not greater than the second threshold.
- S504 The terminal determines the position of the user after the one-step walking through the processor 110 according to the starting position, the traveling direction, and the progress of the one-step walking.
- Position based on walking detection and update the user's position.
- the terminal receives the positioning signal through the wireless communication module 150, and when it is determined that the signal strength of the positioning signal is less than the third threshold and is unavailable, the processor 110 of the terminal uses the last position determined according to the positioning signal as the location based on walking detection
- the starting position (px 0 , py 0 ), and according to the detected number of steps per walking (i), the direction of travel orien, the length of progress L, to locate the position of the user after completing a step of walking specifically,
- the processor 110 of the terminal may be based on Iteratively update the position of the user to achieve the positioning of the user, where (px i , py i ) is the position of the user after the i-th walk, orien (i) is the direction of travel of the i-th walk (relative to the navigation coordinate system (Angle of X axis), L is the progress of travel.
- the travel direction of each walk can be completed according to the user The detection corresponding to walking is the direction indicated by the average heading angle of the heading angles detected within the duration of multiple continuous three-axis angular velocities as the direction of travel.
- the top of the terminal must be strictly pointed to the direction of travel during the course of travel. In fact, it is difficult to point the top of the terminal strictly to the direction of travel during the process of travel.
- the direction indicated by the average heading angle is used as the direction of travel There is an error.
- the terminal performs a flicking mode with the same frequency as the step frequency along the user's direction of travel
- the terminal's axis of motion on the horizontal plane is on the same straight line as the user's direction of travel on the horizontal plane;
- the direction of travel can be approximated according to the heading angle.
- the angle with the direction of travel is usually not more than 90 degrees.
- the terminal can determine the direction of travel according to its own axis of motion on the horizontal plane and the detected heading angle to improve the accuracy of positioning. In the following, the terminal determines the traveling direction of the i-th walking as an example, i is a natural number, and indicates the i-th walking completed by the user.
- the terminal samples the gyro sensor 160A, the magnetic field sensor 160C, and the gravity sensor 160F at the sampling frequency, and samples the triaxial acceleration detected by the triaxial acceleration sensor 160D and the heading angle detected by the direction sensor 160B at the same frequency. Because the terminal samples its own three-axis acceleration sensor 160D, it obtains the three-axis acceleration in the current posture of the terminal. The terminal determines the rotation matrix C b according to the three-axis gravitational acceleration and the three-axis magnetic field strength obtained by each sampling.
- the three-axis acceleration obtained by sampling is solved, and the three-axis acceleration obtained by each sampling is converted into the navigation coordinate system, and then the acceleration of the corresponding horizontal plane obtained by each sampling of the terminal 100 is determined, that is, the X-axis acceleration and the Y-axis corresponding to the horizontal plane. Acceleration.
- the terminal uses the processor 110 to perform PCA processing on the X-axis acceleration and the Y-axis acceleration of a plurality of corresponding horizontal planes obtained during the sampling period corresponding to the i-th walking, to determine the motion axis corresponding to the i-th walking .
- the specific process is as follows:
- the eigenvectors corresponding to the eigenvalues ⁇ 1 and ⁇ 2 are respectively among them with Indicate two directions of the same straight line, will and / or The indicated straight line is determined as the axis of motion, with The two directions indicated are determined as the directions of the two motion axes.
- the terminal averages the heading angles obtained during the sampling period corresponding to the i-th walking to obtain the average heading angle, and determines the direction of the movement axis whose angle with the average heading angle is not greater than 90 degrees.
- the sampling period corresponding to the i-th walking can be corresponding to the i-th walking, and the terminal detects multiple continuous three-axis angular velocities through the gyro sensor 160A, such as [endTime (i- 1), endTime (i)], where endTime (i-1) is the start time for the terminal to sample the three-axis angular velocity of the i-th walk, or it can be called that the terminal determines the end time for the user to complete the i-1th walk, endTime (i) is the time when the terminal determines that the user completes the i-th walk. If i is 1, endTime (i-1) is the time when the terminal detects that the positioning signal is less than the first threshold.
- the terminal's axis of motion corresponding to the horizontal direction is usually similar.
- the sampling period corresponding to the i-th walking is ), endTime (i)], where beginMoveTime (1) is the time when the terminal 100 detects that the positioning signal is less than the third threshold.
- the terminal may also determine the average direction (orien_ave) of the heading angle indication obtained during the sampling period corresponding to the i-th walking, according to whether the included angle between the two motion axis directions indicated by the orien_ave and the motion axis is not greater than 90 Degrees to determine the direction of travel.
- the average direction is calculated as follows:
- yaw (j) represents the sampling value of the jth heading angle in the i-th walking
- N is the number of samplings in the second sampling period corresponding to the i-th walking
- the value range of the atan 2 function is (- ⁇ , ⁇ ] Is defined based on the arc tangent function in the range (- ⁇ / 2, ⁇ / 2), defined as:
- y in atan 2 (y, x) means x means The method of determining the direction of travel is as follows:
- the terminal converts the multiple continuous three-axis accelerations detected during the sampling period corresponding to the i-th walking to multiple triaxial angular velocities in the navigation coordinate system for low-pass filtering,
- the cut-off frequency of low-pass filtering is slightly greater than 2 Hz, such as 2.5 Hz, 3 Hz, etc.
- FIG. 6 is a schematic diagram of a positioning process provided by an embodiment of the present application.
- the terminal performs the same frequency on the acceleration sensor 160D, the gyro sensor 160A, the gravity sensor 160F, the magnetic field sensor 160C, and the direction sensor 160B Sampling to obtain three-axis acceleration, three-axis angular velocity, three-axis gravity acceleration, three-axis magnetic field strength and heading angle, and for each sample, according to the three-axis gravity acceleration and three-axis magnetic field strength, calculate the carrier coordinate system and navigation coordinate system
- the rotation matrix between the three-axis acceleration and three-axis angular velocity is converted to a navigation coordinate system, and the converted three-axis acceleration and three-axis angular velocity are low-pass filtered.
- the terminal performs SFSM walking detection according to the three-axis angular velocity sequence sampled in the first sampling time period, determines that the user completes a one-step walk, and performs PCA processing on the three-axis acceleration sequence corresponding to the walking time sampling period to determine the corresponding Motion axis, and determine the two directions of motion indicated by the motion axis through the heading angle sequence within the sampling time period corresponding to the walking, and determine the direction of travel, and according to the starting position and step length of the walking
- the user's location is updated after the walk.
- the embodiments of the present application perform simulation tests in the test environment shown in FIG. 7.
- the test terminal 100 is a Huawei Honor 7 smartphone, and the test environment area is 413m * 26.1m.
- the determination of the direction of travel in the present application can reduce the restriction on the posture of the user during the swinging and walking of the user.
- the traditional method requires that the top of the terminal 100 be strictly directed in the direction of travel during walking.
- the application only needs to restrict the top of the terminal 100 to be generally forward or backward, allowing the top of the terminal (top forward) or the tail of the terminal (tail (End forward) with a direction deviation not exceeding 90 ° from the direction of travel.
- the first is that the angular velocity modulus in the flick mode has better periodicity with the same frequency of walking than the acceleration modulus, and the amplitude is also more stable; the second is to detect the complete gait through the finite state machine rather than on the walking process. The detection of a certain state point improves the accuracy of walking detection; the third is that the method of adaptively updating the threshold of the state of the finite state machine can ensure the stability of the algorithm, which can be obtained when performing walking detection on different users at different times. Good results; the fourth is to identify and eliminate the noise peaks and the maximum peaks in the turning process through peak-to-valley difference and one-step duration, which improves the final detection accuracy.
- FIG. 9 shows a walking detection device 900 provided by the present application, and the walking detection device 900 is used to perform the operation performed by the terminal in the foregoing walking detection.
- the walking detection device 900 includes:
- the detection unit 901 is configured to detect and obtain a plurality of continuous three-axis angular velocities
- the processing unit 902 is configured to determine a plurality of angular velocity modulus values corresponding to the plurality of continuous triaxial angular velocities; wherein, based on the detection time of the plurality of continuous triaxial angular velocities, the plurality of angular velocity moduli and four Corresponding relationships are formed in each time period; the four time periods are determined according to the detection time sequence according to the first threshold and the second threshold;
- the processing unit 902 is further configured to judge that the plurality of continuous angular velocity modulus values satisfy a condition and determine that the user completes a one-step walk; the condition includes: the angular velocity modulus value corresponding to the first time period is less than the first threshold, corresponding to The angular velocity modulus in the second period is not less than the first threshold and not greater than the second threshold, the angular velocity modulus in the third period is greater than the second threshold, and the angular velocity modulus in the fourth period is not Less than the first threshold and not greater than the second threshold.
- the device further includes:
- the receiving unit 903 is used to receive a positioning signal
- the processing unit 902 is further configured to determine that the user ’s post-walking step is determined according to the starting position, direction of travel and progress of the stepping when the signal strength of the positioning signal is less than the third threshold position.
- the detection unit 901 is further configured to detect and obtain a plurality of continuous three-axis accelerations and a plurality of continuous heading angles during the sampling period;
- the processing unit 902 is further configured to determine a plurality of horizontal plane accelerations corresponding to the plurality of continuous three-axis accelerations, and based on the detection time of the plurality of continuous three-axis accelerations, perform PCA processing to determine the motion axis corresponding to the horizontal plane of the one-step walking, wherein the motion axis indicates the direction of two motion axes on the horizontal plane; the angle between the average heading angles of the plurality of continuous heading angles is not greater than 90 The direction of the target axis of motion is determined as the direction of travel.
- condition further includes: detecting that the duration of obtaining the plurality of continuous triaxial angular velocities is not less than a fourth threshold.
- condition further includes: a difference between a maximum angular velocity modulus and a minimum angular velocity modulus among the determined plurality of angular velocity moduli is not greater than a fifth threshold.
- the processing unit 902 is also used to Determine the first threshold; and, according to Determine the second threshold; where Thrv (i) represents the first threshold, Thrp (i) represents the second threshold, and i represents the completed i-th walk, i is a natural number; max if is the The maximum angular velocity modulus determined by if walking, max ig is the maximum angular velocity modulus determined by ig walking, min if is the minimum angular velocity modulus determined by if walking, min ig is the minimum angular velocity modulus determined by ig walking Values, thrp 0 , thrv 0 , a, b, c, and d are constants, f ⁇ g ⁇ N, and f, g, and N are positive integers.
- the a and d are 1/3, and the b and c are 1/6.
- the f is 2, and the g is 4.
- an embodiment of the present application further provides a terminal.
- the terminal 1000 includes a memory 1001, a processor 1002, and a transceiver 1003.
- the memory 1001, the processor 1002, and the transceiver 1003 are linked by a bus.
- the memory 1001 is used to store computer-executed instructions.
- the processor 1002 executes the computer-executed instructions stored in the memory 1001 through the transceiver 1003, so that the terminal device 1000 implements any of the above-mentioned walking detection methods. Relevant descriptions of the text and its drawings will not be repeated here.
- An embodiment of the present application provides a computer storage medium that stores a computer program, and the computer program includes instructions for executing the walking detection method described in the foregoing method embodiment.
- An embodiment of the present application provides a computer program product containing instructions, which when run on a terminal, causes the terminal to implement the walking detection method described in the foregoing method embodiments.
- An embodiment of the present application provides a chip that is connected to a memory and used to read and execute a software program stored in the memory to implement the walking detection method described in the foregoing method embodiments.
- Computer-readable media includes computer storage media and communication media, where communication media includes any medium that facilitates transfer of a computer program from one place to another.
- a storage medium may be any available medium that can be accessed by a computer.
- computer readable media may include random access memory (random access memory, RAM), read only memory (Read Only Memory, ROM), electrically erasable programmable read only memory (electrically erasable programmable memory) only memory (EEPROM), compact disc-read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or can be used to carry or store expectations in the form of instructions or data structures Program code and any other medium that can be accessed by the computer. Also. Any connection can become a computer-readable medium as appropriate.
- disks and discs include compact discs (CDs), laser discs, optical discs, digital video discs (DVDs), floppy disks, and Blu-ray discs, wherein Disks usually copy data magnetically, while disks use lasers to copy data optically.
- CDs compact discs
- DVDs digital video discs
- floppy disks floppy disks
- Blu-ray discs wherein Disks usually copy data magnetically, while disks use lasers to copy data optically.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及终端技术领域,公开了一种行走检测方法及装置,用以提高行走检测的准确性。该方法为:终端通过传感器模块检测获得多个连续的三轴角速度;通过处理器确定与多个连续的三轴角速度对应的多个角速度模值;其中,基于三轴角速度的检测时间,多个角速度模值与四个时间段形成对应关系;四个时间段是终端根据第一阈值和第二阈值按照检测时间顺序确定;通过处理器判断多个连续的角速度模值满足条件,确定用户完成一步行走;条件包括:对应第一时间段的角速度模值小于第一阈值,对应第二时间段的角速度模值不小于第一阈值且不大于第二阈值,对应第三时间段的角速度模值大于第二阈值,对应第四时间段的角速度模值不小于第一阈值且不大于第二阈值。
Description
本申请要求于2018年11月02日提交中国国家知识产权局、申请号为201811299883.5、申请名称为“一种行走检测方法及终端”的中国专利申请,以及于2018年11月15日提交中国知识产权局、申请号为201811360864.9、申请名称为“一种行走检测方法及装置”的中国专利申请的优先权,它们的全部内容通过引用结合在本申请中。
本申请实施例涉及终端技术领域,尤其涉及一种行走检测方法及装置。
随着通信技术的快速发展,数据业务和多媒体业务的飞速增加,基于位置的服务(location based service,LBS)受到更多的重视,然而在森林、峡谷、矿井、电力枢纽、隧道和地下等复杂环境,因为遮挡和电磁干扰等原因导致全球卫星定位系统(global positioning system,GPS)、全球导航卫星系统(global navigation satellite system,GLONASS)、北斗卫星导航系统(beidou navigation satellite system,BDS)等存在不可用的问题。
现有技术为了实现在复杂环境下进行定位,通常采用基于惯性导航的行人航位推算(pedestrian dead reckoning,PDR)方法,具体的,行人在行走时,终端受行人行走的影响产生三轴加速度,终端通过峰值检测(peak detection,PD)方法进行行走检测,即通过检测是否存在满足一定峰谷差条件的三轴加速度的加速度模值峰值点,来确定行人是否完成一步行走,并在行人完成一步行走后,结合行进方向、行进步长等,确定一步行走后行人的位置,因此定位的准确性直接受到行走检测的准确性的影响。
然而,在行人行走过程中,行人在行走时通常会进行与步频同频的甩手动作,导致终端的运动特征与行人躯干的运动特征存在较大差异,进而导致了根据三轴加速度进行行走检测的检测结果不准确。
发明内容
本申请提供一种行走检测方法及装置,用以解决终端在沿着用户行进方向进行与步频同频的甩动模式下,行走检测不准确的问题。
第一方面,本申请提供一种行走检测方法,该方法可以通过终端实现,该方法包括:终端通过传感器模块检测获得多个连续的三轴角速度;所述终端通过处理器确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定;所述终端通过所述处理器判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。在本申请中,充分的利用了终端在沿 着用户行进方向进行与步频同频的甩动模式下,终端的三轴角速度的角速度模值相比三轴加速度的加速度模值具有更好与用户行走的步频的同频周期性,且幅值也更稳定的特点;同时对与步频同频的甩动引起的三轴角速度的角速度模值在一步行走过程中的变换过程进行检测,而不是仅仅对一步行走中三轴角速度的角速度模值的某个值进行检测,保证了行走检测的准确性。
在一种可能的设计中,所述终端通过低通滤波器对所述多个连续的三轴角速度进行低通滤波。其中低通滤波的截止频率略大于步频,通过这种设计,有助于消除噪音,提高行走检测的准确性;当然,在终端中也可以不设置低通滤波器,终端通过处理器的运算实现对所述多个连续的三轴角速度的低通滤波。
在一种可能的设计中,所述方法还包括:所述终端通过无线通信模块接收定位信号;所述终端确定所述定位信号的信号强度小于第三阈值时,通过所述处理器根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。通过这种方式,用于在GPS等定位信号不可用时,基于行走检测实现对用户的准确定位。
在一种可能的设计中,所述终端通过以下方式确定所述行进方向:所述终端通过所述传感器模块在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;所述终端通过所述处理器确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行主成分分析(principal component analysis,PCA)处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;所述终端通过所述处理器将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。通过这种方式,充分的利用了终端在沿着用户行进方向进行与步频同频的甩动模式下,终端在水平面上的运动轴,与用户在水平面上的行进方向在同一条直线上的特点,避免了仅根据终端的航向角确定行进方向,因终端的顶端与用户在水平面上的行进方向存在偏差导致的行进方向存在偏差的问题。
在一种可能的设计中,所述终端通过低通滤波器对所述多个连续的三轴加速度进行低通滤波。其中低通滤波的截止频率略大于步频,通过这种设计,有助于消除噪音,行进方向确定的准确性;当然,在终端中也可以不设置低通滤波器,终端通过处理器的运算实现对所述多个连续的三轴加速度的低通滤波。
在一种可能的设计中,所述条件还包括:所述终端检测获得所述多个连续的三轴角速度的时长不小于第四阈值。其中,第四阈值可以设置为略小于正常完成一步行走所需的最小时长,通过这种方式,有助于避免对用户完成一步行走的误检。
在一种可能的设计中,所述条件还包括:所述终端确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。其中第五阈值可以设置为略大于正常完成一步行走过程中出现的三轴角速度的最大角速度模值和最小角速度模值的差值,通过这种方式,有助于避免对用户完成一步行走的误检。
在一种可能的设计中,所述终端通过以下方式确定所述第一阈值和所述第二阈值:根据
确定所述第一阈值;以及,根据
确定所述第二阈值;其 中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;max
i-f为第i-f步行走确定的最大角速度模值,max
i-g为第i-g步行走确定的最大角速度模值,min
i-f为第i-f步行走确定的最小角速度模值,min
i-g为第i-g步行走确定的最小角速度模值,thrp
0、thrv
0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。通过这种方式,可以保证在对不同用户不同时间进行行走检测时,行走检测的准确性。
在一种可能的设计中,所述a和所述d为1/3,所述b和所述c为1/6。通过这种方式,有助于第一阈值和第二阈值的合理确定,提高行走检测的准确性。
在一种可能的设计中,所述f为2,所述g为4。通过这种方式,有助于第一阈值和第二阈值的合理确定,提高行走检测的准确性。
第二方面,本申请提供了一种行走检测装置,该装置具有实现上述第一方面和任一种可能的设计中方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该装置可以是芯片或者集成电路。
在一个可能的设计中,该装置包括收发器和处理器,处理器用于执行一组程序,当程序被执行时,所述装置可以执行上述第一方面和任一种可能的设计中所述的方法。
在一个可能的设计中,该装置还包括存储器,用于存储所述处理器执行的程序。
在一个可能的设计中,该装置为终端。
第三方面,本申请提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述第一方面或者第一方面的任意一种可能的设计中方法的指令。
第四方面,本申请提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端执行上述第一方面或者第一方面的任意一种可能的设计中的方法。
第五方面,提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第一方面或上述第一方面的任意一种可能的设计中的方法。
图1为本申请实施例中提供的一种终端的结构示意图;
图2为本申请实施例中提供的一种行走检测过程示意图;
图3为本申请实施例中提供的一种终端的三轴角速度的角速度模值变化示意图;
图4为本申请实施例中提高的一种终端的有限状态转移示意图;
图5为本申请实施例中提供的一种定位过程示意图;
图6为本申请实施例中提供的另一种定位过程示意图;
图7为本申请实施例中提供的一种测试环境示意图;
图8为本申请实施例中提供的一种定位轨迹示意图;
图9为本申请实施例提供的一种行走检测装置的结构示意图;
图10为本申请实施例提供的另一种终端的结构示意图。
本申请提供一种行走检测方法及装置,旨在利用在用户行进方向进行与步频同频的甩动模式下,终端检测到的三轴角速度的角速度模值相对于三轴加速度的加速度模值具有更 好的与步频的同周期性,及幅度更稳定的特性,进行行走检测,以提高行走检测的准确性。在本申请中,方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此设备与方法的实施可以相互参见,重复之处不再赘述。
本申请实施例涉及到的终端,又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,目前,终端可以是:手机(mobile phone)、平板电脑、掌上电脑、可穿戴设备(例如智能手表、智能手环、计步器等),其中终端包括但不限于搭载
或者其它操作系统,本申请一种可能的应用场景为终端沿着用户行进方向进行与步频同频甩动,例如:终端为手机,用户在行走时进行与步频同频的甩手动作,手机被用户握在手中的场景;或者终端为智能手环,用户在行走时进行与步频同频的甩手动作,智能手环被佩戴在用户的手腕上的场景等;另外,可以想到的,用户在行走时终端被固定在用户的小腿或脚部等场景下,本申请的行走检测方案同样适用。
本申请实施例描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面将结合附图,对本申请实施例进行详细描述。
本申请公开的各个实施例可以应用于终端中,示例性的,图1示出了终端的结构。如图1所示,终端100可以包括:处理器110,存储器120,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,无线通信模块150,传感器模块160等。其中传感器模块160可以包括陀螺仪传感器160A,方向传感器160B,磁场传感器160C,加速度传感器160D,重力传感器160F等。
可以理解的是,本申请实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图1更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图1的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),控制器,存储器,基带处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,通用输入输出(general-purpose input/output,GPIO)接口,和/或通用串行总线(universal serial bus,USB)接口等。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块150。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与无线通信模块150,传感器模块160等。GPIO接口还可以被配置为UART接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,存储器120,和无线通信模块150等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线1,无线通信模块150,调制解调处理器以及基带处理器等实现。
无线通信模块150可以提供应用在终端100上的包括无线局域网(wireless local area networks,WLAN),全球导航卫星系统(global navigation satellite system,GNSS)等无线通信的解决方案。无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。所述GNSS可以包括GPS,GLONASS,BDS,准天顶卫星系统(quasi-zenith satellite system,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。
存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在存储器120的指令,从而执行终端100的各种功能应用以及数据处理。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序等。存储数据区可存储终端100使用过程中所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
陀螺仪传感器160A又称角速度传感器,不同于加速度传感器,用于测量的物理量是终端100偏转、倾斜时的转动角速度,可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器160A确定终端100围绕三个轴(即,X,Y和Z轴)的角速度。陀螺仪传感器160A可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器160A检测 终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器160A还可以用于体感游戏场景等。
方向传感器160B,用于感应终端100的欧拉角的信息,即感应终端100的航向角、俯仰角及横滚角的信息。在一些实施例中,终端100通过方向传感器160B确定的航向角,用于定位和导航。
磁场传感器160C也称磁力计。终端100可以利用磁场传感器160C检测终端100当前姿态下在各个方向上(一般为三轴)的磁场强度,并可以根据三轴磁场强度,对终端100相对于地磁场的姿态信息进行解算,用于终端姿态的确定。
加速度传感器160D是一种能够测量加速度的传感器,通常由质量块、阻尼器、弹性元件、敏感元件和适调电路等部分组成;加速度传感器160D在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。加速度传感器160D可检测终端100在各个方向上(一般为三轴)加速度的大小,可以用于震动识别相关功能(比如计步器、敲击)等。
重力传感器160E用于检测终端100在各个方向上(一般为三轴)的重力加速度的大小。可以用于根据三轴重力加速度解算出终端100相对于水平面的倾斜角度,用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁场传感器姿态校准)等。
下面以终端100中进行行走检测为例,对本申请实施例行走检测方法进行详细说明。
【实施例一】
实施例一介绍本申请实施例提供的一种行走检测流程,下面参考图2对实施例一提供的一种行走检测流程进行详细介绍,如图2所述,终端100执行的流程包括如下步骤:
S201:终端通过陀螺仪传感器160A检测获得多个连续的三轴角速度。
在实际应用过程中,终端以设定的采样频率对陀螺仪传感器160A检测到的终端的三轴角速度进行采样,并记录每次采样获得的三轴角速度的采样时间戳。可选的,为了避免采样频率设定过低,影响行走检测的效果,设定的采样频率不低于50Hz,比如为50Hz、60Hz等。
另外,因用户正常行走的频率通常在0.5Hz~2Hz,即用户的步速通常在2s一步行走至1s两步行走之间,可选的,终端对陀螺仪传感器160A采样获得多个三轴角速度后,终端对采样获得的多个三轴角速度进行低通滤波,以消除噪声的干扰,其中低通滤波的截止频率略大于步频,比如为2.5Hz、2.8Hz等;具体的,终端对采样获得的多个三轴角速度进行低通滤波,可以通过在终端中设置的低通滤波器实现,例如通过终端中设置的巴特沃兹滤波器实现;也可以不在终端中设置低通滤波器,终端通过处理器110的运算实现对采样获得的多个三轴角速度进行低通滤波。
S202:终端通过处理器110确定与所述多个连续的三轴角速度对应的多个角速度模值。其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定。
S203:终端通过处理器110判断所述多个连续的角速度模值满足条件,确定用户完成一步行走。所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述 第二阈值。
如图3所示,为终端沿用户行进方向进行与步频同频的甩动模式下,终端的三轴角速度对应的角速度模值变化示意图,其中,对于三轴角速度对应的角速度模值的确定,终端的处理器110可以根据公式
实现,||gyro||为角速度模值,gyro
x、gyro
y和gyro
z分别为三轴角速度中的X轴角速度、Y轴角速度和Z轴角速度。终端受沿用户行进方向进行向前和向后甩动的影响,终端在用户沿行进方向进行一次向前或向后甩动时,终端的三轴角速度的角速度模值呈现一次上升和下降,展现一次与甩动对应的波动。参照图4所示,在本申请中可以将角速度模值(input)作为检测量,将终端在一次波动中的input变化,根据第一阈值(Thrv)和第二阈值(Thrp),按照对确定角速度模值的三轴角速度的检测时间顺序,进行有限状态机划分(finite state machine,FSM),其中Thrv小于Thrp,具体将一次波动中的角速度模值划分为波谷状态(S0)、预备运动状态(S1)、波峰状态(S2)和离开波峰状态(S3)四个长时状态,其中在S0状态,input小于Thrv;在S1状态,input不小于Thrv且不大于Thrp;在S2状态,input大于Thrp;在S3状态,input不小于Thrv且不大于Thrp;另外,还可以划分出一个瞬时状态,行走结束状态(S4),其中S4状态是S3状态与S0状态的临界状态,也是S3状态中的一个特殊状态,在S4状态,input等于Thrv。
可选的,一次完整的波动,涉及到S0状态、S1状态、S2状态和S3状态四个状态,因此为了减少对处理器110资源的消耗,在进行行走检测时,终端对陀螺仪传感器160A检测到的终端的三轴角速度进行采样,获得的连续的三轴角速度不小于4个。
终端基于上述S0状态、S1状态、S2状态和S3状态四个状态,进行行走检测,具体的,终端通过处理器110确定与检测获得的多个连续的三轴角速度对应的多个input,并基于多个连续的三轴角速度的检测时间,根据Thrv和Thrp,按照检测时间顺序,将input小于Thrv的检测时间段确定为第一时间段(S0状态);将input不小于Thrv且不大于Thrp的检测时间段确定为第二时间段(S1状态);将input大于Thrp的检测时间段确定为第三时间段(S2状态);将input不小于Thrv且不大于Thrp的检测时间段确定为第四时间段(S3状态),终端的处理器110,在确定检测获得多个连续的三轴角速度的检测时间中包含满足上述条件的第一时间段、第二时间段、第三时间段和第四时间段时,确定用户完成一步行走,并在确定用户完成一步行走后,基于确定用户完成该步行走后,通过陀螺仪传感器160A检测获得的多个连续的三轴角速度,对用户是否完成下一步行走进行检测。相对于传统的PD方法进行行走检测,本申请实施例提供的行走检测方法基于终端的甩动过程中S0状态、S1状态、S2状态和S3状态实现,也可以称为甩动有限状态机划分(swing-mode finite state machine,SFSM)行走检测方法。
例如:基于检测获得多个连续的三轴角速度的时间顺序,终端的处理器110确定的与所述多个连续的三轴角速度对应的多个input依次为:0.9、0.1、0.6、1.4、2.1、2.9和3.6,Thrv为1.5和Thrp为3.5,单位为(rad/s),终端的处理器110检测到0.9小于1.5,确定0.9对应的三轴角速度的检测时间位于第一时间段;检测到0.1小于1.5,确定1.1对应的三轴角速度的检测时间位于第一时间段;检测到0.6小于1.5,确定0.6对应的三轴角速度的检测时间位于第一时间段;检测到1.4小于1.5,确定1.4对应的三轴角速度的检测时间位于第一时间段;检测到2.1不小于1.5且不大于3.5,确定2.1对应的三轴角速度的检测时间位于第二时间段,此时存在角速度模值由1.4变换为2.1,存在由第一时间段(S0状 态)至第二时间段(S1状态)的转移,处理器110将0.9对应的三轴角速度的检测时间至1.4对应的三轴角速度的检测时间,确定为第一时间段;同理处理器110将2.1对应的三轴角速度的检测时间至2.9对应的三轴角速度的检测时间,确定为第二时间段,此时终端检测获得多个连续的三轴角速度的检测时间中仅包含第一时间段和第二时间段,终端的处理器110不能确定用户完成一步行走。
随着检测时间的增长,终端通过陀螺仪传感器160A检测获得的多个连续的三轴角速度的数量增加,基于检测获得多个连续的三轴角速度的时间顺序,终端的处理器110确定的与所述多个连续的三轴角速度对应的多个input依次为:0.9、0.1、0.6、1.4、2.1、2.9、3.6、4.4、4.9、4.3、3.7、3.1、2、1.4,存在由第一时间段(S0状态)至第二时间段(S1状态)的转移(1.4-2.1),处理器110将0.9对应的三轴角速度的检测时间至1.4对应的三轴角速度的检测时间,确定为第一时间段;存在由第二时间段(S1状态)至第三时间段(S2状态)的转移(2.9-3.6),处理器110将2.1对应的三轴角速度的检测时间至2.9对应的三轴角速度的检测时间,确定为第二时间段;存在由第三时间段(S2状态)至第四时间段(S3状态)的转移(3.7-3.1),处理器110将3.6对应的三轴角速度的检测时间至3.7对应的三轴角速度的检测时间,确定为第三时间段;存在由第四时间段(S3状态)至第一时间段(S0状态)的转移(2-1.4),处理器110将3.1对应的三轴角速度的检测时间至2对应的三轴角速度的检测时间,确定为第四时间段,此时,终端检测获得多个连续的三轴角速度的检测时间中包含第一时间段、第二时间段、第三时间段和第四时间段,终端的处理器110确定用户完成一步行走。
当然,如果终端的处理器110在第四时间段(S3状态)中检测到input等于1.5(S4状态),也可以确定第四时间段(S3状态)在向其它时间段转移,终端将转移至第四时间段对应的三轴角速度的检测时间至所述1.5对应的三轴角速度的检测时间,确定为第四时间段。
另外,在本申请中,终端的处理器110是按照检测获得多个连续的三轴角速度的检测时间顺序,根据与多个连续的三轴角速度的对应的多个input,及第一时间段、第二时间段、第三时间段和第四时间段分别的input的取值范围,按照第一时间段、第二时间段、第三时间段和第四时间段的顺序,对检测获得多个连续的三轴角速度的检测时间中包含的第一时间段、第二时间段、第三时间段和第四时间段进行检测确定的,示例性的:基于检测获得多个连续的三轴角速度的时间顺序,终端的处理器110确定的与多个连续的三轴角速度对应的多个input依次为:0.9、0.1、0.6、1.4、2.1、2.9、1,其中2.9对应的三轴角速度的检测时间位于第二时间段,而1不满足第二时间段的input范围不小于1.5且不大于3.5,存在由第二时间段至其它时间段的转移,根据第一时间段、第二时间段、第三时间段和第四时间段的顺序,处理器110首先判断1是否满足第三时间段的input范围不小于3.5;不满足,继续判断1是否满足第四时间段的角速度模值范围不小于1.5且不大于3.5;仍不满足,继续判断1是否满足第一时间段的角速度模值范围小于1.5,满足,确定由第二时间段(S1状态)向第一时间段(S0状态)的转移,可想而知的,在存在噪声干扰的情况时,也可能存在由第四时间段(S3状态)向第三时间段(S2状态)转移等其他转移情况,不再进行赘述。
因用户正常行走的步频通常在0.5Hz~2Hz,即用户进行一步行走的时间通常不小于0.5s,为了防止噪声干扰产生误检,确定用户完成一步行走的条件还可以包括:终端检测 获得多个连续的三轴角速度的时长不小于第四阈值(thr_time)。其中thr_time的取值小于0.5s,例如为0.25s。对于终端检测获得多个连续的三轴角速度的时长,可以根据终端对该步行走进行三轴角速度采样的起始时间,也可以称为终端确定用户完成上一步行走的结束时间(endTime(i-1))至当前时间(endTime(i))对应的时长确定,即确定用户完成一步行走的条件还包括:endTime(i)-endTime(i-1)≥thr_time。
因用户正常行走时,终端检测到的每次甩动对应的最大的角速度模值与最小的角速度模值的差值在一定的范围内,为了防止转弯时出现的极大峰值对行走检测的准确性产生影响,本申请中对转弯过程中出现极大峰值进行识别和剔除,确定用户完成一步行走的条件还可以包括:终端确定检测获得多个连续的三轴角速度,对应的多个角速度模值中最大角速度模值(max)与最小角速度模值(min)的差值不大于第五阈值(thr_pv),示例性的thr_pv可以为7,单位为(rad/s),即确定用户完成一步行走的条件还包括:max-min≤thr_pv。
可选的,为了节约处理器110的处理器110资源,终端的处理器110仅在确定检测获得多个连续的三轴角速度的检测时间中包含第一时间段、第二时间段、第三时间段和第四时间段时,对endTime(i)-endTime(i-1)≥thr_time和endTime(i)-endTime(i-1)≥thr_time进行判断,如果判断结果均为是,则确定用户完成一步行走,否则,终端通过陀螺仪传感器160A重新检测获得多个连续的三轴角速度,进行行走检测。
终端对自身陀螺仪传感器160A检测到的三轴角速度进行采样获得的是终端当前姿态下的三轴角速度,即载体(终端)坐标系下的三轴角速度,为了提高行走检测精度,可选的,在步骤S201,终端通过陀螺仪传感器160A检测获得三轴角速度后,终端的处理器110还可以将获得的三轴角速度转换到导航坐标系下,由于东北天坐标系(local cartesian coordinates coordinate system,ENU)的X轴与地球椭球的长半轴重合(东向)、Y轴与地球椭球短半轴重合(北向),东北天坐标系的X轴、Y轴与坐标系极点(O)构成的XOY平面,即为用户行走的水平面,本申请中终端的导航坐标系选用西北天坐标系。
另外,在本申请中,如果终端对自身陀螺仪传感器160A检测到的三轴角速度进行采样获得的三轴角速度转换到导航坐标系下,终端如果对获得的多个连续的三轴角速度进行低通滤波,在终端的处理器将获得的多个连续的三轴角速度转换到导航坐标系下之后。
具体的,终端仍以对自身陀螺仪传感器160A检测到的三轴角速度进行采样的采样频率,例如:50Hz,对自身重力传感器160F检测到的三轴重力加速度和磁场传感器160C检测到的三轴磁场强度进行同频采样。另外当陀螺仪传感器160A、重力传感器160F、重力传感器160F所支持的采样频率不同时,可以采用减采样的方法,选取采样频率最慢的传感器作为基准传感器,针对基准传感器的每次采样,选择与基准传感器采样时间戳最接近的其它传感器采样值作为此次采样的同序采样值,将非同序采样值删除以保证传感器采样频率相等。
针对每次对三轴角速度的采样,终端的处理器110根据该次采样的三轴重力加速度和三轴磁场强度计算载体坐标系和导航坐标系之间的旋转矩阵,例如,某次采样三轴重力加速度组成的单位向量为A=(A
x A
y A
z)
T,三轴磁场强度组成的单位向量为E=(E
x E
y E
z)
T,令H=E×A、M=A×H,则载体坐标系和导航坐标系之间的旋转矩 阵
可以根据此刻的旋转矩阵C
b、利用S=C
b□S
b,将三轴角速度转换到导航坐标系下,其中S
b为该次陀螺仪传感器160A采样原始值、S为转换后的导航坐标系下的值。
此外,不同用户间在行走时进行甩手动作的幅度与速度存在差异,同用户在不同时间行走时进行甩手动作的幅度与速度存在差异,可选的,为了保证终端进行行走检测的准确性,终端的处理器110根据已检测到行走对应的三轴角速度模值对第一阈值和第二阈值进行自适应更新,以保证行走检测的准确性。
其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;max
i-f为第i-f步行走确定的最大角速度模值,max
i-g为第i-g步行走确定的最大角速度模值,min
i-f为第i-f步行走确定的最小角速度模值,min
i-g为第i-g步行走确定的最小角速度模值,thrp
0、thrv
0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。可选的,可以近似选择角速度模值的波峰值和波谷值的两个三分点用于第一阈值和第二阈值的确定,即令a和d为1/3,b和c为1/6;此外,与当前进行检测的一步行走越接近的历史一步行走,终端的三轴加速度的变化特征越相似,即终端对应的角速度模值的变化特征越也相似,可以令f为2,令g为4,以保证行走检测的准确性,其中thrp
0可以为1.5等、thrv
0为1等。
【实施例二】
实施例二介绍本申请实施例提供的一种定位流程,具体的定位流程基于实施例一的行走检测实现,重复之处不再进行赘述,下面参考图5对实施例二提供的定位流程进行详细介绍,如图5所述,终端100执行的流程包括如下步骤:
S501:终端通过陀螺仪传感器160A检测获得多个连续的三轴角速度。
S502:终端通过处理器110确定与所述多个连续的三轴角速度对应的多个角速度模值。其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定。
S503:终端通过所述处理器110判断所述多个连续的角速度模值满足条件,确定用户完成一步行走。所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
S504:终端通过所述处理器110根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
在矿井、隧道、地下等室内环境,或者森林、峡谷等遮挡环境中,存在如GPS、北斗 卫星导航、Wi-Fi等可用于定位的定位信号强度弱,甚至无法检测到定位信号的情况,终端基于行走检测进行定位,对用户的位置进行更新。
具体的,终端通过无线通信模块150接收定位信号,在确定定位信号的信号强度小于第三阈值,不可用时,将终端的处理器110将根据定位信号确定的最后一个位置作为基于行走检测进行定位的起始位置(px
0,py
0),并根据检测到的每步行走对应的步数(i),行进方向orien、行进步长L,对完成一步行走后用户的位置进行定位,具体的,终端的处理器110可以根据
对用户的位置进行迭代更新,实现对用户的定位,其中(px
i,py
i)为第i步行走后用户的位置,orien(i)为第i步行走的行进方向(相对于导航坐标系X轴的夹角),L为行进步长。
在本申请实施例中,行进步长可以是终端的用户输入终端的,例如,用户可以沿直线行走一段距离,记录行走距离(d)和步数M,根据L=d/M确定行进步长,并将确定的行进步长输入终端,终端接收用户输入的行进步长,将行进步长保存至存储器120中;另外在本申请实施例中,每步行走的行进方向,可以根据用户完成该步行走对应的检测获得多个连续的三轴角速度的时长内检测到的航向角的平均航向角指示的方向,作为行进方向。
因通过航向角确定行进方向,需要在行进过程中,终端顶端严格的指向行进方向,而实际上在行进过程中,终端顶端难以严格的指向行进方向,通过平均航向角指示的方向,作为行进方向存在着误差。
可选的,因终端沿用户行进方向进行与步频同频的甩动模式下,终端被甩动时,终端在水平面上的运动轴,与用户在水平面上的行进方向在同一条直线上;并且根据航向角可以近似表示行进方向,与行进方向的夹角通常不大于90度,终端可以根据自身在水平面上的运动轴及检测到的航向角,确定行进方向,以提高定位的准确性,以下,以终端确定第i步行走的行进方向为例进行说明,i为自然数,表示用户完成的第i步行走。
具体的,终端以对陀螺仪传感器160A、磁场传感器160C、重力传感器160F进行采样的采样频率,对三轴加速度传感器160D检测到的三轴加速度和方向传感器160B检测到的航向角进行同频采样,因终端对自身三轴加速度传感器160D采样,获得的是终端当前姿态下的三轴加速度,终端根据每次采样获得的三轴重力加速度和三轴磁场强度,确定的旋转矩阵C
b,对每次采样获得的三轴加速度进行解算,将每次采样获得的三轴加速度转换到导航坐标系下,进而确定终端100每次采样获得的对应水平面的加速度,即对应水平面的X轴加速度和Y轴加速度。
针对第i步行走,终端通过处理器110对第i步行走对应的采样时间段内获得到的多个对应水平面的X轴加速度和Y轴加速度进行PCA处理,确定第i步行走对应的运动轴。具体过程如下:
终端通过处理器110对第i步行走对应的采样时间段内获得的对应水平面的X轴加速度和Y轴加速度按照时间顺序排列为(x
1,y
1)、(x
2,y
2)……(x
N,y
N),得到X轴加速度序列X=(x
1,x
2,......x
N)、Y轴加速度序列Y=(y
1,y
2,......y
N)。然后利用公式
计算得到X序列和Y序列的协方差,得到协方差矩阵
然后计算协方差矩阵C的特征值λ
1、λ
2(λ
1≥λ
2)。特征值λ
1、λ
2对应的特征向量分别为
其中
和
指示同一直线的两个方向,将
和/或
指示的直线,确定为运动轴,
和
指示的两个方向,确定为两个运动轴方向。
同时,终端对第i步行走对应的采样时间段内获得到的航向角进行求平均,得到平均航向角,并将与平均航向角夹角不大于90度的运动轴方向,确定为行进方向。
在本申请实施例中,第i步行走对应的采样时间段可以为第i步行走对应的,终端通过陀螺仪传感器160A检测获得多个连续的三轴角速度的时间段,如[endTime(i-1),endTime(i)],其中endTime(i-1)为终端对第i步行走对三轴角速度采样的起始时间,也可以称为终端确定用户完成第i-1行走的结束时间,endTime(i)为终端确定用户完成第i步行走的时间,其中如果i为1,则endTime(i-1)为终端检测到定位信号小于第一阈值的时间。
因终端在用户行进方向进行一次向前或向后甩动时,终端对应水平方向的运动轴通常相近,为了提高对行进方向的确定精度,第i步行走对应的采样时间段为[beginTime(i),endTime(i)],其中
beginMoveTime(1)为终端100检测到定位信号小于第三阈值的时间。
可选的,终端还可以确定第i步行走对应的采样时间段内获得到的航向角指示的平均方向(orien_ave),根据orien_ave与运动轴指示的两个运动轴方向的夹角是否不大于90度,确定行进方向。平均方向计算方法如下:
其中,yaw(j)代表第i步行走中第j次的航向角采样值,N为第i步行走对应的第二采样时间段内的采样次数;atan 2函数值域为(-π,π],是基于值域为(-π/2,π/2)的反正切函数定义的,定义为:
分别计算orien_ave与两个运动轴方向orien_move1和orien_move2之间的夹角β1和β1,选取与orien_ave夹角小于90度的运动轴方向,作为行进方向,其中如果出现atan 2(y,x)=undefined的特殊情况,可以选取两个运动轴方向orien_move1和orien_move2中位于[0,180°]区间内的运动轴方向为行进方向。
可选的,针对第i步行走,终端针对第i步行走对应的采样时间段内检测获得的多个连续的三轴加速度,转换到导航坐标系下的多个三轴角速度进行低通滤波,低通滤波的截止频率略大于2Hz,如2.5Hz、3Hz等。
基于上述实施例一和实施例二,图6为本申请实施例提供的一种定位过程示意图,终端对加速度传感器160D、陀螺仪传感器160A、重力传感器160F、磁场传感器160C和方向传感器160B进行同频采样,获得三轴加速度、三轴角速度、三轴重力加速度、三轴磁场强度和航向角,并针对每次采样,根据三轴重力加速度和三轴磁场强度,计算载体坐标系和导航坐标系之间的旋转矩阵,将三轴加速度和三轴角速度转换到导航坐标系下,并将转换后的三轴加速度和三轴角速度进行低通滤波。终端根据第一采样时间段采样得到的三轴角速度序列进行SFSM行走检测,确定用户完成一步行走后,对该步行走对应采样时间段内的三轴加速度序列进行PCA处理,确定该步行走对应的运动轴,并通过该步行走对应的采样时间段内的航向角序列,对运动轴指示的两个运动方向进行判断,确定行进方向,并根据该步行走的起始位置、及步长,对该步行走后用户的位置进行更新。
基于上述实施例一和实施例二,本申请实施例在如图7所示的测试环境下进行模拟测试,测试终端100为华为荣耀7智能手机,测试环境面积为413m*26.1m,将终端100放在手中甩手行进的姿态下进行模拟测试,采用本申请的SFSM行走检测,联合PCA处理和航向角进行行进方向确定进行定位时,测试结果定位轨迹图如图8所示,在模拟测试中,实际行走了“84”步,本申请检测到了“85”步,现有技术根据航向角确定行进方向的定位误差为3.31m,本申请联合PCA处理和航向角确定行进方向的定位误差为1.65m。相比于利用航向角直接确定行进方向的方法,本申请中的行进方向确定可以降低对用户甩动行走过程中对终端姿态的限制。传统方法需要终端100在行走过程中终端100顶端严格的指向行进方向,本申请只需要限制终端100的顶端大致向前或向后即可,允许终端顶端(顶端向前)或终端尾端(尾端向前)与行进方向具有不超过90°的方向偏差。
此外,通过模拟实验,在将终端放在手中甩手行进的姿态下,不同甩动强度下的6次测试共计1739步实际行走过程中利用SFSM行走检测方法和PD行走检测方法进行步数检测,PD行走检测方法的步数检测准确率为81.04%,SFSM行走检测方法的步数检测准确率为98.77%,相比传统PD方法提高了17.63%,取得了良好的检测结果原因如下:
首先是甩动模式下角速度模值相比加速度模值具有更好的行走同频周期性,且幅值也更稳定;其次是通过有限状态机对完整步态进行检测而非对行走过程中的某个状态点进行检测,提高了行走检测的准确度;第三是通过自适应更新有限状态机状态的阈值的方法可以保证算法的稳定性,在对不同用户不同时间进行行走检测时均可以取得良好的结果;第四是通过峰谷差和一步持续时间对噪声误检和转弯过程出现的极大峰值进行识别和剔除,提高了最终的检测准确度。
【实施例三】
基于相同的构思,图9所示为本申请提供的一种行走检测装置900,该行走检测装置900用于执行上述行走检测中终端执行的操作。如图9所示,行走检测装置900包括:
检测单元901,用于检测获得多个连续的三轴角速度;
处理单元902,用于确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述根据第一阈值和第二阈值按照检测时间顺序确定;
所述处理单元902,还用于判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
可选的,所述装置还包括:
接收单元903,用于接收定位信号;
所述处理单元902,还用于确定所述定位信号的信号强度小于第三阈值时,根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
可选的,所述检测单元901,还用于在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;
所述处理单元902,还用于确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行PCA处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。
可选的,所述条件还包括:检测获得所述多个连续的三轴角速度的时长不小于第四阈值。
可选的,所述条件还包括:确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。
可选的,所述处理单元902,还用于根据
确定所述第一阈值;以及, 根据
确定所述第二阈值;其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;max
i-f为第i-f步行走确定的最大角速度模值,max
i-g为第i-g步行走确定的最大角速度模值,min
i-f为第i-f步行走确定的最小角速度模值,min
i-g为第i-g步行走确定的最小角速度模值,thrp
0、thrv
0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。
可选的,所述a和所述d为1/3,所述b和所述c为1/6。
可选的,所述f为2,所述g为4。
基于与上述行走检测方法的同一发明构思,本申请实施例还提供了一种终端。
如图10所示,终端1000包括存储器1001、处理器1002和收发器1003。存储器1001、处理器1002和收发器1003通过总线链接。存储器1001用于存储计算机执行指令,当终端设备1000运行时,处理器1002通过收发器1003执行存储器1001中存储的计算机执行指令,以使终端设备1000实现上述任一项行走检测方法,可参考上文及其附图的相关描述,在此不做赘述。
本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例描述的行走检测方法的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端实现上述方法实施例描述的行走检测方法。
本申请实施例提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述方法实施例描述的行走检测方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存取存储器(random access memory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、只读光盘(compact disc read-Only memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digital subscriber line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digital video disc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
- 一种行走检测方法,其特征在于,包括:终端通过传感器模块检测获得多个连续的三轴角速度;所述终端通过处理器确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定;所述终端通过所述处理器判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
- 如权利要求1所述的方法,其特征在于,所述方法还包括:所述终端通过无线通信模块接收定位信号;所述终端确定所述定位信号的信号强度小于第三阈值时,通过所述处理器根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
- 如权利要求2所述的方法,其特征在于,所述终端通过以下方式确定所述行进方向:所述终端通过所述传感器模块在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;所述终端通过所述处理器确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行主成分分析PCA处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;所述终端通过所述处理器将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。
- 如权利要求1所述的方法,其特征在于,所述条件还包括:所述终端检测获得所述多个连续的三轴角速度的时长不小于第四阈值。
- 如权利要求1或4所述的方法,其特征在于,所述条件还包括:所述终端确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。
- 如权利要求6所述的方法,其特征在于,所述a和所述d为1/3,所述b和所述c为1/6。
- 如权利要求6所述的方法,其特征在于,所述f为2,所述g为4。
- 一种行走检测装置,其特征在于,包括:检测单元,用于检测获得多个连续的三轴角速度;处理单元,用于确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是根据第一阈值和第二阈值按照检测时间顺序确定;所述处理单元,还用于判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
- 如权利要求9所述的装置,其特征在于,所述装置还包括:接收单元,用于接收定位信号;所述处理单元,还用于确定所述定位信号的信号强度小于第三阈值时,根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
- 如权利要求10所述的装置,其特征在于,所述检测单元,还用于在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;所述处理单元,还用于确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行主成分分析PCA处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。
- 如权利要求9所述的装置,其特征在于,所述条件还包括:检测获得所述多个连续的三轴角速度的时长不小于第四阈值。
- 如权利要求9或12所述的装置,其特征在于,所述条件还包括:确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。
- 如权利要求14所述的装置,其特征在于,所述a和所述d为1/3,所述b和所述c为1/6。
- 如权利要求14所述的装置,其特征在于,所述f为2,所述g为4。
- 一种终端,其特征在于,包括处理器、收发器和存储器;所述存储器,存储有计算机程序;所述收发器,用于进行数据发送和接收;所述处理器,用于调用所述存储器中存储的计算机程序,通过所述收发器来执行如权利要求1-8任一项所述的方法。
- 一种计算机存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在终端上运行时,使得所述终端执行如权利要求1-8任一项所述的方法。
- 一种计算机程序产品,其特征在于,当终端读取并执行所述计算机程序产品时,使得终端执行如权利要求1-8任一项所述的方法。
- 一种芯片,其特征在于,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现如权利要求1-8任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811299883 | 2018-11-02 | ||
CN201811299883.5 | 2018-11-02 | ||
CN201811360864.9 | 2018-11-15 | ||
CN201811360864.9A CN111142687B (zh) | 2018-11-02 | 2018-11-15 | 一种行走检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020088352A1 true WO2020088352A1 (zh) | 2020-05-07 |
Family
ID=70463502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/113163 WO2020088352A1 (zh) | 2018-11-02 | 2019-10-25 | 一种行走检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020088352A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104406586A (zh) * | 2014-12-04 | 2015-03-11 | 南京邮电大学 | 基于惯性传感器的行人导航装置和方法 |
US20160123738A1 (en) * | 2014-11-04 | 2016-05-05 | Xsens Holding B.V. | Pedestrian Dead Reckoning Position Tracker |
CN106197466A (zh) * | 2015-04-30 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及终端 |
CN107917707A (zh) * | 2017-11-20 | 2018-04-17 | 北京邮电大学 | 一种任意姿态下行人方向的确定方法、装置及电子设备 |
-
2019
- 2019-10-25 WO PCT/CN2019/113163 patent/WO2020088352A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160123738A1 (en) * | 2014-11-04 | 2016-05-05 | Xsens Holding B.V. | Pedestrian Dead Reckoning Position Tracker |
CN104406586A (zh) * | 2014-12-04 | 2015-03-11 | 南京邮电大学 | 基于惯性传感器的行人导航装置和方法 |
CN106197466A (zh) * | 2015-04-30 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及终端 |
CN107917707A (zh) * | 2017-11-20 | 2018-04-17 | 北京邮电大学 | 一种任意姿态下行人方向的确定方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107976193B (zh) | 一种行人航迹推断方法、装置、航迹推断设备及存储介质 | |
CN108596976B (zh) | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 | |
EP3014476B1 (en) | Using movement patterns to anticipate user expectations | |
Ma et al. | Experimental evaluation of mobile phone sensors | |
WO2017113381A1 (zh) | 一种确定校准参数方法和移动设备 | |
US9121712B2 (en) | Position calculation based on traveling pitch and speed | |
CN106527670A (zh) | 一种手势动作互动装置 | |
WO2018149324A1 (zh) | 一种检测方法及终端设备 | |
US10830606B2 (en) | System and method for detecting non-meaningful motion | |
CN111142687B (zh) | 一种行走检测方法及装置 | |
CN108029092A (zh) | 用于移动终端的定位方法、装置及移动终端 | |
CN106527672A (zh) | 一种隔空的文字输入方法 | |
JP2018194537A (ja) | 位置決定及び追跡のための方法、プログラム、及びシステム | |
KR20180108192A (ko) | 위치 결정 방법, 전자 장치 및 저장 매체 | |
WO2020029146A1 (zh) | 一种获取用户运动轨迹的方法及终端 | |
CN115655310B (zh) | 数据的校准方法、电子设备及可读存储介质 | |
CN106527669A (zh) | 基于无线信号的交互控制系统 | |
KR101525224B1 (ko) | 자동촬영모드를 가지는 휴대용 단말기 | |
WO2020088352A1 (zh) | 一种行走检测方法及装置 | |
KR102400089B1 (ko) | 통신을 제어하는 전자장치 및 동작 방법 | |
CN114879879B (zh) | 一种显示健康码的方法、电子设备及存储介质 | |
CN107607119B (zh) | 一种基于空间环境磁场特征的无源组合定位装置 | |
CN210716984U (zh) | 管道检测装置 | |
CN115097379A (zh) | 一种定位追踪方法、装置、设备及存储介质 | |
US20220095954A1 (en) | A foot mounted wearable device and a method to operate the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19879057 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19879057 Country of ref document: EP Kind code of ref document: A1 |