Method, device, storage medium and electronic device for acquiring joint angle

By processing IMU sensor data through an adaptive time window cutting algorithm and an angle feature extraction algorithm, the problems of inconvenience and poor versatility of the joint angle acquisition method in the existing technology are solved, and accurate identification of human joint angles is achieved, with the advantages of high versatility and low cost.

CN116327177BActive Publication Date: 2025-10-10GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111592937.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2025-10-10
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

The joint angle acquisition methods in the existing technology have the problems of inconvenience in use and poor versatility. In particular, the angle sensors and exoskeleton joint module encoders have the disadvantages of being difficult to install, easy to damage, high cost, and poor versatility.

Method used

An adaptive time window cutting algorithm and an angle feature extraction algorithm are used to process the motion signal data collected by the IMU sensor, including pre-classification, data filtering, least mean square estimation algorithm and sensor coordinate system alignment, to achieve accurate identification of joint angles.

Benefits of technology

It achieves the acquisition of precise motion data through angle acquisition equipment and accurate identification of human joint angles, solving the problems of inconvenience in use and poor versatility. It has the characteristics of high versatility, low cost and easy maintenance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116327177B_ABST
    Figure CN116327177B_ABST
Patent Text Reader

Abstract

The application discloses a method and device for acquiring joint angle, a storage medium and an electronic device. The method comprises the following steps: acquiring a plurality of motion signal data of a target object collected by an angle collection device, wherein the motion signal data comprises spatial position, speed and acceleration; processing the plurality of motion signal data by using an adaptive time window cutting algorithm and an angle feature extraction algorithm, so as to convert the plurality of motion signal data into the joint angle of the target object. The application solves the technical problem that the existing joint angle acquisition method is inconvenient to use and has poor universality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of angle acquisition, and in particular to a method, device, storage medium and electronic device for acquiring joint angles. Background Art

[0002] In recent years, exoskeleton robots, as powerful wearable mechanical devices, have attracted increasing attention from scholars and researchers both domestically and internationally, becoming a new research hotspot. Walking is one of the core tasks of exoskeleton systems, and the effectiveness of exoskeleton-assisted gait is directly determined by the establishment and control of gait models. During use, exoskeleton systems must quickly and accurately predict human movement intentions (such as walking, standing, sitting, or climbing stairs) and determine the phase of the gait cycle. Recognizing joint angles is essential for predicting human movement intentions.

[0003] However, in the existing technology, most solutions use angle sensors or encoders of exoskeleton joint modules to identify joint angles. However, angle sensors have disadvantages such as inconvenient use, difficult installation, complex results, and easy damage; joint module encoders have disadvantages such as high requirements for usage conditions, poor versatility, and high cost.

[0004] To address the above-mentioned problems, no effective solutions have been proposed so far. Summary of the Invention

[0005] Embodiments of the present invention provide a method, device, storage medium, and electronic device for obtaining joint angles, so as to at least solve the technical problems of the conventional method for obtaining joint angles being inconvenient to use and having poor versatility.

[0006] According to one aspect of an embodiment of the present invention, a method for obtaining joint angles is provided, comprising: obtaining multiple motion signal data of a target object collected by an angle acquisition device, wherein the above-mentioned motion signal data include: spatial position, velocity and acceleration; using an adaptive time window cutting algorithm and an angle feature extraction algorithm to process the multiple above-mentioned motion signal data to convert the multiple above-mentioned motion signal data into the joint angles of the above-mentioned target object.

[0007] Optionally, an adaptive time window cutting algorithm is used to process multiple of the above-mentioned motion signal data, including: pre-classifying the multiple of the above-mentioned motion signal data to obtain periodic activity signal data and non-periodic activity signal data; and extracting a time window from the above-mentioned periodic activity signal data using the above-mentioned adaptive time window cutting algorithm, wherein the normalized autocorrelation function of the above-mentioned adaptive time window cutting algorithm has the same period as the initial signal of the above-mentioned motion signal data.

[0008] Optionally, pre-classification processing is performed on the multiple motion signal data to obtain periodic activity signal data and non-periodic activity signal data, including: removing the mean value of the multiple motion signal data to obtain processed activity signal data, wherein the mean value removal processing is used to remove non-zero mean values ​​in the multiple motion signal data; and pre-classification processing is performed on the processed activity signal data to obtain the periodic activity signal data and the non-periodic activity signal data.

[0009] Optionally, the above method also includes: using a data filtering processing algorithm to filter out the noise signal in the above motion signal data to obtain a filtering result; using a least mean square estimation algorithm to perform optimal estimation processing on the above filtering result to obtain an optimal estimate of the above motion signal data.

[0010] Optionally, when the angle acquisition device includes a first sensor arranged at the first joint and a second sensor arranged at the second joint, the angle feature extraction algorithm is used to process the multiple motion signal data, including: respectively calculating the relative directions of the first sensor coordinate system and the second sensor coordinate system relative to the joint coordinate system, wherein the first sensor coordinate system is a coordinate system established based on the first sensor, the second sensor coordinate system is a coordinate system established based on the second sensor, the first sensor coordinate system and the second sensor coordinate system are dynamic coordinate systems, and the joint coordinate system is the initial reference coordinate system; based on the relative direction, the first sensor coordinate system and the second sensor coordinate system are controlled to align with the joint coordinate system in the vertical direction and the horizontal direction to obtain the relative direction after alignment; based on the relative direction after alignment, the joint flexion and extension angles of the first joint and the second joint in the sagittal plane are estimated, wherein the joint flexion and extension angles are the angles between the vertical components of the first sensor coordinate system and the second sensor coordinate system; and the estimated joint flexion and extension angles are used as the joint angles.

[0011] Optionally, before respectively calculating the relative directions of the first sensor coordinate system and the second sensor coordinate system with respect to the joint coordinate system, the above method also includes: determining the first sensor coordinate system of the above first sensor and the second sensor coordinate system of the above second sensor; and determining the above joint coordinate system constructed based on the above first joint and the above second joint.

[0012] Optionally, the above method also includes: when performing direction alignment processing in the above vertical direction, obtaining acceleration inertia data of the above acquisition device in a stationary state; and calculating the average gravity vector corresponding to the sensor coordinate system corresponding to the above acquisition device based on the above acceleration inertia data.

[0013] Optionally, the above method also includes: when performing directional alignment processing in the above horizontal direction, when a misalignment angle is detected, the misalignment angle is used to calculate the rotation matrix around the X-axis and Y-axis of the above joint coordinate system, and based on the above rotation matrix, the above second sensor coordinate system is controlled to rotate around the Z-axis of the above joint coordinate system to align with the above first sensor coordinate system.

[0014] Optionally, after controlling the second sensor coordinate system to rotate around the Z-axis of the joint coordinate system based on the rotation matrix to align with the first sensor coordinate system, the method further includes: determining the spatial positions of the first sensor and the second sensor by respectively comparing the angular velocity vector differences between the first joint, the second joint and the joint coordinate system; dynamically measuring and aligning the directional differences between the first joint and the second joint to obtain precise motion data of the first joint and the second joint within a predetermined time.

[0015] According to another aspect of an embodiment of the present invention, a device for obtaining joint angles is also provided, including: an acquisition module for obtaining multiple motion signal data of a target object collected by an angle acquisition device, wherein the above-mentioned motion signal data include: spatial position, velocity and acceleration; a processing module for processing the above-mentioned multiple motion signal data using an adaptive time window cutting algorithm and an angle feature extraction algorithm to convert the above-mentioned multiple motion signal data into the joint angles of the above-mentioned target object.

[0016] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is further provided, wherein the computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing any one of the above-mentioned methods for obtaining joint angles.

[0017] According to another aspect of an embodiment of the present invention, an electronic device is provided, comprising a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any one of the above-mentioned methods for obtaining joint angles.

[0018] In an embodiment of the present invention, multiple motion signal data of the target object collected by the angle acquisition device are obtained, wherein the above motion signal data include: spatial position, velocity and acceleration; an adaptive time window cutting algorithm and an angle feature extraction algorithm are used to process the above multiple motion signal data to convert the above multiple motion signal data into the joint angles of the above target object, thereby achieving the purpose of obtaining accurate motion data through the angle acquisition device, thereby achieving the technical effect of accurately identifying the joint angles of the human body, and further solving the technical problems of the joint angle acquisition method in the prior art being inconvenient to use and poor versatility. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application. In the drawings:

[0020] Figure 1 is a flow chart of a method for acquiring joint angles according to an embodiment of the application;

[0021] Figure 2 is a schematic diagram of an optional fixed time window with quasi-periodicity according to an embodiment of the application;

[0022] Figure 3 is a structural schematic diagram of an optional joint coordinate system according to an embodiment of the application;

[0023] Figure 4 is a structural schematic diagram of a device for acquiring joint angles according to an embodiment of the application. DETAILED DESCRIPTION

[0024] In order to make the technical personnel of the present application better understand the present application, the following will be combined with the drawings of 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 a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor should be within the scope of protection of the present application.

[0025] It should be noted that the terms "first", "second", and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not necessarily limit to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0026] Embodiment 1

[0027] According to an embodiment of the present invention, an embodiment of a method for obtaining joint angles is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0028] Figure 1 FIG. 1 is a flow chart of a method for obtaining joint angles according to an embodiment of the present invention. Figure 1 As shown, the method includes the following steps:

[0029] Step S102, acquiring a plurality of motion signal data of the target object acquired by the angle acquisition device, wherein the motion signal data includes: spatial position, velocity and acceleration;

[0030] Step S104 , using an adaptive time window cutting algorithm and an angle feature extraction algorithm to process the plurality of motion signal data, so as to convert the plurality of motion signal data into the joint angles of the target object.

[0031] In an embodiment of the present invention, multiple motion signal data of the target object are collected by an angle acquisition device, and the motion signal data are subjected to time window data cutting, data filtering and feature processing to achieve accurate recognition of the joint angle of the target object.

[0032] It should be noted that the above-mentioned angle acquisition device can be a gyroscope (IMU) sensor, and the above-mentioned target object can be a joint of an exoskeleton, such as a leg joint, an upper limb joint, etc.; the above-mentioned motion signal data includes: spatial position, velocity and acceleration, etc.

[0033] As an alternative, the exoskeleton and wearer could be integrated, with the exoskeleton providing assistance, protection, and support. Ideally, the exoskeleton would act like the wearer's internal bones, providing support and strength. Wearing a suitable exoskeleton could help the wearer stand and walk normally or improve upper limb mobility, significantly enhancing their limb function.

[0034] It should be noted that a mechanical exoskeleton system is a device worn on the outside of the operator's body. It not only provides the operator with functions such as protection and body support, but also provides the wearer with additional power or capabilities, enhancing human function and enabling the wearer to complete certain functions and tasks under the operator's control. The exoskeleton's gait control needs to be highly stable and robust, as well as "natural" and "adaptable." "Natural" means that the gait model must be based on the normal human walking pattern, ensuring that the gait is close to the normal human walking pattern in terms of muscle use and the subjective experience of walking. "Adaptability" means that the gait model must be able to automatically match and adjust the gait according to the physical condition and walking habits of different users.

[0035] In the existing technology, most methods of obtaining joint angles are to identify joint angles through angle sensors or encoders of exoskeleton joint modules. However, angle sensors have disadvantages such as inconvenient use, difficult installation, complex results, and easy damage. Joint module encoders have disadvantages such as high requirements for usage conditions, poor versatility, and high cost.

[0036] Through the embodiments of the present invention, the method for acquiring exoskeleton joint angles based on a gyroscope (IMU) sensor achieves the purpose of acquiring accurate motion data through an angle acquisition device by time window data cutting, data filtering and feature processing of IMU sensor data, thereby realizing the technical effect of accurately identifying human joint angles, and further solving the technical problems of the existing method for acquiring joint angles being inconvenient to use and having poor versatility.

[0037] In an optional embodiment, an adaptive time window cutting algorithm is used to process the plurality of motion signal data, including:

[0038] Step S202, pre-classifying the plurality of motion signal data to obtain periodic motion signal data and non-periodic motion signal data;

[0039] Step S204 : extracting a time window from the periodic motion signal data using the adaptive time window cutting algorithm, wherein the normalized autocorrelation function of the adaptive time window cutting algorithm has the same period as the initial signal of the motion signal data.

[0040] In an embodiment of the present invention, the acquired multiple motion signal data are first pre-classified to obtain periodic activity signal data and non-periodic activity signal data; and the adaptive time window cutting algorithm is used to extract the time window from the periodic activity signal data.

[0041] It should be noted that most human activities, such as walking, jogging, going up and down stairs, and going up and down slopes, are quasi-periodic, while other activities, such as sitting and standing, are non-periodic. Therefore, the above-mentioned motion signal data are divided into periodic activity signal data and non-periodic activity signal data.

[0042] It's also important to note that since the collected IMU sensor data is a discrete time series, it takes an indefinite amount of time to complete a cycle of activity, making it impossible to directly calculate the activity type at the sampling point. A common approach is to use a time window to divide the sequence into several segments, using each segment as an instance for human activity recognition. There are three main methods for dividing the time window: sliding window, event-defined window, and activity-defined window. The sliding window method, which divides the signal into fixed-length segments, is the most commonly used window method, but suffers from low accuracy and limited versatility. Event-defined window and activity-defined window methods require signal preprocessing before determining the window length. Due to the complexity of the algorithms, they are often used for offline recognition.

[0043] As an optional embodiment, an overlapping sliding window method can be used to optimize and improve the sliding window and improve the classification accuracy. When selecting a sliding time window, certain basic principles should be followed. For example, the length of the time window should be appropriate to prevent two or more activities from falling into one time window, or the data in the time window is too short to describe the activity. By using a fixed-length time window and moving the time window to obtain instances, the moving length in the moving step determines the percentage of overlap between adjacent windows. Figure 2 The diagram shows a fixed time window with quasi-periodicity. Activities such as running and walking are quasi-periodic. If a fixed time window is used to capture data, the data will be cut off at random positions within a period, and the number of periods in a time window will be unpredictable. To address this issue, an adaptive time window method can be used to process quasi-periodic data.

[0044] It should be noted that the truncation position of the above data is Figure 2 The position shown by the vertical dotted line.

[0045] In an optional embodiment, pre-classifying the plurality of motion signal data to obtain periodic activity signal data and non-periodic activity signal data includes:

[0046] Step S302: remove the average value of the plurality of motion signal data to obtain processed motion signal data, wherein:

[0047] Step S304 : performing pre-classification processing on the processed activity signal data to obtain the periodic activity signal data and the non-periodic activity signal data.

[0048] In an embodiment of the present invention, the processed activity signal data is obtained by removing the average value of the plurality of motion signal data, and the processed activity signal data is pre-classified to obtain the periodic activity signal data and the non-periodic activity signal data.

[0049] As an optional embodiment, the above-mentioned adaptive time window method uses an autocorrelation method to obtain periods from motion data. Because a non-zero average value will lead to high correlation, it is necessary to remove the average value from the motion data before extracting the period. After removing the average value, the periodic activity signal is separated from the non-periodic activity signal, and then an adaptive sliding window is used to extract the periodic signal from the periodic activity.

[0050] In an embodiment of the present application, the normalized autocorrelation function of the autocorrelation signal extraction method has the same period as the original signal. When the time window is extracted using the autocorrelation method, the length of the created time window can be set to a length that can accommodate two to three periods of data.

[0051] It should be noted that the above-mentioned mean value removal processing is used to remove the non-zero mean values ​​in the multiple motion signal data mentioned above; the basic principle of the autocorrelation method is the normalization of the signal, and the autocorrelation function has the same period as the original signal. Similar to the periodic signal, the length between the two maximum values ​​of the autocorrelation method is the length of the period. The length from 0 to the first maximum value is the length of the first period, and the length from the first maximum value to the second maximum value is the length of the second period. And so on, the third, fourth, and up to the length of all periods can be obtained.

[0052] In an optional embodiment, it is assumed that the motion signal data in the time window of length N is a c [n], the non-zero average value in the time window of length i is a v [i], then the activity signal data a[n] after the above processing is:

[0053] It should be noted that the normalized autocorrelation function used to extract the period is:

[0054] In an optional embodiment, the above method further includes:

[0055] Step S402: Using a data filtering algorithm to filter out noise signals in the motion signal data to obtain a filtering result;

[0056] Step S404 : performing optimal estimation processing on the filtering result using a least mean square estimation algorithm to obtain an optimal estimate of the motion signal data.

[0057] In an embodiment of the present invention, the motion data signals collected by the exoskeleton IMU sensor typically contain certain errors and require preprocessing to effectively guarantee the subsequent joint recognition effect. Therefore, the data filtering algorithm is used to filter out noise signals in the motion signal data to obtain a filtered result. After processing multiple pieces of the motion signal data using the data filtering algorithm, the least mean square estimation algorithm is used to perform optimal estimation on the filtered results to obtain an optimal estimate of the motion signal data.

[0058] As an optional embodiment, the noise signals mixed in the gait signal usually satisfy the Gaussian distribution. Therefore, the least mean square estimation algorithm is used to perform optimal estimation processing on the noise signal and perform filtering processing. If s represents the gait signal, x represents the actual signal, and w represents the noise, then: s = x + w; and under a constraint condition, estimate x so that ||w||2 is minimized. That is, x∈span{e ikt :k=1,...,n}, the obtained This is the optimal estimate of the signal s.

[0059] In an optional embodiment, when the angle acquisition device includes a first sensor provided at the first joint and a second sensor provided at the second joint, the angle feature extraction algorithm is used to process the plurality of motion signal data, including:

[0060] Step S502, respectively calculating the relative directions of the first sensor coordinate system and the second sensor coordinate system relative to the joint coordinate system, wherein the first sensor coordinate system is a coordinate system established based on the first sensor, and the second sensor coordinate system is a coordinate system established based on the second sensor. The first sensor coordinate system and the second sensor coordinate system are dynamic coordinate systems, and the joint coordinate system is an initial reference coordinate system.

[0061] Step S504, based on the relative direction, controlling the first sensor coordinate system and the second sensor coordinate system to perform direction alignment processing with the joint coordinate system in the vertical direction and the horizontal direction to obtain the relative direction after the alignment processing;

[0062] Step S506 , estimating the joint flexion and extension angles of the first joint and the second joint in the sagittal plane based on the relative directions after the alignment process, wherein the joint flexion and extension angles are the angles between the vertical components of the first sensor coordinate system and the second sensor coordinate system;

[0063] Step S508: Using the estimated joint flexion and extension angle as the joint angle.

[0064] In the embodiment of the present invention, since the output data of each IMU sensor is the spatial position, velocity and acceleration of the current test point, the following steps are required to extract the angle features: alignment of the leg IMU sensor coordinate system, calculation of the relative direction of each IMU coordinate system, and estimation of the joint flexion and extension angle. Figure 3 As shown in the schematic diagram of the joint coordinate system structure, in the process of using the above-mentioned angle feature extraction algorithm to process the above-mentioned multiple motion signal data, the relative directions of the first sensor coordinate system and the second sensor coordinate system with respect to the joint coordinate system are first calculated respectively, and based on the above-mentioned relative directions, the above-mentioned first sensor coordinate system and the above-mentioned second sensor coordinate system are controlled to be aligned with the above-mentioned joint coordinate system in the vertical direction and the horizontal direction to obtain the relative directions after the alignment processing; based on the above-mentioned relative directions after the alignment processing, the joint flexion and extension angles of the above-mentioned first joint and the second joint in the sagittal plane are estimated, and the estimated above-mentioned joint flexion and extension angles are used as the above-mentioned joint angles.

[0065] It should be noted that the above-mentioned first sensor coordinate system is a coordinate system established based on the above-mentioned first sensor, the second sensor coordinate system is a coordinate system established based on the above-mentioned second sensor, the above-mentioned first sensor coordinate system and the above-mentioned second sensor coordinate system are dynamic coordinate systems, and the above-mentioned joint coordinate system is the initial reference coordinate system; the above-mentioned joint flexion and extension angle is the angle between the vertical components of the above-mentioned first sensor coordinate system and the above-mentioned second sensor coordinate system.

[0066] In an optional embodiment, before respectively calculating the relative directions of the first sensor coordinate system and the second sensor coordinate system with respect to the joint coordinate system, the method further includes:

[0067] Step S602, determining a first sensor coordinate system of the first sensor and a second sensor coordinate system of the second sensor;

[0068] Step S604: determining the joint coordinate system constructed based on the first joint and the second joint.

[0069] As an optional embodiment, Figure 3 As shown, the joint coordinate system JCS is determined based on the first sensor IJK at the thigh and the second sensor ijk at the calf.

[0070] It should be noted that, Figure 3 As shown, the generalized joint coordinates e1, e2, and e3 represent the three rotation systems of the human lower limbs, e1 represents the flexion and extension rotation of the knee joint, e2 represents the adduction and outward rotation of the thigh, and e3 represents the internal rotation and external rotation of the leg. The two sensor coordinate systems formed by the IMU sensors attached to the thigh and calf are set as the first sensor coordinate system UVW and the second sensor coordinate system uvw; the directions of the first sensor coordinate system and the second sensor coordinate system on the basic coordinate system XYZ can be expressed by two four-dimensional vectors Q A and Q B To express.

[0071] In an optional embodiment, the above method further includes:

[0072] Step S702, when performing the direction alignment process in the vertical direction, acquiring the acceleration inertia data of the acquisition device in a stationary state;

[0073] Step S704 : Calculate the average gravity vector corresponding to the sensor coordinate system corresponding to the acquisition device based on the acceleration inertia data.

[0074] As an optional embodiment, Figure 3 As shown, a tracking algorithm is used to calculate the direction of the sensor coordinate system UWV and uwv relative to JCS. The algorithm integrates the gyroscope and accelerometer signals to calculate the optimized direction at each sampling time. The direction and position values ​​of the sensor coordinate system of the thigh and calf relative to the base coordinate system XYZ are calculated using two four-dimensional vectors Q′ A and Q′ B express.

[0075] It should be noted that compared with the JCS model of the thigh and calf proposed in other solutions in the prior art, in the embodiment of the present application, the sensor coordinate system is aligned in the vertical and horizontal directions; in the vertical direction, in order to align with the direction of the JCS, the inertial data of the IMU acceleration at rest needs to be tested; in the stationary state, the IMU gravity acceleration signal is very prominent, so the average gravity vector of the thigh and calf sensor coordinate system can be calculated.

[0076] In an optional embodiment, the above method further includes:

[0077] Step S802: When performing directional alignment processing in the horizontal direction, when a misalignment angle is detected, the misalignment angle is used to calculate the rotation matrix around the X-axis and Y-axis of the joint coordinate system, and based on the rotation matrix, the second sensor coordinate system is controlled to rotate around the Z-axis of the joint coordinate system to align with the first sensor coordinate system.

[0078] As an optional embodiment, when performing directional alignment processing in the above-mentioned horizontal direction, it is achieved by straightening the legs and lifting them up and down from the side for about 30 seconds, which has a significant effect on calculating the angular velocity vector of the thigh and calf sensor coordinate systems; according to the above steps, the misalignment angle can be easily detected, and by using the misalignment angle, the rotation matrix around the X-axis and Y-axis can be calculated, which can rotate the second sensor coordinate system at the calf IMU around the aligned Z-axis to align with the first sensor coordinate system at the thigh IMU.

[0079] In an optional embodiment, after controlling the second sensor coordinate system to rotate around the Z axis of the joint coordinate system based on the rotation matrix to align with the first sensor coordinate system, the method further includes:

[0080] Step S902, determining the spatial positions of the first sensor and the second sensor by comparing the angular velocity vector differences of the first joint, the second joint and the joint coordinate system respectively;

[0081] Step S904 , dynamically measuring and aligning the directional differences between the first joint and the second joint to obtain accurate motion data of the first joint and the second joint within a predetermined time.

[0082] As an optional embodiment, the spatial position of each IMU sensor is determined by comparing the angular velocity vector differences between the thigh (the first joint) and the shank (the second joint) based on the joint coordinate system (JCS) during independent hip joint motion. The tracking algorithm, combined with a functional alignment program, can generate accurate thigh and shank motion data over a period of time.

[0083] It should be noted that the tracking system can dynamically measure the directional differences of the IMUs at the thigh and calf, and through the functional alignment program, realize the directional description on the three rotation systems.

[0084] In an embodiment of the present invention, the joint motion direction can be determined based on the directions of the first joint coordinate system and the second joint coordinate system, and the joint motion direction can be described based on the Euler angles of the base coordinate system XYZ. The IMU sensor coordinate system at any time can be converted into the rotation matrix of the initial coordinate system. The rotation matrix around each axis can be defined as:

[0085]

[0086] in θ and ψ are the rotation angles around the U-axis, V-axis, and W-axis in their respective sensor coordinate systems, respectively.

[0087] As an optional embodiment, an extended Kalman filter (EKF) may be used to describe the roll and pitch directions of the two sensor coordinate systems. In the embodiment of the present application, the EKF used has a vector of eight state components:

[0088]

[0089] Among them, the three-dimensional acceleration of the IMU sensor and three-dimensional angular velocity Both are based on the three axes of the sensor coordinate system and the rotation angle and the tilt angle θ. The rotation between the dynamic coordinate system of the sensor and the initial coordinate system at time step k is represented by three Euler angles θ and ψ are used to represent the angles of rotation of the coordinate system. and the tilt angle θ.

[0090] As an optional embodiment, the dynamic system f can be linearly modeled as:

