pykinematics.imu.joints.KneeAxis

class pykinematics.imu.joints.KneeAxis(mask_input=True, min_samples=1500, opt_kwargs=None)

Estimation of the flexion/extension knee axis using kinematic constraints.

Parameters:
mask_input : bool, optional

Mask the input to only use samples with enough angular velocity to give a good estimate. Default is True.

min_samples : int, optional

Minimum number of samples to use in the optimization. Default is 1500.

opt_kwargs : dict, optional

Optimization key-word arguments. See scipy.optimize.least_squares.

References

Seel et al. “IMU-Based Joint Angle Measurement for Gait Analysis.” Sensors. 2014 Seel et al. “Joint axis and position estimation from inertial measurement data by exploiting kinematic constraints.” 2012 IEEE International Conference on Control Applications. 2012

Methods

compute(self, thigh_w, shank_w) Compute the knee axis using the given angular velocities.
compute(self, thigh_w, shank_w)

Compute the knee axis using the given angular velocities.

Parameters:
thigh_w : numpy.ndarray

Nx3 array of angular velocities measured by the thigh sensor.

shank_w : numpy.ndarray

Nx3 array of angular velocities measured by the shank sensor.

Returns:
thigh_j : numpy.ndarray

Vector of the joint rotation axis in the thigh sensor frame.

shank_j : numpy.ndarray

Vector of the joint rotation axis in the shank sensor frame.