Method, device and system for determining motion direction and electronic equipment

By calculating the difference value using sensor data in wearable devices and handheld terminals and determining the direction of pedestrian movement, the problem of lack of flexibility in the prior art is solved, and more efficient and flexible determination of movement direction is achieved.

CN119826813APending Publication Date: 2025-04-15GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411979330.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

The prior art lacks flexibility in determining the direction of pedestrian movement and is difficult to adapt to the needs of different equipment and scenarios.

Method used

Through sensor data of the wearable device and the handheld terminal, the difference value is calculated using a preset algorithm to determine the user's movement direction, providing flexibility to select a wearable device or handheld terminal for determination.

Benefits of technology

The flexibility in determining the user's movement direction is improved, so that there is no need to use wearable devices and handheld terminals at the same time, and adapt to the determination methods of different devices, improving positioning accuracy and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119826813A_ABST
    Figure CN119826813A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a method, device and system for determining a motion direction and electronic equipment. According to the method, under the condition that the motion direction of a user is determined through wearable equipment, a first difference value representing the difference between the course of the wearable equipment and the motion direction of the user is calculated through a preset algorithm, and then the motion direction of the user is obtained through the course of the wearable equipment and the first difference value; under the condition that the movement direction of the user is determined through the handheld terminal, the movement direction of the user can be obtained through the course of the handheld terminal and a second difference value obtained in advance, and the second difference value represents the difference between the course of the handheld terminal and the movement direction of the user. According to the mode, one device can be selected from the wearable device worn on the arm of the user and the handheld terminal to determine the movement direction of the user, so that the wearable device and the handheld terminal do not need to be used for determining the movement direction of the user at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of positioning technology, and more specifically, to a method, device, system and electronic device for determining a movement direction. Background Art

[0002] Pedestrian Dead Reckoning (PDR) is an autonomous positioning technology that uses inertial sensors such as accelerometers, gyroscopes, and magnetometers to estimate the position of pedestrians. In the process of implementing PDR, the current direction of movement of pedestrians needs to be determined. However, the related methods for determining the direction of movement of pedestrians are not flexible enough. Summary of the invention

[0003] In view of the above problems, the present application proposes a method, device, system and electronic device for determining a movement direction to improve the above problems.

[0004] In a first aspect, the present application provides a method for determining a direction of motion, the method comprising: when determining a user's direction of motion through a wearable device, obtaining a first difference value through a preset algorithm, the first difference value representing a difference between a heading of the wearable device and the user's direction of motion, the wearable device being worn on the user's arm; obtaining the user's direction of motion through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device; when determining the user's direction of motion through a handheld terminal, obtaining the user's direction of motion through the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents a difference between the heading of the handheld terminal and the user's direction of motion, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0005] In a second aspect, the present application provides a device for determining a direction of movement, the device comprising: a difference information acquisition unit, for, when determining a user's direction of movement through a wearable device, calculating a first difference value through a preset algorithm, the first difference value representing a difference between a heading of the wearable device and a user's direction of movement, the wearable device being worn on the user's arm; a direction determination unit, for obtaining the user's direction of movement through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device; the direction determination unit, further for, when determining a user's direction of movement through a handheld terminal, obtaining the user's direction of movement through the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents a difference between the heading of the handheld terminal and the user's direction of movement, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0006] In a third aspect, the present application provides a system for determining a direction of movement, the system comprising a wearable device and a handheld terminal; wherein the wearable device is used to, when determining the direction of movement of a user through the wearable device, calculate a first difference value through a preset algorithm, the first difference value representing the difference between the heading of the wearable device and the direction of movement of the user, and the wearable device is used to be worn on the arm of the user; the direction of movement of the user is obtained through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device; the handheld terminal is used to, when determining the direction of movement of the user through the handheld terminal, obtain the direction of movement of the user through the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the direction of movement of the user, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0007] In a fourth aspect, the present application provides an electronic device, which includes at least a processor and a memory; one or more programs are stored in the memory and configured to be executed by the processor to implement the above method.

[0008] In a fifth aspect, the present application provides a computer-readable storage medium, in which program code is stored, wherein the above method is executed when the program code is executed by a processor.

[0009] The present application provides a method, device, system and electronic device for determining the direction of movement. In the method, when the direction of movement of the user is determined by a wearable device, a first difference value representing the difference between the heading of the wearable device and the direction of movement of the user is calculated by a preset algorithm, and then the direction of movement of the user is obtained by the heading of the wearable device and the first difference value; when the direction of movement of the user is determined by a handheld terminal, the direction of movement of the user can be obtained by the heading of the handheld terminal and a pre-obtained second difference value, wherein the second difference value represents the difference between the heading of the handheld terminal and the direction of movement of the user. Thus, through the above method, a device can be selected from the wearable device and the handheld terminal for wearing on the user's arm to determine the direction of movement of the user, so that the wearable device and the handheld terminal do not need to be used for determining the direction of movement of the user at the same time, and different methods of determining the direction of movement of the user can correspond to different devices, thereby improving the flexibility of determining the direction of movement of the user. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0011] Figure 1 A flow chart of a method for determining a motion direction proposed in an embodiment of the present application is shown;

[0012] Figure 2 A flow chart of a method for determining a motion direction proposed in another embodiment of the present application is shown;

[0013] Figure 3 A flow chart of a method for determining a motion direction proposed in another embodiment of the present application is shown;

[0014] Figure 4 A flow chart of a method for determining a motion direction proposed in another embodiment of the present application is shown;

[0015] Figure 5 A structural block diagram of a device for determining a motion direction proposed in an embodiment of the present application is shown;

[0016] Figure 6 A structural block diagram of a system for determining a motion direction proposed in an embodiment of the present application is shown;

[0017] Figure 7 A structural block diagram of an electronic device for executing a method for determining a motion direction according to an embodiment of the present application is shown;

[0018] Figure 8 It is a storage unit of an embodiment of the present application for storing or carrying a program code for implementing the method for determining a motion direction according to an embodiment of the present application. DETAILED DESCRIPTION

[0019] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0020] Pedestrian dead reckoning (PDR) is an autonomous positioning technology that can estimate the position of pedestrians using inertial sensors such as accelerometers, gyroscopes, and magnetometers. In the process of implementing pedestrian dead reckoning, an important step is to determine the current direction of movement of pedestrians. This usually involves complex processing and analysis of sensor data to extract key information such as walking pace and direction changes. However, although PDR technology has made significant progress in positioning, there are still some limitations in the way it determines the direction of pedestrian movement, which makes it inflexible.

[0021] Therefore, after the inventor discovered the above problems in the research, he proposed a method, device, system and electronic device for determining the direction of movement in the present application that can improve the above problems. In this method, when the user's movement direction is determined by a wearable device, a first difference value representing the difference between the heading of the wearable device and the user's movement direction is calculated by a preset algorithm, and then the user's movement direction is obtained by the heading of the wearable device and the first difference value; when the user's movement direction is determined by a handheld terminal, the user's movement direction can be obtained by the heading of the handheld terminal and the pre-obtained second difference value, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction. Thus, through the above method, a device can be selected from the wearable device and the handheld terminal for wearing on the user's arm to determine the user's movement direction, so that the wearable device and the handheld terminal do not need to be used to determine the user's movement direction at the same time, and different devices can have different corresponding methods for determining the user's movement direction, thereby improving the flexibility of determining the user's movement direction.

[0022] In an embodiment of the present application, the wearable device is a device for being worn on the arm of a user. Optionally, the wearable device may be a device equipped with a sensor such as a smart watch or a smart bracelet. The handheld terminal may be a device equipped with a sensor such as a smart phone or a tablet computer. Among them, the sensors configured by the wearable device and the handheld terminal may include an inertial measurement unit (IMU) sensor. Among them, an inertial sensor can be understood as a sensor for measuring and reporting three basic linear motions (acceleration) and three basic angular motions (angular velocity) of an object. Optionally, the inertial sensors in the embodiment of the present application may include an accelerometer, a gyroscope, and a magnetometer.

[0023] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0024] See also Figure 1 , an embodiment of the present application provides a method for determining a motion direction, the method comprising:

[0025] S110: When the user's movement direction is determined by the wearable device, a first difference value is calculated by a preset algorithm, where the first difference value represents the difference between the heading of the wearable device and the user's movement direction, and the wearable device is used to be worn on the user's arm.

[0026] In the embodiment of the present application, the wearable device and the handheld terminal can communicate, but in the embodiment of the present application, the user's movement direction can be determined by the wearable device or the handheld terminal alone. Among them, determining the user's movement direction alone can be understood as that when determining the user's movement direction by the wearable device, the data collected in real time by the handheld terminal can be omitted. Correspondingly, when determining the user's movement direction by the handheld terminal, the data collected in real time by the wearable device can be omitted.

[0027] Among them, determining the user's movement direction through the wearable device can be understood as the wearable device outputting the user's movement direction, or it can also be understood as determining the user's movement direction through data obtained by the wearable device.

[0028] As a method, when the user's movement direction is determined by the wearable device, the difference between the heading of the wearable device and the user's movement direction can be estimated by the principal component analysis method to obtain a first difference value. The difference between the heading of the wearable device and the user's movement direction can include an angle difference, so the first difference value also represents the angle difference between the heading of the wearable device and the user's movement direction.

[0029] Among them, principal component analysis (PCA) is a method of data dimension reduction and data visualization. Principal component analysis is a multivariate statistical method that transforms variables that may be correlated into a set of linearly uncorrelated variables through orthogonal transformation. These new variables are called principal components. Principal components can reflect most of the information of the original variables and are usually expressed as some linear combination of the original variables. The basic principle of PCA is to map the original high-dimensional data to a new set of low-dimensional coordinate systems through linear transformation, so as to maximize the variance of the data in the new coordinate system.

[0030] S120: Obtaining the user movement direction through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device.

