Positioning method and device of wearable equipment, electronic equipment and storage medium

By calculating the installation attitude angle and performing velocity compensation when the user swings their wrist, and filtering unobstructed satellite data, the positioning instability problem of the GNSS/INS integrated navigation scheme in urban environments is solved, and high-precision positioning results are achieved.

CN121978724APending Publication Date: 2026-05-05GUANGDONG ESHORE TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGDONG ESHORE TECH
Filing Date
2026-02-27
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

In complex urban environments, GNSS/INS integrated navigation solutions cannot effectively address the positioning accuracy and stability issues of wearable devices, especially the GNSS signal blockage caused by wrist movement and the error drift of the inertial navigation system.

Method used

By continuously collecting inertial measurement data, detecting the moment when the user's wrist swings to the target position, calculating the installation attitude angle, determining the initial motion parameters and performing velocity compensation, filtering unobstructed satellite measurement data, and fusing inertial and satellite measurement data to generate positioning results.

Benefits of technology

It improves the reliability and accuracy of wearable device positioning in complex urban environments, reduces wearing posture errors and local motion deviations, and ensures the stability and accuracy of positioning results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121978724A_ABST
    Figure CN121978724A_ABST
Patent Text Reader

Abstract

The invention relates to a positioning method and device of wearable equipment, electronic equipment and a storage medium. The method comprises the following steps: continuously collecting inertial measurement data of the wearable equipment, detecting the moment when the wrist of a user wearing the wearable equipment swings to a target position based on the inertial measurement data, and calculating a mounting attitude angle corresponding to the wearable equipment by using the inertial measurement data corresponding to the moment, the method comprises the following steps: acquiring an installation attitude angle of a user, determining an initial motion parameter for the user according to the installation attitude angle, performing speed compensation on the initial motion parameter to obtain a target motion parameter, screening unshielded satellite measurement data based on the target motion parameter, and generating a positioning result by fusing the inertial measurement data and the satellite measurement data. According to the scheme provided by the invention, the positioning reliability of the wearable device can be improved in a complex urban environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of navigation technology, and in particular to positioning methods, devices, electronic devices, and storage media for wearable devices. Background Technology

[0002] With the development of Global Navigation Satellite System (GNSS) technology, wearable devices such as smartwatches and smart bracelets generally support location services, and their positioning capability has become one of the core functions of this type of device.

[0003] In environments with open field of view, GNSS can provide relatively stable and accurate position references. However, in complex urban environments, satellite signal propagation paths are easily affected by building obstruction and reflection, resulting in multipath effects and non-line-of-sight errors, leading to significant deviations or even gross errors in pseudorange observations. Furthermore, for wearable devices, which are typically worn on the wrist, frequent arm swings during pedestrian movement and the periodic obstruction of satellite signals by the torso further exacerbate the instability of GNSS observation sequences, exacerbating the dispersion of positioning results.

[0004] To improve positioning stability, related technologies typically employ a combination of GNSS and INS (Inertial Navigation System) navigation schemes, using inertial navigation's extrapolation capabilities to mitigate the impact of GNSS gross errors. However, in complex urban environments, the complexity of pedestrian movement and the variability of the environment impose certain limitations on traditional GNSS / INS integrated navigation schemes. In particular, during pedestrian movement, wrist movements can be affected by body obstruction, leading to GNSS signal blockage and gross errors. Furthermore, due to size and accuracy limitations, wrist-worn devices' inertial navigation systems experience rapid positional error drift, making it difficult to maintain high-precision positioning results over extended periods.

[0005] It is evident that current navigation solutions combining GNSS and INS cannot meet the positioning needs in complex urban environments. Summary of the Invention

[0006] To address or partially address the problems existing in related technologies, this application provides a positioning method, apparatus, electronic device, and storage medium for wearable devices, which can improve the positioning reliability of wearable devices in complex urban environments.

[0007] The first aspect of this application provides a positioning method for a wearable device, comprising: Continuously collect inertial measurement data from wearable devices; Based on the inertial measurement data, the moment when the user's wrist swings to the target position while wearing the wearable device is detected, and the installation attitude angle corresponding to the wearable device is calculated using the inertial measurement data corresponding to the moment; Based on the installation posture angle, determine the initial motion parameters for the user; The initial motion parameters are compensated for velocity to obtain the target motion parameters; Based on the target motion parameters, unobstructed satellite measurement data is selected, and a positioning result is generated by fusing the inertial measurement data and the satellite measurement data.

[0008] In one instance, detecting the moment when the user's wrist, wearing the wearable device, swings to the target position based on the inertial measurement data includes: Feature extraction is performed on the inertial measurement data to obtain acceleration and angular velocity features; Calculate the acceleration modulus value corresponding to the acceleration feature, and the acceleration modulus value is used to determine the extreme point when the user's wrist swings; Integrating the angular velocity feature yields the rotation angle of the user's wrist, which is used to identify the arm swing cycle. The swing arm cycle is identified based on the rotation angle, and within each swing arm cycle, the moment when the acceleration magnitude is less than a preset acceleration threshold is determined as the moment corresponding to the target position.

[0009] In one example, calculating the mounting posture angle corresponding to the wearable device includes: An acceleration data matrix is ​​constructed using the acceleration data from the inertial measurement data; The acceleration data matrix is ​​subjected to singular value decomposition to obtain multiple singular values ​​and corresponding eigenvectors; Select the K largest singular values ​​from the plurality of singular values, where K is an integer greater than or equal to 2; The installation attitude angle is calculated based on the angle between the eigenvectors corresponding to the K singular values ​​and the gravity reference direction.

[0010] In one instance, determining the initial motion parameters for the user based on the installation posture angle includes: A rotation matrix is ​​constructed using the aforementioned installation attitude angle; Based on the rotation matrix, coordinate transformation is performed on the inertial measurement data to generate transformed inertial measurement data; Integrate the converted inertial measurement data to obtain information on the initial wrist velocity and initial attitude angle changes; By fusing the initial wrist speed and the initial posture angle change information, initial motion parameters for the user are generated.

[0011] In one example, the step of performing velocity compensation on the initial motion parameters to obtain the target motion parameters includes: The user's shoulder is used as the fulcrum of the swing and the user's wrist is used as the swing endpoint. The user's wrist is modeled to generate a pendulum motion model of the user's wrist. By analyzing the inertial measurement data, the pendulum motion parameters of the pendulum motion model are obtained; Based on the pendulum motion parameters, determine the length of the lever arm relative to the user's wrist and shoulder; The target motion parameters are generated by using the length of the lever arm to compensate for the initial motion parameters.

[0012] In one instance, filtering unobstructed satellite measurement data based on the target motion parameters includes: Based on the target motion parameters, determine the user's position and posture information in three-dimensional space; Based on the location information and the posture information, the user is modeled as a three-dimensional model; Calculate the line-of-sight vector between the user's wrist and each satellite; Based on the 3D model and the line-of-sight vector, it is determined whether the satellite is obstructed, and the satellite measurement data returned by the unobstructed satellite is obtained.

[0013] In one instance, determining whether the satellite is obstructed based on the 3D model and the line-of-sight vector includes: If there is a spatial intersection between the three-dimensional model and the line-of-sight vector, and the spatial intersection is located inside the three-dimensional model, then the satellite is determined to be obstructed. If there is no spatial intersection between the 3D model and the line-of-sight vector, or if the spatial intersection is located outside the 3D model, then the satellite is determined to be unobstructed.

[0014] A second aspect of this application provides a positioning device for a wearable device, comprising: An inertial measurement data acquisition module is used to continuously acquire inertial measurement data from wearable devices. The mounting attitude angle determination module is used to calculate the mounting attitude angle of the wearable device based on the inertial measurement data when the user's wrist swings to the target position while wearing the wearable device is detected. An initial motion parameter generation module is used to determine the initial motion parameters for the user based on the installation posture angle. The target motion parameter generation module is used to perform velocity compensation on the initial motion parameters to obtain the target motion parameters; The measurement data fusion module is used to filter unobstructed satellite measurement data based on the target motion parameters, and generate a positioning result by fusing the inertial measurement data and the satellite measurement data.

[0015] A third aspect of this application provides an electronic device, comprising: Processor; and A memory that stores executable code, which, when executed by the processor, causes the processor to perform the method described above.

[0016] A fourth aspect of this application provides a computer-readable storage medium having executable code stored thereon, which, when executed by a processor of an electronic device, causes the processor to perform the method described above.

[0017] The fifth aspect of this application provides a computer program product comprising computer instructions that, when executed by a processor, implement the method described above.

[0018] The technical solution provided in this application may include the following beneficial results: In this application, inertial measurement data of a wearable device is continuously collected. Based on the inertial measurement data, the moment when the user's wrist swings to the target position is detected. The installation attitude angle of the wearable device is calculated using the inertial measurement data corresponding to the moment. Based on the installation attitude angle, initial motion parameters for the user are determined. Velocity compensation is performed on the initial motion parameters to obtain target motion parameters. Based on the target motion parameters, unobstructed satellite measurement data is filtered. The positioning result is generated by fusing the inertial measurement data and the satellite measurement data.

[0019] Compared to related technologies, the technical solution of this application offers several advantages. First, by automatically calculating the installation posture angle of the wearable device when the user's wrist swings to the target position, and determining the user's initial motion parameters based on this angle, adaptive correction of the wearing posture can be achieved without relying on a fixed wearing direction or manual calibration, thereby reducing errors caused by inconsistent wearing angles. Second, by performing velocity compensation processing on the initial motion parameters, the deviation between the user's local wrist movements and overall user movements can be reduced, ensuring that the target motion parameters are closer to the actual motion state, thus improving the positioning reliability of the wearable device in complex urban environments. Furthermore, based on the target motion parameters, unobstructed satellite measurement data is selectively filtered out, and the filtered satellite measurement data is fused with inertial measurement data to avoid the adverse effects of obstructed satellite measurement data on the positioning results, thereby improving positioning accuracy.

[0020] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0021] The above and other objects, features and advantages of this application will become more apparent from the description of exemplary embodiments of this application in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments of this application.

[0022] Figure 1 This is a schematic flowchart illustrating a positioning method for a wearable device according to an embodiment of this application; Figure 2 This is another schematic flowchart illustrating a positioning method for a wearable device according to an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a positioning device for a wearable device shown in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of an electronic device shown in an embodiment of this application. Detailed Implementation

[0023] Embodiments of this application will now be described in more detail with reference to the accompanying drawings. While embodiments of this application are shown in the drawings, it should be understood that this application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to make this application more thorough and complete, and to fully convey the scope of this application to those skilled in the art.

[0024] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0025] It should be understood that although the terms "first," "second," "third," etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.

[0026] With the development of Global Navigation Satellite System (GNSS) technology, wearable devices such as smartwatches and smart bracelets generally support location services, and their positioning capability has become one of the core functions of this type of device.

[0027] In environments with open field of view, GNSS can provide relatively stable and accurate position references. However, in complex urban environments, satellite signal propagation paths are easily affected by building obstruction and reflection, resulting in multipath effects and non-line-of-sight errors, leading to significant deviations or even gross errors in pseudorange observations. Furthermore, for wearable devices, which are typically worn on the wrist, frequent arm swings during pedestrian movement and the periodic obstruction of satellite signals by the torso further exacerbate the instability of GNSS observation sequences, exacerbating the dispersion of positioning results.

[0028] To improve positioning stability, related technologies typically employ a combination of GNSS and INS (Inertial Navigation System) navigation schemes, using inertial navigation's extrapolation capabilities to mitigate the impact of GNSS gross errors. However, in complex urban environments, the complexity of pedestrian movement and the variability of the environment impose certain limitations on traditional GNSS / INS integrated navigation schemes. In particular, during pedestrian movement, wrist movements can be affected by body obstruction, leading to GNSS signal blockage and gross errors. Furthermore, due to size and accuracy limitations, wrist-worn devices' inertial navigation systems experience rapid positional error drift, making it difficult to maintain high-precision positioning results over extended periods.

[0029] It is evident that current GNSS and INS combined navigation schemes cannot meet the positioning needs in complex urban environments. To address these issues, this application provides a positioning method for wearable devices, which can improve the positioning reliability of wearable devices in complex urban environments.

[0030] In this application, unless otherwise stated, the following terms have the following meanings: (1) Inertial measurement data: including triaxial acceleration data and triaxial angular velocity data.

[0031] (2) Mounting angle: describes the wearing posture of the wearable device on the user's wrist, including at least the pitch angle and roll angle.

[0032] (3) Initial motion parameters: Motion parameters directly calculated based on inertial measurement data, including parameters related to the user's wrist linear velocity and the rate of change of attitude angle.

[0033] (4) Target motion parameters: Motion parameters obtained after speed compensation of the initial motion parameters are used to characterize the user's overall motion state.

[0034] (5) Satellite measurement data: Observational data received from the Global Navigation Satellite System, including pseudorange, carrier phase, etc.

[0035] To facilitate understanding of the positioning method of the wearable device in the embodiments of this application, the wearable device in the embodiments of this application will be described in detail below.

[0036] In this application embodiment, the wearable device refers to an intelligent electronic device that can be worn by a user on a part of the human body to collect motion-related data and / or location information. In this application, the wearable device integrates at least one inertial measurement unit (IMU), thereby utilizing the IMU's accelerometer, gyroscope, and other inertial sensors to collect inertial measurement data generated during the user's movement in real time.

[0037] Wearable devices can process inertial measurement data output by IMU based on inertial navigation system (INS) technology to generate accurate motion parameters.

[0038] In addition, wearable devices also integrate a Global Navigation Satellite System (GNSS) or a satellite signal receiving module that maintains communication with GNSS. GNSS includes satellite navigation systems such as GPS, BeiDou, and Galileo.

[0039] As an optional example of this application, wearable devices include, but are not limited to, smartwatches, smart bracelets, and other wristband-type smart terminal devices with inertial measurement capabilities.

[0040] It is worth noting that all sports-related data involved in the implementation of this application were collected and processed with the user's authorization or with full authorization from all parties.

[0041] The technical solutions of the embodiments of this application are explained in detail below with reference to the accompanying drawings and the above description of wearable devices, taking the wrist-wearing scenario as an example.

[0042] See Figure 1 , Figure 1 This is a schematic flowchart illustrating a positioning method for a wearable device according to an embodiment of this application.

[0043] Step 101: Continuously collect inertial measurement data from the wearable device.

[0044] In this embodiment of the application, wearable devices suitable for complex urban environments can continuously collect inertial measurement data, thereby obtaining real-time information on the motion changes of the user wearing the wearable device.

[0045] Optionally, the inertial measurement unit includes a three-axis accelerometer and a three-axis gyroscope. The inertial measurement unit can continuously collect inertial measurement data according to a preset sampling frequency and store it in the order of the collection time.

[0046] Inertial measurement data refers to sensor data acquired by an inertial measurement unit, including at least triaxial acceleration data and triaxial angular velocity data.

[0047] Among them, triaxial acceleration data refers to the acceleration components of the user's wrist in three orthogonal directions, including gravitational acceleration and acceleration generated by the user's wrist movement.

[0048] Three-axis angular velocity data refers to the rotational speed of the user's wrist around three axes.

[0049] Continuous acquisition refers to the periodic acquisition of inertial measurement data during the operation of wearable devices. Relevant technicians can flexibly set the sampling frequency according to the device performance and application requirements.

[0050] Step 102: Detect the moment when the user's wrist swings to the target position based on the inertial measurement data, and calculate the installation attitude angle of the wearable device using the inertial measurement data corresponding to the moment.

[0051] In this embodiment, when the user is walking or swinging their arm, the wearable device swings periodically with the user's wrist. By performing feature analysis on continuously collected inertial measurement data, the swing position of the user's wrist is detected. When the user's wrist swings to a preset target position, the moment can be recorded, and the installation attitude angle of the wearable device can be calculated using the inertial measurement data corresponding to that moment.

[0052] Optionally, the user's wrist refers to the wrist position of the human body wearing the wearable device. The wrist position can be the left wrist or the right wrist. The wearable device can be worn on either wrist and generate corresponding inertial measurement data as the user's wrist moves.

[0053] The target position refers to the position where the user's wrist swings to near its lowest point (extreme point) or where its velocity is close to zero within one arm swing cycle. At the target position, the positional relationship between the user's wrist and the human body is more stable. This application can record the current moment when the user's wrist position is aligned with the human body position. At these current moments, the human body's obstruction of satellite signals is most severe, thus providing key time points for subsequent GNSS gross error detection.

[0054] The mounting attitude angle refers to the wearing posture of a wearable device on a user's wrist, including at least the pitch and roll angles. It can accurately describe the actual wearing position and direction of the wearable device on the user's wrist. It is used to transform the inertial measurement data output by the inertial measurement unit from the IMU coordinate system to a coordinate system related to the direction of human motion, thereby unifying the coordinate system and improving positioning accuracy.

[0055] Step 103: Determine the initial motion parameters for the user based on the installation attitude angle.

[0056] In this application embodiment, the wearing position and direction often differ among different users. Directly estimating motion based on the IMU coordinate system of the wearable device can easily lead to errors. Therefore, this application introduces an installation attitude angle to correct the inertial measurement data, which can preliminarily determine the initial motion parameters.

[0057] Optionally, the initial motion parameters refer to the motion parameters that are directly calculated based on inertial measurement data and used to characterize the user's current motion state. The initial motion parameters of this application include at least parameters related to the user's wrist linear velocity and the rate of change of the posture angle, which helps to reduce errors caused by differences in the wearing direction of the device.

[0058] Step 104: Perform velocity compensation on the initial motion parameters to obtain the target motion parameters.

[0059] In this embodiment, since the wearable device is worn on the user's wrist, and the user's wrist swings periodically when walking, there is a difference between its instantaneous motion speed and the speed of human movement. If the initial motion parameters calculated directly from the user's wrist are used for positioning calculation, it is easy to introduce speed deviations caused by local swings. Therefore, this application performs speed compensation processing on the initial motion parameters to obtain target motion parameters that are closer to the user's overall motion state, making the target motion parameters closer to the real human movement patterns.

[0060] Optionally, speed compensation refers to a secondary correction of the initial motion parameters calculated from inertial measurement data based on the motion characteristics of the user's wrist swing, in order to reduce the impact of the user's periodic wrist swing on the overall motion speed estimation and ensure that the corrected speed parameters are closer to the user's overall motion speed.

[0061] The target motion parameters refer to the set of motion parameters obtained after speed compensation processing based on the initial motion parameters. They are used to characterize the user's overall motion state. The target motion parameters include at least the walking direction and the compensated walking speed.

[0062] Step 105: Based on the target motion parameters, filter out unobstructed satellite measurement data, and generate positioning results by fusing inertial measurement data and satellite measurement data.

[0063] In this embodiment, the position and attitude information of the wearable device at the current moment are determined based on the target motion parameters. Combined with the position information of the satellite, it is determined whether the satellite signal is blocked. If the satellite measurement data that is not blocked by the human body is selected, the selected satellite measurement data can be fused with the inertial measurement data to generate a more stable and accurate positioning result.

[0064] Alternatively, satellite measurement data refers to observation data received from a global navigation satellite system.

[0065] The positioning result refers to the result obtained by fusing inertial measurement data and satellite measurement data, which includes at least one of the following: position information, velocity information, direction of motion information, and trajectory information.

[0066] In this embodiment, inertial measurement data of the wearable device is continuously collected. Based on the inertial measurement data, the moment when the user's wrist swings to the target position is detected. The installation attitude angle of the wearable device is calculated using the inertial measurement data corresponding to the moment. Based on the installation attitude angle, the initial motion parameters for the user are determined. The initial motion parameters are velocity compensated to obtain the target motion parameters. Based on the target motion parameters, unobstructed satellite measurement data is filtered. The positioning result is generated by fusing the inertial measurement data and the satellite measurement data.

[0067] Compared to related technologies, the technical solution of this application offers the following advantages: First, by automatically calculating the installation posture angle of the wearable device when the user's wrist swings to the target position, and determining the user's initial motion parameters based on the installation posture angle, adaptive correction of the wearing posture can be achieved without relying on a fixed wearing direction or manual calibration process, thereby reducing errors caused by inconsistent wearing angles. Second, by performing velocity compensation processing on the initial motion parameters, the deviation between the user's local wrist movements and the user's overall movements can be reduced, ensuring that the target motion parameters are closer to the actual motion state, thus improving the positioning reliability of the wearable device in complex urban environments. Furthermore, based on the target motion parameters, unobstructed satellite measurement data is selectively filtered out, and the filtered satellite measurement data is fused with inertial measurement data, thereby avoiding the adverse effects of obstructed satellite measurement data on the positioning results and improving positioning accuracy.

