Skip to content

RigidTendonMuscle fibervelocity computation lacks pennation angle effect #3672

Open
@pepbos

Description

@pepbos

The fiberVelocity computation in RigidTendonMuscle does not take the pennation angular velocity into account. It appears to be correct only if the pennation angle is zero, which is not generally the case.

The fibervelocity computed by the RigidTendonMuscle is set to equal the muscle lengtheningspeed:

fvi.fiberVelocity = getPath().getLengtheningSpeed(s);

This would be correct if the pennation angle is zero. But the pennation angle is generally not zero:

mli.pennationAngle = acos(mli.cosPennationAngle);

It looks like the correct fibervelocity calculation can be found in Millard2012EquilibriumMuscle, with the ignore_tendon_compliance set to true:
https://github.com/opensim-org/opensim-core/blob/20752f3a7852854a3e95a0bf52832bc8ec788163/OpenSim/Actuators/Millard2012EquilibriumMuscle.cpp#L996C32-L996C32

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions