GaitFullBody optimization of markers Debug

Hi Anybody
As requested in here is the Application files for the model. The Body folder was not added it is the same as was in AMMRV1.3.

I wasn’t able to upload the c3d file, it said something like incorrect extension. Is there another way to get his file to you?


I changed the extension from c3d to pdf. Maybe you can change the extension back to c3d to make it work.

Also, Id like to send you an excel sheet that has the formulas that I use to convert the initial condition values from radians to degrees, to adjust these parameters in the code in the main file so I don't have to adjust the joint angles by hand, but I cant upload to this forum. any ideas how to upload this to you?

Hi Damon,

I would suggest that you compress all your files into one zip file and upload it here. That way you can also preserve all directory structures of your model.

Best regards
Michael Skipper Andersen
Associate Professor
The AnyBody Research Project

Hi Michael
Here is everything except the "Body" folder. That folder at 79 MB was too large to send in zip. How do you recommend to proceed with the Body Folder?

Hi Damon,

It is sufficient that you only zip your own application and send that. We have the rest of the repository already.

Just remember to state which repository version and AnyBody version you.

Best regards
Michael Skipper Andersen
Associate Professor
The AnyBody Research Project

Hi Michael
I'm using two different AB software, one is 5.3.1 and the other is 5.0.0, will there be different outputs because of this? because I'm comparing across these outputs and don't want differences because of the software.t

I'm pretty sure it was AMMRV1.3. With that is there any reasons I should upgrade to a more recent version for the GaitFullBody Model? My work is focusing on L5/S1 kinetics, and the muscles associate with trunk, ES, RA, EO and IO.

Sincerely thanks

Hi Damon,

Attached please find the modified version of your model based on AMMR V1.5.1 and AMS V5.3.1.

Let me explain why I tried to reconstruct your model base on the AMMR V1.5.1 instead of AMMR V.1.3.

  1. In AMMR V1.3.x version, there were some issues regarding the force plate class template which may not determine whether the human foot is located inside the force plate or not sometimes.
    That issue had been fixed after the AMMR V1.4.

  2. Also in AMMR V1.3.x version, the NeckExtension joint angle was fixed as zero value. This may be an issue for your analysis.
    So I tried to use the GaitFullBody model in AMMR V1.5.1 and modified it in order to use the detail neck model which had 3 degrees of freedom.

  3. In your model, it seems that you tried to put almost every AnyScript code in the main file. It may not be good for us to identify your code.

  4. Also I adjusted some marker setup to generate better kinematics results.

  5. If this human is really carrying a heavy object, I recommend you to make some mass modeling between two hands if you want to get better simulation results.

So I strongly recommend you to use AMS V5.3.1 and AMMR V1.5.1 for your research.

But we will release the new AMS V6 and AMMR V1.6 very soon. It will contain a new MocapModel which has an easier interface for use.

Best regards,

Hi Moonki,

Thanks for helping me with this.

  1. The only AnyScript code I really want to keep in there is the “TrailSpecificData” . Because I make changes in this section for each subject, and for each trail the initial joint angles. So its more convenient for me to have it in the main file. The other AnyScrips I access less often, so they can be removed from the main file.

  2. The markers look great in the pictures. In 1.3, I had turned off the Forearms because in some trails these markers come in contact with the shelf, and I wanted to keep this anomaly in the trajectory, didn’t want to splice that trajectory. so I have a record of this in the C3D file.

-The RASI/LASA markers are off in the pelvis, and the CLAV, and STRN are OFF in the torso. And for the LPSI/RPSI there only the Z direction ON, and not all directions X,Y, and Z. Also, for T10 and C7, the X and Y are ON, but Z direction OFF, a) what is the reason for having partial directions on? The study is measuring L5/S1 forces, so is there a better way to set these up to get a more accurate kinetic measurement for L5/S1, b) or is the way it is now just as accurate as it would be by turning all markers and directions ON for CLAV, STRN, T10, C7; LPSI, RPSI, LASI, RASI?