[0068] Figure 2 This is another schematic flowchart illustrating a positioning method for a wearable device according to an embodiment of this application. Figure 2 relatively Figure 1 The technical solutions of the embodiments of this application are described in more detail.

[0069] Step 201: Continuously collect inertial measurement data from the wearable device.

[0070] In this embodiment, the wearable device has a built-in GNSS receiver and IMU, which can realize GNSS / INS integrated navigation technology. It uses GNSS / INS integrated navigation technology to fuse the inherent spatial correlation between pedestrian movement patterns and GNSS observation sequences, optimizes the GNSS results, and then fuses them to generate accurate positioning results.

[0071] As an example, the wearable device uses a built-in three-axis accelerometer to collect the acceleration components of the user's wrist in three orthogonal directions at a certain frequency (e.g., 100Hz), including gravitational acceleration and acceleration generated by the user's wrist movement. Simultaneously, a built-in three-axis gyroscope is used to synchronously collect the angular velocity data of the user's wrist around the three axes, providing information for subsequent analysis of the user's wrist movement posture.

[0072] Step 202: Detect the moment when the user's wrist swings to the target position based on inertial measurement data, and calculate the corresponding installation attitude angle of the wearable device using the inertial measurement data corresponding to the moment.

[0073] As an optional example of the embodiments of this application, the process of detecting the moment when a user's wrist swings to the target position based on inertial measurement data includes: extracting features from the inertial measurement data to obtain acceleration features and angular velocity features, calculating the acceleration modulus value corresponding to the acceleration features, integrating the angular velocity features to obtain the rotation angle of the user's wrist, identifying the arm swing period based on the rotation angle, and determining the moment when the acceleration modulus value is less than a preset acceleration threshold within each arm swing period as the moment corresponding to the target position.

[0074] Among them, acceleration characteristics refer to the characteristic quantities extracted from the triaxial acceleration data output by the inertial measurement unit, and the corresponding acceleration magnitude is used to determine the extreme points when the user's wrist swings.

[0075] The preset acceleration threshold is used to determine whether the user's wrist is at the target position. The preset acceleration threshold can be flexibly set based on factors such as empirical values ​​and experimental calibration results. For example, the preset acceleration threshold can be set to a certain proportion of the gravitational acceleration g (such as within the range of 0.5g to 0.8g) to filter out position points where the acceleration modulus is in a low range.

[0076] Angular velocity characteristics refer to the characteristic quantities extracted from the three-axis angular velocity data output by the inertial measurement unit, and the corresponding rotation angle is used to identify the swing arm cycle.

[0077] As an example, the feature extraction process can be divided into acceleration feature extraction and angular velocity feature extraction.

[0078] The acceleration feature extraction process involves calculating the magnitude of the acceleration data, i.e. Here, ax, ay, and az represent the accelerometer readings in three directions. By analyzing the changes in the acceleration magnitude, key characteristic points during wrist swing can be identified, such as the highest and lowest points of the swing.

[0079] The angular velocity feature extraction process involves integrating the angular velocity data to obtain the user's wrist rotation angle. By analyzing the changes in the rotation angle, the period and frequency of wrist swing can be determined.

[0080] As another example, a zero-velocity detection algorithm based on acceleration data determines the moment when the wrist reaches its lowest point by identifying local minima of the acceleration magnitude. During the user's wrist swing, when the wrist reaches its lowest point, its velocity is close to zero, and the acceleration magnitude reaches a relatively low value. This application sets a preset acceleration threshold; when the acceleration magnitude is lower than this preset threshold, it indicates that the user's wrist is at the lowest point of its swing. For example, the set acceleration threshold is 0.5g (g is the acceleration due to gravity); when the acceleration magnitude is lower than 0.5g, this moment is recorded as the key time point when the user's wrist reaches its lowest point.

[0081] In practical applications, the moment when the user's wrist is at its lowest point can be used as a critical time point for correcting GNSS data. At this critical time point, the user's wrist position is usually relatively close to the lateral position of the human torso, making it easier for the human body to block satellite signals from certain directions. Therefore, this moment can be used to enhance the analysis and verification of the blockage determination results.

[0082] At critical time points, perform enhanced occlusion detection processing, including: (1) Reduce the distance threshold for determining the intersection of the line of sight vector and the 3D model to improve the sensitivity of occlusion detection.

[0083] (2) If the number of obscured satellites detected at that moment is less than the expected threshold, the size parameters of the human body three-dimensional model are dynamically adjusted.

[0084] (3) Use the occlusion detection results at this moment to verify the accuracy of the human model parameters, and trigger the recalibration of the model parameters when the results of multiple consecutive cycles are inconsistent.

[0085] As another optional example of the embodiments of this application, the process of calculating the installation attitude angle of the wearable device using the inertial measurement data at the current moment includes: constructing at least one data matrix using inertial measurement data, performing matrix decomposition on the data matrix to obtain multiple feature values, selecting K feature values ​​from the multiple feature values ​​in descending order, where K is an integer greater than 1, and calculating the installation attitude angle of the wearable device on the user's wrist based on the angular relationship between the feature vectors corresponding to the K feature values ​​and the gravity reference direction.

[0086] The data matrix refers to a matrix composed of inertial measurement data from multiple consecutive swing cycles arranged in chronological order, used to describe the characteristics of user wrist movement changes within a time window. In this application, the data matrix includes an acceleration data matrix and an angular velocity data matrix. The acceleration data matrix can be an N×3 dimensional matrix, with each row corresponding to the triaxial acceleration components at a sampling time, and each column representing acceleration data in one direction. The angular velocity data matrix can also be an N×3 dimensional matrix, with each row corresponding to the triaxial angular velocity components at a sampling time, and each column representing angular velocity data in one direction. Generally, N is the number of sampling points within the time window, and the value of N can be 1000.

[0087] Matrix factorization refers to performing singular value decomposition (SVD) on a data matrix. SVD yields multiple singular values ​​and their corresponding eigenvectors. The singular values ​​reflect the energy intensity in their respective directions, while the eigenvectors characterize the principal direction of data change, thus estimating the wrist-worn IMU's mounting attitude angle and calculating the pedestrian's motion direction. For example, an acceleration data matrix can be constructed using acceleration data from inertial measurement data. SVD is then performed on this matrix to obtain multiple singular values ​​and their corresponding eigenvectors. The K largest singular values ​​(K being an integer greater than or equal to 2) are selected from these singular values. Based on the angles between the eigenvectors corresponding to these K singular values ​​and the gravity reference direction, the mounting attitude angle is calculated.

[0088] The gravity reference direction is the direction of gravitational acceleration obtained from long-term measurements, and it serves as the baseline reference direction in spatial attitude estimation. In practice, the gravity reference direction usually corresponds to the z-axis direction in the human motion coordinate system.

[0089] The installation attitude angle refers to the spatial parameter between the IMU device coordinate system of a wearable device and the human motion coordinate system. It is used to transform inertial measurement data from the IMU device coordinate system to the human motion coordinate system to improve positioning accuracy.

[0090] As an example, the SVD decomposition method is applied to the acceleration data matrix A to obtain... In this matrix, U and V are orthogonal matrices, and Σ is a diagonal matrix whose diagonal elements are eigenvalues. The K largest eigenvalues ​​(such as the first two or three) are selected, and their corresponding eigenvectors are the principal eigenvectors. These principal eigenvectors reflect the main directions of change in the acceleration data and are closely related to the user's wrist movement direction and posture.

[0091] Since acceleration data primarily reflects linear motion changes and gravitational direction information, providing a stable gravitational reference direction, while angular velocity data mainly reflects rotational motion changes and can describe the rotational trend and swing period characteristics of the user's wrist, acceleration data is typically used as the primary reference data source during installation attitude angle estimation. This means that the acceleration data matrix is ​​preferentially decomposed using SVD to extract key eigenvectors for estimating the IMU installation angle. Angular velocity data, on the other hand, serves as auxiliary constraint information. The rotational eigenvectors obtained after SVD decomposition of the angular velocity data matrix are used to verify consistency or make auxiliary corrections to the installation attitude angle, thereby improving the stability and reliability of the calculated installation attitude angle results.

[0092] The mathematical principle of singular value decomposition (SVD) for angular velocity data matrices is the same as that for acceleration data matrices, both employing the SVD decomposition method. .

[0093] However, since angular velocity data primarily reflects rotational motion characteristics, the eigenvectors corresponding to their maximum singular values ​​typically point towards the principal axis of rotation, which can be used to verify the rationality of the installation attitude angles obtained from acceleration decomposition. Specifically, if there is a significant discrepancy between the installation attitude angles estimated from acceleration data and the principal axis of rotation estimated from angular velocity data, the installation attitude angles are recalculated.

[0094] Alternatively, a combined data matrix can be constructed using both acceleration and angular velocity data, and then joint decomposition can be performed. By simultaneously introducing linear motion features and rotational motion features, the stability of attitude estimation can be improved. For example, the acceleration data matrix A and the angular velocity data matrix W can be concatenated according to weighting coefficients to construct a combined data matrix: M = [A; αW]. Here, α is a weighting coefficient used to balance the influence between angular velocity features and acceleration features. Performing SVD decomposition on the combined data matrix allows for the simultaneous extraction of linear motion features and rotational motion features in the same feature space, thereby obtaining a more robust installation attitude angle.

[0095] As another example, the mounting angle of the wrist-worn IMU is calculated based on the extracted main feature vectors and eigenvalues, combined with the measurement principle of the accelerometer. Assuming the main feature vectors are v1 and v2, the mounting attitude angle of the IMU on the user's wrist can be obtained by calculating the angle between v1 and v2 and the gravity reference direction (assumed to be the z-axis direction).

[0096] The formula for calculating the installation attitude angle is: and

[0097] in, For feature vectors The component in the z-axis direction, yes The modulus. The components of the eigenvector along the z-axis. yes The modulus value is obtained. By estimating the installation attitude angle, the actual installation position and orientation of the IMU on the wrist are determined, thus providing an accurate reference for subsequent pedestrian movement direction calculation and GNSS correction.

[0098] Step 203: Determine the initial motion parameters for the user based on the installation attitude angle.

[0099] As an optional example of the embodiments of this application, the process of determining the initial motion parameters for the user based on the installation attitude angle includes: constructing a rotation matrix using the installation attitude angle; performing coordinate transformation on the inertial measurement data based on the rotation matrix to generate transformed inertial measurement data; integrating the transformed inertial measurement data to obtain initial wrist speed and initial attitude angle change information; and generating initial motion parameters for the user by fusing the initial wrist speed and initial attitude angle change information.

[0100] The rotation matrix refers to the coordinate transformation matrix constructed from the installation attitude angles, used to describe the directional relationship between the wearable device's coordinate system and the human motion coordinate system. For example, the installation attitude angles include at least pitch and roll angles. Based on the pitch and roll angles, basic rotation matrices about the corresponding coordinate axes are constructed, and the rotation matrix R is generated through matrix combination. .

[0101] in, and These represent the basic rotation matrices about the corresponding coordinate axes.

[0102] Optionally, a complete three-axis rotation matrix can be constructed by further combining the yaw angle ψ to obtain a more complete attitude transformation relationship. The yaw angle can be estimated based on pedestrian movement direction information or magnetometer measurement data to construct a complete rotation matrix R. .

[0103] Initial wrist speed refers to the estimated value of the user's wrist speed in the human motion coordinate system obtained by integrating the acceleration data after coordinate transformation.

[0104] Initial attitude angle change information refers to the rotational change state of the user's wrist during the movement, obtained by integrating the angular velocity data after coordinate transformation.

[0105] As an example, the estimated IMU installation angle is fused with the acquired acceleration and angular velocity data. Based on the IMU installation angle, the acceleration and angular velocity data are transformed to a coordinate system related to the pedestrian's direction of motion. Assume the IMU installation angle is θ and... Acceleration and angular velocity data can be transformed from the IMU device coordinate system to the human motion coordinate system using the rotation matrix R, i.e., A′=R. A and W′=R W, where A′ and W′ are the converted acceleration and angular velocity data, respectively.

[0106] Assuming the sampling interval of the acceleration data is Δt, the wrist speed can be calculated using the following formula: Where v(t) is the wrist velocity at the current moment, v(t) 1) is the wrist velocity at the previous moment, and A′(t) is the acceleration data at the current moment.

[0107] The direction of pedestrian movement can be determined by analyzing the direction of wrist velocity. Generally, the direction of the user's wrist velocity is consistent with the direction of pedestrian movement, so the direction of pedestrian movement can be determined by calculating the average direction of the wrist velocity. For example, the direction vector of wrist velocity at each sampling point can be calculated, and then these direction vectors can be averaged to obtain the average direction of pedestrian movement.

[0108] Calculate the modulus of wrist speed, i.e. The wrist's movement speed is obtained. By analyzing the changes in the magnitude of the wrist speed, the pedestrian's movement speed can be further determined.

[0109] If the magnitude of the wrist speed remains relatively stable over a period of time, it can be assumed that the pedestrian is walking at a constant speed. If the magnitude of the wrist speed changes, it can be determined that the pedestrian is accelerating or decelerating.

[0110] When calculating the direction of pedestrian motion, in addition to obtaining the linear velocity direction by integrating the converted acceleration data, attitude angle change information is also obtained by integrating the converted angular velocity data. The attitude angle change information is used for: (1) Accurately transform the linear velocity direction from the wrist-related coordinate system to the global geographic coordinate system; (2) Detecting pedestrian turning behavior: When the rate of change of yaw angle exceeds the preset threshold, it is determined that the pedestrian is changing the direction of movement; (3) Compensate for the deviation in velocity direction caused by wrist rotation.

