I understand your confusion on the model and how it is driven, it is a very complex model.
In our first attempt to create the model we used kinematic rhythms linking DOFs together using AnyKinLinComb, this was a way to reduce the number of DOF in the model in a sensible way adding “curvature rhythms” between DOFs. This approach has the drawback that the model will kinematically not react to the forces in the ligaments. In principle ligament forces could “dictate” one motion and kinematic rhythms could dictate another. The theoretical best way to resolve this would be use a full blown FDK model having multiple DOF which would control the DOF in the model which are governed by elasticity. For practical reasons speed/complexity this is not feasible now. The approach we have applied in the current version of the GM model is a “midway” solution between a model driven by markers+rhythms and a model driven by markers and FDK.
In the current implementation the potential elastic energy of the ligaments is added to the kinematic optimization problem by adding pot energy as a soft driver for each of the ligaments. When the kinematics is being solved there is one objective function containing contribution from both marker errors and pot. energy in ligaments. So the pot energy in ligaments will be minimized but unfortunately the objective function is “polluted” by marker errors which is not ideal, but there is no way around this. The foot model will take the calibrated posture if no other drivers are trying to move it.
When the kinematics has then been resolved the motion of all DOF are saved and transferred to the inverse dynamic model which is a kinematical determined model, without ligaments as drivers (force is there).
Concerning the muscles on the ligaments: the muscle configuration on the mid foot does not allow balance of all DOF, there are bones with no/few muscles attachments. In the real foot the motion of these DOF is controlled by elasticity. In this model there is no guarantee that the ligament forces/external forces are exactly in balance because motion is not solved using FDK. To ensure the model is able to find equilibrium for all DOF we have added muscles on top of the ligaments which can be used to “adjust” the force in the ligament up or down.
So coming back to your questions:
Q: The ligaments are modelled with AnyViaPointLigaments with the corresponding AnyLigamentModelPol. However, for some ligaments, a LigDriver is included, whereas for others a LigDriverAndMuscle is included. The LigDriver.any includes a LigamentDriver. What does this represent? Is this a force? What is the difference with the force generated from the LigamentModel?
A: The driver adds the potential energy as a softdriver, the potential energy is based on integrating the force function for the ligament
Q: The LigDriverAndMuscle includes the previous LigDriver but also includes muscle definitions (with Push and Pull components). What does this represent? Why do we have push components for ligaments?
A: The foot anatomy has several bones with no/few muscle attachments, the motion in these bones is governed by elasticity. For a model with “imperfect” kinematics equilibrium is not ensured, adding muscles on the ligament line measure is a way to allow the model to adjust the imperfect kinematically based ligament force, either up or down.
Q: The LigamentDriver is included for the ParameterIdentification and MarkerTracking but excluded for the InverseDynamics.
A: Yes the ligaments are only used as drivers in the kinematic models, once the motion has been extracted the inverse dynamic model is being driven in a kinematically determined way.
Q: I guess the ligaments are included during the MarkerTracking to determine their extension and thus the corresponding generated force (to be used in the inverse dynamics).
A: Yes the ligaments pot energy driver are included in the kinematic model to help control the motion.
Q: But why is the extra force needed in the MarkerTracking? Furthermore, why are these forces then not included in the InverseDynamics?
A: The force is not needed in MarkerTracking and ParameterStudy the elastic based force is being calculated this is correct. This is because this force is based on just kinematics, the force does not impact kinematics directly (but it does in the sense that the pot energy from the force is being minimized). In the inverse study the force acting on these ligaments are a summation of elastic force from the ligament model plus contribution from either a pull or push muscle. The Pull will be used if a higher force that the elastic ligament provides is needed the push will be activated if a lower forces is need. As far as I recall there are constraints applied ensuring that total force acting on the ligament can not be a pushing force. The forces are indeed applied in the InverseDynamics.
I hope it helps you understand the model.
I am curios can you tell a little about your plans with the model?