I am studying the MoCap driven model to better understand the mechanism.
My question is in regards to why the inverse dynamics analysis is run with driving the model with anatomical joint angles rather than the markers directly.
I guess the intention is to smooth the joint motion with AnyKinEqInterPolDriver using 4th order bsplines. As the joint angles after parameter optimization are not necessarily smooth after kinematics optimization.
Can you please comment if this is true and/or are there any other reason behind this choice?
The two-step structure of the mocap models is indeed a pain. But the reason it is necessary is not only because of smoothness. You could in principle run an Inverse Dynamic simulation directly with the marker driven model, but it would be very slow.
The reason is that we can only calculate the velocities and accelerations numerically when running the over-determined kinematic solver that is used for marker driven models. That would slow down the kinematic analysis a lot because the system would need to perpetuate model for every time step to calculate the accelerations and velocities.
By using the joint angles as an intermediate step, we can run the model with the determinate solver (drivers == dof). Since b-splines are used for interpolation of the joint angles, we know accelerations/velocities analytically. That speeds up the process a bit. We are working on mocap model where it just single model and you don’t need to reload between the kinematic and the inverse dynamic analysis.