Hi Madu,
I downloaded your model and figured out what is
the problem in your model. The inverse dynamics
analysis fail when the pendulum reached the very
right end (+ve x-direction). Visually, if you
look carefully at the model, the muscle at the
left
hand side is not able to provide a pulling force
for the pendulum to move to the left. If the
deceleration is too large it will need muscle
force to pull the pendulum downwards. To fix this
problem, you need to change the location of the
mus1 and mus2 (See the file ‘pend2mus_A.any’ file
uploaded to the same folder). Also, to avoid the
trouble of adjusting the parameters of the
AnyMuscleModel3E muscle model here, the mus1 and
mus2 were also changed to AnyMuscleModel muscle
for now.
Now to answer your second question: “How to
determine muscle length parameters”, the general
guidelines are:
- Using the physiology data in the literature;
- If such data is not available or not
applicable
as in this pendulum example, you can determine
the
muscle length using:
Run the kinematic analysis, plot the muscle Lmt
value using the AnyChart 2D/3D window. Muscle Lmt
is the total length of the muscle (see the figure
in page 131, AnyBody tutorial). From the graph,
you will see that it varies roughly from 0.6m to
1.25m. Using the lower end value 0.6, you can
approximate 0.5 is Lfbar (neutral fiber length),
0.1 is Lt0 (slack length of tendon). Other values
of AnyMuscle3E such as Gammabar, Fcfast, Jt, Jpe,
K1, K2, PEFactor, is best to use the suggested
values in page 131-132 of AnyBody Tutorial
ver3.0. In your original file, “pen2mus.any”, you
have the following parameters:
AnyMuscleModel3E mod2 =
{
F0 = 400;
Lfbar = 2;
Gammabar = 0;
Epsilonbar = 1;
Lt0 = .4;
Fcfast = 0.4;
Jt = 3;
Jpe = 3;
K1 = 10;
K2 = 0;
PEFactor = 1;
};
You have a Epsilonbar value of 1, which is the
tendon’s strain (change in length/total length),
means it is too ‘soft’, a reasonable number for
this value is 0.05. Next, the recommended values
for K1 and K2 is K1=2, K2=8 as shown in page 132
of AnyBody Tutorial. Lastly, the PEFactor should
be between 1.5 and 5, a PEFactor of 1 is will
give unreasonable huge passive force and result
in error in inverse dynamic analysis. I have
created a file name “pen2mus_B.any” that have
these AnyMuscleModel3E parameters changed. Using
this file, you will be able to run your inverse
dynamic analysis.
Hope this helps.
Thanks,
Leng-Feng
— hi_maddy_1984 <hellomadu@gmail.com> wrote:
> Thanks Soren and Michael for helping me out.
>
> Before moving to the next step, I tried to deal
> with pendulum motion
> tracking example (that comes with AnyBody).
> Here I am trying to attach
> muscles to that pendulum model and driving it
> using the text file
> (p1x.txt from the tutorial5 folder) to compute
> the resulting muscle
> forces while driving the model using motion
> capture trajectories. I
> have uploaded folder in *.rar format to the
> c3d2any folder in groups
> page for further reference.
> I get the following messages when I run the
> analysis in AnyBody after
> calibrating my model. I tried calibrating it at
> different positions
> (pendulum being vertical, intermediate
> positions as well as initial
> positions).
> While performing kinematic analysis, AnyBody
> gives a warning message:
> “Muscle model Main.MyModel.mod1 did not
> converge”. Check muscle length
> paramters.
> “Muscle model Main.MyModel.mod2 did not
> converge”. Check muscle length
> paramters.
>
> While performing inverse dynamics analysis,
> AnyBody analysis fails
> with a message :
> “Muscle recruitment analysis failed. Simplex
> solver reports that
> solution does not satisfy all the constraints.”
>
> Main.MyModel.mod1 and Main.MyModel.mod2 are my
> MuscleModel3E elements
> that I use in my model.
>
> I may be wrong in giving the muscle length
> parameters. If that is so,
> I would like to know the correct way to
> determine these parameters in
> general.
>
> Thanks in advance
>
> Regards
> Madu.
>
>
> — In anyscript@yahoogroups.com, “AnyBody
> Support” <support@…> wrote:
> >
> > Hi Madu
> >
> >
> >
> > You can access this value when the file has
> been converted to
> anyscript, but
> > it will not help i am afraid.
> >
> > If the mask is zero it will end up in the
> PointsProcessed folder,
> here you
> > can change the values in principle, but it
> will not help because the
> > conversion has already taken place.
> >
> >
> >
> > The best thing would be to edit the c3d file
> prior to the conversion. If
> > this is not possible you can move the markers
> from the PointsProcessed
> > folder to the PointsMarker folder manually,
> and then create the
> needed lines
> > in the MarkerListMover.any file, afterwards.
> You can try to convert
> another
> > c3d file to get a sample of the needed syntax
> in the MarkerKistMover.any
> > file.
> >
> >
> >
> > I hope this helps you move on, otherwise
> please write again.
> >
> >
> >
> > Merry Christmas and happy new year
> >
> >
> >
> > Best regards
> >
> > Søren, AnyBody Support
> >
> >
> >
> > _____
> >
> > From: anyscript@yahoogroups.com
> [mailto:anyscript@yahoogroups.com]
> On Behalf
> > Of hi_maddy_1984
> > Sent: 26 December 2007 22:26
> > To: anyscript@yahoogroups.com
> > Subject: [AnyScript] Re: c3d to anyscript
> conversion
> >
> >
> >
> > Hello everybody
> > Merry Christmas and wish you all a happy new
> year ahead.
> >
> > This is Madu, a current graduate student
> doing my master’s in
> > mechanical engineering specializing in
> controls and biomechanics.
> >
> > Michael, your last mail on C3D to Anyscript
> conversion was quite
> > useful for me too as right now I am working
> on to make a simple model
> > track the desired trajectories. But I too am
> facing the problem in
> > dealing with mask parameters. Currently I am
> just using the sample c3d
> > files for 2D motion capture analysis of
> flexing and extending the
> > arms. However, when I use this .c3d file I
> have and convert it to
> > anyscript using the latest version of c3d2any
> converter, though I am
> > able to generate *.any files, I cannot find
> the markers tracing the
> > trajectories. I think the reason for this is
> the mask parameter is
> > assigned to be zero as per what you have
> mentioned in your previous
> > mail. So, is there any way to get access of
> this mask parameter of
> > each marker inside the anyscript so that I
> can change its value to a
> > non zero mask parameter which would result in
> the markers tracking the
> > trajectories when I run the kinematic
> analysis.
> >
> > Any kind of help in this front is deeply
> appreciated.
> >
> > Thanks a lot for your time.
> >
> > Happy holidays to all.
> >
> > Regards
> > Madu.
> >
> > — In anyscript@yahoogrou
> <mailto:anyscript%40yahoogroups.com> ps.com,
> > “msandersen60” <msandersen60@> wrote:
> > >
> > > Hey Srikanth
> > >
> > > Let me try to explain why you do not see
> the markers moving and how to
> > > change that. In the converter, there is
> made a distiction between
> > > measured points and calculated points. As I
> am sure you are aware of,
> > > all sorts of calculated data can be stored
> as point data in a c3d file
> > > e.g. calculated angles, etc. Since it does
> not make much sense to move
> > > these calculated points around in space by
> means of drivers, it was
> > > decided that the converter only creates
> drivers automatically for
> > > those points that are certain to have been
> measured. This distinction
> > > is made based on the content of the camera
> mask and residual words in
> > > the c3d file. You can see a detailed
> description of the camera mask
> > > and residual words here:
> > http://www.c3d.
>
<http://www.c3d.org/HTML/notesforprogrammers4.htm>
> > org/HTML/notesforprogrammers4.htm
> > >
> > > In short, if both the camera mask and
> residual are zero for all
> > > frames, the point is treated as calculated
> data and placed in the
> > > PointsProcessed folder. Otherwise it is
> placed in the PointsMarkers
> > > folder and additionally a driver is created
> for the point in the
> > > MarkerListMover.any file.
> > >
> > > I hope this answers your question else
> please ask again.
> > >
> > > Best regards
> > > Michael Skipper Andersen
> > > The AnyBody Research Project
> > >
> > > — In anyscript@yahoogrou
> <mailto:anyscript%40yahoogroups.com>
> ps.com,
> > Srikanth Kannan
> > > <srikanth_kannan84@> wrote:
> > > >
> > > > hi all
> > > > i corrected my c3d file such that it does
> not have duplicate
> > > parameter (Zero) under ForcePlatform
> section. i am able to convert my
> > > c3d file into anyscript. But now when i am
> running Kinematic analysis
> > > i am not able to see any marker movement.
> points p1,p2,p3 are marker
> > > points co-ordinates while p is fixed point
> coordinates. i have
> > > uploaded c3d file and AnyBody files
> (test.rar) in groups under c3d2any
> > > folder. Any help from you is deeply
> appreciated.
> > > >
> > > > thanks
> > > > srikanth
> > > >
> >
> >
> >
> >
> >
> > [Non-text portions of this message have been
> removed]
> >
>
>
>
________________________________________________________________________________\
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs