A method and system for human kinematics analysis based on inverse kinematics

By using an adaptive error state Kalman filter and inverse kinematics method, combined with an IMU and a human kinematics model, the problems of expensive equipment and computational complexity in existing technologies are solved, enabling real-time and accurate kinematic data measurement and reducing costs.

CN115937255BActive Publication Date: 2026-03-10FUZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-10
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing human kinematics analysis systems rely on specialized equipment and facilities, are expensive, and are not suitable for everyday measurements by the general public. Furthermore, existing algorithms are computationally complex or susceptible to interference, making it difficult to achieve real-time and accurate kinematic data measurement.

Method used

An adaptive error state Kalman filter (AESKF) is used to estimate the IMU attitude angles. Combined with the inverse kinematics method, a human kinematic model is constructed by minimizing the axis angle difference between the actual IMU and the virtual IMU, and the joint angles are calculated using IMU data.

Benefits of technology

It achieves accurate and noise-resistant real-time measurement of human kinematics data, requires minimal computation, is suitable for real-time monitoring, and reduces equipment costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115937255B_ABST
    Figure CN115937255B_ABST
Patent Text Reader

Abstract

This invention relates to a method and system for human kinematics analysis based on inverse kinematics. The method includes: estimating the attitude angles of an inertial sensing unit (IMU) attached to a body segment using an adaptive error state Kalman filter (AESKF); constructing a human kinematic model with joint degrees of freedom and range of motion constraints, and generating a virtual IMU corresponding to the actual wearing position; combining the attitude angle data with the human kinematic model, and calculating the joint angles during human movement using an inverse kinematics estimation method that minimizes the difference in axis angles between the actual IMU and the virtual IMU. This method and system are advantageous for accurately measuring human kinematic data, with low computational cost and good real-time performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of human kinematics analysis technology, specifically relating to a human kinematics analysis method and system based on inverse kinematics. Background Technology

[0002] Human kinematics measurement and analysis have numerous applications in medical diagnosis and rehabilitation, including the diagnosis and treatment assessment of neuromotor disorders, and the rehabilitation of injuries that may affect an individual's mobility. To assess the severity of these conditions and movement disorders, clinicians frequently use various clinical rating scales. However, these rating scales are subjective, transient, and coarse, failing to capture subtle changes in a patient's motor state.

[0003] Therefore, many studies currently utilize motion capture and analysis systems based on optics, magnetism, and acoustics to continuously and objectively measure patients' daily physical activities and evaluate the effectiveness of different treatments and therapies. These measurements can also be used for rehabilitation to help restore motor function in stroke or traumatic brain injury patients. While these motion analysis systems can provide accurate measurement results, they rely on specific site conditions, specialized equipment, and personnel. These systems are often considered the gold standard for measurement, but they are expensive and not suitable for everyday measurements by the general public.

[0004] The rapid development of inertial sensors has led to their widespread use in motion measurement and analysis. An inertial measurement unit (IMU) integrates an accelerometer, gyroscope, and magnetometer to measure acceleration, angular velocity, and magnetic field strength during motion, respectively. Connecting IMUs to different parts of the body allows for the breaking down of laboratory limitations, enabling continuous detection of motion signals during daily activities. Rapid advancements in tracking algorithms allow individuals to quantify their own movements. Currently, many commercially available full-body inertial motion capture systems exist, such as Xsens and Noitom. However, these commercial systems are based on proprietary hardware and analysis software, are not open-source, and are quite expensive.

[0005] In most studies using IMUs to assess human kinematics, "direct kinematics" is a common approach. This method directly connects the IMU to body segments according to predefined orientations to estimate joint kinematics. Forward kinematics theory is also widely used. Through a top-down analysis approach, given the orientation and transformation sequence of higher-level bones, it drives the movement of connected lower-level bones, and then solves for the pose of the distal bones at each moment during the movement of the higher-level bones. Based on the construction of a hierarchical joint-bond model, a Denavit-Hartenberg constrained whole-body pose fusion algorithm is used. By establishing a fixed coordinate system for each joint point, the pose change angle from parent node to child node is determined using inertial sensor measurements, and then forward kinematic equations are established to solve for the pose. In recent years, machine learning methods have also been increasingly applied in the field of human pose tracking. Models such as recurrent neural networks are used to solve for the parameters of skinned multi-person linear models, and then visualization is achieved.

