Human body walking posture motion capturing method
Through the simplified multi-rigid body model of human body and multi-sensor wireless observation combined with improved Kalman filtering algorithm, the problems of high equipment cost and limited error reduction methods for pedestrian walking posture motion capture in the prior art are solved, and efficient and low-cost walking posture capture effect is achieved.
Patent Information
- Application Number
- CN202510289711.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2025-06-24
AI Technical Summary
The existing technology has problems such as high equipment cost, strict experimental environment requirements, limited error reduction methods, failure to effectively solve the error between the trunk and lower limbs during walking, and the technical time-consuming based on artificial intelligence algorithms.
The simplified human body multi-rigid body model combined with multi-sensor wireless observation method is adopted to capture the motion of walking posture through improved Kalman filtering algorithm and zero-speed update technology, reducing errors and improving data synchronization.
It realizes efficient walking posture motion capture in a conventional environment, reduces experimental costs and equipment requirements, improves data accuracy and synchronization, and saves computing resources and time.
Smart Images

Figure CN120198959A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of pedestrian positioning, and particularly relates to a method for capturing human walking posture and movement. Background Art
[0002] Currently, the mainstream motion capture technologies mainly include infrared photography and wireless sensor measurement. The infrared photography technology uses a high-speed camera to record the human body movement image. Combining with computer vision recognition technology, by capturing the movement of body surface marker points, first estimate the displacement of human joints, and then further estimate the displacement and inclination of limbs, and obtain motion parameters such as acceleration and angular acceleration through differentiation. The wireless sensor measurement technology mainly uses wearable accelerometers, gyroscopes and magnetometers to complete the observation of acceleration, angular velocity and angle, and then reversely calculates the displacement information through an integration algorithm. The existing wireless sensor measurement technology is widely used in the fields of ergonomics or industrial production. It mainly uses independent sensors worn on the waist, feet or upper limbs to achieve motion capture of a certain part, posture pattern recognition or overall positioning of the indoor space. This technology is extended to the motion capture of each part and joint of the lower limbs of the human body in the walking posture.
[0003] However, currently, the equipment cost of the infrared photography technology is expensive, and the experimental environment requirements are harsh. The experimental operation and data processing are cumbersome, and it is difficult to carry out on-site observations in the conventional production and living environments. There are the following problems in wireless sensor measurement: (1) The consideration of the error sources and the means of error reduction are limited. Although Kalman filtering or improved Kalman filtering based on deep learning algorithms are used to eliminate the data drift of sensor acquisition, the noise of data transmission and the cumulative error in the data calculation process to a certain extent, there is no sensor layout scheme for the trunk and lower limbs during walking to reduce the error caused by the sensor layout position. Secondly, the body posture during steady walking has a small difference between each step cycle, which belongs to a narrowband random process with relatively fixed distribution characteristics. The method of predicting and correcting the motion posture through the improved Kalman filtering technology has a good effect in multi-mode and unstable motions, but it is not fully applicable to stable motions such as walking with a single mode. (2) Most of the experimental schemes of the existing wireless observation technologies are proposed for a single observation object, but the human body is not regarded as a multi-body system composed of parts such as the upper limb, trunk and lower limb, and multi-site posture capture is not proposed for multi-body coupled motion observation, nor is the problem of difficult synchronization of the data collected by sensors of each part solved. (3) For the technology combining artificial intelligence algorithms and wireless observation, in order to obtain satisfactory prediction accuracy, it often requires a large number of training samples and high computing power as a cost, and it takes a long time, which is not conducive to realizing the problems of large-scale and wide-range simple observations for a large number of experimental groups in civil engineering applications. Summary of the Invention
[0004] In order to solve the above technical problems, the present invention provides a method for capturing human walking posture motion.
[0005] To implement the above technology, the details are as follows:
[0006] S1. Establish an analysis model, and collect data from the analysis model through the calibrated sensor to obtain a motion posture; wherein the analysis model includes: a simplified human body model, a coordinate system defined based on the simplified human body model, and gait parameters are defined; the steps for establishing the analysis model are as follows:
[0007] S1.1, obtain the seven rigid body model by simplifying the human body model;
[0008] The simplification methods include: (1) When a person walks, the body's center of mass is concentrated at the hip joint, and the body's center of mass is set at the lumbar spine at the midpoint of the line connecting the left and right hip joints during walking; (2) Because the head, upper limbs and trunk move synchronously during walking, the influence of the local movement of the head and upper limbs on the overall center of mass movement and the swing state of the lower limbs is ignored, and the head, upper limbs and trunk are combined and regarded as a rigid body HAT; (3) The lower limbs are divided into six rigid bodies: left and right thighs, left and right calves and left and right feet. By ignoring the deformation of muscles and the bending of the metatarsophalangeal joints of the feet, the center of mass of each rigid body remains unchanged during walking; (4) The hip joint, knee joint and ankle joint are simplified as hinges to connect the seven rigid bodies, and only the relative rotation of the rigid bodies on both sides of the joint hinge is observed;
[0009] By simplifying the human body model, the rigid bodies in the seven-body model are: HAT, left and right thighs, left and right calves, and left and right feet; the two ends of any rigid body are defined as the proximal end closer to the hip joint and the distal end farther from the hip joint;
[0010] The dimensional parameters of the human body model, including length and center of mass position, need to be used in the posture solution process, which can be measured for each experimental individual according to anthropometric methods.
[0011] S1.2, coordinate system defined based on simplified human body model, wherein the coordinate system includes first coordinate system, second coordinate system and third coordinate system; the first coordinate system is global coordinate system (Global Coordinate System, GCS), that is, when the subject performs a standard experiment of straight-line walking, the origin of GCS is defined as a footfall point of the right foot, x G The y axis points to the direction of travel. G The axis points upward along the normal direction of the ground, z G The axis points horizontally to the right side of the human body; the second coordinate system is the body coordinate system (BCS), that is, the origin of BCS is the center of mass of the rigid body, x BThe axis is in the direction of the rigid body axis, pointing from the proximal joint to the distal joint, y B The axis is in the direction of the rigid body normal, in the global coordinate system x G Oy G In the plane, pointing to the front side of the body, z B The axis points horizontally to the right side of the human body; The third coordinate system is the sensor local coordinate system (Sensor CoordinateSystem, SCS). The coordinate axes are based on the measurement directions defined by the sensor measurement unit. The sensor coordinate system integrating the three-axis measurement unit is usually a right-handed coordinate system that satisfies the right-hand screw theorem. The three axes are x S 、y S and z S ;
[0012] S1.3. Define gait parameters to obtain the step frequency and step length;
[0013] Among them, gait parameters include the stance phase, swing phase, phase difference, double support phase, and single support phase; Gait parameters are the basis for lower limb posture recognition; In the standard gait stage of the human walking process, taking a single lower limb as the object, the complete gait stage is divided into two parts, namely the stance phase and the swing phase; The stance phase is: taking the right foot as an example, from the time point when the right heel touches the ground to the time point when the right toe leaves the ground, during which the right foot remains in contact with the ground, which is called the right foot stance phase; The swing phase is: taking the right foot as an example, from the time point when the right toe leaves the ground to the time point when the right heel touches the ground again, during which the right foot is in a suspended swing state, which is called the right foot swing phase; The left foot alternates with the right foot in the same gait stage, and there is a fixed phase difference between the left and right foot gait stages; If taking both feet as the discussion object, the same gait stage can be further divided into two parts. The gait stage when both feet are in the stance phase is called the double support phase, and the stage when only one lower limb is in the stance phase is called the single support phase; The complete gait is composed of the alternation of the double support phase and the single support phase. The gait cycle is defined as the sum of the durations of the double support phase and the single support phase, and the step frequency is the reciprocal of the cycle; The step length is defined as the straight-line distance between the two feet in the double support phase; Among them, the expression of the step length is as follows:
[0014]
[0015] In the formula, l ob is the length of the observation area; N stp is the number of steps, and its calculation formula is as follows:
[0016] N stp = N f -1
[0017] In the formula, N f is the number of foot landing points in the observation area;
[0018] The calculation formula for the step frequency is:
[0019]
[0020] The steps of collecting data of the motion posture for the analysis model through the calibrated sensor are as follows:
[0021] S1.4. Select and arrange the sensors; the arrangement of the sensors shall meet the following conditions, including:
[0022] 1). Set the positions of the sensors according to the seven-rigid-body model as: the HAT part, the left and right thighs, the left and right calves, and the left and right feet; among them, the left and right thighs, the left and right calves, and the left and right feet are uniformly arranged on one side; the HAT part sensor is fixed at the lumbar vertebra; the thigh part is arranged on the outer side of the thigh, the calf part is arranged on the plane of the anterior edge of the tibia, and the foot part is arranged on the upper side of the dorsal metatarsal bones; 2). To reduce the observation error caused by the relative movement between the sensor and the body part, when fixing the sensor, use straps or fixing ropes and contact the body surface, avoiding thick clothes; 3). The fixing position should be the bone, avoiding the muscle to avoid the observation error caused by muscle deformation;
[0023] S1.5. Calibrate according to the positions of the arranged sensors;
[0024] The sensors that need to be calibrated are the thigh part and the calf part; the SCS at the thigh and calf only needs to rotate around the y S axis to be converted into BCS; the expression is as follows:
[0025] Z B = C S2B Z S
[0026] In the formula, Z S represents the measured data under SCS; Z B represents the measured data under BCS; C S2B is the rotation matrix, and the expression is as follows:
[0027]
[0028] In the formula, φ1, and θ1 are the angles of rotation around the x S , y S and z S axes of the local coordinate system of the sensor required to convert SCS to BCS in sequence;
[0029] S1.6. Arrange the calibrated sensors, and obtain the acceleration value through the arranged sensors;
[0030] The acceleration value includes: the measured acceleration value and the measured angular velocity value in the foot coordinate system;
[0031] It is found through testing that when two sensors are used simultaneously, the data synchronization is good, the quality is high, and a sufficient sampling frequency can be ensured;
[0032] The layout scheme of the calibrated sensors is shown in Table 2;
[0033] Table 2: Sensor layout scheme
[0034]
[0035] Three groups of experiments are conducted on the arranged sensors respectively. One group of experiments includes three walking observations. The variable is only the sensor layout scheme, and other experimental settings remain unchanged;
[0036] S1.7. Establish a discriminant formula for the stance phase and swing phase in lower limb gait parameters through the acceleration value;
[0037] According to the definition of the lower limb stance phase, during this stage, the foot is in contact with the ground. Compared with the swing phase, the movement of the foot is close to static, which means that the acceleration value measured by the foot accelerometer is close to the gravitational acceleration, and the angular velocity value measured by the gyroscope is close to zero. Therefore, the following discriminant formula can be established:
[0038]
[0039] In the formula, IND = 1 represents the stance phase; IND = 0 represents the swing phase; is the measured acceleration value in the foot coordinate system, and are the acceleration components in the x B , y B and z B directions of the foot coordinate axes respectively; is the measured angular velocity value, and are the angular velocity components in the rotation directions around the x B , y B and z B axes of the foot respectively; ||·|| represents the modulus operation; |·| represents the absolute value operation; g is the gravitational acceleration value; λ A and λ G are the acceleration and angular velocity thresholds respectively.
[0040] S1.8. Align the time axis through the lower limb stance phase and swing phase and construct full-body synchronized data to obtain the motion posture;
[0041] The time axes of the stance phase and swing phase of the lower limbs are aligned as follows: An experimental scheme with two sensors (i.e., the sensor layout scheme) is adopted, and the three tests of a group of experiments are carried out in sequence. In order to obtain synchronous data of all parts of the body, the time axes of the three tests also need to be aligned, that is, taking the time axis of one side of the foot as the reference system, aligning the endpoints of the stance phase and swing phase of each part, and performing linear interpolation or spline interpolation on the intermediate data; Constructing the whole-body synchronous data: According to the characteristics of normal gait, it can be known that the movements of the left and right lower limbs have the same period, and there is only a phase delay T between them de , so the synchronous data of the left lower limb can be obtained by translating T on the basis of the right lower limb data de , and the calculation expression is as follows:
[0042]
[0043] IND LF (t)=IND RF (t + T de )
[0044] Z BL (t)=Z BR (t + T de )
[0045] In the formula, f S is the sampling frequency; δt is the sampling time interval; the superscript L represents the left side, the superscript LF represents the left foot, LL represents the left calf, and LT represents the left thigh; t is the moment; Z BL (t) represents the measured data of the left lower limb at time t, and Z BR (t + T de ) represents the measured data of the right lower limb at time t + T de ; IND RF is the discrimination result of the stance phase of the right foot; IND LF is the discrimination result of the stance phase of the left foot.
[0046] S2. Solve the motion posture;
[0047] The spatial motion trajectories of each part can be solved one by one according to the two-branch structure of the human body in the order from the distal part to the proximal part. First, calculate the spatial position of the center of mass of the foot, then calculate the ankle position according to the inclination angle of the foot, then calculate the knee position in combination with the inclination angle of the calf, and finally calculate the hip position in combination with the inclination angle of the thigh. The angular acceleration of each part of the rotation can be obtained by numerical differentiation of the angular velocity observation result. The solution steps are as follows:
[0048] S2.1. Use the improved Kalman filter algorithm to solve the motion posture of the foot;
[0049] The spatial displacement of the foot centroid is obtained by integrating the acceleration. However, due to the existence of observation errors and data processing errors, the integration result has unacceptable data drift due to the influence of error accumulation. To solve the above problems, the present invention proposes an improved Kalman filter foot displacement calculation algorithm. The algorithm utilizes the characteristics that the foot velocity in the stance phase is approximately zero and the prior condition that the walking step length is known. Based on the Unscented Kalman Filter (UKF), the velocity and foot touchdown point in each step stance phase are corrected to eliminate the cumulative errors generated in the swing phase in a timely manner. The steps are as follows:
[0050] S2.1.1. Establish an improved Kalman filter foot displacement calculation algorithm;
[0051] Define the foot motion state quantity μ at time t t The expression is as follows:
[0052]
[0053] In the formula, where e t =[q 1,t q 2,t q 3,t T ; p t represents the displacement in the global coordinate system (GCS); v t represents the velocity in the global coordinate system (GCS); a t represents the acceleration in the global coordinate system (GCS); the acceleration observation deviation b A,t and the inclination angle of the foot coordinate (BCS) relative to the GCS are represented by the quaternion q t , e t and q 4,t are the vector and scalar parts of the quaternion respectively; the superscript T represents the transpose; q 1,t , q 2,t , q 3,t are the coefficients of the first imaginary term, the second imaginary term, and the third imaginary term of the quaternion respectively;
[0054] The basic idea of the Kalman filter is to obtain the prior estimate at time t + 1 from the initial value of the state quantity at time t through the theoretical model of the motion state, and obtain the prior estimate of the measured value at time t + 1 through the observation model Combined with the residual analysis between the estimated value and the experimental true value, the state of the prior estimate value is updated, and finally the posterior estimate at time t is obtained. The design of the algorithm includes: a theoretical model and an observation model.
[0055] The theoretical model of the present invention is established through the basic kinematic state equation. The acceleration state equation in its global coordinate system (GCS) is as follows:
[0056] a t+1 = a t + w a,t
[0057] In the formula, a t+1 and a t are the accelerations in the global coordinate system (GCS) at times t + 1 and t respectively; w a,t represents the acceleration model error, which is simulated by random Gaussian noise with an expected value of zero;
[0058] The expression for the acceleration observation deviation is:
[0059] b A,t+1 = b A,t + w bA,t
[0060] In the formula, b A,t+1 and b A,t are the acceleration observation deviations at times t + 1 and t respectively; w bA,t is the acceleration observation deviation model error, which follows a normal distribution with an expected value of zero;
[0061] For the velocity v t in the global coordinate system (GCS), a correction term is introduced on the basis of integrating the acceleration. The expression is:
[0062]
[0063] In the formula, δt is the time step or sampling time interval; is the velocity correction term; ξ is the weighting coefficient of the two parts of the velocity, taking 0 for the stance phase and 0 < ξ ≤ 1 for the swing phase; w v,t is the model error of the velocity, which follows a normal distribution with an expected value of zero;
[0064] The correction term uses the Zero-velocity Update (ZUPT) method to correct the velocity, and the expression is as follows:
[0065]
[0066] This expression is based on the discrimination of the stance phase. That is, when IND t = 1 for the stance phase, the velocity state quantity is corrected with zero velocity, and when IND t = 0 for the swing phase, the average velocity Perform corrections. The subscript k represents the number of steps, and update with the corrected speed.
[0067] The displacement p in the global coordinate system (GCS) t is calculated as follows:
[0068]
[0069] where p t+1 and p t are the displacements at times t + 1 and t respectively; w p,t is the displacement error, which also follows a normal distribution with zero mean;
[0070] The quaternion combined with the observed value of the angular velocity is calculated according to the following formula, and the expression is as follows:
[0071]
[0072] where Z G,t is the observed value of the angular velocity, Ω[Z G,t is the skew-symmetric matrix constructed from the angular velocity, [×] is the cross product operator, and w q,t is the model error of the quaternion;
[0073] The theoretical model can be represented by the state equation as follows:
[0074] μ t+1 = f(μ t ) = B t μ t + u t + w t ;
[0075]
[0076] where E represents the identity matrix and 0 represents the zero matrix.
[0077] The observation model is established based on the geomagnetic field and gravitational acceleration, and combines the results of the theoretical model to predict the measurement results of the magnetometer and accelerometer.
[0078] The magnetometer observation value can be predicted by the following formula:
[0079] ζ M,t+1 = C G2S (q t+1 )r M + n M,t+1
[0080] where C G2S is the rotation matrix from GCS to SCS, predicted by the theoretical model at time t + 1, q t+1denotes ζ M,t+1 is the predicted value of the magnetometer; r M is the magnetic field reversal of the GCS; n M,t+1 is the observed noise of the magnetic field, following a normal distribution with a mean of zero;
[0081] The observed value of the accelerometer consists of the gravitational acceleration, the motion acceleration, and the deviation caused by the experimental setup. Its prediction formula is:
[0082] ζ A,t+1 = C G2S (q t+1 )(a t+1 + g0 + b A,t+1 ) + n A,t+1
[0083] In the formula, ζ A,t+1 is the predicted value of the accelerometer, g0 is the gravitational acceleration under the GCS, and n A,t+1 is the accelerometer observation noise, following a normal distribution with an expectation of zero;
[0084] The geomagnetic direction reflects the global coordinate system direction and is relatively fixed. The magnetometer data reflects the sensor coordinate system direction and changes with motion. The observed value of the accelerometer includes the gravitational acceleration and the body motion acceleration, and they are equal only when the sensor is in a stationary state;
[0085] Combining the above two formulas, the expression of the observation model is obtained as follows:
[0086]
[0087] In the formula, μ t+1 is the prediction result of the theoretical model for the state quantity at time t + 1, h(·) represents the mapping relationship of the observation model, represents the observation noise vector.
[0088] The steps of the Unscented Kalman Filter (UKF) algorithm are as follows:
[0089] 1), Take the optimal estimate at time t as the initial value and construct a set consisting of 2n + 1 Sigma sample points near ; 2), Substitute the constructed sample points into the state equation of the theoretical model to calculate the theoretical predicted value and its covariance matrix at time t + 1; 3), Substitute the calculation result of 2) into the observation model to predict the observed value at time t + 1; 4), Calculate the Kalman coefficient K t+1 ; 5), Calculate the optimal estimate at time t + 1 6), Update the covariance matrix; 7), Take and Substitute it as the initial value into step 1), perform the calculation for the next time step, and loop steps 1) - 6) until the last time point.
[0090] S2.1.2. Correct the foot - landing point;
[0091] In order to further reduce the cumulative error generated during the displacement calculation, the foot displacement is corrected at the end of each step (i.e., the end of the swing phase and the start of the support phase). Define the displacement observation value of the foot - landing point at time t as the position at the start of the swing phase of the previous step plus the displacement experienced by the foot at the end of the swing phase (i.e., the step length), which can be expressed as follows:
[0092] Z P,t = p iniSW,k-1 + [l stp cosθ k-1 , l stp sinθ k-1 , 0]
[0093] In the formula, p iniSW,k-1 is the foot position at the start of the swing phase of the (k - 1) - th step; l stp is the step length, calculated according to the observation area distance and the number of steps; θ k-1 is the angle between the horizontal movement direction of the foot in the (k - 1) - th step and the global coordinate x G axis; Since the experimental setup is a straight - line walk along the x G axis, so take θ k-1 = 0.
[0094] Compare the above - defined displacement observation value of the foot - landing point at time t with the optimal prediction value of the improved Kalman filter algorithm, as shown in the following formula,
[0095]
[0096] If the deviation between the two is large (exceeding the threshold λ P ), then replace the prediction value with the measured value, and calculate the average speed of the (k - 1) - th step using the measured step length. The expression is as follows:
[0097]
[0098] In the formula, represents replacing the model prediction value with the measured value Z P,t of the foot position to eliminate the cumulative error exceeding the threshold, is the average speed of the foot's horizontal movement within the swing phase of the (k - 1) - th step, l stp is the step length, θ k-1 is the angle between the horizontal movement direction of the foot in the (k - 1) - th step and the global coordinate x G axis, [lstp cosθ k-1 , l stp sinθ k-1 , 0] is the vector representation of the horizontal movement distance of the (k - 1)-th step, and T SW,k-1 is the holding time of the (k - 1)-th step swing phase.
[0099] Otherwise, it is considered that the prediction accuracy is acceptable, and the average speed is calculated using the predicted step length. The expression is as follows:
[0100]
[0101] In the formula, the average speed of the foot movement within the swing phase of the (k - 1)-th step is also calculated by dividing the movement distance by the holding time T of the swing phase. SW,k-1 The movement distance is calculated by subtracting the foot position p at the start of the swing phase from the optimal estimated value of the foot position at the end of the swing phase. iniSW,k-1
[0102] Furthermore, the optimal estimated value of the foot position and the average speed are substituted into the unscented Kalman filter algorithm and the zero velocity update method to update the state variables.
[0103] S2.2. Calculate the lower limb movement posture;
[0104] The basic posture variables for human kinematics and dynamics calculations include linear displacement, linear acceleration, inclination angle, and angular acceleration. Among them, linear acceleration and inclination angle are the direct observable quantities of the experiment, and displacement and angular acceleration need to be further calculated from the direct observable quantities.
[0105] The calculation steps are as follows:
[0106] S2.2.1. Calculate the displacement. The expression is as follows:
[0107]
[0108] r RF2A = C Ant90 τ RF
[0109]
[0110] r RA2K = C Ant90 τ RL
[0111]
[0112] r RK2H = C Ant90 τ RT
[0113] wherein, p represents the positions of the center of mass and joints of the lower limb parts, the superscript RF represents the right foot, RA represents the right ankle joint, K represents the knee joint, and H represents the hip joint, that is p RF is the position of the center of mass of the right foot, p RA is the position of the right ankle joint, p RK is the position of the right knee joint, p H is the position of the hip joint; r represents the axial vectors of each part, all of which are unit vectors, where r RF2A is the direction vector from the center of mass of the right foot to the right ankle joint, that is, the axial vector of the right foot, r RA2K is the direction vector from the right ankle joint to the right knee joint, that is, the axial vector of the right calf, r RK2H is the direction vector from the right knee joint to the hip joint, that is, the axial vector of the right thigh; τ represents the unit vector in the normal direction of each part, that is, the unit vector of the body coordinate y B axis of each part, where τ RF is the normal vector of the right foot, τ RL is the normal vector of the right calf, τ RT is the normal vector of the right thigh; the axial vectors of each part can be obtained by rotating the normal vector counterclockwise by 90 degrees, that is, multiplying the normal vector by the rotation matrix C Ant90 , is the distance from the center of mass of the right foot to the ankle joint; is the distance from the ankle joint of the right calf to the knee joint; is the distance from the ankle joint of the right thigh to the knee joint;
[0114] The calculation process of the left lower limb is the same as that of the right side.
[0115] S2.2.2. The linear acceleration a is the acceleration observation value corrected by the Kalman filter, and the expression is as follows:
[0116] a = Z A ;
[0117] S2.2.3. The inclination angle of each part is defined as the angle between the normal direction τ and x G , and its calculation expression is as follows:
[0118]
[0119] wherein, τ(2) and τ(1) respectively represent the ordinate value and abscissa value of the normal unit vector;
[0120] S2.2.4. Calculation of angular acceleration;
[0121] The angular acceleration can be obtained from the first-order difference of the observed values of the angular velocity, and the calculation formula is:
[0122]
[0123] In the formula, Z G,t and Z G,t-1 are the observed values of the angular velocity at adjacent times t and t - 1 respectively, and δt is the sensor sampling time interval.
[0124] S2.2.5. Obtain the attitude solution result.
[0125] Advantages of the present invention:
[0126] The present invention combines a human multi-rigid-body model, a multi-sensor wireless observation method, and a Kalman filtering technology based on zero-velocity update and footfall correction to capture the movements of various parts of the human body in a walking posture, obtain human kinematic parameters, and can accurately reflect the human kinematic laws of the walking posture through the wireless observation method, including the time history curves of the displacements, inclinations, accelerations, and angular accelerations of various parts;
[0127] The zero-velocity criterion proposed by the present invention based on the walking posture characteristics of the foot can not only be used as a reference time axis for multi-sensor data synchronization, but also can be used to improve the Kalman filter with zero-velocity update, effectively eliminating the cumulative error problem that is difficult to solve by the Kalman filter, and does not increase too much computational complexity. Compared with the Kalman filtering technology based on artificial intelligence, it saves more time and reduces the technical threshold at the same time;
[0128] The sensor arrangement and calibration method proposed by the present invention is simple. The experiment does not require a strict laboratory environment and can be carried out in various actual scenarios. The equipment used is only a small number of wearable and low-cost sensors, as well as a PC with ordinary configuration. The experimental process is fast and the training cost for the test personnel is low.
[0129] The attitude information obtained from the experiment in the embodiment of the present invention can reflect the dynamic laws of the human body as a system and can be used as the basis for calculating joint forces and human-induced loads. Description of the drawings
[0130] Figure 1 is the flow chart of the present invention;
[0131] Figure 2 is the schematic diagram of the seven-rigid-body model;
[0132] Figure 3 is the length parameter diagram of the human body model;
[0133] Figure 4 is the schematic diagram of the gait phase;
[0134] Figure 5 This is the coordinate system, layout position, and calibration diagram of the sensor in this embodiment. Among them, part a is a schematic diagram of the sensor size; part b is a schematic diagram of the sensor at the HAT part; part c is a schematic diagram of the sensor at the thigh part; part d is a schematic diagram of the sensor at the calf part; part e is a schematic diagram of the sensor at the calf part; part f is a calibration diagram of the sensor at the thigh part; part g is a calibration diagram of the sensor at the calf part;
[0135] Figure 6 It is a schematic diagram of the experimental setup;
[0136] Figure 7 It is a diagram of the discrimination results of the foot support phase and swing phase;
[0137] Figure 8 It is a diagram of the acceleration synchronization data results of the right lower limb and HAT;
[0138] Figure 9 It is a diagram of the acceleration synchronization data results of the left lower limb;
[0139] Figure 10 It is a diagram of the foot motion solution process;
[0140] Figure 11 It is a diagram of the lower limb motion state calculation framework;
[0141] Figure 12 It is a diagram of the motion trajectory and direction of the right foot centroid;
[0142] Figure 13 It is a diagram of the lower limb motion trajectory;
[0143] Figure 14 It is a diagram of the inclination angle results of each part of the lower limb;
[0144] Figure 15 It is a diagram of the angular acceleration results of each part of the lower limb. Detailed implementation method
[0145] The present invention will be further described in detail below in combination with specific embodiments.
[0146] As Figure 1 shown, a method for capturing human walking postures and movements includes the following steps:
[0147] S1. Establish an analysis model, and collect motion postures through the calibrated sensor for the analysis model; among them, the analysis model includes: a simplified human model, a coordinate system defined based on the simplified human model, and gait parameters defined;
[0148] The steps for establishing the analysis model are as follows:
[0149] S1.1. Obtain a seven-rigid-body model by simplifying the human body model;
[0150] The simplification methods include: (1) When a human walks, the body's center of mass is concentrated at the hip joint. Set the body's center of mass during human walking at the lumbar vertebra at the midpoint of the line connecting the left and right hip joints; (2) Since the head, upper limbs, and trunk move synchronously during human walking, ignore the influence of the local movements of the head and upper limbs on the overall center of mass movement and the lower limb swing state, and combine the head, upper limbs, and trunk and regard them as a single rigid body (Head-Arms-Trunk, HAT); (3) Divide the lower limbs into six rigid bodies: the left and right thighs, the left and right calves, and the left and right feet. Ensure that the center of mass of each rigid body remains unchanged during walking by ignoring the muscle deformation and the bending of the metatarsophalangeal joints of the feet; (4) Simplify the hip, knee, and ankle joints into hinges to connect the seven rigid bodies, and only observe the relative rotation of the rigid bodies on both sides of the joint hinge;
[0151] As Figure 2 shown, the rigid bodies in the seven-rigid-body model obtained by simplifying the human body model are: HAT, the left and right thighs, the left and right calves, and the left and right feet; Thus, define the two ends of any rigid body. The end closer to the hip joint is called the proximal end, and the end farther from the hip joint is called the distal end;
[0152] As Figure 3 shown, during the attitude solution process, the size parameters of the human body model, including length and center of mass position, can be measured for each experimental individual according to anthropometric methods. If the measurement conditions are not sufficient, they can also be estimated according to the existing statistical results in proportion to the human height. For the Asian human body, the following proportions are recommended: the thigh length is 0.245 times the overall height, the calf length is 0.246 times the overall height, and the foot length is 0.152 times the overall height; And the center of mass positions of each rigid body are recommended to be calculated according to the proportions shown in Table 1;
[0153] Table 1 Relative positions of the centers of mass of the rigid bodies of the human body model
[0154]
[0155] In the table, l prox is the distance from the center of mass of the rigid body to the proximal joint; l dist is the distance from the center of mass of the rigid body to the distal joint; l sec is the total length of the part, that is, the distance from the proximal joint to the distal joint.
[0156] S1.2. Define a coordinate system based on a simplified human body model, where the coordinate system includes a first coordinate system, a second coordinate system, and a third coordinate system; the first coordinate system is the global coordinate system (Global Coordinate Systems, GCS). That is, when the subject conducts a standard straight walking experiment, the origin of the GCS is defined as a foot landing point of the right foot, the x G axis points in the walking direction, the y G axis points upward along the normal direction of the ground, and the z G axis horizontally points in the right direction of the human body; the second coordinate system is the local coordinate system of the body part (Body Coordinate Systems, BCS). That is, with the origin of the BCS as the centroid of the rigid body, the x B axis is the axis direction of the rigid body, pointing from the proximal joint to the distal joint, the y B axis is the normal direction of the rigid body. In the x G Oy G plane of the global coordinate system, it points to the front side of the body, and the z B axis horizontally points in the right direction of the human body; the third coordinate system is the local coordinate system of the sensor (Sensor CoordinateSystem, SCS). The coordinate axes are based on the measurement directions defined by the sensor measurement unit. The sensor coordinate system integrating a three-axis measurement unit is usually a right-handed coordinate system that satisfies the right-hand screw theorem. For example, the coordinate system shown in Figure 5 (a), its three axes are x S , y S (perpendicular to the x S Oz S plane and pointing outwards in the figure) and z S ;
[0157] S1.3. As shown in Figure 4 , define gait parameters to obtain the step frequency and step length;
[0158] Among them, the gait parameters include the stance phase, swing phase, phase difference, double-support phase, and single-support phase; the gait parameters are the basis for lower limb posture recognition; in the standard gait stage of the human walking process, taking a single lower limb as the object, the complete gait stage is divided into two parts, namely the stance phase and the swing phase; the stance phase is: taking the right foot as an example, from the time point when the right heel touches the ground to the time point when the right toe leaves the ground, during which the right foot remains in contact with the ground, which is called the right foot stance phase; the swing phase is: taking the right foot as an example, from the time when the right toe leaves the ground to the time when the right heel touches the ground again, during which the right foot is in a suspended swing state, which is called the right foot swing phase; the left foot alternates with the right foot in the same gait stage, and it is considered that there is a fixed phase difference between the left and right foot gait stages; if taking both feet as the discussion object, the same gait stage can be further divided into two parts. The gait stage when both feet are in the stance phase at the same time is called the double-support phase, and the stage when only one lower limb is in the stance phase is called the single-support phase;
[0159] A complete gait is composed of alternating double - support phases and single - support phases. The gait cycle is defined as the sum of the durations of the double - support phase and the single - support phase, and the gait frequency is the reciprocal of the cycle; the step length is defined as the straight - line distance between the two feet during the double - support phase; among them, the expression of the step length is as follows:
[0160]
[0161] In the formula, l ob is the length of the observation area; N stp is the number of steps, and its calculation formula is as follows:
[0162] N stp = N f - 1
[0163] In the formula, N f is the number of foot - landing points within the observation area;
[0164] The calculation formula for the gait frequency is:
[0165]
[0166] The steps to collect the motion posture data of the analysis model through the calibrated sensor are as follows:
[0167] S1.4. Select and arrange the sensors;
[0168] In this embodiment, a nine - axis sensor is used. This sensor integrates three measurement units, including: a three - axis accelerometer, a three - axis magnetometer, and a three - axis gyroscope; they are respectively used to collect acceleration, angle, and angular velocity signals; the acceleration range is [-16g0, 16g0], and the measurement accuracy is 0.01g0 (g0 represents the acceleration due to gravity); the angle range is [-180, 180], the accuracy is 0.01, the angular velocity range is [-2000 / s, 2000 / s], and the accuracy is 0.05 / s; the axial direction of the measurement unit is the SCS direction, as shown in parts b, c, d, and e of Figure 5 ; the sensor supports a maximum sampling frequency of 200Hz, and the collected data is transmitted to the PC - side host computer through Bluetooth 5.0 signals for storage and processing. The arrangement of the sensors meets the following conditions, including:
[0169] 1) Set the positions of the sensors according to the seven-rigid-body model as follows: the HAT part, the left and right thighs, the left and right calves, and the left and right feet; among them, the left and right thighs, the left and right calves, and the left and right feet are uniformly set on one side; the HAT part sensor is fixed at the lumbar vertebra; the thigh part is arranged on the outside of the thigh, the calf part is arranged on the plane of the anterior edge of the tibia, and the foot part is arranged on the upper side of the dorsal metatarsal bones; 2) To reduce the observation error caused by the relative movement between the sensor and the body part, when fixing the sensor, use a strap or a fixing rope and contact the body surface, avoiding thick clothes; 3) The fixing position should be the bone, avoiding the muscle to avoid the observation error caused by muscle deformation;
[0170] S1.5. Calibrate according to the positions where the sensors are arranged;
[0171] As Figure 5 shown in parts f and g, the sensors that need to be calibrated are the thigh part and the calf part; the SCS at the thigh and calf only needs to rotate around the y S axis to be converted into BCS; the expression is as follows:
[0172] Z B = C S2B Z S
[0173] In the formula, Z S represents the measured data under SCS; Z B represents the measured data under BCS; C S2B is the rotation matrix, and the expression is as follows:
[0174]
[0175] In the formula, φ1, and θ1 are the angles that need to be rotated successively around the x S , y S and z S axes of the local coordinate system of the sensor to convert SCS to BCS; according to the sensor arrangement position, it can be known that the SCS at the thigh and calf only needs to rotate around the y S axis to be converted into BCS, so let φ1 and θ1 in the above formula be zero; Then it needs to be obtained through a calibration experiment. The calibration method is: let the subject be in a stationary and upright state, first arrange the sensor at the actual position, record the magnetic field direction, then rotate the sensor to align with the BCS direction, and record the magnetic field direction again. The magnetic field rotation angle recorded twice is
[0176] S1.6. Arrange the calibrated sensors, and obtain the acceleration value through the arranged sensors;
[0177] The acceleration value includes: the measured acceleration value and the measured angular velocity value in the foot coordinate system;
[0178] After testing, it was found that when two sensors are used simultaneously, the data synchronization is good, the quality is high, and sufficient sampling frequency can be guaranteed;
[0179] The arrangement scheme of the calibrated sensors is shown in Table 2;
[0180] Table 2: Sensor layout scheme
[0181]
[0182] The sensors were deployed for three groups of experiments. One group of experiments included three walking observations. The only variable was the sensor deployment scheme, and the other experimental settings remained unchanged.
[0183] According to the height of the measured object and the proportional relationship in Table 1, the human body model parameters can be obtained as shown in Table 3:
[0184] Table 3: Human body model parameters of the measured object
[0185]
[0186] In this embodiment, the experiment is carried out in an open and barrier-free indoor corridor. A walkway is set up with marking lines. The walkway is divided into three areas according to the three processes that the subject will experience when walking along the walkway from the starting point to the end point: starting acceleration, constant speed stabilization, and deceleration and stopping. Figure 6 As shown in the figure, the starting and ending areas are buffer zones, and the middle area is the observation area. The experiment mainly observes steady-state walking in the middle area. A smartphone is set up on one side of the walkway to record the walking process, and a laptop is set up nearby as a host computer to receive sensor data in real time through Bluetooth signals. The experiment requires the subject to walk from the starting point of the walkway to the end point at a typical step frequency under the prompt of a metronome. In this process, in addition to recording sensor information and video, a stopwatch is also required to record the time T that the subject spends passing through the observation area. ob , based on the subject's footsteps, starting from the first step the subject takes into the observation area until the footsteps exceed the observation area.
[0187] S1.7. Establish a discriminant of the stance phase and the swing phase in the lower limb gait parameters through the acceleration value;
[0188] According to the definition of the lower limb stance phase, the foot is in contact with the ground during this phase, and the movement of the foot is close to stillness compared to the swing phase, which means that the foot accelerometer value is close to the gravity acceleration, and the angular velocity value measured by the gyroscope is close to zero, so the following discriminant can be established:
[0189]
[0190] In the formula, IND = 1 represents the support phase; IND = 0 represents the swing phase; is the measured acceleration value in the foot coordinate system, and are the acceleration components in the x- B -, y- B - and z- B directions of the foot coordinate axes respectively; is the measured angular velocity value, and are the angular velocity components in the rotational directions around the x- B -, y- B - and z- B axes of the foot respectively; ||·|| represents the modulus operation; |·| represents the absolute value operation; g is the value of gravitational acceleration; λ A and λ G are the acceleration and angular velocity thresholds respectively. In this embodiment, λ A and λ G take the value of 2, and the results are as shown in Figure 7 .
[0191] S1.8. Align the time axes of the lower limb support phase and the swing phase and construct the whole-body synchronous data to obtain the motion posture;
[0192] The time axis alignment of the lower limb support phase and the swing phase is as follows: For the experimental scheme with two sensors, the three tests of a group of experiments are carried out in sequence. In order to obtain the synchronous data of all parts of the whole body, it is also necessary to align the time axes of the three tests, that is, taking the time axis of one side of the foot as the reference system, aligning the endpoints of the support phase and the swing phase of each part, and performing linear interpolation or spline interpolation on the intermediate data; the results after aligning the three test data are as shown in Figure 8 , which is the data synchronization between the right lower limb and the HAT part. Figure 8 shows the acceleration data of each part. The superscript B indicates that the data in the figure is under the BCS, RF represents the right foot, RL represents the right calf, RT represents the right thigh. The illustrated accelerations are from the three observation processes. Taking the discrimination result IND RF of the right foot support phase of each observation as the time point basis, the accelerations are aligned. The results show that the accelerations of each part of the lower limb in the support phase are smaller, and the accelerations of the lower limb in the swing phase are larger, which conforms to the actual gait law.
[0193] Constructing the whole-body synchronous data is as follows: According to the characteristics of normal gait, it can be known that the movements of the left and right lower limbs have the same period, and there is only a phase delay T de between them. Therefore, the synchronous data of the left lower limb can be obtained by translating T de on the basis of the right lower limb data. The calculation expression is as follows:
[0194]
[0195] IND LF (t) = IND RF (t + T de )
[0196] Z BL (t) = Z BR (t + T de )
[0197] where f S is the sampling frequency; δt is the sampling time interval; the superscript L represents the left side, the superscript LF represents the left foot, LL represents the left calf, LT represents the left thigh; t is the time; Z BL (t) represents the measured data of the left lower limb at time t, Z BR (t + T de ) represents the measured data of the right lower limb at time t + T de ; IND RF is the discrimination result of the right foot support phase; IND LF is the discrimination result of the left foot support phase.
[0198] As Figure 9 shown, it is the translation result at a step frequency of 2.0 Hz, and synchronous data of the whole body is obtained accordingly.
[0199] S2. Solve the motion posture;
[0200] The spatial motion trajectories of each part can be solved one by one according to the two-branch structure of the human body in the order from the distal part to the proximal part. First, calculate the spatial position of the center of mass of the foot, then calculate the ankle position according to the inclination angle of the foot, then calculate the knee position in combination with the inclination angle of the calf, and finally calculate the hip position in combination with the inclination angle of the thigh. The angular acceleration of the rotation of each part can be obtained by numerical differentiation of the angular velocity observation result.
[0201] The solution steps are as follows:
[0202] S2.1. As Figure 10 shown, use the improved Kalman filter algorithm to solve the motion posture of the foot;
[0203] The spatial displacement of the foot centroid is obtained by integrating the acceleration. However, due to the existence of observation errors and data processing errors, the integration result has unacceptable data drift due to the influence of error accumulation. To solve the above problems, the present invention proposes an improved Kalman filter foot displacement calculation algorithm. The algorithm utilizes the characteristics that the foot velocity in the stance phase is approximately zero and the prior condition that the step length of walking is known. Based on the Unscented Kalman Filter (UKF), the velocity and foot touchdown point in each step stance phase are corrected to eliminate the cumulative errors generated in the swing phase in a timely manner. The steps are as follows:
[0204] S2.1.1. Establish an improved Kalman filter foot displacement calculation algorithm;
[0205] Define the foot motion state quantity μ t at time t as shown in the following expression:
[0206]
[0207] In the formula, where e t = [q 1,t q 2,t q 3,t T ; p t represents the displacement in the global coordinate system (GCS); v t represents the velocity in the global coordinate system (GCS); a t represents the acceleration in the global coordinate system (GCS); the acceleration observation deviation b A,t and the inclination angle of the foot coordinate (BCS) relative to the GCS are represented by the quaternion q t , e t and q 4,t are the vector and scalar parts of the quaternion respectively; the superscript T represents the transpose; q 1,t , q 2,t , q 3,t are the coefficients of the first imaginary term, the second imaginary term, and the third imaginary term of the quaternion respectively;
[0208] The basic idea of the Kalman filter is to obtain the prior estimate of the state quantity at time t + 1 from the initial value of the state quantity at time t through the motion state theoretical model, and obtain the prior estimate of the measured value at time t + 1 through the observation model. Combining the residual analysis between the estimated value and the experimental true value, the state of the prior estimate value is updated, and finally the posterior estimate The design of the algorithm includes: a theoretical model and an observation model. The theoretical model of the present invention is established through a basic kinematic state equation, and its acceleration state equation in the global coordinate system (GCS) is:
[0209] a t+1 =a t +w a,t
[0210] In the formula, a t+1 and a t are the accelerations in the global coordinate system (GCS) at times t + 1 and t respectively; w a,t represents the acceleration model error, which is simulated by a random Gaussian noise with an expected value of zero;
[0211] The acceleration observation deviation expression is:
[0212] b A,t+1 =b A,t +w bA,t
[0213] In the formula, b A,t+1 and b A,t are the acceleration observation deviations at times t + 1 and t respectively; w bA,t is the acceleration observation model error, which follows a normal distribution with an expected value of zero;
[0214] For the velocity v t in the global coordinate system (GCS), a correction term is introduced on the basis of integrating the acceleration The expression is:
[0215]
[0216] In the formula, δt is the time step or sampling time interval. In this embodiment, a sampling frequency of 100 Hz is adopted, and 0.005 s is taken; is the velocity correction term; ξ is the weighting coefficient of the two parts of the velocity. For the stance phase, 0 is taken, and for the swing phase, 0 < ξ ≤ 1; w v,t is the model error of the velocity, which follows a normal distribution with an expected value of zero;
[0217] The correction term uses the Zero-velocity Update (ZUPT) method to correct the velocity, and the expression is as follows:
[0218]
[0219] This expression is based on the discrimination of the stance phase, that is, when IND t =1 is the stance phase, the velocity state quantity is corrected with zero velocity, and when IND tWhen =0 is the swing phase, the average speed of the previous step swing phase is used for correction. The subscript k represents the number of steps, and the displacement p in the global coordinate system (GCS) is updated with the corrected speed
[0220] The displacement p in the global coordinate system (GCS) t is calculated as follows:
[0221]
[0222] where p t+1 and p t are the displacements at times t + 1 and t respectively; w p,t is the displacement error, which also follows a normal distribution with zero expectation;
[0223] The quaternion combined with the observed value of the angular velocity is calculated according to the following formula, and the expression is as follows:
[0224]
[0225] where Z G,t is the observed value of the angular velocity, Ω[Z G,t is the skew-symmetric matrix constructed from the angular velocity, [×] is the cross product operator, and w q,t is the model error of the quaternion;
[0226] The theoretical model can be expressed by the state equation as follows:
[0227] μ t+1 = f(μ t ) = B t μ t + u t + w t ;
[0228]
[0229] where E represents the identity matrix and 0 represents the zero matrix.
[0230] The observation model is established based on the geomagnetic field and gravitational acceleration, and combines the results of the theoretical model to predict the measurement results of the magnetometer and accelerometer.
[0231] The magnetometer observation value can be predicted by the following formula:
[0232] ζ M,t+1 = C G2S (q t+1 )r M + n M,t+1
[0233] where C G2Sis the rotation matrix from GCS to SCS, predicted by the theoretical model at time t+1 as q t+1 denoted by ζ M,t+1 is the predicted value of the magnetometer; r M is the magnetic field reversal of GCS; n M,t+1 is the observation noise of the magnetic field, following a normal distribution with a mean of zero;
[0234] The observed value of the accelerometer consists of the gravitational acceleration, the motion acceleration, and the deviation caused by the experimental setup. Its prediction formula is:
[0235] ζ A,t+1 = C G2S (q t+1 )(a t+1 + g0 + b A,t+1 ) + n A,t+1
[0236] In the formula, ζ A,t+1 is the predicted value of the accelerometer, g0 is the gravitational acceleration under GCS, and n A,t+1 is the acceleration observation noise, following a normal distribution with an expected value of zero; The geomagnetic direction reflects the direction of the global coordinate system and is relatively fixed, while the magnetometer data reflects the direction of the sensor coordinate system and changes with motion. The observed value of the accelerometer includes the gravitational acceleration and the body motion acceleration, and they are equal only when the sensor is in a stationary state; Combining the above two formulas, the expression of the observation model is obtained as follows:
[0237]
[0238] In the formula, μ t+1 is the prediction result of the theoretical model for the state quantity at time t+1, h(·) represents the mapping relationship of the observation model, represents the observation noise vector.
[0239] The steps of the Unscented Kalman Filter algorithm (UKF) are as follows:
[0240] 1), Take the optimal estimate at time t as the initial value, and construct a set consisting of 2n+1 Sigma sample points near , with the expression as follows:
[0241]
[0242] ρ = γ 2 (n + κ) - n
[0243]
[0244] In the formula, X tdenotes the Sigma point set; j denotes the sample point serial number, j ∈ n, where the point takes the optimal estimate of the variable at time t the superscript "+" denotes the optimal estimated value of each variable; WM denotes the weighting coefficient of the point set mean; WC denotes the weighting coefficient of the point set covariance; all other points are constructed around as the center, and constructed nearby; ρ is the scaling coefficient of the distance between the constructed point and the center point; γ is the dispersion of the constructed point, take γ = 1e-3; κ is the second-order scaling coefficient, take κ = 0; η is the prior distribution parameter of the sample point, take η = 2; denotes the j-th column of the matrix root mean square; the root mean square of the matrix is calculated using Cholesky decomposition denotes the covariance matrix of the optimal estimate of the state quantity at time t;
[0245] 2), Substitute the constructed sample points into the state equation of the theoretical model, calculate the theoretical prediction value and its covariance matrix at time t+1, and the calculation formula is as follows:
[0246]
[0247] In the formula, the superscript j denotes the Sigma point serial number, and the "-" sign denotes the prior estimated value of each variable obtained through the theoretical model; is the theoretical model prediction value of the j-th point; is the weighted theoretical model prediction value; WM j is the weight coefficient of the j-th point; denotes the covariance matrix according to the theoretical model prediction value; Q t+1 represents the covariance matrix of the calculation error;
[0248] 3), Substitute the calculation result of 2) into the observation model, predict the observation value at time t+1, and the calculation formula is as follows:
[0249]
[0250] In the formula, the superscript "-" sign also denotes the prior estimated value of each variable obtained through the observation model calculation; is the observation model prediction value of the j-th point at time t+1; is the weighted average of the observation model prediction values of each point; denotes the covariance matrix of the observation model prediction value; is the covariance matrix of the theoretical model prediction value and the observation model prediction value; R t+1 is the covariance matrix of the observation noise;
[0251] 4), Calculate the Kalman coefficient K t+1 , and the expression is as follows:
[0252]
[0253] 5), Calculate the optimal estimate at time t+1 The expression is as follows:
[0254]
[0255] In the formula, the superscript "+" represents the optimal estimated value after correction. The second term on the right side of the equation is called the Kalman gain, and its value is equal to the Kalman coefficient K t+1 multiplied by the measured value of the sensor and the difference between the predicted value of the observation model ;
[0256] 6), Update the covariance matrix. The expression is as follows:
[0257]
[0258] 7), Substitute and as the initial values into step 1) to perform the calculation of the next time step, and loop steps 1) to 6) until the last time point.
[0259] S2.1.2, Correct the touchdown point;
[0260] To further reduce the cumulative error generated during the displacement calculation, the foot displacement is corrected at the end of each step (i.e., the end of the swing phase and the start of the support phase). Define the displacement observation value of the touchdown point at time t as the position at the start of the swing phase of the previous step plus the displacement experienced by the foot at the end of the swing phase (i.e., the step length), which can be expressed as follows:
[0261] Z P,t = p iniSW,k-1 + [l stp cosθ k-1 , l stp sinθ k-1 , 0]
[0262] In the formula, p iniSW,k-1 is the foot position at the start of the swing phase of the (k-1)th step; l stp is the step length, calculated based on the observation area distance and the number of steps; θ k-1 is the walking direction of the (k-1)th step, which is the angle between the foot movement direction and the x G axis; Since the experimental setup is a straight walk along the x G axis, so take θ k-1 = 0.
[0263] Compare the displacement observation value of the touchdown point defined at time t with the optimal predicted value of the improved Kalman algorithm, as shown in the following formula,
[0264]
[0265] If the deviation between the two is large (exceeding the threshold λ P ), the measured value is used to replace the predicted value, and the average speed of the k-1th step is calculated using the measured step length. The expression is as follows:
[0266]
[0267] In the formula, represents using the measured value Z of the foot position P,t to replace the model predicted value to eliminate the cumulative error exceeding the threshold. is the average speed of the foot movement in the horizontal direction during the swing phase of the k-1th step, l stp is the step length, θ k-1 is the angle between the horizontal movement direction of the foot in the k-1th step and the global coordinate x G axis. [l stp cosθ k-1 , l stp sinθ k-1 , 0] is the vector representation of the horizontal movement distance of the k-1th step. T SW,k-1 is the holding time of the swing phase of the k-1th step. Otherwise, it is considered that the prediction accuracy is acceptable, and the average speed is calculated using the predicted step length. The expression is as follows:
[0268]
[0269] In the formula, the average speed of the foot movement during the swing phase of the k-1th step is also calculated by dividing the movement distance by the holding time T SW,k-1 . Among them, the movement distance is calculated by subtracting the foot position p at the start of the swing phase from the optimal estimated value iniSW,k-1 of the foot position at the end of the swing phase. Furthermore, the optimal estimated value of the foot position and the average speed are substituted into the unscented Kalman filter algorithm and the zero velocity update method to update the state variables.
[0270] S2.2. Calculate the lower limb movement posture;
[0271] The basic posture quantities used for human kinematics and dynamics calculations include linear displacement, linear acceleration, inclination angle, and angular acceleration. Among them, linear acceleration and inclination angle are direct observable quantities in the experiment, and displacement and angular acceleration need to be further solved from the direct observable quantities. The calculation steps are as follows:
[0272] S2.2.1. Calculation of displacement, the expression is as follows:
[0273]
[0274] r RF2A = C Ant90 τ RF
[0275]
[0276] r RA2K = C Ant90 τ RL
[0277]
[0278] r RK2H = C Ant90 τ RT
[0279] where p represents the positions of the center of mass and joints of the lower limb, the superscript RF represents the right foot, RA represents the right ankle joint, K represents the knee joint, and H represents the hip joint, that is p RF is the position of the center of mass of the right foot, p RA is the position of the right ankle joint, p RK is the position of the right knee joint, p H is the position of the hip joint; r represents the axial vectors of each part, all of which are unit vectors, where r RF2A is the direction vector from the center of mass of the right foot to the right ankle joint, that is, the axial vector of the right foot, r RA2K is the direction vector from the right ankle joint to the right knee joint, that is, the axial vector of the right calf, r RK2H is the direction vector from the right knee joint to the hip joint, that is, the axial vector of the right thigh; τ represents the unit vector in the normal direction of each part, that is, the unit vector of the body coordinate y B axis of each part, where τ RF is the normal vector of the right foot, τ RL is the normal vector of the right calf, τ RT is the normal vector of the right thigh; the axial vectors of each part can be obtained by rotating the normal vector counterclockwise by 90 degrees, that is, multiplying the normal vector by the rotation matrix C Ant90 , is the distance from the center of mass of the right foot to the ankle joint; is the distance from the ankle joint of the right calf to the knee joint; is the distance from the ankle joint of the right thigh to the knee joint;
[0280] The calculation process of the left lower limb is the same as that of the right side.
[0281] As Figure 11 shown, under the basic assumptions of the human body model, each part of the lower limb is regarded as a rigid body, connected by joints regarded as hinges. Only relative rotation occurs between the parts on both sides of the joint, and there is no relative translation. Therefore, the axis of each part can be defined as the line connecting the two ends of the joint. As long as the spatial position of the joint is determined, the position of each part can be determined. Through the calculation process, the position of the center of mass of the foot has been obtained. On this basis, the solution order of the lower limb joints is the ankle joint, knee joint, and hip joint in sequence. The solution framework is as Figure 10 shown. According to the perpendicular relationship between the direction of the body coordinate system axis and the axis direction, first calculate the axial vector of each part from the distal end to the proximal end, and then combine the part lengths given above to obtain the positions of each joint. For example, the right ankle joint can be calculated by adding the position of the center of mass of the right foot to the direction vector from the center of mass of the right foot to the right ankle according to the above formula, and the same applies to other joints.
[0282] S2.2.2. The linear acceleration a is the acceleration observation value corrected by the Kalman filter, and the expression is as follows:
[0283] a = Z A
[0284] In the formula, Z A is the acceleration observation value corrected by the Kalman filter;
[0285] S2.2.3. The inclination angle of each part is defined as the angle between the normal direction τ and x G , and its calculation expression is as follows:
[0286]
[0287] In the formula, τ(2) and τ(1) respectively represent the ordinate value and abscissa value of the unit normal vector;
[0288] S2.2.4. Calculation of the angular acceleration;
[0289] The angular acceleration can be obtained from the first-order difference of the observation value of the angular velocity, and the calculation formula is:
[0290]
[0291] In the formula, Z G,t and Z G,t-1 are the angular velocity observation values at adjacent times t and t - 1 respectively, and δt is the sampling time interval.
[0292] S2.2.5. Obtain the attitude solution result;
[0293] The attitude solution process is implemented by a self-written program in Matlab, and the calculation results are as Figures 12 - 15 shown. Figure 12The displacement and inclination of the foot in two consecutive stepping cycles are shown, which are the horizontal and vertical coordinates (p Gx,RF ,p Gy,RF ) and the trajectory of the center of mass represented by the vector τ RF Direction, the starting point of the vector in the figure is the center of mass position, and the two vectors before and after represent the motion state that has experienced a time interval of 0.02s. In the figure, the foot has experienced two stepping cycles, and the center of mass of the foot has experienced up and down reciprocating motion. It is close to zero in the support phase, indicating that it is in contact with the ground. The horizontal movement distance of the center of mass of the foot in each cycle is close, and is close to twice the experimentally measured step length, indicating that the posture solution method of this application can effectively eliminate errors and ensure high observation accuracy. Figure 13 It is the spatial trajectory of lower limb movement. The blue and red line segments represent the axes of the right and left lower limbs respectively. The connecting points of the line segments represent the joints. The two adjacent groups of line segments represent the movement state with a time interval of 0.05 s. The figure shows that the right lower limb starts from the stance phase and goes through two complete gait cycles. The line segments of the stance phase are denser, indicating that the lower limb moves slower, and the line segments of the swing phase are sparser, indicating that the lower limb moves faster, which is consistent with the judgment result of the stance phase.
[0294] Figure 14 The figure shows the curve of the change of the inclination angle of each part of the lower limbs over time. During the whole walking process, the inclination angle of the foot and the calf has a similar trend of change. In the support phase, the inclination angle of each part decreases slightly, indicating that as the center of gravity of the body moves forward, the pressure exerted by the body weight on the sole of the foot migrates from the heel to the toe, and each part has a tendency to tilt slightly forward. In the swing phase, the inclination angle of the foot and the calf decreases in the early stage, increases rapidly in the middle stage to reach a peak, and decreases again in the late stage. Figure 13 This is consistent with the changing trend of the leg movement posture in the experimental video, indicating that the application can effectively observe the kinematic information of various parts of the body.
[0295] Figure 15 is the curve of angular acceleration changing with time. Figure 8 and Figure 9 The linear acceleration time history curve shown has a similar variation law. Figure 15 The movement of the foot leaving the ground and landing can be regarded as the connection state between the support phase and the swing phase. In the middle of the support phase and the swing phase, the swing of the lower limbs is in a relatively stable state of motion (for example, the foot is close to stillness in the support phase and close to uniform motion in the swing phase), so the angular acceleration value is small. In the connection state of leaving the ground and landing, as the lower limbs accelerate when pushing off the ground and decelerate when landing, the angular acceleration of each part changes greatly. The above-mentioned change trends of acceleration and angular acceleration are consistent with the dynamic characteristics of typical walking, indicating that the observation results of this application can be directly used in related application fields such as pedestrian load calculation, joint load calculation and walking energy consumption calculation, and have high application value.
[0296] In summary, the present application combines wireless observation technology and an improved Kalman filtering algorithm to propose a motion capture method for walking postures, solving the problems faced by the prior art. First, the present invention effectively reduces errors and reflects the randomness of actual walking postures. By combining the sensor layout scheme and the position correction algorithm, the observation error is minimized as much as possible. Moreover, the Kalman filtering algorithm is improved through the zero-velocity update and foot touchdown point correction algorithms, reducing the cumulative error generated during the acceleration integration process. As shown by the movement of the foot centroid in Figure 12 , during the support phases of two consecutive steps, the feet are both in the same horizontal plane, and the two step lengths are close, which is consistent with the laws and observation results of steady walking in actual experiments. As shown by Figure 8 and Figure 15 , there are certain variations in the magnitudes of acceleration and angular acceleration between two steps, reflecting the randomness existing in actual walking. Second, a multi-rigid-body human model motion capture is realized by using two sensors for multiple observations. Based on the support phase discrimination results shown in Figure 7 , the time synchronization of the observation data of the sensors at each part is achieved, as shown in Figure 8 , Figure 9 , Figure 14 and Figure 15 . Finally, the experimental requirements of the present application are relatively low. As shown in Figure 6 , the equipment only requires two wearable sensors, a smartphone, and a computer. Compared with infrared photography technology, this method has a low experimental cost and simple preparation work. In addition to the flat-ground walking experiment shown in the embodiment, it can also be applied to the motion capture of walking in daily indoor and outdoor spaces such as stairs and ramps, without being restricted by the experimental environment. Moreover, data processing and pose calculation can directly calculate the results within seconds through a simple program written by oneself on platforms such as Matlab, eliminating the time spent on establishing a deep learning model and sample training process, which is conducive to repeating the experiment in a short time to obtain a large amount of data.
Claims
1. A method for capturing human walking posture motion, characterized in that: The following steps are involved: S1. Establish an analysis model, and collect data from the analysis model through the calibrated sensor to obtain the motion posture; The establishing of the analysis model includes: establishing a simplified human body model, establishing a coordinate system defined based on the simplified human body model and defining gait parameters; S2. Calculate the motion posture to obtain the human body walking posture result.
2. A method for capturing human walking posture motion according to claim 1, characterized in that: The steps of establishing the analysis model and acquiring the motion posture by using the calibrated sensor to collect data from the analysis model are as follows: S1.1, obtain the seven rigid body model by simplifying the human body model; The simplified human body model is simplified in the following ways: (1) When a human body walks, the center of mass of the body is concentrated at the hip joint, and the center of mass of the body during walking is set at the lumbar spine at the midpoint of the line connecting the left and right hip joints; (2) Because the head, upper limbs and trunk move synchronously during walking, the influence of the local movement of the head and upper limbs on the overall center of mass movement and the swing state of the lower limbs is ignored, and the head, upper limbs and trunk are combined and regarded as a rigid body HAT; (3) The lower limbs are divided into six rigid bodies, namely the left and right thighs, left and right calves and left and right feet. By ignoring the deformation of the muscles and the bending of the metatarsophalangeal joints of the feet, the center of mass of each rigid body remains unchanged during walking; (4) The hip joint, knee joint and ankle joint are simplified as hinges to connect the seven rigid bodies, and only the relative rotation of the rigid bodies on both sides of the joint hinge is observed; By simplifying the human body model, the rigid bodies in the seven-body model are: HAT, left and right thighs, left and right calves, and left and right feet; the two ends of any rigid body are defined as the proximal end closer to the hip joint and the distal end farther from the hip joint; S1.
2. A coordinate system defined based on a simplified human body model, wherein the coordinate system includes a first coordinate system, a second coordinate system, and a third coordinate system; The first coordinate system is the global coordinate system GCS, that is, when the subject performs a standard experiment of walking in a straight line, the origin of GCS is defined as a foothold of the right foot, x G The y axis points to the direction of travel. G The axis points upward along the normal direction of the ground, z G The axis points horizontally to the right side of the human body; The second coordinate system is the body local coordinate system BCS, that is, the origin of BCS is the center of mass of the rigid body, x B The y axis is the direction of the rigid body axis, from the proximal joint to the distal joint. B The axis is the normal direction of the rigid body, in the global coordinate system x G Oy G In the plane, pointing to the front of the body, z B The axis points horizontally to the right side of the human body; The third coordinate system is the sensor local coordinate system SCS. The coordinate axis is based on the measurement direction defined by the sensor measurement unit. The sensor coordinate system of the integrated three-axis measurement unit is usually a rectangular coordinate system that satisfies the right-hand screw theorem. The three axes are x S ,y S and z S ; S1.3, define gait parameters and obtain step frequency and step length; Gait parameters include stance phase, swing phase, phase difference, double-foot support phase, and single-foot support phase; The standard gait phase of the human walking process, taking the unilateral lower limb as the object, divides the complete gait phase into two parts, namely the stance phase and the swing phase; The support phase is: with one foot as the target, from the time when the heel of the foot touches the ground to the time when the toe of the foot leaves the ground, during which the foot remains in contact with the ground, which is called the unilateral foot support phase; The swing phase is: with the unilateral foot as the target, from the unilateral foot tip off the ground to the unilateral foot heel landing again, during which the unilateral foot is in a suspended swinging state, which is called the unilateral foot swing phase; The same gait phase of the left foot alternates with that of the right foot, which is considered to have a fixed phase difference between the gait phases of the left and right feet; If the two feet are taken as the object, it can be divided into two parts. The gait phase in which both feet are in the support phase is called the double-foot support phase, and the phase in which only one lower limb is in the support phase is called the single-foot support phase. A complete gait consists of alternating bipedal support phases and unipedal support phases. The gait cycle is defined as the sum of the duration of the bipedal support phase and the unipedal support phase. The step frequency is the inverse of the cycle. The step length is defined as the straight-line distance between the two feet in the bipedal support phase. The expression of the step length is as follows: In the formula, l ob is the length of the observation area; N stp is the number of steps, and its calculation formula is as follows: N stp =N f -1 Where N f is the number of footsteps in the observation area; The calculation formula for step frequency is: S1.
4. Select sensors and arrange them; S1.
5. Calibrate according to the location of the sensor; the expression is as follows: WITH B =C S2B WITH S In the formula, Z S represents the measured data under SCS; Z B represents the measured data under BCS; C S2B is the rotation matrix, expressed as follows: In the formula, φ1, and θ1 are the x coordinates of the sensor local coordinate system required to transform SCS to BCS. S ,y S and z S Angle of axis rotation; S1.6, arranging the calibrated sensors, and obtaining acceleration values through the arranged sensors; The acceleration value includes: the measured acceleration value and the measured angular velocity value in the foot coordinate system; S1.
7. The discriminant of the support phase and the swing phase in the lower limb gait parameters is established through the acceleration value. The expression is as follows: Where, IND=1 indicates the support phase; IND=0 indicates the swing phase; is the measured value of acceleration in the foot coordinate system, and are the foot coordinate axes x B ,y B and z B The acceleration component in the direction; is the measured value of angular velocity, and are the coordinates around the foot axis x B ,y B and z B Angular velocity component in the direction of rotation; ||·|| represents modular operation; |·| represents absolute value operation; g is the value of gravitational acceleration; λ A and λ G are the acceleration and angular velocity thresholds respectively; S1.8, align the time axis through the support phase and swing phase of the lower limbs and construct the whole body synchronization data to obtain the movement posture; The time axis alignment is as follows: using the time axis of one side of the foot as the reference system, aligning the endpoints of the stance phase and the swing phase of each part, and performing linear interpolation or spline interpolation on the intermediate data; The whole body synchronization data is constructed as follows: According to the normal gait characteristics, the movements of the left and right lower limbs have the same cycle, and there is only a phase delay T between the two. de Therefore, the synchronization data of the left lower limb can be translated by T based on the data of the right lower limb de You can get the calculation expression as follows: IND LF (t)=IND RF (t+T de ) Z BL (t)=Z BR (t+T de ) In the formula, f S is the sampling frequency; δt is the sampling time interval; the superscript L represents the left side, the superscript LF represents the left foot, LL represents the left calf, and LT represents the left thigh; t represents the time; Z BL (t) represents the measured data of the left lower limb at time t, Z BR (t+T de ) means t+T de The measured data of the right lower limb at the moment; IND RF It is the result of the right foot support phase identification; IND LF This is the result of the left foot support phase.
3. A method for capturing human walking posture motion according to claim 1, characterized in that: The steps of solving the motion posture are as follows: S2.
1. Use the improved Kalman filter algorithm to solve the motion posture of the foot. The steps are as follows: S2.1.
1. Establish an improved Kalman filter foot displacement solution algorithm; Define the foot motion state μ at time t t The expression is as follows: In the formula, where e t =[q 1,t q 2,t q 3,t ] T ;p t Represents the displacement in the global coordinate system GCS; v t Indicates the speed in the global coordinate system GCS; a t Indicates the acceleration in the global coordinate system GCS; acceleration observation deviation b A,t and the inclination of the foot coordinate BCS relative to the GCS, given by the quaternion q t Indicates that t and q 4,t are the vector and scalar parts of the quaternion, respectively; the superscript T indicates transposition; q 1,t ,q 2,t ,q 3,t are the coefficient of the first imaginary term, the coefficient of the second imaginary term and the coefficient of the third imaginary term of the quaternion respectively; The improved Kalman filter foot displacement solution algorithm includes: theoretical model and observation model; The theoretical model is established through the basic kinematic state equation, which is expressed as follows: m t+1 =f(μ t )=B t m t +u t +w t In the formula, μ t+1 represents the state vector of the next time step; μ t Represents the state vector of the current time step; represents the state transfer matrix, where δt is the sampling time interval and ξ is the weighting coefficient; in is the speed correction; represents the error, where w q,t is the quaternion model error, w p,t is the displacement error, w v,t is the model error of velocity, w bA,t is the acceleration observation model error, w a,t represents the acceleration model error; Where Z G,t is the angular velocity observation value, Ω[Z G,t ] is a skew-symmetric matrix constructed by angular velocity; E represents the unit matrix, and 0 represents the zero matrix; The observation model expression is as follows: In the formula, μ t+1 is the prediction result of the theoretical model on the state quantity at time t+1, and h(·) represents the mapping relationship of the observation model; represents the observation noise vector; C G2S is the rotation matrix from GCS to SCS, and the value q is predicted by the theoretical model at time t+1 t+1 indicates; r M is the magnetic field reversal of GCS; n M,t+1 is the observation noise of the magnetic field; n A,t+1 is the acceleration observation noise; S2.1.2, correct the foothold; The displacement observation value of the foot landing point at time t is defined as the position at the beginning of the swing phase of the previous step plus the displacement experienced by the foot at the end of the swing phase, which can be expressed as follows: Z P,t =p iniSW,k-1 +[l stp cosθ k-1 ,l stp sinθ k-1 ,0] In the formula, p iniSW,k-1 It is the foot position at the beginning of the k-1th stepping swing phase; l stp is the step length, calculated based on the distance of the observation area and the number of steps; θ k-1 is the horizontal motion direction of the k-1th step and the global coordinate x G The angle of the axes; The displacement observation value of the foot point defined at time t is compared with the optimal prediction value of the improved Kalman filter algorithm, as shown in the following formula: If the deviation between the two exceeds the threshold λ P , the measured value is used instead of the predicted value, and the average speed of k-1 steps is calculated using the measured step length. The expression is as follows: In the formula, Indicates the measured value Z of the foot position P,t Alternative model predictions to eliminate accumulated errors above a threshold, is the average speed of the foot moving horizontally in the k-1th stepping swing phase, l stp is the step size, θ k-1 is the horizontal motion direction of the k-1th step and the global coordinate x G The angle between the axes, [l stp cosθ k-1 ,l stp sinθ k-1 ,0] is the vector representation of the horizontal movement distance of the k-1th step, T SW,k-1 When the k-1th step is in swing stalemate; Otherwise, the prediction accuracy is considered acceptable, and the average speed is calculated using the predicted step size. The expression is as follows: Where, the average speed of the foot movement in the k-1th step swing phase is Similarly, the moving distance is divided by the swing duration T SW,k-1 Calculation, where the distance traveled is the best estimate of the foot position at the end of the swing phase Subtract the foot position p at the beginning of the swing phase iniSW,k-1 calculate; S2.
2. Calculate the lower limb movement posture; the calculation steps are as follows: S2.2.
1. Calculation of displacement, the expression is as follows: r RF2A =C Ant90 t RF r RA2K =C Ant90 t RL r RK2H =C Ant90 t RT In the formula, p represents the center of mass and joint position of the lower limb, the superscript RF represents the right foot, RA represents the right ankle joint, K represents the knee joint, and H represents the hip joint, that is, p RF is the center of mass of the right foot, p RA is the right ankle joint position, p RK is the right knee joint position, p H is the position of the hip joint; r represents the axial vector of each part, which is a unit vector. RF2A is the direction vector from the center of mass of the right foot to the right ankle joint, that is, the axial vector of the right foot, r RA2K is the direction vector from the right ankle joint to the right knee joint, that is, the axial vector of the right calf, r RK2H is the direction vector from the right knee joint to the hip joint, that is, the axial vector of the right thigh; τ represents the unit vector of the normal direction of each part, that is, the body coordinate y of each part B The unit vector of the axis, where τ RF is the normal vector of the right foot, τ RL is the normal vector of the right calf, τ RT is the normal vector of the right thigh; the axial vector of each part can be obtained by rotating the normal vector 90 degrees counterclockwise, that is, multiplying the normal vector by the rotation matrix C Ant90 ;The calculation process of the left lower limb is the same as that of the right side; is the distance from the center of mass of the right foot to the ankle joint; is the distance from the ankle joint to the knee joint of the right calf; is the distance from the ankle joint to the knee joint of the right thigh; S2.2.2, Linear acceleration a is the acceleration observation value corrected by Kalman filter, and its expression is as follows: a=Z A ; In the formula, Z A Kalman filter corrected acceleration observations; S2.2.3, the inclination angle of each part is defined as the normal direction τ and x G The calculation expression of the angle is as follows: Where τ(2) and τ(1) represent the ordinate and abscissa values of the normal unit vector respectively; S2.2.4, calculation of angular acceleration; The angular acceleration can be obtained by the first-order difference of the observed value of the angular velocity, and the calculation formula is: In the formula, Z G,t and Z G,t-1 are the angular velocity observation values at adjacent moments t and t-1, respectively, and δt is the sampling time interval; S2.2.
5. Obtain the attitude solution result.
Citation Information
Patent Citations
Indoor pedestrian positioning method with non line-of-sight recognition function
CN110426040A
Method and system of human real-time indoor positioning and motion pose capturing in human-computer cooperation
CN112957033A
Posture recognition method, device, system, equipment, medium, product and rehabilitation mirror
CN119206785A