Problem on wrist during upper limbs movement

Hi, all.

I’m working on upper extremities movement.
The initial position of the motion is fig 1, and the target position is fig 2.
Kinematics analysis of this motion looks okay. However, it brings a penetration of surface error and breaks down during the dynamics analysis.
At first, I thought it was just a usual wrapping muscle related problem, thus I tried to modify SPLine.StringMesh, SPLine.RelTol, and the cylinder length of the wrapping muscle.

The dynamic analysis is failed when the posture is as fig 3. At this time, magnifying the model view (fig 4), I can see one of the muscle is bent. Turning the cylinder surface (fig 5) on to see what is happened with this muscle, it was bent because there is a wrapping muscle; the muscle was trying not to interfere the wrapping muscle.
However, in this case, considering the cylinder length direction, the surface is penetrating the radius, I think this causes the problem; I mean the lower arm and the hand are not properly located.

In fig 6, the radius and ulna was not rotated sufficiently relative to the hand and the hand is almost touching with the radius. Moreover, the two markers located on the wrist are twisted about 90 deg relative the ulna and radius landmark marker positions.
Sometimes the kinematics optimization fails because there exists a collision between hand and radius. But it can be solved by adjusting elbow pronation angle and the calculation is complete without error. However, the relative posture between these two segments does not look proper. Their relation is still unrealistic and the posture in fig 6 is nearly impossible to realize with actual human body.

In my thought, the failure of dynamics analysis is based on the kinematics of wrist rather than the penetration of surface itself.

I have tried this problem for weeks but I have not received satisfactory solution. I think it could be solved by letting the lower arm rotated properly against the hand.
Is there any suggestion for my problem?

Thanks.

Hi,

Please upload your model.

Best regards,
Moonki

Here’s my analysis model and additional images.
The bent muscle around wrapping surface is extensor indicis. The other figure is extensor carpi radialis brevis and it is twisted as well.
Also, for you information, I included some arm muscle wrapping related files in AMMRV131 which were modified.
Thanks :slight_smile:

Hi,

Sorry for late reply.

Let us explain how we could solve your problem.

Following is the definitions of RWRA and RWRB markers in ‘ModelSetup.any’ file in your model. Of course this may come from our GaitFullBody example.

  CreateMarker  RWRA (
  MarkerName=RWRA,  
  MarkerPlacement=Right.ShoulderArm.Seg.Hand, 
  OptX="Off",OptY="On",OptZ="Off",  
  WeightX=1.0,WeightY=1.0,WeightZ=1.0,

  Model1=MotionAndParameterOptimizationModel,Model2= InverseDynamicModel
  ) = {
    sRelOpt = {-0.0,-0.06,0.01};
  };
  
  CreateMarker  RWRB (
  MarkerName=RWRB,  
  MarkerPlacement=Right.ShoulderArm.Seg.Hand, 
  OptX="Off",OptY="On",OptZ="Off",  
  WeightX=1.0,WeightY=1.0,WeightZ=1.0,

  Model1=MotionAndParameterOptimizationModel,Model2= InverseDynamicModel
  ) = {
    sRelOpt = {0.0,0.06,0.01};
  };

As you can see, both RWRA and RWRB markers are attached on the Hand segment.

Now, I modified the definitions of these markers as follows:

  CreateMarker  [b]RWRA[/b] (
  MarkerName=RWRA,  
  MarkerPlacement=Right.ShoulderArm.Seg.[b]Radius[/b], 
  [b]OptX="Off",OptY="Off",OptZ="Off",[/b]  
  WeightX=1.0,WeightY=1.0,WeightZ=1.0,

  Model1=MotionAndParameterOptimizationModel,Model2= InverseDynamicModel
  ) = {
    [b]sRelOpt = {-0.18-0.05, -0.07+0.02, 0.01};[/b]
  };
  
  CreateMarker  [b]RWRB[/b] (
  MarkerName=RWRB,  
  MarkerPlacement=Right.ShoulderArm.Seg.[b]Ulna[/b], 
  [b]OptX="Off",OptY="Off",OptZ="Off",  [/b]
  WeightX=1.0,WeightY=1.0,WeightZ=1.0,

  Model1=MotionAndParameterOptimizationModel,Model2= InverseDynamicModel
  ) = {
    [b]sRelOpt = {0.03+0.01-0.005, 0.205+0.06, 0.01};[/b]
  };

Now, RWRA marker is attached on the Radius segment and RWRB marker is attached on the Ulna segment.

By doing this, we could check that there is no muscle wrapping problem in this modified model and we could finish the inverse dynamics analysis.

Attached please find the modified zip compressed file of your model and the modified ModelSetup.any file.

When I see your modifications on muscle wrapping geometries, it may cause some decrease of muscle moment arms so it would cause overloaded muscle state.

So I would recommend you to perform this fixed model in the original AMMRV1.3 repository. It would not work on your modified repository.

For the next release of AMMR, we will try to test whether this kind of new ModelSetup.any file can be use for general purpose. But now nothing can be confirmed yet.

So for your specific motion analysis, this modified ModelSetup.any file will be helpful to avoid the muscle wrapping problems near wrist joints.

I hope this may help to you.

Best regards,
Moonki

I think almost problems related wrapping muscle occurred within my analysis are solved by your suggestion.
Specially, the muscle’s penetration error into the wrapping surface on the wrist joint looks to be avoided.

Many thanks. :slight_smile: