Foot and ground angle, Kinematic analysis failed

My model has issues with the angle between the foot and the ground.

8

When the model is first loaded, it is normal.
But when the simulation is run, the angle changes as shown in the picture.

I set up Initial position of model by this code.

  Main.HumanModel.Mannequin.Posture = {
    
// These can be ommitted if AutoPelvisPos above is used. 
    PelvisPosX = Main.ModelSetup.BVHFileData.Model.Hips.Seg.r0[0];
    PelvisPosY = Main.ModelSetup.BVHFileData.Model.Hips.Seg.r0[1];
    PelvisPosZ = Main.ModelSetup.BVHFileData.Model.Hips.Seg.r0[2];
  
    PelvisRotX = 0.0;
    PelvisRotY = -110.0;
    PelvisRotZ = 0.0;
        
    PelvisThoraxExtension = 0;
    PelvisThoraxLateralBending = 0;
    PelvisThoraxRotation = 0;

    NeckExtension = 0;
    NeckLateralBending = 0;
    NeckRotation = 0;
  
    Right = 
    {
      HipFlexion = 0;
      HipAbduction = 0;
      HipExternalRotation = 0;
      KneeFlexion = 0;
      AnklePlantarFlexion = 0;
      SubTalarEversion = 0;
      GlenohumeralFlexion = 0;
      GlenohumeralAbduction = 0;
      GlenohumeralExternalRotation = 0;
      ElbowFlexion = 0;
      ElbowPronation = 0;
      WristFlexion = 0;
      WristAbduction = 0;
    };
    Left = 
    {
      HipFlexion = 0;
      HipAbduction = 0;
      HipExternalRotation = 0;
      KneeFlexion = 0;
      AnklePlantarFlexion = 0;
      SubTalarEversion = 0;
    
      GlenohumeralFlexion = 0;
      GlenohumeralAbduction = 0;
      GlenohumeralExternalRotation = 0;
      ElbowFlexion = 0;
      ElbowPronation = 0;
      WristFlexion = 0;
      WristAbduction = 0;
    };
  }; // InitialPositionOfBody

I modified marker position. but not exactly same with perception neuron nodes.

I guess It is because that 'Progressing to solve kinematic optimality conditions and hard constraints' message and erros occur.
the error message is below.