[0091]

[0092] Where k represents the time step, Δt represents the time interval between each time step, and is the noise vector on the acceleration and angular velocity, and express and the time derivative of θ. When using the Euler formula to calculate the knee joint angle with the IMU angular velocity, the IMU angular velocity vector will have a deviation component. The main reason is that the output of the EKF has drifted. Therefore, when calculating the azimuth angle, it is assumed that the yaw axis of the IMU deviation component is zero, and ω is set. ψ =0, then f7 and f8 are estimated as:

[0093] f7:

[0094] f8:

[0095] As an optional embodiment, the measurement results of the dynamic system are the three-dimensional acceleration and three-dimensional angular velocity of the IMU test points at the thigh and calf, and the above test points are measured in the sensor coordinate system of the thigh and calf. The measurement values ​​are described as:

[0096]

[0097] in, is the measurement noise. The output of the IMU sensor is composed of the angular velocity vector and the deviation component b is represented; under the premise that the motion data is periodic data, b is set as a constant in each test, and is the average value of angular velocity. The covariance matrix of the measurement and processing noise can be represented as:

[0098]

[0099] R = rId 6×6

[0100] where Id3 represents a unit matrix, R is the total rotation matrix, and r is a parameter in the algorithm.

[0101] As an optional embodiment, the flexion angle of the joint is defined in the sagittal plane of the thigh and the shank, for representing the included angle of the vertical components in the coordinate system of the first sensor at the thigh and the second sensor at the shank. The relative direction of the coordinate system over time is estimated by the extended Kalman filter EKF, wherein the direction is based on the initial coordinate system.

[0102] It should be noted that the transformation matrix of the sensor dynamic coordinate system at any time step relative to the initial coordinate system is R i . The roll and pitch components are estimated using the EKF, and the vertical components of the sensor coordinate system at time step k are calculated based on the initial coordinate system, wherein the vertical components of the thigh and the shank are respectively:

[0103]

[0104]

[0105] Optionally, the vertical and horizontal alignment matrix R Z1 , R Z2 and R XY are used to further transform the sensor vertical components represented by the initial coordinate system on the joint coordinate system JCS, as follows:

[0106]

[0107]

[0108] wherein the joint flexion angle at time step k is calculated by projecting the leg vertical components r 1 and r 2 onto the plane of the base coordinate system XY.

[0109]

[0110] wherein the rotation sign function

[0111] Through the above steps, based on the acquisition of joint motion signal data from the exoskeleton sensor, and using adaptive time window cutting algorithm and angle feature extraction algorithm, the motion data collected by the IMU is converted into leg joint angles in real time; this method consumes little algorithm, has high real-time performance, good stability, and reliable output data, and has the characteristics of high versatility and high scalability, low latency, large data volume, and high accuracy; and does not require structural improvement and processing at the joints, with the characteristics of simple implementation, low cost, easy maintenance, and good scenario applicability.

[0112] It should be noted that the IMU-based exoskeleton joint angle acquisition method proposed in the embodiment of the present application can not only be used for detection and identification of leg joint angles, but also for identification of upper limb joint angles. It has good versatility, can meet the identification requirements of most exoskeleton joint angles, and has a wide range of applications.

[0113] Example 2

[0114] According to an embodiment of the present invention, there is also provided an embodiment of a device for implementing the above-mentioned method for obtaining joint angles. Figure 4 FIG. 1 is a structural diagram of a device for obtaining joint angle according to an embodiment of the present invention. Figure 4 As shown, the joint angle acquisition device includes: an acquisition module 40 and a processing module 42, wherein:

[0115] An acquisition module 40 is configured to acquire a plurality of motion signal data of a target object acquired by an angle acquisition device, wherein the motion signal data includes: spatial position, velocity, and acceleration;

[0116] The processing module 42 is configured to process the plurality of motion signal data using an adaptive time window cutting algorithm and an angle feature extraction algorithm to convert the plurality of motion signal data into joint angles of the target object.

[0117] It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.

[0118] It should be noted that the acquisition module 40 and the processing module 42 correspond to steps S102 to S104 in Example 1. The examples and application scenarios implemented by the modules and the corresponding steps are the same, but are not limited to the contents disclosed in Example 1. It should be noted that the modules, as part of the device, can be run in a computer terminal.

[0119] It should be noted that the optional or preferred implementation of this embodiment can refer to the relevant description in Example 1 and will not be repeated here.

[0120] The above-mentioned device for obtaining joint angles may further include a processor and a memory. The above-mentioned device for obtaining joint angles, etc. are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to implement corresponding functions.

[0121] The processor includes a core, which retrieves the corresponding program unit from memory. There can be one or more cores. Memory may include non-permanent memory in a computer-readable medium, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory includes at least one memory chip.

[0122] According to an embodiment of the present application, an embodiment of a computer-readable storage medium is also provided. Optionally, in this embodiment, the computer-readable storage medium includes a stored program, wherein when the program is executed, the device containing the computer-readable storage medium is controlled to execute any of the above-mentioned methods for obtaining joint angles.

[0123] Optionally, in this embodiment, the computer-readable storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group, and the computer-readable storage medium includes a stored program.