-I noticed that segment markers are on, like THI, TIB, and UPA. And the Joints ELB, KNE are OFF. c) Would it be better to turn ON KNE and ELB, and turn off THI/TIB and UPA instead? Like I did by turning off FRM and turning on the WRA. Also SHO is OFF, d) wouldn’t it be better to have these on? e) is there some drawback from having these ON? The reason I ask is because the joints have better bone landmarks for the markers as apposed to the THI, TIB, UPA and FRM.

  1. The heaviest weight is 45 pounds. I understood that this weight would transfer back through the kinetic chain of the body (box, to hands, to arms, etc, back to the forceplates. Then within the 1.3 model, the calculations for the L5/S1 kinetics would be derived through the calculations with the force plate vectors, the body part kinetics, and the internal muscles forces. So I understood that the weight of the box is included this way. Are you saying that’s not the case?

Thanks I will use 1.5, but will need to re-run all my trails. So will need to run batch runs, which I have gotten help with information but I haven’t got it to work yet. What will 1.6 have that 1.5 doesn’t have?

I used the model from the zip, and the AMMR 1.5 from the link, and the trail is failing about half way through the lift. In the 1.3 model it ran to completion, were you able to run the trail to completion? if not what do you think is causing this new problem?

Sincerely thanks

Hi Damon,

  1. Regarding the marker definitions, you can choose OptX, OptY, OptZ as On or Off according to your purpose.
    If you have strong confidence in some markers which may not have skin artifact, then you can set OptX, OptY, OptZ as Off.
    As you pointed out, some markers such as RTIB, LTIB can be set as On because those markers should be optimized. But I think that RKNE and LKNE can be fixed by setting as Off.
    But it’s up to your decision.

  2. Regarding the weight modeling on hands, you can just try to put AnyForce3D on both hands to see the difference.

  3. Regarding the batch runs, you can make your own ‘.bat’ file which includes several use of AnyBody console applications.

If you have any other problems in running a single model, please upload it here again.

Best regards,

1 Like

Hi Moonki

  1. Thanks for explaining the marker definitions for OptX, OptY, OptZ On or Off. I’m thinking this can also be used for markers that have more video noise, markers that have more splicing, which after cleaning the noise and splicing may not be on the exact trajectory course. What do you think?

  2. Since both hands hold one box,. in reality the proportion of weight is changing between hands continuously, so I think just splitting the weight in two is not realistic. What do you think, will AnyForce3D account for the weight value changes between the hands? Can you please help me with how to apply AnyForce3D for this?

I’m not sure why it ran before and not now. I’ll keep testing. But, most of my problems with the trials failing have been due to skipping markers in the trajectories, which I then clean up the noise by removing the jumps. Cleaning up these jumps is very time consuming, sometimes even a small jump can cause the model to fail. Possibly the tolerances in this new model are lower, and some small noise is causing it to fail now. So, how would you recommend to adjust tolerances to allow the model to run with some small noise in the trajectories? This will be very helpful to me because, I won’t need to spend so much time cleaning out the small noise that has a small effect on the trajectory.

Sincerely thanks from, Damon

Hi Damon

  1. If you think that some markers have more serious noise effects than the others, then the I would use the lower weight factors for those markers.

  2. One good way is to make a simple model for box. And you can define some connections between hands and that box. You can find the ‘StandingLift’ example in the AMMR.

I would say that your original model in this post was not so good to understand for us at a glance. That’s the reason why I tried to ‘maintain’ the structure of the GaitFullBody model. As we know, if you can not run some of your trials then, you should adjust the initial posture of the human model. Or there may be some problems in you c3d files.

Best regards,

[LEFT][LEFT]Hi Moonki

  1. Is the weight range from 0 to 1? For a lower value what would you recommend?

  2. Thanks for the ‘StandingLift’ example, I’ll see what I can do.

I am glad you recommend using the 1.5 model. It makes more since for me to modify the newer model 1.5, than to try to modify the one I was using to include the code for the head/neck. It’s probably some noise in the trajectory that the new model is having problems with. In the 1.3 model I did increase the StringMesh values in the arms to increase the number of via points. I think the noise was causing the need for more via points. What do you think, will reducing the weight of the marker be enough to help with this noise, or do you also recommend adjusting the via points using StringMesh?


Hi Damon,

  1. I would recommend you to decrease the weight factor gradually. You can try with some lower values than 1 such as 0.5, 0.2 and so on.

  2. I guess that you may see some warnings and errors regarding the muscle wrapping from your models. We realized that sometimes this may happen when there are some complex arm motions in the C3D files.
    Of course there is no golden rule to solve this kind of situation. But you can try several things. You can change the definitions(radius, height, location, orientation) of muscles wrapping surfaces(ex: cylinder ). Also you can change the initial position vectors of muscles. Also increasing the StringMesh can an idea.

  3. If you are really interested in the spine joint reaction force, then you can try to exclude muscles in the arms. Of course you should put muscles in the trunk.

  4. I’m not sure but using AMS v6 and AMMR v1.6 may be helpful to you.

Best regards,

[LEFT]Hi Moonki,[/LEFT]

[LEFT]1) When decreasing the weight factor gradually, how do I know if I am at the right setting, what do I look for?