Failed to solve kinematic optimality conditions and hard constraints after 5 fallback attemps.
Constraint violations for study 'Main.Studies.MarkerTracking' : 
Constraint #39 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.T1C7Jnt.Constraints'.
Constraint #42 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C7C6Jnt.Constraints'.
Constraint #45 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C6C5Jnt.Constraints'.
Constraint #48 is above tolerance 1e-06, error = 0.000001, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C5C4Jnt.Constraints'.
Constraint #51 is above tolerance 1e-06, error = 0.000001, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C4C3Jnt.Constraints'.
Constraint #55 is above tolerance 1e-06, error = 0.000001, constr. #1 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C3C2Jnt.Constraints'.
Constraint #57 is above tolerance 1e-06, error = 0.000004, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C2C1Jnt.Constraints'.
Constraint #61 is above tolerance 1e-06, error = 0.000003, constr. #4 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C2C1Jnt.Constraints'.
Constraint #63 is above tolerance 1e-06, error = 0.000002, constr. #1 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.C1C0Jnt.Constraints'.
Constraint #67 is above tolerance 1e-06, error = 0.000004, constr. #0 in 'Main.HumanModel.BodyModel.Trunk.JointsCervicalSpine.Flexion.CervicalFlexionRhythmDrv'.
Constraint #85 is above tolerance 1e-06, error = 0.000001, constr. #1 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.SCLinCon'.
Constraint #86 is above tolerance 1e-06, error = 0.000003, constr. #2 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.SCLinCon'.
Constraint #91 is above tolerance 1e-06, error = 0.000001, constr. #1 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.GHLinCon'.
Constraint #92 is above tolerance 1e-06, error = 0.000001, constr. #2 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.GHLinCon'.
Constraint #113 is above tolerance 1e-06, error = 0.000004, constr. #0 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.ScapulaAIThoraxNodeDriver'.
Constraint #114 is above tolerance 1e-06, error = 0.000025, constr. #0 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.SternoClavicularRotationRhythm'.
Constraint #115 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.ScapulaTSThoraxNodeDriver'.
Constraint #165 is above tolerance 1e-06, error = 0.000001, constr. #0 in 'Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.SCLinCon'.
Constraint #166 is above tolerance 1e-06, error = 0.000001, constr. #1 in 'Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.SCLinCon'.
Constraint #167 is above tolerance 1e-06, error = 0.000003, constr. #2 in 'Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.SCLinCon'.
Constraint #194 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.ScapulaAIThoraxNodeDriver'.
Constraint #195 is above tolerance 1e-06, error = 0.000026, constr. #0 in 'Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.SternoClavicularRotationRhythm'.
Constraint #196 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.ScapulaTSThoraxNodeDriver'.
Constraint #342 is above tolerance 1e-06, error = 0.000001, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg'.
Constraint #343 is above tolerance 1e-06, error = 0.000001, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.SacrumSeg'.
Constraint #344 is above tolerance 1e-06, error = 0.000001, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L5Seg'.
Constraint #345 is above tolerance 1e-06, error = 0.000001, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L4Seg'.
Constraint #346 is above tolerance 1e-06, error = 0.000003, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L3Seg'.
Constraint #347 is above tolerance 1e-06, error = 0.000007, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L2Seg'.
Constraint #348 is above tolerance 1e-06, error = 0.000014, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L1Seg'.
Constraint #349 is above tolerance 1e-06, error = 0.000002, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsThorax.SkullSeg'.
Constraint #350 is above tolerance 1e-06, error = 0.000027, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsThorax.ThoraxSeg'.
Constraint #351 is above tolerance 1e-06, error = 0.000002, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C1Seg'.
Constraint #352 is above tolerance 1e-06, error = 0.000010, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C2Seg'.
Constraint #353 is above tolerance 1e-06, error = 0.000011, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C3Seg'.
Constraint #354 is above tolerance 1e-06, error = 0.000012, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C4Seg'.
Constraint #355 is above tolerance 1e-06, error = 0.000015, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C5Seg'.
Constraint #356 is above tolerance 1e-06, error = 0.000018, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C6Seg'.
Constraint #357 is above tolerance 1e-06, error = 0.000022, segment constr. 'Main.HumanModel.BodyModel.Trunk.SegmentsCervicalSpine.C7Seg'.
Constraint #358 is above tolerance 1e-06, error = 0.000003, segment constr. 'Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Clavicula'.
Constraint #359 is above tolerance 1e-06, error = 0.000014, segment constr. 'Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Scapula'.
Constraint #366 is above tolerance 1e-06, error = 0.000006, segment constr. 'Main.HumanModel.BodyModel.Right.ShoulderArm.Mus.DeltoidWrappingPosterior.WrappingSegment'.
Constraint #367 is above tolerance 1e-06, error = 0.000008, segment constr. 'Main.HumanModel.BodyModel.Right.ShoulderArm.Mus.DeltoidWrappingLateral.WrappingSegment'.
Constraint #368 is above tolerance 1e-06, error = 0.000008, segment constr. 'Main.HumanModel.BodyModel.Right.ShoulderArm.Mus.DeltoidWrappingAnterior.WrappingSegment'.
Constraint #374 is above tolerance 1e-06, error = 0.000002, segment constr. 'Main.HumanModel.BodyModel.Left.ShoulderArm.Seg.Clavicula'.
Constraint #375 is above tolerance 1e-06, error = 0.000007, segment constr. 'Main.HumanModel.BodyModel.Left.ShoulderArm.Seg.Scapula'.
Constraint #382 is above tolerance 1e-06, error = 0.000004, segment constr. 'Main.HumanModel.BodyModel.Left.ShoulderArm.Mus.DeltoidWrappingPosterior.WrappingSegment'.
Constraint #383 is above tolerance 1e-06, error = 0.000005, segment constr. 'Main.HumanModel.BodyModel.Left.ShoulderArm.Mus.DeltoidWrappingLateral.WrappingSegment'.
Constraint #384 is above tolerance 1e-06, error = 0.000005, segment constr. 'Main.HumanModel.BodyModel.Left.ShoulderArm.Mus.DeltoidWrappingAnterior.WrappingSegment'.
Constraint #388 is above tolerance 1e-06, error = 0.000001, segment constr. 'Main.HumanModel.BodyModel.Left.Leg.Seg.Thigh'.
Constraint #389 is above tolerance 1e-06, error = 0.000001, segment constr. 'Main.HumanModel.BodyModel.Left.Leg.Seg.Patella'.
ERROR(OBJ.MCH.KIN3) :   AnyMocapModel.any(60)  :   MarkerTracking.Kinematics  :  Kinematic analysis failed in time step 1607 : Position analysis is not completed

If there is any other problem please tell me.
Thank you.

Hi, I solved the 'ERROR(OBJ.MCH.KIN3)'.
Now, I can run kinematic analysis.
but I still can't run inverse dynamic analysis.
there are some problems.

9

  1. angle of ankle
    Feet are in sloping position. and part of them are in ground.

  2. scapula problem
    The bones overlap each other, and I've tried many attempts to fix it. But I don't know which element I need to modify to fix it. please let me know

  3. and other ERRORs..

#### Macro command : mcr(1:1)> classoperation Main.ModelSetup.Views.InverseDynamicView"Set View"
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(346)  :   deltoideus_posterior_part_2.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_2' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(321)  :   deltoideus_posterior_part_3.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_3' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(346)  :   deltoideus_posterior_part_2.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_2' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(364)  :   deltoideus_posterior_part_4.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_4' on 'SPLine' is located below the wrapping surface'Surf
0.1.0.0.2) ...Kinematic analysis completed.
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(346)  :   deltoideus_posterior_part_2.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_2' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(321)  :   deltoideus_posterior_part_3.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_3' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(346)  :   deltoideus_posterior_part_2.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_2' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(364)  :   deltoideus_posterior_part_4.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_4' on 'SPLine' is located below the wrapping surface'Surf
0.1.0.0.3) ...Dependent variables are fully updated.
0.1.0) Inverse dynamic analysis...
WARNING(OBJ.MCH.DYN2) :   AnyMocapModel.any(60)  :   InverseDynamicStudy  :  Model contains redundant constraint reactions :  
  List of redundant reactions: 
   0: Main.HumanModel.BodyModel.Right.ShoulderArm.Jnt.ScapulaAIThorax_ContactReaction[0]
   1: Main.HumanModel.BodyModel.Left.ShoulderArm.Jnt.WristJointDeviation.Constraints.Reaction[3]

WARNING(OBJ.MCH.KIN7) :   Muscle.any(321)  :   deltoideus_posterior_part_3.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_3' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(1243)  :   teres_major_2.SPLine  :  Penetration of surface :  cyl :  Via-point 'O_teres_major_2' on 'SPLine' is located below the wrapping surface'cyl
WARNING(OBJ.MCH.KIN7) :   Muscle.any(364)  :   deltoideus_posterior_part_4.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_4' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(1265)  :   teres_major_4.SPLine  :  Penetration of surface :  cyl :  Via-point 'O_teres_major_4' on 'SPLine' is located below the wrapping surface'cyl
ERROR(OBJ.MCH.MUS4) :   AnyMocapModel.any(60)  :   InverseDynamicStudy.InverseDynamics  :  Muscle recruitment solver :  solver aborted after maximum number of iterations

Hi @twosejin

Is the data file the same as the one in this thread: Wrist extension - #5 by twosejin ?

If yes, then I don' t think you can use the data for the feet.
A strategy could be to try using the default mannequin drivers for the feet. and work on fixing the scapula. From your image the head markers seem to be very far from each other. (red vs. blue). Try and see if you need to move some markers in that region or exclude some and start by using the default. Then add one at a time.

If and when you get the kinematics of the model to work - make sure to inspect the accelerations of the data. If they are unstable the inverse dynamics will probably not work.

Best regards,
Bjørn

Hi, @Bjorn ,

No, I collected new data for the same behavior.

I added default mannequin drivers for the feet by this code.

  #define BM_FOOT_MODEL _FOOT_MODEL_DEFAULT_

and reomove this code to deactivate the bvh driver.

 CreateMarkerDriver RTOE(
 MarkerName = RTOE,
 MarkerPlacement= Right.Leg.Seg.Foot,
 PlaceMarkerAt = BigToeNode,
MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightUpLeg.RightLeg.RightFoot.Seg.End_Site,
 OptX=OFF,OptY=OFF,OptZ=OFF,  
 WeightX=1.0,WeightY=1.0,WeightZ=1.0,
 ScaleMarkerPosOnOff =OFF,
 USE_BVH_INPUT = 1 ) = 
 {
   sRelOpt =  {0, 0.0, 0};
   sRelOnBVH = {-0.05, 0, 0 };
 }; 
 
 
 CreateMarkerDriver RTOE2(
 MarkerName = RTOE2,
 MarkerPlacement= Right.Leg.Seg.Foot,
 PlaceMarkerAt =RTOE ,
 MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightUpLeg.RightLeg.RightFoot.Seg.End_Site,
 OptX=OFF,OptY=OFF,OptZ=OFF,  
 WeightX=0.0,WeightY=1.0,WeightZ=0.0,
 ScaleMarkerPosOnOff =OFF,
 USE_BVH_INPUT = 1 ) = 
 {
   sRelOpt =  {0, 0.0, 0};
   sRelOnBVH = {-0.05, 0, 0 };
 };   

//LTOE & LTOE2 code are also removed.

Is this way right?

Is moving or removing head markers the way to fixing the scapula?
I move head markers because head of my BVH data is bowed.
Is there other anyway for correct it?

I tried above method.
but ankles are still in ground and scapula is not fixed..

12

and there is distance between markers as the picture shows, is that ok?

13

Hi @twosejin

Good to hear you got new data.

The #define BM_FOOT_MODEL is used to switch between different implementations of the foot model and not the default mannequin drivers. If you look at the github repo i send a link to last week you will find a ExtraDrivers.any file that show you to enable support for the subtalar degree of freedom. You can do the same for the ankle eversion/inversion DoF as well.

You should only move markers if they landmark placements do not match the ones you used in your experiments. Here you can find more tips on how to adjust the model How to use own data in AnyMocap model · AnyBody/support Wiki · GitHub

In general you want as little distance between the red and blue markers after running the markertracking study. Otherwise your model scaling or kinematics might be flawed.

I think you can learn some of the basics you need from our tutorial 7. Making things move — AnyBody Tutorials v7.3.4 it deals with a lot of the issues you are facing.

The last thing, it is possible to adjust the location of the ground reaction force prediction trigger volumes. Those are the cylinders under the feet. There are settings to adjust for shoe heights and other in the class. You can find those in the ForcePlates.any file.

Best regards,
Bjørn

Dear @Bjorn ,

I tried to fix my issues, and I want you to review what I fixed.

  1. Planar flexion of feet

firt, I have trouble about planar flexion of feet.

For this, I removed create driver code (RTOE, RTOE2, LTOE, LTOE2 (on feet))
and edit ExtraDriver.any code like this.

   
  #define BM_MANNEQUIN_DRIVER_ANKLE_SUBTALAR_EVERSION_RIGHT OFF
  #define BM_MANNEQUIN_DRIVER_ANKLE_SUBTALAR_EVERSION_LEFT OFF
  
  //add
  //#define BM_FOOT_MODEL _FOOT_MODEL_DEFAULT_
  #define BM_MANNEQUIN_DRIVER_ANKLE_FLEXION_RIGHT OFF
  #define BM_MANNEQUIN_DRIVER_ANKLE_FLEXION_LEFT OFF

Trouble about angle of feet seems to be fixed.
And I think I don't need to adjust the location of the ground reaction force prediction trigger volumes.
Is this Right?

  1. Scapula problem

I just added this code.

#define BM_ARM_THORAX_SCAPULA_CONTACT _MULTIPLE_POINT_CONTACT_

I don't understand this mean, but scapula no longer penetrate thorax.
However, there is still something wrong with the angle of the shoulder.

16

What is wrong and what I have to do?

Thank you for your help.

Dear @Bjorn ,

I can run Kinematic analysis but When I run Inverse Dynamic analysis errors occur.
Please give me a hand to solve it.. Thank you.

***************************************************************************************
0) Operation Sequence: (Operation: Main.RunAnalysis): 
0.0) Operation Sequence: (Operation: Main.RunAnalysis.LoadParameters): 
0.0.0) Operation Sequence: (Operation: Main.RunAnalysis.LoadParameters.SubOperations): 
0.0.0.0) Dummy operation: (Operation: Main.RunAnalysis.LoadParameters.SubOperations.dummy): 
0.1.0) Load_parameters (Operation: Main.ModelSetup.Macros.Load_parameters): 
1.0) Operation Sequence: (Operation: Main.RunAnalysis.MarkerTracking): 
1.0.0) Operation Sequence: (Operation: Main.RunAnalysis.MarkerTracking.SubOperations): 
1.0.0.0) Dummy operation: (Operation: Main.RunAnalysis.MarkerTracking.SubOperations.dummy): 
1.0.1.0) Kinematics (Operation: Main.Studies.MarkerTracking.Kinematics): 
1.0.1.0.0) PreOperation (Operation: Main.Studies.MarkerTracking.Kinematics.PreOperation): 
1.0.1.0.0.0) InitialConditions (Operation: Main.Studies.MarkerTracking.InitialConditions): 
1.0.1.0.0.0) ...Design variables have been updated.
WARNING(OBJ.MCH.KIN6) :   Interface.any(215)  :   GHRot  :  Close to singular position  :  Orientation close to Gimbal Lock, i.e., first and third axis of rotation being parallel
WARNING(OBJ.MCH.KIN6) :   Interface.any(215)  :   GHRot  :  Close to singular position  :  Orientation close to Gimbal Lock, i.e., first and third axis of rotation being parallel
1.0.1.0.0.1) ...Load-time positions have been re-established.
1.0.1.0.0.1.0) PreOperation (Operation: Main.Studies.MarkerTracking.InitialConditions.PreOperation): 
1.0.1.0.0.1.0.0) Operation Sequence: (Operation: Main.ModelSetup.Views.SetViewMacros.KinematicView): 
1.0.1.0.0.1.0.0.0) mcr (Operation: Main.ModelSetup.Views.SetViewMacros.KinematicView.mcr): 