[0031] Among them, the heading of the wearable device can be obtained through the sensor data of the wearable device. Optionally, after obtaining the sensor data of the wearable device, the sensor data can be solved by the attitude and heading reference system (AHRS) method to obtain the heading of the wearable device. Among them, when the sensors of the wearable device include a gyroscope, an accelerometer, and a magnetometer, the data collected by the gyroscope can be integrated to predict the current attitude angle of the wearable device, the data collected by the accelerometer is used to constrain the horizontal angle error, and the data collected by the magnetometer is used to control the heading drift. Exemplarily, in S120, the user's movement direction can be obtained by the following formula, which is:

[0032] ψ Walking =ψ W -ψ W,PCA

[0033] Among them, among them, ψ Walking Characterizes the determined user movement direction, ψ W,PCA is the difference between the heading of the wearable device and the direction of movement of the user (i.e., the first difference value), ψ W The heading of the wearable device.

[0034] S130: When the user's movement direction is determined by a handheld terminal, the user's movement direction is obtained by the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the difference between the heading of the handheld terminal and the user's movement direction can be understood as the angular difference between the heading of the handheld terminal and the user's movement direction, and the heading of the handheld terminal is obtained by sensor data of the handheld terminal.

[0035] Determining the user's movement direction through the handheld terminal can be understood as the handheld terminal outputting the user's movement direction, or can also be understood as determining the user's movement direction through data acquired by the handheld terminal.

[0036] The heading of the handheld terminal can be obtained through the sensor data of the handheld terminal. Optionally, after obtaining the sensor data of the handheld terminal, the sensor data can be solved by the attitude and heading reference system method to obtain the heading of the handheld terminal. In the case where the sensor of the handheld terminal includes a gyroscope, an accelerometer, and a magnetometer, the data collected by the gyroscope is integrated to predict the current attitude angle of the handheld terminal, the data collected by the accelerometer is used to constrain the horizontal angle error, and the data collected by the magnetometer is used to control the heading drift.

[0037] As a method, after obtaining the user movement direction through the heading of the wearable device and the first difference value, it also includes: when the user movement direction is determined by the wearable device, the second difference value is obtained by the obtained user movement direction and the heading of the handheld terminal. Wherein, when the user movement direction is determined by the wearable device, after the user movement direction is obtained, the determined user movement direction can be transmitted to the handheld terminal, and then the handheld terminal can obtain the second difference value through the received user movement direction and the currently calculated heading, and store the second difference value, so that when the user movement direction is determined by the handheld terminal, the stored second difference value can be used. Exemplarily, the second difference value can be obtained by the following formula, which is:

[0038] ψ S,Mis =ψ W -ψ W,PCA -ψ S

[0039] Among them, ψ W -ψ W,PCA It represents the user's movement direction determined by the wearable device, ψ s It represents the heading currently calculated by the handheld terminal. Based on the above formula for determining the second difference value, when the user's movement direction is determined by the handheld terminal, the user's movement direction can be calculated by the following formula, which is:

[0040] ψ Walking =ψ S -ψ S,Mis

[0041] The present embodiment provides a method for determining the direction of movement, so that through the above method, a device can be selected from a wearable device and a handheld terminal worn on the user's arm to determine the user's movement direction, so that the wearable device and the handheld terminal do not need to be used for determining the user's movement direction at the same time, and different methods of determining the user's movement direction can correspond to different devices, thereby improving the flexibility of determining the user's movement direction.

[0042] See also Figure 2 , an embodiment of the present application provides a method for determining a motion direction, the method comprising:

[0043] S210: When the user's movement direction is determined by the wearable device, a first difference value is calculated by a preset algorithm, where the first difference value represents the difference between the heading of the wearable device and the user's movement direction, and the wearable device is used to be worn on the user's arm.

[0044] S220: Obtaining the user movement direction through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device.

[0045] S230: When the user's movement direction is determined by a handheld terminal, the user's movement direction is obtained by the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained by sensor data of the handheld terminal.

[0046] It should be noted that the wearable device involved in the embodiment of the present application can be worn on the user's arm, and the handheld terminal involved in the embodiment of the present application can be held by the user or placed in the pocket of clothing. Therefore, when the user is in different posture modes, it may affect the determination of the movement direction of the wearable device or the handheld terminal. As a way, if the user is in a preset posture mode, the user's movement direction is determined by the wearable device, and if the user is not in the preset posture mode, the user's movement direction is determined by the handheld terminal, wherein whether the user is in the preset posture mode is determined by the sensor data of the wearable device.

[0047] In the embodiment of the present application, it is possible to determine whether the user is in a preset posture mode through sensor data of the wearable device. As a method, when the wearable device is worn on the user's arm, the sensor data of the wearable device can be input into a machine learning model, and then the machine learning model outputs whether the user is in the preset posture mode or not in the preset posture mode.

[0048] As shown in the above content, the sensors integrated in the wearable device may include but are not limited to accelerometers, gyroscopes, magnetometers, etc. These sensors can capture the user's motion status, direction changes and even muscle activity information in real time. The raw data of these sensors in the wearable device can be collected continuously or on demand, and preliminary preprocessing such as denoising and calibration can be performed to obtain input data. Then, the input data is input into the trained machine learning model. The machine learning model can analyze the data and output a judgment result, that is, whether the user is currently in a preset posture mode.

[0049] Optionally, the preset posture mode may be a regular arm swing mode. In this case, Figure 3 As shown, the steps provided in the embodiment of the present application may include:

[0050] S231: When the user is in the regular arm swing mode, a first difference value is calculated by a preset algorithm, where the first difference value represents the difference between the heading of the wearable device and the movement direction of the user, and the wearable device is used to be worn on the user's arm.

[0051] S232: Obtaining the user movement direction through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device;

[0052] S233: When the user is not in the regular arm swing mode, the user's movement direction is obtained through the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0053] In this embodiment, the provided method further includes:

[0054] S240: If the user is not in the preset posture mode and the handheld terminal is not available, the user's movement direction is determined by using a motion reference template of the wearable device and the heading of the wearable device, wherein the motion reference template represents the difference between the heading of the wearable device and the user's movement direction.

[0055] The unavailability of the handheld terminal may be understood as the handheld terminal currently being unable to be used to determine the movement direction of the user.

[0056] As a method, the motion reference template is obtained when the user's motion direction is determined by a handheld terminal, wherein the motion reference template represents the difference between the heading of the wearable device and the user's motion direction determined by the handheld terminal. Exemplarily, the motion reference template can be represented by the following formula, which is:

[0057]

[0058]

[0059] in, and is the projection of the acceleration on the local horizontal plane, and θ are the roll and pitch angles respectively, is the three-axis output of the accelerometer. Based on the expression formula of the above motion reference template, the installation angle of the wearable device can be expressed as:

[0060] ψ W,Mis =ψ W -ψ S +ψ S,Mis

[0061] Among them, in the embodiment of the present application, the installation angle of the wearable device represents the difference between the heading of the wearable device and the direction of movement of the user.

[0062] It should be noted that, in one case, the handheld terminal also corresponds to a motion reference template, and the motion reference template of the handheld terminal is the same as the motion reference template of the wearable device.

[0063] As a method, if the user is not in the preset posture mode and the handheld terminal is not available, the motion reference template of the wearable device and the heading of the wearable device are used, including: if the user is not in the preset posture mode and the handheld terminal is not available, detecting whether the motion reference template of the wearable device is available; if available, using the motion reference template of the wearable device and the heading of the wearable device.

[0064] As a method, the motion reference template includes the first sensor data, and the user's motion direction is determined through the motion reference template of the wearable device and the heading of the wearable device, including: determining a target motion template from multiple candidate motion templates through the first sensor data, wherein each candidate motion template includes different installation angle differences and corresponding second sensor data; determining the user's motion direction through the motion reference template, the installation angle difference corresponding to the target motion template, and the heading of the wearable device. Wherein, multiple candidate motion templates are generated by the wearable device.

[0065] As shown in the above content, the motion reference template includes the first sensor data, and the first sensor data can be understood as shown in the above formula about the first sensor data: the projection of the acceleration on the local horizontal plane, the roll angle, the pitch angle, and the three-axis output of the accelerometer, etc. Among them, the first sensor data included in the motion reference template can be understood as the first sensor data obtained by the wearable device when generating the motion reference template. Therefore, the target motion template can be determined from multiple candidate motion templates based on the first sensor data included in the motion reference template. For example, in addition to different installation angle differences, each candidate motion template also includes the corresponding second sensor data. In this case, the candidate motion template where the second sensor data matching the first sensor data is located can be used as the target motion template.

[0066] Exemplarily, the first sensor data included in the motion reference template is sensor data C1, and the multiple candidate motion templates include candidate motion template M1, candidate motion template M2, candidate motion template M3 and candidate motion template M4, wherein candidate motion template M1 includes second sensor data C2, candidate motion template M2 includes second sensor data C3, candidate motion template M3 includes second sensor data C4, and candidate motion template M4 includes second sensor data C5. If sensor data C1 matches second sensor data C5, candidate motion template M4 can be determined to be the target motion template.

[0067] The matching of two sensor data may be understood as the two sensor data being identical or similar.

[0068] As a method, for the i-th candidate motion template among multiple candidate motion templates, it can be expressed by the following formula, which includes:

[0069]

[0070] In the above formula, Δψ i is the angular difference between the candidate motion template and the motion reference template (i.e., the aforementioned installation angle difference). Considering the inconsistency in the number of epochs in the footstep cycle, it is necessary to align the number of two sequences by linear interpolation, and finally determine the candidate template based on the difference in the sequences. After determining the target motion template from multiple candidate motion templates, the user's motion direction can be determined by the motion reference template, the installation angle difference corresponding to the target motion template, and the heading of the wearable device. Optionally, the user's motion direction can be obtained by the following formula:

[0071] ψ Walking =ψ W +ψ W,Mis +Δψ i