1.1) I just notices in 1.5 model that some markers are as high as a 10 weight. Like the RASI is 10 and xyz are OFF, LPSI is 5 but only Z is On. So is the range from 0 to ?

This is how I’m understanding it, please verify if each statement is correct.

a- If the markers are at a good bony location and there no noise from the motion capture cameras. Then turn OFF the markers, and it doesn’t matter if the weight is high or low, because the markers are OFF?

b- If the markers are in a location where its not easy to determine the correct location, like the THI, or there is noise from motion capture cameras, then turn on the markers, and for best results turn on all xyz?

c- The more noise or the more the marker if off location, the more the weight should be decreased?

[LEFT]2) For these approaches is there a try first, second, third order? Like should I try “b” first, then “a” then “c”?[/LEFT]

[LEFT]a- Change the definitions(radius, height, location, orientation) of muscles wrapping surfaces(ex: cylinder )[/LEFT]

[LEFT]b- Change the initial position vectors of muscles. [/LEFT]

[LEFT]c- Increasing the StringMesh [/LEFT]

[LEFT]2.1) Are there some good examples how to do a and b in the forum? if not can you provide some steps in this string please.
2.2) When increasing StringMesh, what is too high a value?[/LEFT]

[LEFT]3) Turning off the muscles for the arms would avoid this problem and would save processing time, but has it been verified there is no effect to lower back kinetics in the model either way (arm muscles on or off)? [/LEFT]

[LEFT]4) When will AMMR v1.6 be available, and what are the improvements?[/LEFT]

[LEFT]Sincerely thanks

Hi Damon,

I will try to make answers for your questions for each.

1.1) The weight factor of a marker can be from 0 to any value.
There is no certain limitation. But the relative differences of the markers are more important. For example, I usually use the following values such as 1, 2, 5 and 10 for the weight factor of a marker.
a - Yes. If you think that a certain marker is on a good bony location, then you can set these OptX, OptY, OptZ as ‘Off’. Then I would use a high weight factor for that marker.
b - For some markers such as RTHI and LTHI, I would set these OptX, OptY, OptZ as ‘On’. Then I would the normal weight factor as 1.
c - If a certain marker has a big noise, then I would use the lower weight factor.

  1. I would change the StringMesh number first. Then I would change the initial vectors of a muscle. Finally I would change the definitions of the wrapping surface.
    2.1) I’m not sure. You can search.
    2.2) Also I can’t tell exactly the value. I recommend you to increase the number gradually.

  2. There may be few muscles which can be connect between the arm segments and the trunk segments(thorax or pelvis). The existence of those muscles can give a small change of the result.

  3. AMMR V1.6 is already released with AMS V6.

Best regards,

Hi Moonki,

Thanks for helping with this, I’m trying to ask all the questions upfront cause I’d like not to have to go back to make changes to the model and re-run the trails, there are 744 trails. And as it is the 744 trails take a long time to process. So,

  1. How is this?  Please add/adjust as appropriate

OFF/10 = good bony location no noise
OFF/(5 to 2) = good bony location some noise
OFF/(2 to 0.1) = good bony location lots of noise
ON/1 = not good bony location little noise, or lots of splicing during motion capture cleanup
ON/(1 to 0.1) = not good bony location and more noise

  1. I feel more comfortable by leaving the arm muscles on, and figuring out how to overcome failure to run due to, usually noise in the markers. This would be a good study to verify what affect turning of the arm muscles has on lower back.

  2. I’ve already adapted 1.5 code, so I’d rather not have to do this again for 1.6. But, can you think of any good reason why I should change the model to V1.6?

Sincerely thanks

Hi Damon,

  1. My recommendation for the marker setup
    [FONT=Verdana][SIZE=2]OFF/10 = good bony location on trunk segments(thorax, pelvis) no noise
    OFF/5 = good bony location no noise
    OFF/1 = good bony location some noise
    OFF/(0.5 to 0.1) = good bony location lots of noise
    ON/1 = not good bony location little noise, or lots of splicing during motion capture cleanup
    ON/(0.5 to 0.1) = not good bony location and more noise

  2. If you have lots of trials, then I would recommend you to use your current AMMR version.

Best regards,

Thanks Moonki

I’ve been on a part time vacation, and also been working on another leg of the research, and also going through all the trails to sort out the trails according to, how they stepped on plates, marker noise and other mistakes that may prevent the use of the trails. The good thing is most of the trails are in really good shape.

Thanks for the above recommendation for marker weights. And also with a start with the forces plate vectors in the other thread. I think we can solve the force plates later, and try the weights later. The more important thing to solve now is the box. So, I’ll go back to the box thread.

Sincerely thanks