[0006] These methods typically require combining Kalman filters, extended Kalman filters, and complementary filters to calculate the IMU's attitude. While Kalman filters provide relatively accurate estimates, they are limited to linear systems; extended Kalman filters overcome the limitations of Kalman filters, but their computational complexity is high, making them unsuitable for real-time system analysis; complementary filters, based on gradient descent, are computationally efficient but susceptible to magnetic interference. Furthermore, the application of these algorithms often requires parameter adjustments based on the specific application scenario, making them difficult for non-experts to adapt and apply. Summary of the Invention

[0007] The purpose of this invention is to provide a method and system for human kinematics analysis based on inverse kinematics. This method and system are beneficial for accurately measuring human kinematic data, and have low computational load and good real-time performance.

[0008] To achieve the above objectives, the technical solution adopted by this invention is: a human kinematics analysis method based on inverse kinematics, comprising:

[0009] The attitude angle of the inertial sensing unit (IMU) attached to the body segment is estimated using an adaptive error state Kalman filter (AESKF).

[0010] Construct a human kinematic model with joint degrees of freedom and joint range of motion constraints, and generate a virtual IMU corresponding to the actual wearing position;

[0011] By combining attitude angle data with a human kinematics model, the joint angles during human movement are calculated using an inverse kinematics estimation method that minimizes the difference between the axial angles of the actual IMU and the virtual IMU.

[0012] Furthermore, the attitude angle of the IMU attached to the body segment is estimated using AESKF, specifically as follows:

[0013] The data from the IMU's three-axis accelerometer, gyroscope, and magnetometer are input into the AESKF to obtain the IMU's current attitude angle. The AESKF estimates the tilt angle error and heading angle error through two error state Kalman filters (ESKF) to adaptively update the Kalman gain. The tilt angle is the angle of the IMU in the xy plane.

[0014] When the sampling interval dt is sufficiently small, the quaternion of the angular velocity at time k is approximately expressed as:

[0015]

[0016] Therefore, the attitude estimate obtained by integrating the angular velocity measurements from the gyroscope is:

[0017]

[0018] in Represents quaternion multiplication;

[0019] When the initial measurement value y of the magnetometer is obtained m,0 The initial measurement value y of the accelerometer a,0 Earth's magnetic field h ref and gravitational acceleration g ref At that time, the reference estimates of gravitational acceleration and magnetic field strength are calculated using the current IMU attitude quaternions, and are expressed as follows: Therefore, by subtracting the reference estimate from the measured value, the acceleration and magnetic disturbance error model is obtained:

[0020]

[0021] The disturbances experienced by the IMU accelerometer and magnetometer are modeled as a first-order autoregressive process, thereby obtaining the measurement models for Earth's gravitational acceleration and geomagnetic field:

[0022]

[0023] Wherein, parameter c a Set to 0.1, c m Set to 0.99; white noise process w a,k and w m,k Setting it to 0; then the gravitational acceleration and geomagnetic field estimates in the improved sensor reference frame are:

[0024]

[0025] The measurements from the accelerometer and magnetometer are expressed as v. k The attitude quaternion representation in the global coordinate system is as follows exist In the case of accuracy, the corresponding estimated value of Earth's gravitational acceleration vector or the horizontal component of the geomagnetic field. g v k Its reference vector e ref Overlap; assuming the interference model is sufficiently accurate, then... g v k With e ref The difference between them is quantized about the corresponding axis n. k The angle difference can be further simplified to:

[0026]

[0027] The attitude error is decomposed into two measurement errors: tilt angle error γ a,k and yaw error γ m,k :

[0028]

[0029]

[0030] Prior estimation of tilt angle error Prior estimation of error state covariance Defined by the following formula:

[0031]

[0032] in, For the posterior estimate of the error state covariance, the variance Q of the zero-mean process. a,k It depends on the variance of the gyroscope measurements along the x and y axes;

[0033] Similarly, the posterior estimation of yaw angle error Posterior estimation of state covariance and error Defined by the following formula:

[0034]

[0035] From a sliding window of size N on γ k The sample variance is used to calculate the covariance R of the system measurements. k By combining the prior estimation of the combined error state covariance and the measurement residual S k The covariance determines the Kalman gain μ k The specific process is as follows:

[0036]

[0037] Inclination error γ measured using an accelerometer a,k To correct q′ k ;R a,kThe system measurement covariance is calculated using narrow and wide windows respectively. Then, the attitude quaternion q″ after accelerometer correction is used. k The calculation process is as follows:

[0038]

[0039] Therefore, ESKF only uses the magnetometer to correct the heading angle of the attitude estimate, so it only needs to analyze the change in magnetic field strength in the global coordinate system. g Δb xy,k :

[0040]

[0041] If the change in magnetic field strength g Δb xy,k Less than ζ xy If the magnetometer measurement is accurate, the value is considered reliable, and therefore ESKF calibration is performed.

[0042]

[0043] Therefore, the attitude quaternion q obtained by further calibrating the magnetometer k The "″" is input to the gyroscope for updating, and the update calculation is performed for the next moment.

[0044] Furthermore, a human kinematic model with joint degrees of freedom and range of motion constraints is constructed, and a virtual IMU corresponding to the actual wearing position is generated. The specific method is as follows:

[0045] Ignoring muscle and skin tissue, the complex human movement process is simplified into a combination of rotational movements of individual bones around corresponding joints. Furthermore, bones and joints with small ranges of motion are ignored during the modeling process. A human kinematic model containing 15 bones and 14 joints is constructed. The 15 bones include the head, left and right upper arms, left and right forearms, left and right hands, chest, pelvis, left and right thighs, left and right lower legs, and left and right feet. The 14 joints include the cervical joint, left and right shoulder joints, left and right elbow joints, left and right wrist joints, lumbar joints, left and right hip joints, left and right knee joints, and left and right ankle joints. The human kinematic model has constraints on joint rotational degrees of freedom and rotational angle ranges.

[0046] Define a human body model coordinate system with the human body in a T-pose: the body is upright, looking forward, with arms naturally extended at shoulder level, palms down, legs straight and parallel, and feet pointing forward; the X-axis of the human body model coordinate system points horizontally to the front of the body, the Y-axis points vertically to the top of the body, and the Z-axis points horizontally to the right of the body.

[0047] In the human kinematics model, a virtual IMU corresponding to the actual wearing position is predefined, and the initial orientation of the virtual IMU is specified;

[0048] The IMU coordinate system is calibrated to the human body model coordinate system; after all IMUs are worn on the body according to predefined orientations, the human body maintains a T-pose, and at the corresponding wearing positions, there exists a corresponding virtual IMU coordinate system orientation; assuming that an offset occurs when wearing the IMUs, the ideal initial quaternion at rest is... for:

[0049]

[0050] in, The initial quaternions are obtained from the actual IMU measurements, which have been converted into the human body model coordinate system. h q Δ The offset after quaternion attitude compensation calibration of the virtual IMU.

[0051] Furthermore, by combining attitude angle data with a human kinematics model, the joint angles during human movement are calculated using an inverse kinematics estimation method that minimizes the difference in axis angles between the actual IMU and the virtual IMU. The specific method is as follows:

[0052] Using IMU motion data to drive the calibrated human kinematics model, the actual measured IMU rotation matrix is ​​first calculated using equation (16). Rotation matrix relative to the virtual IMU of the human kinematic model axial angle difference θ i Then, the weighted sum of squares of the axis angle difference is minimized by equation (17), i.e., the cost function, to solve for the joint angle q of human motion.

[0053]

[0054]

