When I run the Kinematic tool for my FreePosture model I always get this error near the end:
- Kinematics (Operation: Main.Study.Kinematics):
0.0) PreOperation (Operation: Main.Study.Kinematics.PreOperation):
0.0.0) InitialConditions (Operation: Main.Study.InitialConditions):
0.0.0) …Design variables have been updated.
0.0.1) …Load-time positions have been re-established.
0.0.2) …Kinematic analysis completed. The kinematic constraints have been resolved.
0.0.3) …Initial conditions are fully updated.
- Kinematic analysis…
ERROR(OBJ1) : C:/U…s/j…1/A…a/R…g/A…y/D…s/A…o/A…n/M…s/M…e/M…l/I…s/TrunkDrivers.any(8) : PelvisGroundDriver : Time, ‘t’, has an invalid value for this interpolation
What does this mean? I’m using the same time array for all of my drivers.
This means that you are trying to go beyond the data in your input file.
So if your time values goes from 0 to 2 sec and and the tEnd of the study is 3 sec you would get this errror.
Please ensure that the tStart and and tEnd reflects the time you have in the input files.
Could this error have something to do with the kinematics solver type in the AnyBodyStudy?
I have just started looking into motion capture models. I looked into the AnyInputBVH class example (from the reference manual) and I tried to go further by adding a human model. I added the same BVH file from the example into the free posture model and the Human template, changing the tStart and tEnd correspondingly. In both the cases, I observed that putting the conditions:
Kinematics.SolverType = KinSolOverDeterminate;
InitialConditions.SolverType = Kinematics.SolverType ;
gave me the error:
ERROR(OBJ1) : C:/U…s/d…1/D…p/A…s/M…N/A…H/F…e/CodeBVH.any(1) : BVH_Model.Model.Hips.Driver : Time, ‘t’, has an invalid value for this interpolation
If I comment out these two lines, then the kinematic analysis goes ahead without any problems.
I am using AnyBody v6.0.7 and AMMR 1.6.5. Could you explain to me why this happens?
Thanks for writing here and we know that sometimes such a situation may happen when soft kinematics solver is enabled as you mentioned.
A very quick solution which may be helpful to solve this issue is to narrow down the gap between tEnd and tStart values in the AnyBodyStudy class instance.
tStart = Your_Original_tStart +[b]2[/b]*Kinematics.ApproxVelAccPerturb;
tEnd = Your_Original_tEnd -[b]2[/b]*Kinematics.ApproxVelAccPerturb;
Like the above code, please try to adjust your tStart and tEnd values in order to narrow down the range in between.
Thank you for your reply.
I tried your suggestion in the code and it solved the problem. However, I do not understand what exactly happens and how narrowing the time range solves the problem. I am afraid that if this solution fails in another case, I will be clueless about how much the gap should be narrowed… Anyway, at least I will know where to write then