Setting marker for GaitFullBody

Hi,

I am using bvh data instead of c3d in the GaitFullBody file, but there seem to be some error as shown below:

ERROR(SCR.PRS9) : C:/U…s/i…u/a…y/A…5/A…n/E…s/G…)/ModelSetup.any : Defined At : C:/U…s/i…u/a…y/A…5/Body/A…n/T…x/M…p/OptimizeAnthropometricsOnOff.any : ‘AnthroSegmentLengths’ : Unresolved object

May I know what is the problem?
The file that has been modified is as attached. Your help is greatly appreciated

Regards,
Atiq

Hi Atiq,

Could you let us know which version of AMS and AMMR you are using now?

You have to check it very carefully.

Best regards,
Moonki

Hi Moonki,

I am using AMS version 5.3 and AMMR version 1.4.1

Hi Atiq,

When I load your model, I could see the following error message:

Constructing model tree...
ERROR(SCR.PRS9) :   C:/W..E/[..]/A..4/C..y/S..t/G..)/ModelSetup.any  :     Defined At  :   C:/W..E/[..]/A..4/Body/A..n/T..x/M..p/CreateMarkerClassTD.any  :   'PosInterpol'  :  Unresolved object
Model loading skipped

The reason is simple. If you use AnyInputBVH class instead of AnyInputC3D class, then you can’t use marker data.
So you can’t use CreateMarkerClass and CreateMarkerClassTD objects.

Instead, you should try to scale your human model by yourself, and you have to make your own drivers from BVH data.

But this work is not a simple one so it will be very hard for me to implement it right now instead of you.

By the way, which kind of motion capture system are you using right now? If your motion capture system can generate some C3D files, then it will be much easier.

Best regards,
Moonki

Hi Moonki,

Thank you very much for your help and reply. Does it mean that I have to define the BVH data as the driver that drives the human model? If so, may I know how can it be done?

I am using iPi Desktop Motion Capture.

Regards,
Atiq

Hi Atiq,

There is no simple answer to your question as Moonki wrote, but here are the principle and a rough guideline.

[ol]
[li]Start with the FreePosture model as the base model[/li][li]Load the bvh model into your model[/li][li]Adjust the start and end time of your study to use the tiem values from the the bvh file[/li][li]Set the construct model in the bvh object to be “On” this will create a stick figure of your model[/li][li]Set the TranslationScale and RotationScale to the correct values depending on the bvh file you have[/li][li]Make sure it solved the kinematics before moving on[/li][li]Now the task is to hook up the human model onto the BVH stick firgure, it is a good idea to do this is small steps always having a model which can solve kinematically[/li][li]Start with the pelvis, remove the current driver for the pelvis and replace it by a driver which connects the pelvis to the pelvis equivalent segment in the BVH stick figure.[/li][li]Then move on to the thorax remove the PelvisThroax rotation driver it provides three rotations that you then need to replace by soemthing else. One option could be to create a rotational driver between the thorax and the equivalent segment in the BVH stick figure then drive these rotations.[/li][li]Now you should have a model where the trunks moves with the stick figure and the arms and legs are jsut kept in a fixed pos.[/li][li]The next steps is to hook up the arms and legs in a similar fashion.[/li][li]One way of doing this would be to create a six dof driver between the hand of the human model and the hand of the stick figure, and then add one additional driver, again you need to remove the same amount of drivers as you add.[/li][/ol]So as you can see it takes some amount of work, but if your bvh data is good this should create a good model.

Before trying to do this, please follow tutorials on kinematics, otherwise it will be too difficult.

Best regards
Søren

Hi Søren,

Thank you for your reply and guidelines.

I tried linking the driver to the BVH files.
But this error appears

WARNING(OBJ.MCH.KIN6) : C:/U…s/i…u/a…y/A…5/A…n/E…s/F…)/TrunkDrivers.any : rot : Close to singular position : Orientation close to Gimbal Lock, i.e., first and third axis of rotation being parallel
0.0.1) …Load-time positions have been re-established.
WARNING(OBJ.MCH.KIN1) : C:/U…s/i…u/a…y/A…5/A…n/E…s/F…)/FreePosture.Main.any : Study : Model is kinematically indeterminate : Position analysis failed : 379 independent constraints and 385 unknowns

May I know the problem and how to solve it? maybe you can take a look at the attachment. I am using AMS 5.3 and AMMR 1.5.
Another question from me, can I know any recommendations of motion capture software that could be use with AnyBody?

Best regards,
Atiq

Dear Atiq,

the first part of the message (close to singular position) is a warning, that is not very important and usually will not lead to failure of the model.

However, the second part (379 independent constraints and 385 unknowns) is very important: It means that you have 385 degree of freedom (DOF) in your body model, basically all joints. However, only 379 constraints that will describe the DOFs are defined.

you need to find out where the model is not constrained and find drivers for those joints.