#### Macro command : mcr(1:1)> classoperation Main.ModelSetup.Views.KinematicView"Set View"
1.0.1.0.0.1.1.0) Operation Sequence: (Operation: Main.ModelSetup.Views.MarkerArrowsView.HideView): 
1.0.1.0.0.1.1.0.0) mcr (Operation: Main.ModelSetup.Views.MarkerArrowsView.HideView.mcr): 

#### Macro command : mcr(1:3)> classoperation Main.ModelSetup.Views.MarkerArrowsView.Hide "Set Value" --value={On}

#### Macro command : mcr(2:3)> classoperation Main.ModelSetup.Views.MarkerArrowsView"Set View"

#### Macro command : mcr(3:3)> classoperation Main.ModelSetup.Views.MarkerArrowsView.Hide "Reset Value"
Main.ModelSetup.Views.MarkerArrowsView.Hide :  Resetting value.
1.0.1.0.0.2) ...Kinematic analysis completed.
1.0.1.0.0.3) ...Dependent variables are fully updated.
1.0.1.0) Kinematic analysis...
1.0.1.4679) ...Kinematic analysis completed
2.0) Operation Sequence: (Operation: Main.RunAnalysis.InverseDynamics): 
2.0.0) Operation Sequence: (Operation: Main.RunAnalysis.InverseDynamics.SubOperations): 
2.0.0.0) Dummy operation: (Operation: Main.RunAnalysis.InverseDynamics.SubOperations.dummy): 
2.0.1.0) InverseDynamics (Operation: Main.Studies.InverseDynamicStudy.InverseDynamics): 
2.0.1.0.0) PreOperation (Operation: Main.Studies.InverseDynamicStudy.InverseDynamics.PreOperation): 
2.0.1.0.0.0) InitialConditions (Operation: Main.Studies.InverseDynamicStudy.InitialConditions): 
2.0.1.0.0.0) ...Design variables have been updated.
WARNING(OBJ.MCH.KIN6) :   Interface.any(215)  :   GHRot  :  Close to singular position  :  Orientation close to Gimbal Lock, i.e., first and third axis of rotation being parallel
WARNING(OBJ.MCH.KIN6) :   Interface.any(215)  :   GHRot  :  Close to singular position  :  Orientation close to Gimbal Lock, i.e., first and third axis of rotation being parallel
2.0.1.0.0.1) ...Load-time positions have been re-established.
2.0.1.0.0.1.0) PreOperation (Operation: Main.Studies.InverseDynamicStudy.InitialConditions.PreOperation): 
2.0.1.0.0.1.0.0) Operation Sequence: (Operation: Main.ModelSetup.Views.SetViewMacros.InverseDynamicView): 
2.0.1.0.0.1.0.0.0) mcr (Operation: Main.ModelSetup.Views.SetViewMacros.InverseDynamicView.mcr): 

#### Macro command : mcr(1:1)> classoperation Main.ModelSetup.Views.InverseDynamicView"Set View"
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
2.0.1.0.0.2) ...Kinematic analysis completed.
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(297)  :   deltoideus_posterior_part_1.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_1' on 'SPLine' is located below the wrapping surface'Surf
2.0.1.0.0.3) ...Dependent variables are fully updated.
2.0.1.0) Inverse dynamic analysis...
WARNING(OBJ.MCH.KIN7) :   Muscle.any(346)  :   deltoideus_posterior_part_2.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_2' on 'SPLine' is located below the wrapping surface'Surf
WARNING(OBJ.MCH.KIN7) :   Muscle.any(346)  :   deltoideus_posterior_part_2.SPLine  :  Penetration of surface :  Surf :  Via-point 'O_deltoideus_posterior_part_2' on 'SPLine' is located below the wrapping surface'Surf
ERROR(OBJ.MCH.MUS4) :   AnyMocapModel.any(60)  :   InverseDynamicStudy.InverseDynamics  :  Muscle recruitment solver :  solver aborted after maximum number of iterations

The error you are getting means that the model is not in balance. It Could be that it lacks support to the environment or a degree of freedom with to few muscles to support it. Check that you have the needed muscles switched on and that the model is in contact with the ground in the frames where it fail.

Best regards,
Bjørn

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.