[0124] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: obtaining multiple motion signal data of the target object collected by the angle acquisition device, wherein the above motion signal data include: spatial position, velocity and acceleration; using an adaptive time window cutting algorithm and an angle feature extraction algorithm to process the above multiple motion signal data to convert the above multiple motion signal data into the joint angles of the above target object.

[0125] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: pre-classify the multiple motion signal data to obtain periodic activity signal data and non-periodic activity signal data; use the above-mentioned adaptive time window cutting algorithm to extract the time window from the above-mentioned periodic activity signal data, wherein the normalized autocorrelation function of the above-mentioned adaptive time window cutting algorithm has the same period as the initial signal of the above-mentioned motion signal data.

[0126] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: performing mean value removal processing on the multiple motion signal data to obtain processed activity signal data, wherein the mean value removal processing is used to remove non-zero mean values ​​in the multiple motion signal data; performing pre-classification processing on the processed activity signal data to obtain the periodic activity signal data and the non-periodic activity signal data.

[0127] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: using a data filtering processing algorithm to filter out the noise signal in the above motion signal data to obtain a filtering result; using a least mean square estimation algorithm to perform optimal estimation processing on the above filtering result to obtain an optimal estimation of the above motion signal data;

[0128] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: respectively calculate the relative directions of the first sensor coordinate system and the second sensor coordinate system relative to the joint coordinate system, wherein the first sensor coordinate system is a coordinate system established based on the first sensor, and the second sensor coordinate system is a coordinate system established based on the second sensor, the first sensor coordinate system and the second sensor coordinate system are dynamic coordinate systems, and the joint coordinate system is the initial reference coordinate system; based on the relative directions, the first sensor coordinate system and the second sensor coordinate system are controlled to perform direction alignment processing with the joint coordinate system in the vertical direction and the horizontal direction to obtain the relative directions after alignment processing; based on the relative directions after alignment processing, estimate the joint flexion and extension angles of the first joint and the second joint in the sagittal plane, wherein the joint flexion and extension angles are the angles between the vertical components of the first sensor coordinate system and the second sensor coordinate system; and use the estimated joint flexion and extension angles as the joint angles.

[0129] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: determine the first sensor coordinate system of the above-mentioned first sensor and the second sensor coordinate system of the above-mentioned second sensor; determine the above-mentioned joint coordinate system constructed based on the above-mentioned first joint and the above-mentioned second joint.

[0130] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: the above method also includes: when performing direction alignment processing in the above vertical direction, obtaining the acceleration inertia data of the above acquisition device in a stationary state; based on the above acceleration inertia data, calculating the average gravity vector corresponding to the sensor coordinate system corresponding to the above acquisition device.

[0131] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: when performing directional alignment processing in the above-mentioned horizontal direction, when a misalignment angle is detected, the misalignment angle is used to calculate the rotation matrix around the X-axis and Y-axis of the above-mentioned joint coordinate system, and based on the above-mentioned rotation matrix, the above-mentioned second sensor coordinate system is controlled to rotate around the Z-axis of the above-mentioned joint coordinate system to be aligned with the above-mentioned first sensor coordinate system.

[0132] Optionally, when the program is running, the device where the computer-readable storage medium is located is controlled to perform the following functions: determine the spatial positions of the first sensor and the second sensor by respectively comparing the angular velocity vector differences between the first joint, the second joint and the joint coordinate system; dynamically measure and align the directional differences between the first joint and the second joint to obtain accurate motion data of the first joint and the second joint within a predetermined time.

[0133] According to an embodiment of the present application, an embodiment of a processor is further provided. Optionally, in this embodiment, the processor is used to run a program, wherein when the program is run, any of the above methods for obtaining joint angles is executed.

[0134] According to an embodiment of the present application, an embodiment of an electronic device is also provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any one of the above methods for obtaining joint angles.

[0135] According to an embodiment of the present application, an embodiment of a computer program product is also provided. When executed on a data processing device, it is suitable for executing a program that initializes any of the above-mentioned method steps for obtaining joint angles.

[0136] The serial numbers of the above embodiments of the present invention are for description only and do not represent the advantages or disadvantages of the embodiments.

[0137] In the above embodiments of the present invention, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0138] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only exemplary. For example, the division of the units can be a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0139] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., may be located in one place, or may be distributed to multiple units. Part or all of the units may be selected according to actual needs to achieve the purpose of the embodiment.

[0140] In addition, the functional units in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0141] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable computer readable storage medium. Based on this understanding, the technical solutions of the present application or the part of the prior art that contributes essentially or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a computer readable storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned computer readable storage medium includes: a U disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store program codes.

[0142] The above is only the preferred embodiment of the present application. It should be noted that for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, and these improvements and refinements should be considered as the protection scope of the present application.

Claims

