I am interested in using 6 displacement of two points to drive a segment unlike the common 3 displacement and 3 rotation angle. I think this method is feasible in theory and I find in the GaitVaughan model you drive the body like this(only use displacement to drive the markers).
I want to know how to drive it with only dispalcement.I try to analyze the foot segment in the GaitVaughan model . I think you use 2 markers with 5 dispalcement and a ankle to dirve it and the ankle is drived by a marker p3 with only one displacement.So this foot look like drive with 6 displacement.
I create a segment with two points to drive it and each point with 3 displacement.I use AnyKinEqInterPolDriver to drive it with two txt file(with tiny displacement and i am sure it moves in the feasible moving range). But I failed with the warning that model is kinematically indeterminate.
I want to know how to do drive a segment with only displacement and if you can tell me how you drive the foot segment in the GaitVaughan model ,I will be thankful.
It is, of course, possible to drive the segment with 6 translational dofs. The problem might be that these displacements may contain some error and driving using these trajectories would require the segment to deform. This can be solved by using ‘soft’ constraints in your driver constraint type.
But the code should be pretty straightforward. Try the following - i left some placeholders for you to fill in:
Dear Pavel,
Thanks for your help. I try to use your code to diver a segment. But I don’t know why the warning comes again. I checked every line and I didn’t find where the problem is.
If you have free time ,please help me to check my code.
Thanks again.
Yes, I think i have forgotten one small things. 6 translational degrees of freedom are actually not enough. It leaves with one rotation about the axis defined by these two points. And this is what we see as an error. Effectively a 3 third point not lying on the same line would help. Do you it is possible to add one?
I’m sorry to trouble you again. You’re warm-hearted and compassionate.
Our problem is that we only have the displacement of markers, and our measure equipment can only output displacement of markers. So ,if two markers are not enough, may be three or four are feasible?
The model in the AMMR\Application\Validation\GaitVaughan file looks like driven in that way(use only displacement to driver it). I study the drive method of the foot. I think you use 2 markers with 5 dispalcement and a ankle to dirve it . The ankle is driven by a marker p3 with only one displacement. So this foot looks like driven by 6 displacement.
Could you tell me how you drive the foot? It is important for us .
Pavel is correct it is not possible to drive the segment using translations only on two points, this will leave one rotation undetermined.
As an example if you hold a pencil in two points it will still be able to rotate.
You will need a third point, otherwise it is not possible.
Assuming you have three points, you can choose between using the overdetermined kinematics or not.
If you use overdeterminate kinematics, simply use x,y,z from all three points so 9 drivers.
If you want to have a kinematically deteminate model you can use for example;
Point1: x,y,z
Point2: x,y
Point3: z
or other equivalent combinations.
One more thing the linear measure need to make use of the reference frame of the segment not the global, otherwise it may make the model differently driven depending on directions…
I would just use the overdeteminate solver and three points.
The GaitVaughan model was made before this solver became availble, and as you say it uses two points, and some additionla constraints through the ankle joint.