The body movement of the forward dynamics model is generated based on the reference joint angle
used in the joint torque model. Typically, optimization calculations for the reference joint angle are performed at each time step of the simulation. By performing optimization calculations at high frequencies over time steps, the generated motion becomes closer to the measured motion. However, this approach has drawbacks, such as requiring a significant computation time or being susceptible to measurement errors due to large noise of IMUs during certain time steps, like impacts. In this study, to generate motion closer to the measured motion while reducing the frequency of optimization calculations, a method was employed where the reference joint angles were optimized not at each time step but over the entire measurement period. Multiple nodes were used as inputs to the simulation, and their values were determined through optimization calculations to create waveforms of reference joint angles by cubic spline interpolation. The reference joint angles
were determined as follow:
where,
is a spline function defined by multiple nodes
and the sampling time
. The number of nodes
was determined through trial and error: each upper body joint (shoulder, elbow, lumber) had two nodes at the start and end of the motion, and each joint of the leg involved in the jump (hip, knee, ankle) had five nodes evenly spaced from the start to the end of the motion. Other joints had three nodes set from the start to the end of the motion. The gait motion model proposed by Haraguchi and Hase [
12] set node points periodically and symmetrically. However, for the generation of asymmetric and non-periodic movements, node points were set as variable number for all joints with DOFs.
Cost function was established to assess the body movements generated by the forward dynamics simulation, and optimization calculations were performed to minimize this value. Genetic algorithm optimization methods were employed in this study. Cost functions defined by Equation (8).
and
represent the cost functions for evaluating errors in the 3D orientations of each segment and acceleration of the pelvis segment, respectively, between the simulation model and the experimental record by IMUs, as follow:
where
,
, and
are the simulated orientations of
sth segment with respect to the global coordinates, represented by Euler angles in the X, Y, and Z sequence, determined by the
.
,
, and
are the measured orientations of
sth segment with respect to the global coordinates, represented by Euler angles in the X, Y, and Z sequence. These Euler angles are determined by the measured 3D orientations
expressed by quaternions in the global coordinate system recorded by IMUs, which is calculated by the extended Kalman filter, as described in
Section 2.2.1.
,
, and
are the simulated acceleration of the pelvis segment.
,
, and
are the measured acceleration of the pelvis by the IMUs.
,
,
, and
are calculated after computing the
,
, and
based on the forward dynamics calculation.
aims for alignment with the measurements from IMUs regarding joint motion,
aims to match the acceleration from the impact at the moment the foot makes contact with the ground and translational motion of the body.
is the cost function for the overall muscle load, as follows:
where
and
are the active torques normalized by the maximum positive joint torque
and maximum negative joint torque
, respectively, for joint
. For instance, the maximum flexion torque at the hip joint is
and the maximum extension torque at the hip joint is
, which were determined from previous studies across whole joints at neck [
20], lumbar [
21,
22,
23], shoulder [
24,
25,
26], elbow [
27], hip [
28,
29,
30], knee [
24], and ankle [
31].
contributes to generating biomechanically valid movements while reducing overall physical load. Additionally,
represents the weight factors for each term of the cost function, and they were determined through trial and error as follows:
.
2.2.1. Orientation Estimation
The algorithm for orientation estimation during motion is shown in
Figure 3. IMU orientation estimation algorithms are developed, such as utilizing data from 3-axis accelerometers, 3-axis gyroscopes, and 3-axis magnetometers to estimate orientation [
32]. However, these methods often struggle to achieve sufficient accuracy when dealing with large dynamic accelerations in sports movements due to compensating for dynamic acceleration as white noise. Additionally, they rely on the magnetic field information obtained from magnetometers, making them challenging to use in indoor sports settings prone to magnetic disturbances. Therefore, in this proposed method, 3D orientations were estimated using sensor fusion of the 3-axis accelerometer and 3-axis gyroscope data from the IMUs [
33,
34]. It thereby enables estimation of 3D orientation without the effects of drift errors due to integration of angular velocities, dynamic accelerations, and geomagnetic disturbances. This sensor fusion approach is constructed using an extended Kalman filter to address the nonlinearity inherent in the relationship between 3D orientations and acceleration.
The output of acceleration in an IMU
attached to the segment is represented as the sum of translational, centripetal, tangential, and gravitational, and Coriolis accelerations. In this study, the Coriolis acceleration can be neglected due to the constant distance from the joint to the IMU. Additionally, the gravitational and translational accelerations can be obtained by subtracting the centrifugal and tangential accelerations from the sensor output. Considering the entire system, IMU sensors provide the same gravitational and translational accelerations. Therefore, expressing centrifugal and tangential accelerations vector of
sth segment at the sampling time
as
, this relationship was expressed as in the observation equation of the extended Kalman filter (Equation (15)). Furthermore, the state values
were calculated by integrating angular velocity at the sampling time
to calculate the 3D orientations at the next sampling time [
35] (Equation (14)). In this study, the 3D orientations ware described using quaternions that are not affected by gimbal lock. The quaternion represents the real part as the first element and the vector of imaginary parts as the subsequent elements.
where
is the rotation matrix from segment
to
.
is the angular velocity vector of
sth segment at the sampling time
, expressed as
, and
represents the position vector indicating the location of the IMU attached
sth segment from the proximal joint
.
is expressed in terms of angular velocities, as follows:
In this study, these orientation estimation systems were adapted to the adjacent IMUs across each joint. Additionally, the process noise in the extended Kalman filter was set to , and the observation noise to . The initial value of the posterior error covariance matrix was set to . These values were determined through trial and error, taking into account the magnitude of noise from the accelerometers and gyroscope sensors.
The initial state values of Equation (14) and the neutral position of the model were determined using IMUs data from the calibration posture and this posture estimation system.