[0072] In the above formula, ψ W,Mis It represents the installation angle of the wearable device, which can be obtained through the motion reference template, Δψ i It represents the installation angle difference in the determined target motion template.

[0073] The present embodiment provides a method for determining the direction of movement, so that through the above method, a device can be selected from a wearable device and a handheld terminal worn on the user's arm to determine the user's direction of movement, so that the wearable device and the handheld terminal do not need to be used to determine the user's direction of movement at the same time, and different devices can correspond to different methods of determining the user's direction of movement, thereby improving the flexibility of determining the user's direction of movement. In addition, in the present embodiment, if the user is not in the preset posture mode and the handheld terminal is not available, the user's direction of movement can also be determined with the help of a motion reference template of the wearable device, so that it is used to solve the problem of pedestrian movement direction estimation when only a wearable device (e.g., a smart watch) is available.

[0074] Next, pass Figure 4 The process shown introduces a method for determining a movement direction involved in an embodiment of the present application.

[0075] like Figure 4 As shown, in Figure 4 In the example shown, the wearable device is a smart watch and the handheld terminal is a smart phone. Among them, the sensor observation involved in the smart watch can be understood as the data collection of the smart watch's sensors. Then, the smart watch performs posture solution based on the collected sensor data, and the heading of the smart watch can be obtained, so that when the watch detects that the user is in a regular arm swing mode, after estimating the installation angle of the smart watch through the principal component analysis method (the installation angle represents the heading of the smart watch, which is different from the user's movement direction), the pedestrian's movement direction (user movement direction) can be obtained through the heading of the smart watch and the installation angle.

[0076] When the user's movement direction is obtained through the smart watch, the installation angle of the smartphone can also be obtained by combining the heading of the smartphone, where the heading of the smartphone is also obtained through attitude calculation. The installation angle of the smartphone represents the difference between the heading of the smartphone and the user's movement direction.

[0077] Among them, when the smart watch detects that the user is not in the regular arm swing mode, it can first detect whether the motion template of the smart watch (for example, the aforementioned motion reference template) is available. If it is available, the target motion template can be determined from multiple candidate motion templates based on the motion reference template, and then the user's motion direction is determined based on the heading of the smart watch, the motion reference template of the smart watch and the target motion template. Correspondingly, when it is detected that the motion reference template is unavailable, the motion reference template can be trained so that the motion reference template generated by the training can be used to determine the user's motion direction later.

[0078] In addition, in the embodiment of the present application, the user's movement direction may be determined when it is detected that the user is in a moving state.

[0079] As a method, the accelerometer observation of the wearable device (data collected by the accelerometer) can be used to detect footsteps, and then the user is determined to be moving when the number of steps is greater than the preset step threshold. Among them, the peak detection method can be used for footstep detection. The basic principle of the peak detection method is that the acceleration modulus corresponding to the middle moment in a time window is equal to the maximum or minimum value of the acceleration modulus in the window. The specific formula is as follows:

[0080]

[0081] In the above formula, ||f b || is the acceleration modulus, and k is the window length. In each time window, an acceleration peak value can be collected, and then two adjacent peak values ​​represent that the user has taken a step, thereby detecting the number of steps taken by the user.

[0082] Among them, the method for determining the direction of movement provided in the embodiment of the present application can be executed by a wearable device, by a handheld terminal, or by a server, or some steps thereof are executed by the wearable device and other steps are executed by the handheld terminal.

[0083] Among them, when the operation is executed by a wearable device, the information required for calculating the direction of movement, the information collected by the handheld terminal can be transmitted to the wearable device. Correspondingly, when the operation is executed by a handheld terminal, the information required for calculating the direction of movement, the information collected by the wearable device can be transmitted to the handheld terminal. When the operation is executed by the server, all the information required for calculating the user's direction of movement needs to be transmitted to the server.

[0084] As a way, when executed by a wearable device, the steps of the method for determining the motion direction provided in the embodiment of the present application may include:

[0085] In the case where the user's movement direction is determined by the wearable device, the wearable device calculates a first difference value by a preset algorithm, the first difference value represents the difference between the heading of the wearable device and the user's movement direction, and the wearable device is used to be worn on the user's arm; the wearable device obtains the user's movement direction by the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained by sensor data of the wearable device;

[0086] When the user's movement direction is determined by a handheld terminal, the wearable device obtains the user's movement direction through the heading of the handheld terminal (wherein the heading of the handheld terminal can be collected by the handheld terminal and transmitted to the wearable device) and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0087] As a way, when executed by a handheld terminal, the steps of the method for determining the motion direction provided in the embodiment of the present application may include:

[0088] In the case where the user's movement direction is determined by the wearable device, the handheld terminal calculates a first difference value by a preset algorithm, the first difference value represents the difference between the heading of the wearable device and the user's movement direction, and the wearable device is used to be worn on the user's arm; the handheld terminal obtains the user's movement direction by the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained by sensor data of the wearable device;

[0089] When the user's movement direction is determined by a handheld terminal, the handheld terminal obtains the user's movement direction through the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0090] As a way, when the handheld terminal and the wearable device are collaboratively executed, the steps of the method for determining the direction of movement provided in the embodiment of the present application may include:

[0091] In the case where the user's movement direction is determined by the wearable device, the wearable device calculates a first difference value by a preset algorithm, the first difference value represents the difference between the heading of the wearable device and the user's movement direction, and the wearable device is used to be worn on the user's arm; the wearable device obtains the user's movement direction by the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained by sensor data of the wearable device;

[0092] When the user's movement direction is determined by a handheld terminal, the handheld terminal obtains the user's movement direction through the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0093] In the present application, when the user's movement direction is determined, further services can be provided to the user based on the user's movement direction. The further services may include:

[0094] Path guidance service: When users are in complex indoor environments such as large shopping malls, hospitals, and airports, they can be provided with precise path guidance based on the user's direction of movement. For example, in a shopping mall, if a user wants to go to a specific store, the system can guide the user to reach the destination quickly and accurately through voice or by displaying prompts such as "Please go straight 50 meters forward, then turn right and enter the B area channel" on the mobile phone screen in combination with the user's current direction of movement. For users in museums, exhibition halls and other places, the system can plan a tour route for them according to the user's direction of movement. For example, if the user is moving towards an exhibition area of ​​a certain historical period, the system can recommend relevant exhibits nearby and guide the user to visit them one by one, so that the user can better understand the connection between the exhibits and the theme of the exhibition.

[0095] Barrier-free passage guidance service: For users with limited mobility, such as those using wheelchairs or assistive walking devices, barrier-free passage guidance services can be provided after understanding the user's direction of movement. The system can inform users in advance whether the passage ahead has unfavorable factors such as steps, steep slopes, or narrow passages, and guide them to the appropriate barrier-free route, such as guiding them to a route with an elevator or a flat passage, so that they can move freely indoors.

[0096] See also Figure 5 , an embodiment of the present application provides a device 300 for determining a motion direction, the device 300 comprising:

[0097] The difference information acquisition unit 310 is used to calculate a first difference value through a preset algorithm when the user's movement direction is determined by the wearable device. The first difference value represents the difference between the heading of the wearable device and the user's movement direction. The wearable device is used to be worn on the user's arm.

[0098] The direction determination unit 320 is used to obtain the user movement direction through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device.

[0099] The direction determination unit 320 is also used to obtain the user's movement direction through the heading of the handheld terminal and a second difference value obtained in advance when the user's movement direction is determined through the handheld terminal, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through the sensor data of the handheld terminal.

[0100] As a method, if the user is in a preset posture mode, the user's movement direction is determined by a wearable device. If the user is not in the preset posture mode, the user's movement direction is determined by a handheld terminal, wherein whether the user is in the preset posture mode is determined by sensor data of the wearable device.

[0101] Optionally, the direction determination unit 320 is also used to determine the user's movement direction through the motion reference template of the wearable device and the heading of the wearable device if the user is not in the preset posture mode and the handheld terminal is not available, wherein the motion reference template represents the difference between the heading of the wearable device and the user's movement direction.

[0102] Optionally, the direction determination unit 320 is further specifically used to detect whether the motion reference template of the wearable device is available if the user is not in the preset posture mode and the handheld terminal is not available; if available, through the motion reference template of the wearable device and the heading of the wearable device.

[0103] As a method, the motion reference template includes the first sensor data. In this method, the direction determination unit 320 is also specifically used to determine the target motion template from multiple candidate motion templates through the first sensor data, wherein each candidate motion template includes different installation angle differences and corresponding second sensor data; and determine the user's motion direction through the motion reference template, the installation angle difference corresponding to the target motion template, and the heading of the wearable device.

[0104] Optionally, the motion reference template is obtained when the user's motion direction is determined by a handheld terminal, wherein the motion reference template represents the difference between the heading of the wearable device and the user's motion direction determined by the handheld terminal.

[0105] This embodiment provides a device for determining the direction of movement, so that through the above device, a device can be selected from a wearable device and a handheld terminal worn on the user's arm to determine the user's movement direction, so that the wearable device and the handheld terminal do not need to be used for determining the user's movement direction at the same time, and different devices can correspond to different methods of determining the user's movement direction, thereby improving the flexibility of determining the user's movement direction.

[0106] See also Figure 6 , an embodiment of the present application provides a system 400 for determining a movement direction, wherein the system 400 includes a wearable device 410 and a handheld terminal 420 .

[0107] The wearable device 410 is used to calculate a first difference value through a preset algorithm when the user's movement direction is determined through the wearable device, and the first difference value represents the difference between the heading of the wearable device and the user's movement direction. The wearable device is used to be worn on the user's arm; the user's movement direction is obtained through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device.

[0108] The handheld terminal 420 is used to obtain the user's movement direction through the heading of the handheld terminal and a second difference value obtained in advance when the user's movement direction is determined by the handheld terminal, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

