tStart & tEnd while simulation using c3d file

Dear AnyBody staffs,

GaitFullBody Examples in AMMR (most versions…) determine the start time and the end time as followings for the kinematic and dynamic optimization.

tStart = Main.TrialSpecificData.tStart+2Kinematics.ApproxVelAccPerturb;
tEnd = Main.TrialSpecificData.tEnd-2
Kinematics.ApproxVelAccPerturb;

Because of these definitions, start and end time of output data vary from the imported c3d data.
When the motion in c3d file starts at 5.53 sec and finishes at 10.33 sec, the output data of AnyBody analysis have a time range of 5.55~10.31 sec.
I tried to change the value of Kinematics.ApproxVelAccPerturb from 0.01 to 0, but analysis failed.

What is the meaning of Kinematics.ApproxVelAccPerturb for the simulation?
And is it necessary for analysis, even though it makes the time range changed?

Thanks you.

With great regards,
Dong-Pyoung.

Dear Dong-Pyoung,

the purpose of the parameter Kinematics.ApproxVelAccPerturb is that this is used for the approximation of derivatives using a finite difference approach as stated in the reference manual.

I would say that in general there will not be very often a need to change this variable. Nevertheless, this variable should not be set to 0 since this will probably cause problems since in that case finite differences will always have the value 0, which is often a very bad approximation of the real derivative.

If you want to change the tStart and tEnd time, you should add another term (or remove it). But please be aware, that these terms were added for the purpose to avoid problems. Typically when you have a c3d file, data from the file are interpolated. To avoid extrapolation when calculating derivatives in the analysis, these terms were added as a kind of safeguard.

Best regards
Daniel

Best regards
Daniel