[0111] Step 204: Perform velocity compensation on the initial motion parameters to obtain the target motion parameters.

[0112] As an optional example of this application's embodiment, velocity compensation is performed on the initial motion parameters to obtain the target motion parameters. This includes: modeling the user's wrist using the user's shoulder as the swing fulcrum and the user's wrist as the swing endpoint, generating a pendulum motion model of the user's wrist. By analyzing inertial measurement data, the pendulum motion parameters of the pendulum motion model are obtained. Based on the pendulum motion parameters, the length of the lever arm of the user's wrist relative to the user's shoulder is determined. The length of the lever arm is then used to perform velocity compensation on the initial motion parameters to generate the target motion parameters.

[0113] The pendulum motion model refers to a model that models arm swinging motion as pendulum motion. It can use the user's shoulder as the fulcrum and the user's wrist as the swing endpoint, and approximate the reciprocating swing of the user's arm during walking as a periodic swinging system constrained by gravity, thereby describing the periodic swinging motion relationship of the user's wrist relative to the user's shoulder.

[0114] The parameters of a pendulum motion refer to the set of parameters of the user's wrist swinging motion in each swing cycle, including at least the swing arm angle, swing arm length, and gravitational acceleration.

[0115] The lever arm length refers to the NHC (Non-Holonomic Constraint) lever arm estimated in real time based on a simple pendulum motion model, which is the distance from the user's wrist to the user's shoulder.

[0116] As an example, the arm swing motion can be modeled as a simple pendulum motion: assuming the wrist swing can be approximated as a simple pendulum motion, its equation of motion is... Where θ is the swing angle of the arm, g is the acceleration due to gravity, and L is the length of the arm. Under the small-angle approximation, the equation can be simplified to... The solution is ,in It is the initial swing angle of the swing arm.

[0117] By analyzing the user's wrist acceleration and angular velocity data, parameters of the pendulum motion, such as the length L of the swing arm and the initial swing angle, are estimated. For example, the length of the swinging arm can be deduced by measuring the period T of the wrist swing and using the formula T=2πgL. .

[0118] Based on a simple pendulum motion model, the NHC lever arm is estimated in real time. Assuming the distance from wrist to shoulder is d, the NHC lever arm can be estimated using the following formula: d = L h, where h is the vertical distance from the wrist to the ground. By analyzing the acceleration and angular velocity data of the wrist, combined with pedestrian movement direction and velocity information, the estimated value of the NHC lever arm can be updated in real time.

[0119] The estimated NHC lever arm is used to compensate for the inconsistency between wrist speed and human walking speed. For example, assuming the human walking speed is... wrist speed is The wrist speed can then be compensated using the following formula. ,in This is the compensated wrist speed. By compensating for inconsistencies in wrist speed, positioning accuracy can be improved.

[0120] Step 205: Based on the target motion parameters, filter out unobstructed satellite measurement data.

[0121] Based on the target motion parameters after velocity compensation, the user's position and orientation information in three-dimensional space can be accurately obtained to facilitate the construction of a three-dimensional model. Then, through geometric relationships, it is determined whether the line of sight between each satellite and the wearable device is blocked by the human body, thereby filtering out the unblocked satellite measurement data to improve the reliability and accuracy of subsequent fusion positioning.

[0122] As an optional example of the embodiments of this application, filtering unobstructed satellite measurement data based on target motion parameters includes: determining the user's position and attitude information in three-dimensional space based on the target motion parameters; modeling the user as a three-dimensional model based on the position and attitude information; calculating the line-of-sight vector between the user's wrist and each satellite; determining whether the satellite is obstructed based on the three-dimensional model and the line-of-sight vector; and obtaining the satellite measurement data returned by the unobstructed satellites.

[0123] Furthermore, if there is a spatial intersection between the 3D model and the line-of-sight vector, and the spatial intersection is located inside the 3D model, then the satellite is determined to be obstructed. If there is no spatial intersection between the 3D model and the line-of-sight vector, or the spatial intersection is located outside the 3D model, then the satellite is determined to be unobstructed.

[0124] Location information refers to the user's geographic coordinates in three-dimensional space.

[0125] Attitude information refers to the user's orientation in three-dimensional space, including but not limited to pitch angle and yaw angle.

[0126] A 3D model refers to a geometric model obtained by modeling based on the user's position and posture information, used for occlusion determination. For example, a 3D model can be a solid geometry such as a cuboid, cylinder, or sphere. In this application, a cuboid is used as an example to illustrate the 3D module.

[0127] The line-of-sight vector refers to the directional vector pointing from the location of the wearable device towards the satellite.

[0128] The spatial intersection point refers to the point where the line-of-sight vector intersects with the 3D model. By calculating whether a spatial intersection point exists between the line-of-sight vector and the 3D model, it can be determined whether the satellite's signal propagation path passes through the 3D model. If the spatial intersection point is outside the 3D model or does not exist, the satellite is considered not to be obstructed; if the spatial intersection point is inside the 3D model, the satellite is considered not to be obstructed.

[0129] As an example, the effect of human body occlusion is considered in the GNSS correction process. The human body is simply modeled as a cuboid, and the line-of-sight vector from the wrist to the satellite is calculated to see if it passes through the human body.

[0130] First, the human body is simply modeled as a cuboid, whose size and position are dynamically adjusted according to the pedestrian's direction and speed of movement. For example, assuming the width of the human body is w, the height is h, and the length is l, the position and posture of the human body in three-dimensional space can be determined based on the pedestrian's direction and speed of movement.

[0131] Then, the pedestrian's direction and velocity are calculated using combined GNSS and INS data: the pedestrian's location information, including longitude, latitude, and altitude, is acquired via a GNSS receiver. This data can be converted into coordinate points in three-dimensional space. Acceleration and angular velocity data are collected via an IMU, and techniques such as Zero Velocity Update (ZVU) and Nonholonomic Constraints (NHC) are used to estimate the pedestrian's direction and velocity.

[0132] The position and posture of the human cuboid in three-dimensional space are dynamically adjusted according to the direction and speed of pedestrian movement. Calculate the human body's position on the horizontal plane using the longitude and latitude provided by GNSS. Assuming the pedestrian's current position is (x, y), the center position of the human body's cuboid can be represented as... , where θ is the angle of the pedestrian's direction of movement.

[0133] Based on the altitude information provided by GNSS, determine the vertical position of the human body. Assuming the pedestrian's current height is z, the base height of the human body cuboid can be represented as z, and the top height as z+h.

[0134] Adjust the posture of the human cuboid on the horizontal plane according to the angle θ of the pedestrian's direction of movement. Assuming the pedestrian's direction of movement is due north (0 degrees), the angle between the long side of the human cuboid and due north is θ.

[0135] The vertical orientation of the human cuboid is adjusted based on the pedestrian's speed and acceleration. Assuming the pedestrian is going uphill or downhill, the vertical acceleration can be measured using an accelerometer in the INS data, thereby adjusting the vertical orientation of the human cuboid.