[0055] Among them, w i Let represent the weight of the i-th IMU; the above minimization problem is an unconstrained global optimization, each time frame is independent of the previous time frame, and for the joint angle of each time frame, the global minimum of the cost function is found iteratively by gradient descent; the initial rotation matrix of the virtual IMU comes from the data solved in the previous time step, and the initial axis angle difference θ is obtained by equation (16). i,0 Let the step size of gradient descent be α, and the termination adjustment be η. Then, the axis angle difference θ after the Nth iteration can be obtained from equation (18). i,N When the iteration termination condition is met When the inverse kinematics optimization is obtained, the axis angle difference and its corresponding joint angle are obtained;

[0056]

[0057] This invention also provides a human kinematics analysis system based on inverse kinematics for implementing the above-mentioned method, including an IMU and a computer. The IMU includes a power module, a main control module, an inertial measurement module, and a Bluetooth mesh module. The power module mainly consists of a USB charging circuit, a lithium battery, a voltage conversion circuit, and a voltage regulation and filtering circuit, used to provide operating voltage for the IMU. The main control module is used to control and connect the inertial measurement module and the Bluetooth mesh module, and to execute an adaptive error state Kalman filter to calculate the IMU attitude. The inertial measurement module integrates a gyroscope, an accelerometer, and a magnetometer. The Bluetooth mesh module is used to realize network communication between the IMU and the computer, and to complete the timestamp synchronization and data transmission of the data acquisition process. The computer is used to construct a human kinematics model with joint degrees of freedom and joint range of motion constraints, and to generate a virtual IMU corresponding to the actual wearing position. Then, the attitude angle data is combined with the human kinematics model, and the joint angles of the human movement process are calculated by the inverse kinematics estimation method that minimizes the difference between the axis angles of the actual IMU and the virtual IMU.

[0058] Compared with existing technologies, this invention has the following advantages: It provides a human kinematics analysis method and system based on inverse kinematics. This method combines the quaternion posture data obtained from IMU measurements through an adaptive error state Kalman filter with a human kinematics model, and solves for the joint angles during human movement using an optimized inverse kinematics method, thereby accurately measuring whole-body kinematic data. This method has high accuracy, strong resistance to noise interference, low computational load, and is suitable for real-time kinematic monitoring. The adaptive error state Kalman filter has a small estimation error for IMU posture; a single solution requires only 65 additions, 88 subtractions, and 214 multiplications. The computational efficiency of the inverse kinematics optimization algorithm depends on the number of IMUs and the data transmission speed, and the overall computation time meets real-time requirements. Attached Figure Description

[0059] Figure 1 This is a flowchart illustrating the method implementation of an embodiment of the present invention.

[0060] Figure 2 This is a flowchart of the AESKF process in an embodiment of the present invention.

[0061] Figure 3 This is a schematic diagram of the human kinematics model in an embodiment of the present invention.

[0062] Figure 4 This is a block diagram illustrating the system implementation principle in an embodiment of the present invention.

[0063] Figure 5 This is a flowchart of the main control module in an embodiment of the present invention. Detailed Implementation

[0064] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0065] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.

[0066] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this application. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.

[0067] like Figure 1 As shown, this embodiment provides a human kinematics analysis method based on inverse kinematics, characterized by including:

[0068] 1) The attitude angle of the inertial sensing unit (IMU) attached to the body segment is estimated using an adaptive error state Kalman filter (AESKF).

[0069] 2) Construct a human kinematic model with joint degrees of freedom and joint range of motion constraints, and generate a virtual IMU corresponding to the actual wearing position.

[0070] 3) Combine the attitude angle data with the human kinematics model, and calculate the joint angles of the human movement process by using the inverse kinematics estimation method that minimizes the difference between the axis angles of the actual IMU and the virtual IMU.

[0071] 1. Quaternion-based Adaptive Error State Kalman Filter (AESKF)