[0109] It should be noted that the device embodiments and system embodiments in the present application correspond to each other and the specific principles in the device embodiments and system embodiments can be found in the contents of the method embodiments and will not be repeated here.

[0110] The following will be combined Figure 7 An electronic device provided by the present application is described.

[0111] See also Figure 7 Based on the above method and device for determining the direction of motion, the embodiment of the present application also provides another electronic device 100 that can execute the above method for determining the direction of motion. The electronic device 100 includes one or more (only one is shown in the figure) processors 102, a memory 104, and a network module 106 that are coupled to each other. The memory 104 stores a program that can execute the content of the above embodiment, and the processor 102 can execute the program stored in the memory 104.

[0112] Among them, the processor 102 may include one or more processing cores. The processor 102 uses various interfaces and lines to connect various parts of the entire electronic device 100, and executes various functions and processes data of the electronic device 100 by running or executing instructions, programs, code sets or instruction sets stored in the memory 104, and calling data stored in the memory 104. Optionally, the processor 102 can be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). The processor 102 can integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and a modem. Among them, the CPU mainly processes the operating system, user interface and application programs; the GPU is responsible for rendering and drawing display content; and the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor 102, but may be implemented separately through a communication chip.

[0113] The memory 104 may include a random access memory (RAM) or a read-only memory (ROM). The memory 104 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 104 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc. The data storage area may also store data (such as a phone book, audio and video data, chat record data) created by the terminal 100 during use.

[0114] The network module 106 is used to receive and send electromagnetic waves, realize the mutual conversion between electromagnetic waves and electrical signals, and thus communicate with a communication network or other devices. For example, in the case where the electronic device 100 is a wearable device involved in the embodiment of the present application, the determined user movement direction can be sent to the handheld terminal through the network module 106, so that the handheld terminal can determine the installation angle. Among them, the network module 106 may include various existing circuit elements for performing these functions, such as antennas, radio frequency transceivers, digital signal processors, encryption / decryption chips, user identity modules (SIM) cards, memories, etc. The network module 106 can communicate with various networks such as the Internet, corporate intranets, wireless networks, or communicate with other devices through wireless networks. The above-mentioned wireless network may include a cellular telephone network, a wireless local area network, or a metropolitan area network. For example, the network module 106 can exchange information with a base station.

[0115] In addition, the electronic device 100 may further include a sensor module 108, which may include a variety of sensors. Specifically, the sensor module 108 may include but is not limited to: a pressure sensor, a motion sensor, an accelerometer, a gyroscope, a magnetometer, and other sensors.

[0116] Among them, the pressure sensor may be a sensor that detects the pressure generated by pressing on the electronic device 1000. That is, the pressure sensor detects the pressure generated by contact or pressing between the user and the electronic device 1000, for example, the pressure generated by contact or pressing between the user's ear and the electronic device 1000. Therefore, the pressure sensor can be used to determine whether contact or pressing occurs between the user and the electronic device 1000, and the magnitude of the pressure.

