MoCap Wheelchair Data

Hi there,
as described in http://forum.anyscript.org/showthread.php?t=3810 I am having trouble making my model run with the given C3D files.

My repository Version is 1.6.3. An my Anybody Version is 6.0.4.4327 (64-bit version).

The folder “edited” contains the file I tried to edit to a point where it works. (failed^^)
And the folder “Originals” contains the files I received from my colleagues.
To make this run please use the attached C3D file and use mass and height from the model-file in “edited”.

Thanks a lot!!
If there are any questions, just ask me! I’d be happy to help you help me ;D

did you go through these steps:
http://wiki.anyscript.org/index.php/NEW:_How_to_setup_your_own_MoCap_driven_Model

If this doesn’t help, please upload the full model. There is no information in just the main file.

Hi aalmunajjed,
yes I read the wiki and tried several of the “possible errors” attempts, but I couldn’t make it run.

Sorry for the incomplete Upload! I didn’t realize that I forgot almost all the files -.-
So this new attachment contains two folders.

“MoCapModel - FullModel - failed attempts” contains the full model the way I tried to make it run with P6_… as the C3D File and that persons weight and height.
“MoCapModel - Original files” contains markers.any and TrialSpecificData.any the way I received them with MK_Griff as the C3D file and that persons weight and height.

Sorry for the inconvenience^^
Thanks again!
Asaad

Dear Assad,

I added a fixed driver for the wrists, so that not the markers, but a fixed angle is used. This solved the problem and the model was able to run. I understand that you want to use the markers in the hand as well, so my suggestion is to get a very good fit of the initial position with the markers. Wrist and hands are complex to solve kinematically.

This code fixes the wrist joint completely:

//Right Wrist driver
AnyKinEqSimpleDriver RightWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Right.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Right.WristAbduction;
DriverPos = pi/180*{
.JntPos.Right.WristFlexion,
.JntPos.Right.WristAbduction};

DriverVel = pi/180*{
  .JntVel.Right.WristFlexion,
  .JntVel.Right.WristAbduction};
Reaction.Type={Off,Off};

};

//Left Wrist driver
AnyKinEqSimpleDriver LeftWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Left.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Left.WristAbduction;
DriverPos = pi/180*{
.JntPos.Left.WristFlexion,
.JntPos.Left.WristAbduction};

DriverVel = pi/180*{
  .JntVel.Left.WristFlexion,
  .JntVel.Left.WristAbduction};
Reaction.Type={Off,Off};

};

This code uses soft drivers, so there is a trade-off between markers and fixed wrist angle

//Right Wrist driver
AnyKinEqSimpleDriver RightWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Right.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Right.WristAbduction;
DriverPos = pi/180*{
.JntPos.Right.WristFlexion,
.JntPos.Right.WristAbduction};

DriverVel = pi/180*{
  .JntVel.Right.WristFlexion,
  .JntVel.Right.WristAbduction};
Reaction.Type={Off,Off};
CType = {Soft, Soft};

};

//Left Wrist driver
AnyKinEqSimpleDriver LeftWristDriverLeft ={
AnyKinMeasureOrg &ref1 = …HumanModel.BodyModel.Interface.Left.WristFlexion;
AnyKinMeasureOrg &ref2 = …HumanModel.BodyModel.Interface.Left.WristAbduction;
DriverPos = pi/180*{
.JntPos.Left.WristFlexion,
.JntPos.Left.WristAbduction};

DriverVel = pi/180*{
  .JntVel.Left.WristFlexion,
  .JntVel.Left.WristAbduction};
Reaction.Type={Off,Off};
CType = {Soft, Soft};

};

Thank you Amir!
I’ll work with your driver and try again to get a better initial position for the wrist markers!

Asaad