High error tolerances

When I try to drive my model using markers exactly as the Gait3D model
has been driven, I continually run into problems. The model worked
well when the hands were joined to the wheels, but let me explain how
I have changed the model so far. I took the hands off the wheels to
try to drive the model by the markers on the hands (before I drive the
elbow and shoulder markers). Similar to the AnyGait model, the 3rd
metacarpal of each hand (Metatarsal in gait), Radial styloid (heel),
and Ulnar notch (malleolus) are represented as markers. I set up the
environment so that each hub is a reference frame. I then did some
coordinate transformations to get the initial coordinate system that I
collected the kinematics data in, to align with the AnyBody
environment coordinate system. Then I put the marker trajectories
that I mentioned before (radial, ulnar, metacarpal) in terms of each
hub - the left side of the body in terms of the left hub, etc. After
this, I can compile the model, but once I set the initial conditions,
the model now says that “Study ‘Main.Study’ contains too few kinematic
constraints to be kinematically determinate.” And when I run the
SetInitialCondition the error tolerances are huge, primarily the
Main.Model.Markers.p15.LinDrv for each p-value (radius, ulna,
metacarpal). Any suggestions on how to eliminate the LinDrv tolerances?

Sorry for the lengthy questions. I’ll upload the file to the website
if you are interested.

Thanks,
Sarah

Hi Sarah,

>After this, I can compile the model, but once I set the
>initial conditions, the model now says that
>“Study ‘Main.Study’ contains too few kinematic constraints
>to be kinematically determinate.”

Do you have equilibrium in terms of degrees of freedom and kinematic
constraints when you run the ModelInfo operation? I think you
mentioned yesterday that you do, but I just wanted to be sure.

It is hard to visualize the drivers you have used, but there are
dfferences between the leg and the arms, mainly in the sense that the
leg does not have pronation/supination as the arm has. Do you have
drivers for this degree of freedom?

I can see that you have uploaded your model. We shall take a look at
it as soon as we can get around to it.

Best regards,
John

Hi Sarah

I have taken a look at your model.

There are some problems, here is a list of the points on the human
that you drive for the right arm (i have taken the names from your
drivers(

&ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.LateralWristR;
&ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.MedialWristR;
AnyRefFrame
&ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.PalmJoint.Meta
carpalR;

it is the same for the left arm. The problem is that all your
drivers, drives points on the rigth hand, this will not work. It is
not possibe to drive six linear dof of one segment, the distance
between the measured markers on the hand will not be 100% constant
as in the model. The elbow is also undefined, sideways and the
pronation is undefined.

You drive in total six dof of the arm (gh and downwards) you need to
drive seven.
The dof of the arm in BRep are:
GH three rotations
Elbow flexion
Forearm pronation supination
Wrist 2 rotations

I think you should do the following:
1 remove all the marker drivers.
2 add a joint driver for the wrist driving the two dof to zero,
making it stiff
3 add a sideways (z direction)driver for the elbow using the
humerus.em or humerus.el
4 add a joint driver for pronation/ supination set it to zero
5 add a marker driver for the hand using one of the marker you have
there and drive it in the x,y and z direction.

This adds up to seven drivers for each side.

Hopefully this will make it run, then you should remove the joint
drivers and replace those by marker drivers one by one, always
keeping a working model.

I hope this helps you move on, otherwise please write again

Best regards
Soeren AnyBody Support

— In anyscript@yahoogroups.com, “AnyBody Support” <support@a…>
wrote:
>
> Hi Sarah,
>
> >After this, I can compile the model, but once I set the
> >initial conditions, the model now says that
> >“Study ‘Main.Study’ contains too few kinematic constraints
> >to be kinematically determinate.”
>
> Do you have equilibrium in terms of degrees of freedom and
kinematic
> constraints when you run the ModelInfo operation? I think you
> mentioned yesterday that you do, but I just wanted to be sure.
>
> It is hard to visualize the drivers you have used, but there are
> dfferences between the leg and the arms, mainly in the sense that
the
> leg does not have pronation/supination as the arm has. Do you have
> drivers for this degree of freedom?
>
> I can see that you have uploaded your model. We shall take a look
at
> it as soon as we can get around to it.
>
> Best regards,
> John
>

Hi,

I recently took your suggestions to alter my model to try to minimize the
high error tolerances so that it can do more than just compile (set
initial conditions and run a kinematic analysis). I first removed all the
marker drivers, then added a joint driver for the wrist driving the two
dof to zero making it stiff, added a sideways driver for the elbow using
the humerus.el, added a joint driver for pronation/supination and set it
to zero, added a marker driver for the hand and drive it in the x, y, and
z direction. Again, I can get the model to compile, however the error
tolerances are still way to high (upwards along the ~200+ size). It
appears as if the linear driver for the markers is the problem. Any
suggestions? I have also uploaded the most recent file and the changes
can be seen in my JointsAndDrivers folder.

Thanks in advance,
Sarah

> Hi Sarah
>
> I have taken a look at your model.
>
> There are some problems, here is a list of the points on the human
> that you drive for the right arm (i have taken the names from your
> drivers(
>
> &ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.LateralWristR;
> &ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.MedialWristR;
> AnyRefFrame
> &ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.PalmJoint.Meta
> carpalR;
>
> it is the same for the left arm. The problem is that all your
> drivers, drives points on the rigth hand, this will not work. It is
> not possibe to drive six linear dof of one segment, the distance
> between the measured markers on the hand will not be 100% constant
> as in the model. The elbow is also undefined, sideways and the
> pronation is undefined.
>
> You drive in total six dof of the arm (gh and downwards) you need to
> drive seven.
> The dof of the arm in BRep are:
> GH three rotations
> Elbow flexion
> Forearm pronation supination
> Wrist 2 rotations
>
> I think you should do the following:
> 1 remove all the marker drivers.
> 2 add a joint driver for the wrist driving the two dof to zero,
> making it stiff
> 3 add a sideways (z direction)driver for the elbow using the
> humerus.em or humerus.el
> 4 add a joint driver for pronation/ supination set it to zero
> 5 add a marker driver for the hand using one of the marker you have
> there and drive it in the x,y and z direction.
>
> This adds up to seven drivers for each side.
>
> Hopefully this will make it run, then you should remove the joint
> drivers and replace those by marker drivers one by one, always
> keeping a working model.
>
> I hope this helps you move on, otherwise please write again
>
> Best regards
> Soeren AnyBody Support
>
>
> — In anyscript@yahoogroups.com, “AnyBody Support”
> wrote:
> >
> > Hi Sarah,
> >
> > >After this, I can compile the model, but once I set the
> > >initial conditions, the model now says that
> > >“Study ‘Main.Study’ contains too few kinematic constraints
> > >to be kinematically determinate.”
> >
> > Do you have equilibrium in terms of degrees of freedom and
> kinematic
> > constraints when you run the ModelInfo operation? I think you
> > mentioned yesterday that you do, but I just wanted to be sure.
> >
> > It is hard to visualize the drivers you have used, but there are
> > dfferences between the leg and the arms, mainly in the sense that
> the
> > leg does not have pronation/supination as the arm has. Do you have
> > drivers for this degree of freedom?
> >
> > I can see that you have uploaded your model. We shall take a look
> at
> > it as soon as we can get around to it.
> >
> > Best regards,
> > John
> >
>
>
>
>
>
>
> AnyBody Technology provides free support on the use of the AnyBody
> Modeling System and the Scripting language AnyScript. Other users are
> welcome to join the discussions.
>
>
> YAHOO! GROUPS LINKS
> Visit your group “anyscript” on the web.
> To unsubscribe from this group, send an email to:
> anyscript-unsubscribe@yahoogroups.com
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
>


Sarah R. Sullivan
PhD Candidate, Biomedical Engineering
Rutgers, The State University of New Jersey
Piscataway, NJ 08854
sarsulli@eden.rutgers.edu
908-420-3371

Hi Sarah

I have taken a look at your model and found some errors, now the
model is running kinematically a new zip have been uploaded.

I have made changes in the JointAndDrivers.any and the
MarkerListMover.any files, please search for AnyBodysup to find the
locations.

The main problmes in the JointAndDriver.any file where, that the
elbows where driven wrt. to the global ref not a marker, meaning
that the elbows would be forces to have a zero Z cooridnate.

In the MarkerListMover.any file there where a scaling issue on all
the data, which appeared to be in millimeters, that was the reason
for the big errors you got.

I changed all markers to the relative ones wrt. to the hubs, but i
could not find this data for the right and left elbows, and i failed
to reproduce it. This means that the elbows are driven in the z
direction using the RULn and LUln this should be changed, so that it
will use the relative elbow marker.

It is always a good idea to see visually the markers and the
environment moving together, before starting to use the makers for
driving the body. This can be done by outcommenting the human model
from the main file and the stuff relating the human with the
environment. This leave out only the marker and the environment, the
markers will then appear as grey spheres.

Best regards
Soeren Anybody Support

— In anyscript@yahoogroups.com, “Sarah R. Sullivan”
<sarsulli@e…> wrote:
>
> Hi,
>
> I recently took your suggestions to alter my model to try to
minimize the
> high error tolerances so that it can do more than just compile (set
> initial conditions and run a kinematic analysis). I first removed
all the
> marker drivers, then added a joint driver for the wrist driving
the two
> dof to zero making it stiff, added a sideways driver for the elbow
using
> the humerus.el, added a joint driver for pronation/supination and
set it
> to zero, added a marker driver for the hand and drive it in the x,
y, and
> z direction. Again, I can get the model to compile, however the
error
> tolerances are still way to high (upwards along the ~200+ size).
It
> appears as if the linear driver for the markers is the problem.
Any
> suggestions? I have also uploaded the most recent file and the
changes
> can be seen in my JointsAndDrivers folder.
>
> Thanks in advance,
> Sarah
>
>
> > Hi Sarah
> >
> > I have taken a look at your model.
> >
> > There are some problems, here is a list of the points on the
human
> > that you drive for the right arm (i have taken the names from
your
> > drivers(
> >
> >
&ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.LateralWri
stR;
> >
&ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.MedialWris
tR;
> > AnyRefFrame
> >
&ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.PalmJoint.
Meta
> > carpalR;
> >
> > it is the same for the left arm. The problem is that all your
> > drivers, drives points on the rigth hand, this will not work.
It is
> > not possibe to drive six linear dof of one segment, the distance
> > between the measured markers on the hand will not be 100%
constant
> > as in the model. The elbow is also undefined, sideways and the
> > pronation is undefined.
> >
> > You drive in total six dof of the arm (gh and downwards) you
need to
> > drive seven.
> > The dof of the arm in BRep are:
> > GH three rotations
> > Elbow flexion
> > Forearm pronation supination
> > Wrist 2 rotations
> >
> > I think you should do the following:
> > 1 remove all the marker drivers.
> > 2 add a joint driver for the wrist driving the two dof to zero,
> > making it stiff
> > 3 add a sideways (z direction)driver for the elbow using the
> > humerus.em or humerus.el
> > 4 add a joint driver for pronation/ supination set it to zero
> > 5 add a marker driver for the hand using one of the marker you
have
> > there and drive it in the x,y and z direction.
> >
> > This adds up to seven drivers for each side.
> >
> > Hopefully this will make it run, then you should remove the
joint
> > drivers and replace those by marker drivers one by one, always
> > keeping a working model.
> >
> > I hope this helps you move on, otherwise please write again
> >
> > Best regards
> > Soeren AnyBody Support
> >
> >
> > — In anyscript@yahoogroups.com, “AnyBody Support”
> > wrote:
> > >
> > > Hi Sarah,
> > >
> > > >After this, I can compile the model, but once I set the
> > > >initial conditions, the model now says that
> > > >“Study ‘Main.Study’ contains too few kinematic
constraints
> > > >to be kinematically determinate.”
> > >
> > > Do you have equilibrium in terms of degrees of freedom and
> > kinematic
> > > constraints when you run the ModelInfo operation? I think you
> > > mentioned yesterday that you do, but I just wanted to be sure.
> > >
> > > It is hard to visualize the drivers you have used, but there
are
> > > dfferences between the leg and the arms, mainly in the sense
that
> > the
> > > leg does not have pronation/supination as the arm has. Do you
have
> > > drivers for this degree of freedom?
> > >
> > > I can see that you have uploaded your model. We shall take a
look
> > at
> > > it as soon as we can get around to it.
> > >
> > > Best regards,
> > > John
> > >
> >
> >
> >
> >
> >
> >
> > AnyBody Technology provides free support on the use of the
AnyBody
> > Modeling System and the Scripting language AnyScript. Other
users are
> > welcome to join the discussions.
> >
> >
> > YAHOO! GROUPS LINKS
> > Visit your group “anyscript” on the web.
> > To unsubscribe from this group, send an email to:
> > anyscript-unsubscribe@yahoogroups.com
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.
> >
>
>
> –
> Sarah R. Sullivan
> PhD Candidate, Biomedical Engineering
> Rutgers, The State University of New Jersey
> Piscataway, NJ 08854
> sarsulli@e…
> 908-420-3371
>

I have taken your suggestions regarding how to get my model running
completely kinematically. I am now driving my elbows with relative elbow
markers. For the 7 degrees of freedom in the upper body model, I have
accounted for 4 - the 3 degrees of freedom driving the hand, and the 1
driving the elbow. I can not however, get the wrist or the
pronation/supination joints to drive correctly. Currently, the wrist is
locked in place, although that is not an accurate representation of how
the wrist moves in this model. Should I take out the wrist driver, and
replace it with two other drivers - the ulna styloid and radial styloid?
And driven in what direction? And for the pronation/supination joint, I
don’t want that joint to be set to zero either, however when I try to
adjust it (looking at the right side), the wrist gets incorrectly twisted
around.

If you could help me suggestions as to how to drive the wrist and
pronation/supination joints accurately, I would really appreciate it.

I am also uploading my latest version of the model, with the primary
changes having been in the JointsAndDrivers file.

Thanks for your help,
Sarah

> Hi Sarah
>
> I have taken a look at your model.
>
> There are some problems, here is a list of the points on the human
> that you drive for the right arm (i have taken the names from your
> drivers(
>
> &ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.LateralWristR;
> &ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.MedialWristR;
> AnyRefFrame
> &ref2=Main.Model.HumanModel.Right.ShoulderArm.Seg.Hand.PalmJoint.Meta
> carpalR;
>
> it is the same for the left arm. The problem is that all your
> drivers, drives points on the rigth hand, this will not work. It is
> not possibe to drive six linear dof of one segment, the distance
> between the measured markers on the hand will not be 100% constant
> as in the model. The elbow is also undefined, sideways and the
> pronation is undefined.
>
> You drive in total six dof of the arm (gh and downwards) you need to
> drive seven.
> The dof of the arm in BRep are:
> GH three rotations
> Elbow flexion
> Forearm pronation supination
> Wrist 2 rotations
>
> I think you should do the following:
> 1 remove all the marker drivers.
> 2 add a joint driver for the wrist driving the two dof to zero,
> making it stiff
> 3 add a sideways (z direction)driver for the elbow using the
> humerus.em or humerus.el
> 4 add a joint driver for pronation/ supination set it to zero
> 5 add a marker driver for the hand using one of the marker you have
> there and drive it in the x,y and z direction.
>
> This adds up to seven drivers for each side.
>
> Hopefully this will make it run, then you should remove the joint
> drivers and replace those by marker drivers one by one, always
> keeping a working model.
>
> I hope this helps you move on, otherwise please write again
>
> Best regards
> Soeren AnyBody Support
>
>
> — In anyscript@yahoogroups.com, “AnyBody Support”
> wrote:
> >
> > Hi Sarah,
> >
> > >After this, I can compile the model, but once I set the
> > >initial conditions, the model now says that
> > >“Study ‘Main.Study’ contains too few kinematic constraints
> > >to be kinematically determinate.”
> >
> > Do you have equilibrium in terms of degrees of freedom and
> kinematic
> > constraints when you run the ModelInfo operation? I think you
> > mentioned yesterday that you do, but I just wanted to be sure.
> >
> > It is hard to visualize the drivers you have used, but there are
> > dfferences between the leg and the arms, mainly in the sense that
> the
> > leg does not have pronation/supination as the arm has. Do you have
> > drivers for this degree of freedom?
> >
> > I can see that you have uploaded your model. We shall take a look
> at
> > it as soon as we can get around to it.
> >
> > Best regards,
> > John
> >
>
>
>
>
>
>
> AnyBody Technology provides free support on the use of the AnyBody
> Modeling System and the Scripting language AnyScript. Other users are
> welcome to join the discussions.
>
>
> YAHOO! GROUPS LINKS
> Visit your group “anyscript” on the web.
> To unsubscribe from this group, send an email to:
> anyscript-unsubscribe@yahoogroups.com
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
>


Sarah R. Sullivan
PhD Candidate, Biomedical Engineering
Rutgers, The State University of New Jersey
Piscataway, NJ 08854
sarsulli@eden.rutgers.edu
908-420-3371