[0072] Data from the IMU's three-axis accelerometer, gyroscope, and magnetometer are input into the AESKF to obtain the IMU's current attitude angle. The AESKF estimates the tilt angle (the IMU's angle in the xy-plane) error and heading angle error using two error state Kalman filters (ESKFs), respectively, and adaptively updates the Kalman gain accordingly. Its workflow is as follows: Figure 2 As shown.

[0073] 1.1 Gyroscope Update

[0074] When the sampling interval dt is sufficiently small, the quaternion of the angular velocity at time k can be approximated as:

[0075]

[0076] Therefore, the attitude estimate obtained by integrating the angular velocity measurements from the gyroscope is:

[0077]

[0078] in, This represents quaternion multiplication.

[0079] 1.2 Acceleration and Magnetic Interference Error Model in the IMU Carrier Reference Frame (S-frame)

[0080] When the initial measurement value y of the magnetometer is obtained m,0 The initial measurement value y of the accelerometer a,0 Earth's magnetic field h ref and gravitational acceleration g ref Then, the reference estimates of gravitational acceleration and magnetic field strength can be calculated using the current IMU attitude quaternions, expressed as follows: Therefore, by subtracting the reference estimate from the measured value, the acceleration and magnetic disturbance error model can be obtained:

[0081]

[0082] 1.3 Measurement Model of Earth's Gravitational Acceleration and Geomagnetic Field in Sensor Reference Frame

[0083] By modeling the disturbances experienced by the IMU accelerometer and magnetometer as a first-order autoregressive process, a measurement model for Earth's gravitational acceleration and geomagnetic field can be obtained:

[0084]

[0085] In this embodiment, parameter c a Set to 0.1, c m Set to 0.99; white noise process w a,k and w m,k Set to 0. Then the gravitational acceleration and geomagnetic field estimates in the improved sensor reference frame are:

[0086]

[0087] 1.4 Measurement of attitude error γ k

[0088] The measurements from the accelerometer and magnetometer are expressed as v. k The attitude quaternion representation in the global coordinate system (GFR, g-frame) is as follows: exist In the case of accuracy, the corresponding estimated value of Earth's gravitational acceleration vector or the horizontal component of the geomagnetic field. g v k It should be with its reference vector eref Overlap. Assuming the interference model is sufficiently accurate, then... g v k With e ref The difference between them can be quantified about the corresponding axis n. k The angle difference, and the fact that this angle is relatively small, can be further simplified:

[0089]

[0090] Attitude error can be decomposed into two measurement errors—tilt angle error γ a,k and yaw error γ m,k :

[0091]

[0092]

[0093] 1.5 Error-State Kalman Filter (ESKF)

[0094] (1) Prediction of prior values

[0095] Prior estimation of tilt angle error Prior estimation of error state covariance Defined by the following formula:

[0096]

[0097] in, For the posterior estimate of the error state covariance, the variance Q of the zero-mean process. a,k It depends on the variance of the gyroscope measurements along the x and y axes.

[0098] Similarly, the posterior estimation of yaw angle error Posterior estimation of state covariance and error Defined by the following formula:

[0099]

[0100] (2) Online estimation of measurement noise

[0101] Covariance R of system measurements k From a sliding window of size N on γ k The Kalman gain μ is calculated from the sample variance. k It is achieved by prior estimation of the combined error state covariance and measurement residual S k The covariance is used to determine this, and the specific process is as follows:

[0102]

[0103] (3) Estimated value correction

[0104] The tilt angle error γ measured by the accelerometer a,k To correct q′ k R a,k The system measurement covariance is calculated using narrow and wide windows respectively. Then, the attitude quaternion q″ after accelerometer correction is used. k The calculation process is as follows:

[0105]

[0106] Therefore, ESKF only uses the magnetometer to correct the heading angle of the attitude estimate, so it only needs to analyze the change in magnetic field strength in the global coordinate system. g Δb xy,k :

[0107]

[0108] If the change in magnetic field strength | g Δb xy,k |less than ζ xy (If 5 units can be selected), then the magnetometer measurement is considered reliable, and therefore ESKF calibration is performed:

[0109]

[0110] Therefore, the attitude quaternion q obtained by further calibrating the magnetometer k The "″" is input to the gyroscope for updating, and the update calculation is performed for the next moment.

[0111] 2. Human kinematic model

[0112] Constructing a human kinematic model that conforms to the basic movement characteristics of the human body is fundamental to the tracking, reconstruction, and analysis of human movements. Bones and joints are the most basic components of the human body structure; therefore, muscles, skin, and other tissues can be ignored, simplifying the complex human movement process into a combination of rotational movements of individual bones around their corresponding joints. Based on research needs, this embodiment ignores bones and joints with small ranges of motion during the modeling process, constructing a human kinematic model containing 15 bones (head, left and right upper arms, left and right forearms, left and right hands, chest, pelvis, left and right thighs, left and right lower legs, and left and right feet) and 14 joints (cervical joints, left and right shoulder joints, left and right elbow joints, left and right wrist joints, lumbar joints, left and right hip joints, left and right knee joints, and left and right ankle joints), as shown in the figure. Rods represent bones, and black dots represent joints.

[0113] To facilitate kinematic description, this method defines a human body coordinate system (h-frame). For example... Figure 3As shown, the human body is in a T-pose: upright, looking forward, arms naturally extended at shoulder level with palms down, legs straight and parallel, feet pointing forward. Then, the X-axis of the h-axis points horizontally forward of the body, the Y-axis points vertically upward, and the Z-axis points horizontally to the right of the body.

[0114] Based on the anatomical structure of human joints, different types of joints in the human body have different rotational degrees of freedom, and can be divided into uniaxial joints, biaxial joints, and multiaxial joints. At the same time, different joints have different rotational angle ranges. Therefore, the established human body model has joint rotational degree of freedom constraints and rotational angle range constraints, as shown in the table below. Joint constraints can be used to determine whether inertial motion capture data exceeds the normal range of motion of human joints, thereby eliminating abnormal data.

[0115] Table 1 Joint constraints of the human kinematic model

[0116]

[0117]

[0118] For each bone segment, a corresponding IMU is required for tracking. Therefore, a virtual IMU is predefined in the human body model. The virtual IMU has a defined initial orientation, and during data acquisition, the orientation of the actual IMU worn should be as consistent as possible with the orientation of the virtual IMU. In practical applications, the IMUs are worn according to research needs. For example, to study lower limb kinematic data of gait, only 7 IMUs (segments 3 and 10-15) need to be worn, while to study upper limb kinematics, only 9 IMUs (segments 1-9) need to be worn.

[0119] 3. Static calibration from IMU to body segment

[0120] During the wearing process, it is impossible to perfectly align the axis of the sensor carrier coordinate system with the axis of the coordinate system (h system) defined by the human body model. Furthermore, the surface of human skin does not have an ideal plane. Therefore, it is necessary to calibrate the IMU coordinate system to the human body model coordinate system.

[0121] After all IMUs are worn on the body in a predefined orientation, the body maintains a T-pose. At each wearing position, there exists a corresponding coordinate system orientation for the virtual IMU. Assuming an offset occurs during IMU wearing, the ideal initial quaternion at rest... for:

[0122]

[0123] in, The initial quaternions are obtained from the actual IMU measurements, which have been converted into the human body model coordinate system.h q Δ The offset after quaternion attitude compensation calibration of the virtual IMU.

[0124] 4. Motion tracking and inverse kinematics calculation

[0125] After static calibration, the model-based inverse kinematics optimization objective is to calculate the joint angles of the entire model to determine the optimal match between the orientation of the experimental IMU and the orientation of the corresponding virtual IMU attached to the model. The human kinematics model must adhere to the constraints of human joint rotation degrees of freedom and rotation angle range. Using IMU motion data to drive the calibrated human kinematics model, the actual measured IMU rotation matrix is ​​first calculated using equation (16). Rotation matrix relative to the virtual IMU of the human kinematic model axial angle difference θ i Then, the human body joint angle q is solved by minimizing the weighted sum of squares of the axis angle difference (cost function) using equation (17). i This represents the weight of the i-th IMU, and the weight can be determined based on the experimental conditions, such as the location of the IMU and its hardware characteristics.

[0126]

[0127]

[0128] The aforementioned minimization problem is an unconstrained global optimization, where each time frame is independent of the previous time frame. For the joint angle of each time frame, this patent iteratively searches for the global minimum of the cost function using gradient descent. The initial rotation matrix of the virtual IMU is derived from the data solved in the previous time step, and the initial axis angle difference θ can be obtained from equation (16). i,0 Let the step size of gradient descent be α, and the termination adjustment be η. Then, the axis angle difference θ after the Nth iteration can be obtained from the following formula. i,N When the iteration termination condition is met Then, the axis angle difference after inverse kinematics optimization and its corresponding joint angle can be obtained.

[0129]

[0130] 5. System Design

[0131] This embodiment also provides a human kinematics analysis system based on inverse kinematics for implementing the above method, including an IMU and a computer, such as... Figure 4 As shown. The IMU includes a power module, a main control module, an inertial measurement module, and a Bluetooth mesh module.

[0132] The power module mainly consists of a USB charging circuit, a lithium battery, a voltage conversion circuit, and a voltage regulation and filtering circuit, used to provide operating voltage for the IMU. The main control module uses an STM32F103C8T6 chip to control and connect the inertial measurement module and the Bluetooth mesh module, and executes an adaptive error state Kalman filter to calculate the IMU attitude. Its implementation flowchart is shown below. Figure 5 As shown. The inertial measurement module uses an MPU-9250 module, which integrates a gyroscope, accelerometer, and magnetometer. The Bluetooth mesh module is used to realize network communication between the IMU and the computer, and to complete the timestamp synchronization and data transmission during the data acquisition process. The computer is used to construct a human kinematic model with joint degrees of freedom and joint range of motion constraints, and to generate a virtual IMU corresponding to the actual wearing position. Then, the attitude angle data is combined with the human kinematic model, and the joint angles during human movement are calculated by the inverse kinematic estimation method that minimizes the difference between the axis angles of the actual IMU and the virtual IMU. The computer combines the IMU data with the established human model to complete static calibration, drive the human model motion tracking, and execute the inverse kinematic optimization algorithm in the computer to obtain the joint angles.

[0133] The specific steps for using this system are as follows:

[0134] 1. Wear the IMU on various parts of the body according to the predefined orientation;

[0135] 2. Power on each IMU, form a Bluetooth mesh network, and complete the timestamp synchronization;

[0136] 3. Collect static calibration data and update the orientation of the virtual IMU in the model;

[0137] 4. Collect motion data, and the model performs tracking and inverse kinematics calculations;

[0138] 5. Output joint angle data.

[0139] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0140] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0141] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0142] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0143] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.