[0117] Among them, the accelerometer can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary, and can be used for applications that recognize the posture of the electronic device 1000 (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc. In addition, the electronic device 1000 can also be equipped with other sensors such as a barometer, a hygrometer, and a thermometer, which will not be repeated here.

[0118] Please refer to Figure 8 , which shows a structural block diagram of a computer-readable storage medium provided in an embodiment of the present application. The computer-readable medium 800 stores program codes, which can be called by a processor to execute the method described in the above method embodiment.

[0119] The computer readable storage medium 800 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer readable storage medium 800 includes a non-transitory computer-readable storage medium. The computer readable storage medium 800 has storage space for program code 810 that performs any method step in the above method. These program codes can be read from or written to one or more computer program products. The program code 810 can be compressed, for example, in an appropriate form.

[0120] In summary, the present application provides a method, device, system and electronic device for determining the direction of movement. In the method, when the direction of movement of the user is determined by a wearable device, a first difference value representing the difference between the heading of the wearable device and the direction of movement of the user is calculated by a preset algorithm, and then the direction of movement of the user is obtained by the heading of the wearable device and the first difference value; when the direction of movement of the user is determined by a handheld terminal, the direction of movement of the user can be obtained by the heading of the handheld terminal and a pre-obtained second difference value, wherein the second difference value represents the difference between the heading of the handheld terminal and the direction of movement of the user. Thus, through the above-mentioned method, a device can be selected from the wearable device and the handheld terminal for wearing on the user's arm to determine the direction of movement of the user, so that the wearable device and the handheld terminal do not need to be used for determining the direction of movement of the user at the same time, and different methods of determining the direction of movement of the user can correspond to different devices, thereby improving the flexibility of determining the direction of movement of the user.

[0121] In one approach, wearable devices (e.g., smart watches) and handheld terminals (e.g., smart phones) jointly implement autonomous training of user-personalized motion reference templates, which can effectively improve the problem of inaccurate pedestrian motion direction estimation under irregular dynamic conditions (e.g., not in regular arm swing mode), solve the PDR unavailability problem caused by large errors in user motion direction estimation, and effectively improve the positioning accuracy of PDR.

[0122] In one embodiment of the present application, the smart watch and smartphone sensors jointly implement autonomous training of the user's personalized motion reference template, which can effectively improve the problem of inaccurate user motion direction estimation under irregular dynamic conditions, solve the PDR unavailability problem caused by large errors in user motion direction estimation, and effectively improve the positioning accuracy of the PDR.

[0123] In one embodiment of the present application, when the user satisfies the regular arm swing mode (a preset posture mode), posture filtering, principal component analysis and smart watch can be used to estimate the user's movement direction, and at the same time correct the angular difference between the heading of the smartphone and the user's movement direction (that is, the aforementioned second difference value can be obtained) to obtain the installation angle of the smartphone. When the user is in an irregular arm swing mode, the user's movement direction is estimated using the smartphone posture angle combined with the aforementioned determined installation angle, and the smart watch movement template is trained at the same time to solve the problem of pedestrian movement direction estimation when only smart watches are available.

[0124] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for determining a direction of motion, characterized in that: The method comprises: In the case where the user's movement direction is determined by the wearable device, a first difference value is calculated by a preset algorithm, the first difference value representing the difference between the heading of the wearable device and the user's movement direction, the wearable device being used to be worn on the user's arm; Obtaining the user movement direction through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device; When the user's movement direction is determined by a handheld terminal, the user's movement direction is obtained by the heading of the handheld terminal and a second difference value obtained in advance, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained by sensor data of the handheld terminal.

2. The method according to claim 1, characterized in that If the user is in a preset posture mode, the user's movement direction is determined through the wearable device. If the user is not in the preset posture mode, the user's movement direction is determined through the handheld terminal, wherein whether the user is in the preset posture mode is determined through sensor data of the wearable device.

3. The method according to claim 2, characterized in that The method further comprises: If the user is not in the preset posture mode and the handheld terminal is not available, the user's movement direction is determined by using the motion reference template of the wearable device and the heading of the wearable device, wherein the motion reference template represents the difference between the heading of the wearable device and the user's movement direction.

4. The method according to claim 3, characterized in that If the user is not in the preset posture mode and the handheld terminal is not available, the motion reference template of the wearable device and the heading of the wearable device are used, including: If the user is not in the preset posture mode and the handheld terminal is not available, detecting whether the motion reference template of the wearable device is available; If available, the motion reference template of the wearable device and the heading of the wearable device.

5. The method according to claim 3, characterized in that: The motion reference template includes first sensor data, and determining the user motion direction through the motion reference template of the wearable device and the heading of the wearable device includes: Determine a target motion template from a plurality of candidate motion templates using the first sensor data, wherein each candidate motion template includes a different installation angle difference and corresponding second sensor data; The user's movement direction is determined by the movement reference template, the installation angle difference corresponding to the target movement template, and the heading of the wearable device.

6. The method according to claim 3, characterized in that: The motion reference template is obtained when the user's motion direction is determined by a handheld terminal, wherein the motion reference template represents the difference between the heading of the wearable device and the user's motion direction determined by the handheld terminal.

7. The method according to claim 1, characterized in that After obtaining the user movement direction through the heading of the wearable device and the first difference value, the method further includes: In the case where the user's movement direction is determined by the wearable device, the second difference value is obtained by the obtained user's movement direction and the heading of the handheld terminal.

8. A device for determining a direction of motion, characterized in that: The device comprises: a difference information acquisition unit, configured to obtain a first difference value by calculating through a preset algorithm when the user's movement direction is determined by the wearable device, wherein the first difference value represents a difference between the heading of the wearable device and the user's movement direction, and the wearable device is configured to be worn on the user's arm; a direction determination unit, configured to obtain the user movement direction through the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained through sensor data of the wearable device; The direction determination unit is also used to obtain the user's movement direction by using the heading of the handheld terminal and a second difference value obtained in advance when the user's movement direction is determined by the handheld terminal, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

9. A system for determining a direction of motion, characterized in that: The system includes a wearable device and a handheld terminal The wearable device is used to calculate a first difference value by a preset algorithm when determining a user's movement direction by the wearable device, wherein the first difference value represents a difference between a heading of the wearable device and a user's movement direction, and the wearable device is used to be worn on an arm of the user; the user's movement direction is obtained by the heading of the wearable device and the first difference value, wherein the heading of the wearable device is obtained by sensor data of the wearable device; The handheld terminal is used to obtain the user's movement direction through the heading of the handheld terminal and a second difference value obtained in advance when the user's movement direction is determined by the handheld terminal, wherein the second difference value represents the difference between the heading of the handheld terminal and the user's movement direction, wherein the heading of the handheld terminal is obtained through sensor data of the handheld terminal.

10. An electronic device, characterized in that: The method comprises one or more processors and a memory; one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the method according to any one of claims 1 to 7.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program code, wherein when the program code is executed by a processor, the method according to any one of claims 1 to 7 is executed.

Citation Information

Cited By

  • Lightweight navigation method, apparatus and device, and storage medium

    CN120593778A