How to add markers on the external brace

Hi

Fournier's paper: "Modeling and Simulation of a Lower Extremity Powered Exoskeleton" adds some markers on the exoskeleton. I want to ask how to add markers on the exoskeleton in "MarkerProtocol.any". I changed the position of the MarkerPlacement to Exoskeletons, but there is this error:'GeomScale': Unresolved object. Could you tell me how to solve it? Thank you in advance.

Best regards
Sam

Hi Sam,

The code was designed for body parts, but you can just add an identity transformation to the relevant segment as GeomScale:

MySeg = { AnyFunTransform3DIdentity GeomScale = {}; };

Regards,
Pavel

Hi Pavel

Thank you for your reply, sorry I don’t understand the meaning of this code, I don’t know where to put it, I see this code in CreateMarkerDriverClass,

AnyFunTransform3DLinRef Transform2SegmentFrame = {
AnyVec3 test1 = .. PlaceMarkerAt.sRel;
AnyMat33 test2 = .. PlaceMarkerAt.ARel;
Ref = &..PlaceMarkerAt;
};
sRel = Transform2SegmentFrame({0.0,0,0}) + MarkerOffset;

It said this was an attempt to allow PlaceMarkerAt to be anywhere, but I don’t understand what it means. Could you tell me the specific steps to add? Any help would be greatly appreciated, thank you in advance

Best regards
Sam

Sam,

I think you should just create a marker node on your exo. I assume you would not need to optimize it - so it will be a fixed node. Ignore this complex construction and just provide marker position.

Regards,
Pavel

Hi

I still can’t add markers on the exoskeleton. I added the following code as suggested above: Brace_Thigh={ AnyFunTransform3DIdentity GeomScale = {Main.Model.KneeBrace.Brace_Thigh}; };
But it shows this error:'GeomScale': Expression assignments are not allowed in declarations of AnyFolder objects. I think there are problems with my code and the location of the code.
Could you explain to me more how to use this code to add markers on the exoskeleton?

I would also like to ask if I capture the movement of the brace with the markers, then import C3D into Anybody and change the MarkerPlacement of some markers to the brace. Then the brace will move according to the C3D data, right? Does the previous kinematics constraints need to be modified? Will it affect the brace movement? Thank you very much, any help would be greatly appreciated.

Best regards
Sam

Hi Sam,

Please try this code which is more in line with what Pavel wrote.

AnyFolder &Brace_Thigh =Main.Model.KneeBrace.Brace_Thigh;


Brace_Thigh={ 
AnyFunTransform3DIdentity GeomScale = {}; 
};

Having the "Main.Model.KneeBrace.Brace_Thigh" inside the brackets is not meaningful and it cause the problem.

This code could be place almost anywhere in the model, i would add it next to the maker.

Best regards
Søren

Hi Søren,

Thank you very much for your reply. So there should be nothing in the brackets, right? I put the code in Main, but this error appeared when loading: "ERROR(SCR.PRS9): F:/A..o/A..n/M..s/P..e/S.. p/MarkerProtocol.any(224): Defined at: F:/A..o/T..s/A..p/CreateMarkerDriverClass.any(126):'AnatomicalFrame': Unresolved object". Could you tell me how to solve it?

If I capture the movement of the brace with the markers and import C3D into Anybody. Do I need to comment out the kinematic constraints between human and exoskeleton? The current movement should be driven by C3D data, right? I don't quite understand how to deal with kinematic constraints if I import C3D files. Thanks again :slightly_smiling_face:

Best regards
Sam

Hi Sam,

It is a similar problem the create markerclass also expect a reference frame named anatomical frame to be present on the segment so add one line to the code from above.

Brace_Thigh={ 
AnyFunTransform3DIdentity GeomScale = {}; 
AnyRefFrame AnatomicalFrame ={};
};

You have to make a choice if the brace is driven by markers or by constraints to the human or a combination.

If you have enough markers on brace alone it can be entirely driven by markers, you will then need to save the motion of the brace into a file just like the human body motions are saved to a file.

If you keep kinematic constraints in the model between exo and human, the markers on the brace will then change the motion of the leg to some extend.

So you have to make a choice if you want the motion to be entirely driven by markers or not.

Best regards
Søren

Hi Søren,

Thank you very much for your reply. I still can't solve this problem. Could you tell me what caused this problem? This error appeared after I added the above code:'AnyRefFrame': Objects of class AnyRefFrame cannot be created because it is an abstract class. I don't know how to solve it.

I want to measure the movement of the exoskeleton thigh through enough markers. But because of the position, I cannot separate the movement of the human shank and exoskeleton shank by markers, so I think there is no relative movement between the human shank and exoskeleton shank. So I should keep the kinematic constraints on the shank and comment out the kinematic constraints on the thigh, right?

You said to save the brace movement in a file. Is it automatically saved after kinematic analysis and in the Output folder? Thanks again for your detailed reply.

Best regards
Sam

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