1. A method for obtaining joint angles, characterized in that: include: Acquire multiple motion signal data of the target object collected by the angle acquisition device, wherein the motion signal data includes: spatial position, velocity and acceleration; Adopting an adaptive time window cutting algorithm and an angle feature extraction algorithm to process the plurality of motion signal data to convert the plurality of motion signal data into joint angles of the target object; The method of processing the plurality of motion signal data using an adaptive time window cutting algorithm comprises: performing pre-classification processing on the plurality of motion signal data to obtain periodic activity signal data and non-periodic activity signal data; extracting a time window from the periodic activity signal data using the adaptive time window cutting algorithm, wherein a normalized autocorrelation function of the adaptive time window cutting algorithm has the same period as an initial signal of the motion signal data; In which, the method also includes: when the angle acquisition device includes a first sensor arranged at a first joint and a second sensor arranged at a second joint, after controlling the second sensor coordinate system to rotate around the Z axis of the joint coordinate system based on the rotation matrix to align with the first sensor coordinate system, the method also includes: determining the spatial positions of the first sensor and the second sensor by respectively comparing the angular velocity vector differences between the first joint, the second joint and the joint coordinate system; dynamically measuring and aligning the directional differences between the first joint and the second joint to obtain precise motion data of the first joint and the second joint within a predetermined time, wherein the first sensor coordinate system is a coordinate system established based on the first sensor, the second sensor coordinate system is a coordinate system established based on the second sensor, and the joint coordinate system is the initial reference coordinate system.

2. The method according to claim 1, characterized in that Pre-classifying the plurality of motion signal data to obtain periodic activity signal data and non-periodic activity signal data, including: performing mean value removal processing on the plurality of motion signal data to obtain processed activity signal data, wherein the mean value removal processing is used to remove non-zero mean values ​​in the plurality of motion signal data; The processed activity signal data is pre-classified to obtain the periodic activity signal data and the non-periodic activity signal data.

3. The method according to claim 1, characterized in that The method further comprises: Using a data filtering algorithm to filter out noise signals in the motion signal data to obtain a filtering result; The filtering result is subjected to optimal estimation processing by adopting a least mean square estimation algorithm to obtain an optimal estimation of the motion signal data.

4. The method according to claim 1, wherein The angle feature extraction algorithm is used to process the plurality of motion signal data, including: respectively calculating relative directions of the first sensor coordinate system and the second sensor coordinate system relative to the joint coordinate system, wherein the first sensor coordinate system and the second sensor coordinate system are dynamic coordinate systems; Based on the relative direction, the first sensor coordinate system and the second sensor coordinate system are controlled to perform direction alignment processing with the joint coordinate system in the vertical direction and the horizontal direction to obtain the relative direction after the alignment processing; estimating a joint flexion-extension angle of the first joint and the second joint in a sagittal plane based on the relative directions after the alignment processing, wherein the joint flexion-extension angle is an angle between vertical components of the first sensor coordinate system and the second sensor coordinate system; The estimated joint flexion and extension angle is used as the joint angle.

5. The method according to claim 4, characterized in that Before respectively calculating the relative directions of the first sensor coordinate system and the second sensor coordinate system with respect to the joint coordinate system, the method further includes: determining a first sensor coordinate system of the first sensor and a second sensor coordinate system of the second sensor; The joint coordinate system constructed based on the first joint and the second joint is determined.

6. The method according to claim 4, characterized in that The method further comprises: When performing the direction alignment process in the vertical direction, acquiring acceleration inertia data of the acquisition device in a stationary state; An average gravity vector corresponding to the sensor coordinate system corresponding to the acquisition device is calculated based on the acceleration inertial data.

7. The method according to claim 4, characterized in that The method further comprises: When performing directional alignment processing in the horizontal direction, when a misalignment angle is detected, the misalignment angle is used to calculate the rotation matrix around the X-axis and Y-axis of the joint coordinate system, and based on the rotation matrix, the second sensor coordinate system is controlled to rotate around the Z-axis of the joint coordinate system to be aligned with the first sensor coordinate system.

8. A device for obtaining joint angles, characterized in that: include: An acquisition module is used to acquire a plurality of motion signal data of a target object acquired by an angle acquisition device, wherein the motion signal data includes: spatial position, velocity and acceleration; a processing module, configured to process the plurality of motion signal data using an adaptive time window cutting algorithm and an angle feature extraction algorithm, so as to convert the plurality of motion signal data into joint angles of the target object; The processing module is further configured to perform pre-classification processing on the plurality of motion signal data to obtain periodic activity signal data and non-periodic activity signal data; and extract a time window from the periodic activity signal data using the adaptive time window cutting algorithm, wherein the normalized autocorrelation function of the adaptive time window cutting algorithm has the same period as the initial signal of the motion signal data; Wherein, the device is also used to, when the angle acquisition device includes a first sensor arranged at a first joint and a second sensor arranged at a second joint, after controlling the second sensor coordinate system to rotate around the Z axis of the joint coordinate system based on the rotation matrix to align with the first sensor coordinate system, determine the spatial positions of the first sensor and the second sensor by respectively comparing the angular velocity vector differences between the first joint, the second joint and the joint coordinate system; dynamically measure and align the directional differences between the first joint and the second joint to obtain precise motion data of the first joint and the second joint within a predetermined time, wherein the first sensor coordinate system is a coordinate system established based on the first sensor, the second sensor coordinate system is a coordinate system established based on the second sensor, and the joint coordinate system is the initial reference coordinate system.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executed by the method for obtaining joint angles according to any one of claims 1 to 7.

10. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to execute the method for obtaining a joint angle according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Fitness exercise recognition method based on wearable sensor

    CN111089604A

  • Real-time calculation method for angle of anti-position-movement joint based on inertial sensors

    CN111887856A