[0136] Next, calculate the line-of-sight vector from the user's wrist to the satellite. Assuming the satellite's position is Psat and the wrist's position is Pwrist, the line-of-sight vector is: By analyzing the relative position of the line-of-sight vector and the human body cuboid, it can be determined whether the satellite signal is blocked by the human body.

[0137] If the line-of-sight vector of a satellite passes through a human body cuboid, then the satellite is considered to be obstructed by the human body. Obstruction can be determined by calculating the intersection point of the line-of-sight vector and the human body cuboid. For example, assuming the intersection point is Pint, if Pint is inside the human body cuboid, then the satellite is considered to be obstructed by the human body.

[0138] The intersection point can be calculated using the following formula:

[0139] If the spatial intersection is calculated to be inside the human body, then the satellite signal is considered to be blocked. The judgment method can be based on the following formula.

[0140]

[0141] Satellites identified as being obstructed by a person are disabled at the current epoch. By removing these obstructed satellite signals, the impact of GNSS gross errors can be reduced, thereby optimizing GNSS corrections. For example, assuming that at a certain moment, three satellites are obstructed by a person, the GNSS correction at that moment will only use the signals of the unobstructed satellites for positioning calculations, improving the robustness and reliability of positioning.

[0142] Step 206: Perform fusion processing on the inertial measurement data and satellite measurement data, and use the result of the fusion processing as the positioning result.

[0143] In this embodiment, by fusing the advantages of both inertial measurement data output by the integrated inertial measurement unit and satellite measurement data provided by the global navigation satellite system, the problems of frequent gross errors in GNSS observations, excessively rapid drift of inertial navigation position errors, and difficulty in detecting and correcting GNSS gross errors caused by human body obstruction are solved, thereby generating highly reliable positioning results.

[0144] In this embodiment, inertial measurement data of the wearable device is continuously collected. Based on the inertial measurement data, the moment when the user's wrist swings to the target position is detected. The installation attitude angle of the wearable device is calculated using the inertial measurement data corresponding to the moment. Based on the installation attitude angle, the initial motion parameters for the user are determined. Velocity compensation is performed on the initial motion parameters to obtain the target motion parameters. Based on the target motion parameters, unobstructed satellite measurement data is filtered. The inertial measurement data and satellite measurement data are fused. The result obtained from the fusion process is used as the positioning result.

[0145] Compared to related technologies, the technical solution of this application offers the following advantages: First, by automatically calculating the installation posture angle of the wearable device when the user's wrist swings to the target position, and determining the user's initial motion parameters based on the installation posture angle, adaptive correction of the wearing posture can be achieved without relying on a fixed wearing direction or manual calibration process, thereby reducing errors caused by inconsistent wearing angles. Second, by performing velocity compensation processing on the initial motion parameters, the deviation between the user's local wrist movements and the user's overall movements can be reduced, ensuring that the target motion parameters are closer to the actual motion state, thus improving the positioning reliability of the wearable device in complex urban environments. Furthermore, based on the target motion parameters, unobstructed satellite measurement data is selectively filtered out, and the filtered satellite measurement data is fused with inertial measurement data, thereby avoiding the adverse effects of obstructed satellite measurement data on the positioning results and improving positioning accuracy.

[0146] Corresponding to the aforementioned application function implementation method embodiments, this application also provides a positioning device for wearable devices, electronic devices, and corresponding embodiments.

[0147] Figure 3 This is a schematic diagram of the structure of a positioning device for a wearable device shown in an embodiment of this application.

[0148] See Figure 3 A positioning device for a wearable device, comprising: Inertial measurement data acquisition module 301 is used to continuously acquire inertial measurement data from wearable devices; The mounting attitude angle determination module 302 is used to detect the moment when the user's wrist swings to the target position based on inertial measurement data, and to calculate the mounting attitude angle of the wearable device using the inertial measurement data corresponding to the moment. The initial motion parameter generation module 303 is used to determine the initial motion parameters for the user based on the installation attitude angle; The target motion parameter generation module 304 is used to perform velocity compensation on the initial motion parameters to obtain the target motion parameters; The measurement data fusion module 305 is used to filter unobstructed satellite measurement data based on the target motion parameters, and generate positioning results by fusing inertial measurement data and satellite measurement data.

[0149] As an optional example of an embodiment of this application, the installation attitude angle determination module 302 includes: The target position recognition submodule is used to extract features from inertial measurement data to obtain acceleration and angular velocity features; calculate the acceleration magnitude corresponding to the acceleration features, which is used to determine the extreme points when the user's wrist swings; integrate the angular velocity features to obtain the rotation angle of the user's wrist, which is used to identify the arm swing period; identify the arm swing period based on the rotation angle, and within each arm swing period, determine the moment when the acceleration magnitude is less than a preset acceleration threshold as the moment corresponding to the target position.

[0150] As an optional example of an embodiment of this application, the installation attitude angle determination module 302 includes: The installation attitude angle calculation submodule is used to construct an acceleration data matrix using acceleration data from inertial measurement data; perform singular value decomposition on the acceleration data matrix to obtain multiple singular values ​​and their corresponding eigenvectors; select the K largest singular values ​​from the multiple singular values, where K is an integer greater than or equal to 2; and calculate the installation attitude angle based on the angle between the eigenvectors corresponding to the K singular values ​​and the gravity reference direction.

[0151] As an optional example of an embodiment of this application, the initial motion parameter generation module 303 is used for: The rotation matrix is ​​constructed using the installation attitude angle; Based on the rotation matrix, coordinate transformation is performed on the inertial measurement data to generate transformed inertial measurement data; Integrate the converted inertial measurement data to obtain information on the initial wrist velocity and initial attitude angle changes; By fusing initial wrist speed and initial posture angle change information, initial motion parameters for the user are generated.

[0152] As an optional example of an embodiment of this application, the target motion parameter generation module 304 is used for: The user's shoulder is used as the fulcrum of the swing and the user's wrist is used as the swing endpoint. The user's wrist is modeled to generate a pendulum motion model of the user's wrist. By analyzing inertial measurement data, the motion parameters of the simple pendulum motion model are obtained. Based on the pendulum motion parameters, determine the length of the lever arm relative to the user's wrist and shoulder. The initial motion parameters are compensated for by the length of the lever arm to generate the target motion parameters.

[0153] As an optional example of an embodiment of this application, the measurement data fusion module 305 includes: The satellite occlusion detection submodule is used to determine the user's position and attitude information in three-dimensional space based on the target's motion parameters; model the user as a three-dimensional model based on the position and attitude information; calculate the line-of-sight vector between the user's wrist and each satellite; and determine whether the satellite is occluded based on the three-dimensional model and the line-of-sight vector, and obtain the satellite measurement data returned by the unoccluded satellites.

[0154] As an optional example of an embodiment of this application, the satellite obstruction detection submodule is used for: If there is a spatial intersection between the 3D model and the line-of-sight vector, and the spatial intersection is located inside the 3D model, then the satellite is determined to be obstructed. If there is no spatial intersection between the 3D model and the line-of-sight vector, or if the spatial intersection is located outside the 3D model, then the satellite is determined to be unobstructed.

