Muscle-tendon length, velocity and moment arms from joint angles
Source:R/muscle-tendon.R
muscleTendonKinematics.RdEvaluates a musclePath() over one or more poses: MTU length L(theta),
moment arms -dL/dtheta_j, and MTU lengthening velocity
dL/dt = -sum_j r_j * omega_j. When the model carries hill parameters,
rigid-tendon normalized fiber length and velocity are also returned.
Arguments
- model
A
musclePath()model.- angles
Joint angles in radians: a named numeric vector (single pose), or an
n_frames x n_jointsmatrix / data frame / named list of curves with columns/names matching the model's joints.- angular_velocities
Joint angular velocities (rad/s), same shape as
angles. IfNULLfor a trajectory, they are estimated fromanglesby central differences (requiressampling_rate); for a single pose they default to zero.- sampling_rate
Sampling rate (Hz) used to differentiate
angleswhenangular_velocitiesisNULL.
Value
A muscle_tendon_kinematics object: a list with length (m),
velocity (m/s), moment_arms (n_frames x n_joints, m), joints, and,
when hill is set, norm_fiber_length and norm_fiber_velocity.
References
Zajac FE (1989). "Muscle and tendon: properties, models, scaling, and application to biomechanics and motor control." Thelen DG (2003).
Examples
mp <- musclePath("ankle", coefficients = list(ankle = c(-0.05, 0.01)),
slack_length = 0.3)
muscleTendonKinematics(mp, angles = c(ankle = 0.1),
angular_velocities = c(ankle = 2))
#> <muscle_tendon_kinematics> 1 frame(s)
#> joints : ankle
#> length : 0.2951 .. 0.2951 m
#> velocity: -0.0960 .. -0.0960 m/s