Claims

1. A method of human kinematic analysis based on inverse kinematics, characterized in that, The method comprises the following steps: Adaptive error state Kalman filter (AESKF) is used to estimate the attitude angle of the inertial sensor unit (IMU) attached to the body segment, which comprises the following steps: inputting the data of the three-axis accelerometer, gyroscope and magnetometer of the IMU into the AESKF to obtain the current attitude angle of the IMU; the AESKF estimates the roll angle error and the heading angle error through two error state Kalman filters (ESKF) to adaptively update the Kalman gain, wherein the roll angle is the angle of the IMU in the xy plane; A human body kinematics model with joint degrees of freedom and joint range of motion constraints is constructed, and a virtual IMU corresponding to the actual wearing position is generated; The attitude angle data is combined with the human body kinematics model, and the joint angle of the human body movement process is calculated by the inverse kinematics estimation method of minimizing the axis angle difference between the actual IMU and the virtual IMU; The attitude angle data is combined with the human body kinematics model, and the joint angle of the human body movement process is calculated by the inverse kinematics estimation method of minimizing the axis angle difference between the actual IMU and the virtual IMU, and the specific method is as follows: Using the IMU motion data to drive the calibrated human kinematics model, the actual measured IMU rotation matrix is first calculated using equation (16) The axis angle difference θ i of the virtual IMU relative to the human kinematics model rotation matrix Then the human motion joint angle q is solved by minimizing the weighted sum of the axis angle difference, i.e. the cost function, using equation (17) where w i represents the weight of the ith IMU; the above minimization problem is an unconstrained global optimization, each time frame is independent of the previous time frame, and for each time frame of joint angle, the global minimum of the cost function is iteratively found by gradient descent method; the initial rotation matrix of the virtual IMU is derived from the data solved at the previous moment, and the initial axis angle difference θ i,0 is obtained by formula (16); assuming that the step size of gradient descent is α and the termination adjustment is η, then the axis angle difference θ i,N after the Nth iteration is obtained by formula (18); when the iteration termination condition ||▽f||<η is satisfied, the optimized axis angle difference and the corresponding joint angle of inverse kinematics are obtained.

2. The human kinematic analysis method based on inverse kinematics according to claim 1, characterized in that, A human body kinematics model with joint degrees of freedom and joint range of motion constraints is constructed, and a virtual IMU corresponding to the actual wearing position is generated, and the specific method is as follows: A human body kinematics model containing 15 bones and 14 joints is constructed, wherein the 15 bones include head, left and right upper arms, left and right forearms, left and right hands, chest, pelvic bone, left and right thighs, left and right shanks and left and right feet, and the 14 joints include neck joint, left and right shoulder joints, left and right elbow joints, left and right wrist joints, waist joint, left and right hip joints, left and right knee joints and left and right ankle joints; A human body model coordinate system is defined, and the human body is in T posture: the body is upright, the eyes look forward, the arms are naturally open and level with the shoulders, the palms are downward, the legs are upright and parallel, and the feet are forward; the X axis of the human body model coordinate system is horizontally directed to the front of the body, the Y axis is vertically directed to the top of the body, and the Z axis is horizontally directed to the right of the body; A virtual IMU corresponding to the actual wearing position is predefined in the human body kinematics model, and the virtual IMU defines the initial direction; correcting the IMU coordinate system to the human body model coordinate system; after all the IMUs are worn on the body in a predefined direction, the human body keeps a T posture, and at the corresponding wearing position, there is a coordinate system direction of the corresponding virtual IMU; assuming that an offset is generated when the IMU is worn, the ideal initial quaternion at rest is q0 = (1, 0, 0, 0) wherein, qinitial is the initial quaternion measured by the actual IMU that has been transformed into the human model coordinate system, thereby obtaining the initial placement bias quaternion h q Δ compensate the quaternion pose of the virtual IMU by the offset after calibration.

3. A system for the analysis of human kinematics based on inverse kinematics for implementing the method according to any one of claims 1 or 2, characterized in that, The IMU comprises a power module, a main control module, an inertial measurement module and a Bluetooth mesh module; the power module mainly comprises a USB charging circuit, a lithium battery, a voltage conversion circuit and a voltage stabilizing and filtering circuit, and is used for providing working voltage for the IMU; the main control module is used for controlling and connecting the inertial measurement module and the Bluetooth mesh module, and performing adaptive error state Kalman filter to solve the IMU attitude; The inertial measurement module integrates a gyroscope, an accelerometer and a magnetometer; the Bluetooth mesh module is used for realizing the networking communication between the IMU and the computer, completing the timestamp synchronization and data transmission in the data acquisition process; the computer is used for constructing a human body kinematics model with joint degrees of freedom and joint range of motion constraints, and generating a virtual IMU corresponding to the actual wearing position, then combining the attitude angle data with the human body kinematics model, and calculating the joint angle of the human body movement process by the inverse kinematics estimation method of minimizing the axis angle difference between the actual IMU and the virtual IMU.

Citation Information

Patent Citations

  • Human motion digital twinning construction method based on inertial motion capture technology

    CN115373511A

  • Improved system for capturing movements of an articulated structure

    WO2013131989A1