[0155] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated further here.

[0156] Figure 4 This is a schematic diagram of the structure of an electronic device shown in an embodiment of this application.

[0157] See Figure 4 The electronic device 400 includes a memory 410 and a processor 420.

[0158] The processor 420 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0159] Memory 410 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. ROM may store static data or instructions required by processor 420 or other modules of the computer. Permanent storage devices may be read-write storage devices. Permanent storage devices may be non-volatile storage devices that retain stored instructions and data even when the computer is powered off. In some embodiments, permanent storage devices use mass storage devices (e.g., magnetic or optical disks, flash memory) as permanent storage devices. In other embodiments, permanent storage devices may be removable storage devices (e.g., floppy disks, optical drives). System memory may be a read-write storage device or a volatile read-write storage device, such as dynamic random access memory. System memory may store some or all of the instructions and data required by the processor during operation. Furthermore, memory 410 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (e.g., DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and disks and / or optical disks may also be used. In some embodiments, memory 410 may include a removable storage device that is readable and / or writable, such as a laser disc (CD), a read-only digital multifunction optical disc (e.g., DVD-ROM, dual-layer DVD-ROM), a read-only Blu-ray disc, an ultra-high density optical disc, a flash memory card (e.g., SD card, mini SD card, Micro-SD card, etc.), a magnetic floppy disk, etc. Computer-readable storage media do not contain carrier waves or transient electronic signals transmitted wirelessly or via wired connections.

[0160] The memory 410 stores executable code, which, when processed by the processor 420, can cause the processor 420 to execute part or all of the methods described above.

[0161] Furthermore, the method according to this application can also be implemented as a computer program or computer program product, which includes computer program code instructions for performing some or all of the steps in the method described above.

[0162] Alternatively, this application may be implemented as a computer-readable storage medium (or a non-transitory machine-readable storage medium or a machine-readable storage medium) storing executable code (or computer program or computer instruction code) that, when executed by a processor of an electronic device (or server, etc.), causes the processor to perform part or all of the steps of the methods described above according to this application.

[0163] This application also provides a computer program product, which includes computer instructions that, when executed by a processor, implement the method described above.

[0164] The various embodiments of this application have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A positioning method for a wearable device, characterized in that, include: Continuously collect inertial measurement data from wearable devices; Based on the inertial measurement data, the moment when the user's wrist swings to the target position while wearing the wearable device is detected, and the installation attitude angle corresponding to the wearable device is calculated using the inertial measurement data corresponding to the moment; Based on the installation posture angle, determine the initial motion parameters for the user; The initial motion parameters are compensated for velocity to obtain the target motion parameters; Based on the target motion parameters, unobstructed satellite measurement data is selected, and a positioning result is generated by fusing the inertial measurement data and the satellite measurement data.

2. The method according to claim 1, characterized in that, The detection of the moment when the user's wrist, wearing the wearable device, swings to the target position based on the inertial measurement data includes: Feature extraction is performed on the inertial measurement data to obtain acceleration and angular velocity features; Calculate the acceleration modulus value corresponding to the acceleration feature, and the acceleration modulus value is used to determine the extreme point when the user's wrist swings; Integrating the angular velocity feature yields the rotation angle of the user's wrist, which is used to identify the arm swing cycle. The swing arm cycle is identified based on the rotation angle, and within each swing arm cycle, the moment when the acceleration magnitude is less than a preset acceleration threshold is determined as the moment corresponding to the target position.

3. The method according to claim 1, characterized in that, The calculation of the mounting posture angle corresponding to the wearable device includes: An acceleration data matrix is ​​constructed using the acceleration data from the inertial measurement data; The acceleration data matrix is ​​subjected to singular value decomposition to obtain multiple singular values ​​and corresponding eigenvectors; Select the K largest singular values ​​from the plurality of singular values, where K is an integer greater than or equal to 2; The installation attitude angle is calculated based on the angle between the eigenvectors corresponding to the K singular values ​​and the gravity reference direction.

4. The method according to claim 1, characterized in that, The step of determining the initial motion parameters for the user based on the installation posture angle includes: A rotation matrix is ​​constructed using the aforementioned installation attitude angle; Based on the rotation matrix, coordinate transformation is performed on the inertial measurement data to generate transformed inertial measurement data; Integrate the converted inertial measurement data to obtain information on the initial wrist velocity and initial attitude angle changes; By fusing the initial wrist speed and the initial posture angle change information, initial motion parameters for the user are generated.

5. The method according to claim 1, characterized in that, The step of performing velocity compensation on the initial motion parameters to obtain the target motion parameters includes: The user's shoulder is used as the fulcrum of the swing and the user's wrist is used as the swing endpoint. The user's wrist is modeled to generate a pendulum motion model of the user's wrist. By analyzing the inertial measurement data, the pendulum motion parameters of the pendulum motion model are obtained; Based on the pendulum motion parameters, determine the length of the lever arm relative to the user's wrist and shoulder; The target motion parameters are generated by using the length of the lever arm to compensate for the initial motion parameters.

6. The method according to claim 1, characterized in that, The process of filtering unobstructed satellite measurement data based on the target motion parameters includes: Based on the target motion parameters, determine the user's position and posture information in three-dimensional space; Based on the location information and the posture information, the user is modeled as a three-dimensional model; Calculate the line-of-sight vector between the user's wrist and each satellite; Based on the 3D model and the line-of-sight vector, it is determined whether the satellite is obstructed, and the satellite measurement data returned by the unobstructed satellite is obtained.

7. The method according to claim 6, characterized in that, The step of determining whether the satellite is obstructed based on the 3D model and the line-of-sight vector includes: If there is a spatial intersection between the three-dimensional model and the line-of-sight vector, and the spatial intersection is located inside the three-dimensional model, then the satellite is determined to be obstructed. If there is no spatial intersection between the 3D model and the line-of-sight vector, or if the spatial intersection is located outside the 3D model, then the satellite is determined to be unobstructed.

8. A positioning device for a wearable device, characterized in that, include: An inertial measurement data acquisition module is used to continuously acquire inertial measurement data from wearable devices. The mounting attitude angle determination module is used to detect the moment when the user's wrist swings to the target position based on the inertial measurement data, and to calculate the mounting attitude angle of the wearable device using the inertial measurement data corresponding to the moment. An initial motion parameter generation module is used to determine the initial motion parameters for the user based on the installation posture angle. The target motion parameter generation module is used to perform velocity compensation on the initial motion parameters to obtain the target motion parameters; The measurement data fusion module is used to filter unobstructed satellite measurement data based on the target motion parameters, and generate a positioning result by fusing the inertial measurement data and the satellite measurement data.

9. An electronic device, characterized in that, include: processor; as well as A memory having executable code stored thereon, which, when executed by the processor, causes the processor to perform the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, It stores executable code that, when executed by a processor of an electronic device, causes the processor to perform the method as described in any one of claims 1-7.