I have some problem. (using GaitUniMiami model with c3d2any)

Hello, everyone.

I try to use the GaitUniMiami.

so, change the c3d to anyscript, and make some anyscript file.

but, I got Error massage like below when I run the changed

GaitUniMiami main script.

" ERROR(SCR.PRS9) : C:\Program Files\AnyBody Technology\Repository7
\Application\Examples\GaitUniMiami\MarkerTopology.any
(62) : ‘Seg’ : Unresolved object "

I follow the steps in the manual, top of “GaitUniMiami.main”

script.

why is discoverd the error massage ?

plz, somebody solve this problem.

P.S: I want to put the Files, but there is no way to upload data.
so, if you want to the files, I will send it by e-mail.

address : sqeeze@nate.com

yeh, I know. my English is terrible…

I found that there are some different source.

for example, in my data, there is no 'LWRA , RFIN … '.

and My data use only 2 forceplates.

I try to fit my data to this model. but, It’s not easy…

if you know the answer. plz, help me…

My professor push me to use “SIMM”…

— In anyscript@yahoogroups.com, “hcw0432” <hcw0432@…> wrote:
>
>
> Hello, everyone.
>
> I try to use the GaitUniMiami.
>
> so, change the c3d to anyscript, and make some anyscript file.
>
> but, I got Error massage like below when I run the changed
>
> GaitUniMiami main script.
>
> " ERROR(SCR.PRS9) : C:\Program Files\AnyBody
Technology\Repository7
> \Application\Examples\GaitUniMiami\MarkerTopology.any
> (62) : ‘Seg’ : Unresolved object "
>
> I follow the steps in the manual, top of “GaitUniMiami.main”
>
> script.
>
> why is discoverd the error massage ?
>
> plz, somebody solve this problem.
>
> P.S: I want to put the Files, but there is no way to upload data.
> so, if you want to the files, I will send it by e-mail.
>
> address : sqeeze@…
>
> ## yeh, I know. my English is terrible…
>

Hi changwoo

First i will give a short introduction, then I will address your question.

In the top of the GaitUniMiami model there is a 15 step procedure which
should show how to create a gait model based on a different gait data set.

If you have not done so I would recommend that you try to follow these steps
one by one, it is not easy the first time you do this, because there is a
number of things that needs to be setup which related to the specific
experimental setup used. Most importantly you need to specify all the
markers you made use of in the experiment, these have to be created in the
model, this is done in the MarkerTolpology.any file. The good thing is, that
this only has to be done for each marker configuration once. So you can do
more trials and different subjects as long the marker protocol remains the
same with out changing the MarkerTopology file. Secondly you need to create
the forceplate you have made use of this is done in the environment.any
file. Here you basically have to recreate your exact force plate setup, so
it is vital that you know the exact orientation of the force plate
coordinate systems etc.

Ok now to the error:

Most likely this is because you do not have the same marker names as in the
GaitUniMiamiModel.

I would recommend the following steps

1 remove all the marker blocks in the MarkerTopology file

2 this will create an error in the DataForConfigFile.any file this is the
file writing the output for the gaitappliaction2.exe, so simply exclude the
include statement for this file form the main file, until you have created
all the markers in the MarkerTopology file.

3 in the LocalCoordinatesAndSize you also need to make sure that all the
marker names reflects the ones you have in the c3d file.

4 add your makers one by one in the MarkerTopology file and the
LocalCoordinatesAndSize.any file, always keeping a running model

It is possible to upload the data, the group has a file section, please look
for the “Files” link in the left side of the screen on the forum.

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

Best regards

Søren, AnyBody Support


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of hcw0432
Sent: 26 June 2008 07:44
To: anyscript@yahoogroups.com
Subject: [AnyScript] I have some problem. (using GaitUniMiami model with
c3d2any)

Hello, everyone.

I try to use the GaitUniMiami.

so, change the c3d to anyscript, and make some anyscript file.

but, I got Error massage like below when I run the changed

GaitUniMiami main script.

" ERROR(SCR.PRS9) : C:\Program Files\AnyBody Technology\Repository7
\Application\Examples\GaitUniMiami\MarkerTopology.any
(62) : ‘Seg’ : Unresolved object "

I follow the steps in the manual, top of “GaitUniMiami.main”

script.

why is discoverd the error massage ?

plz, somebody solve this problem.

P.S: I want to put the Files, but there is no way to upload data.
so, if you want to the files, I will send it by e-mail.

address : sqeeze@nate. <mailto:sqeeze%40nate.com> com

yeh, I know. my English is terrible…

[Non-text portions of this message have been removed]

Hi changwoo

This is what I mentioned in the previous posting you need to change all the
marker names to reflect the marker names and locations of your model.

This is equivalent to step nine please see this explanation take from the
top of the GaitUniMiami.main.any file

I you have another marker set than the one used in the Trial13 model, you
will now need to create new markers according to the measured markers.

This is done by editing two files, these are
LocalMarkerCoordinateAndSize.any and MarkerTopology.any. Here you will need
to modify the markernames

in the Markertopology file and the coordinates in the
LocalMarkerCoordinaesAndSize file. During this work it is very important to
make sure that

the new markers get attached to the right segments and gets the correct
SegNr applied, otherwise the gaitapplication2.exe will fail to optimize

the problem.

You are right about the force plates you need to changes these, since the
ones in the model describes another lab setup, here is the explanation again

Now all you need is to create a new environment.any file which fits the
forceplate layout of the trial, this is done in the Environment.any file.

Currently this file contains an environment of four force plates, all
coordinates cornes, origins etc in this file originates from the C3D file.

There are inprinciple four ways the forceplate data can come in this is
specified by the force plate type setting in the C3D file. The Trial13

data set is a type 3, meaning that for each force plate there are eight
force signals, applied. Depending on the Force_Plate.Type setting on the

NewDataSet the Environment.any file will need to be changed, all four types
should be possible to replicate.

So you need to look into your c3d data and find out which type of forceplate
you have, you can read more about this at this page
http://www.c3d.org/HTML/default.htm there is a item called “The
FORCE_PlatformGroup”

If you have more questions please ask again.

Best regards

Søren, AnyBody Support


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of hcw0432
Sent: 26 June 2008 10:29
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: I have some problem. (using GaitUniMiami model with
c3d2any)

I found that there are some different source.

for example, in my data, there is no 'LWRA , RFIN … '.

and My data use only 2 forceplates.

I try to fit my data to this model. but, It’s not easy…

if you know the answer. plz, help me…

My professor push me to use “SIMM”…

— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“hcw0432” <hcw0432@…> wrote:
>
>
> Hello, everyone.
>
> I try to use the GaitUniMiami.
>
> so, change the c3d to anyscript, and make some anyscript file.
>
> but, I got Error massage like below when I run the changed
>
> GaitUniMiami main script.
>
> " ERROR(SCR.PRS9) : C:\Program Files\AnyBody
Technology\Repository7
> \Application\Examples\GaitUniMiami\MarkerTopology.any
> (62) : ‘Seg’ : Unresolved object "
>
> I follow the steps in the manual, top of “GaitUniMiami.main”
>
> script.
>
> why is discoverd the error massage ?
>
> plz, somebody solve this problem.
>
> P.S: I want to put the Files, but there is no way to upload data.
> so, if you want to the files, I will send it by e-mail.
>
> address : sqeeze@…
>
> ## yeh, I know. my English is terrible…
>

[Non-text portions of this message have been removed]

I changed the LocalMarkerCoordinateAndSixe.any and MarkerTopology.any

My marker is ‘Type-2’. The Analog File conclude F1X, F1Y, F1Z, M1X ,

M1Y, M1Z, and same style on plate2.

I don’t know ,how can I change the Environment.any file.

It is very kind of you to reply my question. thank you.

regards

chang woo.

I change some cord in the Environment.any file. (below…)


//This file creates the environment around the human
//It creates the force plates and add the measure load to them

AnyFixedRefFrame GlobalRef ={
Origin={0,0,0};
AnyDrawRefFrame drw={ScaleXYZ=0.4*{1,1,1};};
};

AnyFixedRefFrame Corners={
Axes=…Orientation;

AnyFloat
corners=Main.C3DFileData.Groups.FORCE_PLATFORM.CORNERS.Data;

AnyRefNode c01={
AnyInt i=0;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.0001*{1,1,1};RGB={1,0,0};};
};
AnyRefNode c02={
AnyInt i=1;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,0};};
};
AnyRefNode c03={
AnyInt i=2;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,0};};
};

AnyRefNode c04={
AnyInt i=3;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,0};};
};

//plate B
AnyRefNode c0center={
sRel=0.25*(.c01.sRel+.c02.sRel+.c03.sRel+.c04.sRel);
ARel=RotMat(pi,x)RotMat(-0.5pi,z);
//AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={0,1,0};};

};

AnyRefNode c11={
AnyInt i=0;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};
AnyRefNode c12={
AnyInt i=1;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};
AnyRefNode c13={
AnyInt i=2;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};

AnyRefNode c14={
AnyInt i=3;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};

//Plate A
AnyRefNode c1center={
sRel=0.25*(.c11.sRel+.c12.sRel+.c13.sRel+.c14.sRel);
ARel=RotMat(pi,x)RotMat(0.5pi,z); //this one is orientated
differently
// AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={0,1,0};};
};

AnyRefNode c21={
AnyInt i=0;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};
AnyRefNode c22={
AnyInt i=1;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};
AnyRefNode c23={
AnyInt i=2;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};

AnyRefNode c24={
AnyInt i=3;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};
//plate C
AnyRefNode c2center={
sRel=0.25*(.c21.sRel+.c22.sRel+.c23.sRel+.c24.sRel);
ARel=RotMat(pi,x)RotMat(0.5pi,z); //orienatated differently
// AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={0,0,1};};
};

AnyRefNode c31={
AnyInt i=0;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};

AnyRefNode c32={
AnyInt i=1;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};

AnyRefNode c33={
AnyInt i=2;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};

AnyRefNode c34={
AnyInt i=3;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};
//plate D
AnyRefNode c3center={
sRel=0.25*(.c31.sRel+.c32.sRel+.c33.sRel+.c34.sRel);
ARel=RotMat(pi,x)RotMat(-0.5pi,z);
// AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={1,0,1};};

};
};
//setup time array for analog data

// StartFrame1/(Main.C3DFileData.Header.VideoFrameRate).
//Og herefter follows all samples with a frquency on
//Main.C3DFileData.Header.VideoFrameRate

//Main.C3DFileData.Header.NoAnalogSamplesPer3DFrame
//So:
//analog sample 1: StartFrame1/
(Main.C3DFileData.Header.VideoFrameRate).
//Analog sample 2: StartFrame
1/
(Main.C3DFileData.Header.VideoFrameRate) +
//1/(Main.C3DFileData.Header.VideoFrameRate*
//Main.C3DFileData.Header.NoAnalogSamplesPer3DFrame)
//and so on.
AnyInt StartFrame = Main.C3DFileData.Header.FirstFrameNo;
AnyInt EndFrame =Main.C3DFileData.Header.FirstFrameNo-1+
(Main.C3DFileData.Header.LastFrameNo-
Main.C3DFileData.Header.FirstFrameNo)*
Main.C3DFileData.Header.NoAnalogSamplesPer3DFrame;
AnyFloat Time=
((StartFrameMain.C3DFileData.Header.NoAnalogSamplesPer3DFrame)+iarr
(0,EndFrame-StartFrame))
(1/
(Main.C3DFileData.Header.VideoFrameRate*Main.C3DFileData.Header.NoAnal
ogSamplesPer3DFrame));

AnyFolder PlateB={
AnySeg ForcePlate={
Mass=0.0;
Jii={0,0,0};
r0=…Corners.c0center.sRel;
Axes0 =RotMat(pi,z)*RotMat(pi,x)RotMat(-0.5pi,z);

 AnyRefNode PlateGraphics ={
   sRel={0,0,0.05};
   AnyDrawRefFrame drw={
     ScaleXYZ=0.25*{1,1,1};
     RGB=.Color;
   };
   AnyVec3 Color=0.45*{1,1,1};
   AnyVec3 Size={vnorm(...Corners.c01.sRel-

…Corners.c02.sRel,2),vnorm(…Corners.c02.sRel-
…Corners.c03.sRel,2),0.1};
AnyVar Transparency =0.4;
#include “…/…/…/Body/AAUHuman/Toolbox/DrawObjects/Box.any”
};

 AnyFloat Origins=

Main.C3DFileData.Groups.FORCE_PLATFORM.ORIGIN.Data;
AnyVar ydist=Origins[0][0]; //distance from y axis on transducer
to y axis of center of plate
AnyVar xdist=Origins[0][1];//distance from x axis on transducer
to x axis of center of plate
AnyVar zdist=Origins[0][2];//distance from z axis on transducer
to z surface of plate

 AnyRefNode P1={
   sRel=0.001*{.ydist,.xdist,.zdist};
  AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P2={
   sRel=0.001*{-.ydist,.xdist,.zdist};
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P3={
   sRel=0.001*{-.ydist,-.xdist,.zdist};
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P4={
   sRel=0.001*{.ydist,-.xdist,.zdist};
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P1P2={
   sRel=0.5*(.P1.sRel+.P2.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P3P4={
   sRel=0.5*(.P3.sRel+.P4.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P1P4={
   sRel=0.5*(.P1.sRel+.P4.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P2P3={
   sRel=0.5*(.P2.sRel+.P3.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };

};

AnyKinEqSimpleDriver ForcePlateDriver ={
AnyKinLinear ForcePlateLin={
AnyRefNode &ref1=…Corners.c0center;
AnySeg &ref2=…ForcePlate;
Ref=0;
};

 AnyKinRotational ForcePlateRot={
   AnyRefNode &ref1=...Corners.c0center;
   AnySeg &ref2=..ForcePlate;
   Type=RotAxesAngles;
 };
 DriverPos={0,0,0,0,0,0};
 DriverVel={0,0,0,0,0,0};
 Reaction.Type = {Off,Off,Off,Off,Off,Off};

};

AnyReacForce PlateFootReaction={

 AnyKinLinear Lin={
   Ref=0;
   AnySeg &ref2=..ForcePlate;
   AnySeg &ref1=....HumanModel.Right.Leg.Seg.Foot;
 };

 AnyKinRotational Rot={
   AnySeg &ref2=..ForcePlate;
   AnySeg &ref1=....HumanModel.Right.Leg.Seg.Foot;
   Type=RotAxesAngles;
 };

};

//This particular data set has a problem with force offsets in the
analog data there is a correction vector for each of the four plates
AnyVector OffsetCorrection={2.4,-6.2,-6.2,-6.8,-25,-25,-25,-27};

AnyForce3D F1X ={

 AnyFunInterpol force ={
   Type=PiecewiseLinear;
   T=...Time;
   Data={Main.C3DFileData.Analog.Data.F1X}+..OffsetCorrection[0] ;
 };

 AnyRefNode &ref1=.ForcePlate.P1P2;
 Flocal=.OnOff*{force(t)[0],0,0};

 AnyDrawVector DrawSupport2 = {
   AnyRefFrame &ref = .ref1;
   Vec = 0.0005*.Flocal*.ref1.Axes';
   PointAway = Off;
   DrawCoord = Off;
   Line.RGB = {0,0,1};
   Line.Thickness =0.0075;
   Line.End.Thickness = 2*0.0075;
   Line.End.Length = 4*0.0075;
 };

};

// AnyForce3D Fx3_4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPBFx3_4}
+…OffsetCorrection[1] ;
// };
// AnyRefNode &ref1=.ForcePlate.P3P4;
//
// Flocal=.OnOff*{force(t)[0],0,0};
//
// #include “DrawSupport.any”
// };
//

AnyForce3D F1Y={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Y}+…OffsetCorrection[2] ;
};
AnyRefNode &ref1=.ForcePlate.P1P4;
Flocal=.OnOff*{0,force(t)[0],0};

  #include "DrawSupport.any"

};

AnyForce3D F2Y ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Y}+…OffsetCorrection[3] ;
};
AnyRefNode &ref1=.ForcePlate.P2P3;
Flocal=.OnOff*{0,force(t)[0],0};

 #include "DrawSupport.any"

};

AnyForce3D F1Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Z}+…OffsetCorrection[4] ;
};
AnyRefNode &ref1=.ForcePlate.P1;
Flocal=.OnOff*{0,0,force(t)[0]};

 #include "DrawSupport.any"

};

AnyForce3D F2Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Z}+…OffsetCorrection[5] ;
};
AnyRefNode &ref1=.ForcePlate.P2;
Flocal=.OnOff*{0,0,force(t)[0]};
#include “DrawSupport.any”
};

// AnyForce3D Fz3 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPBFz3}+…OffsetCorrection
[6] ;
// };
// AnyRefNode &ref1=.ForcePlate.P3;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
// };
//
//
// AnyForce3D Fz4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPBFz4}+…OffsetCorrection
[7] ;
// };
// AnyRefNode &ref1=.ForcePlate.P4;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
// };

AnyVar FzTotal=F1Z.force(ForcePlate.t)[0]+F2Z.force(ForcePlate.t)
[0]//+Fz3.force(ForcePlate.t)[0]+Fz4.force(ForcePlate.t)[0];
AnyVar OnOff=iffun(gtfun(-FzTotal,15.0),1.0,0.0);

#include “CenterOfPressureVisualization.any”

}; //plateB

AnyFolder PlateA={
AnySeg ForcePlate={
Mass=0.0;
Jii={0,0,0};
r0=…Corners.c1center.sRel;
Axes0 = RotMat(pi,z)*RotMat(pi,x)RotMat(0.5pi,z); //remark
this plate is differently orientated!!!

 AnyFloat Origins=

Main.C3DFileData.Groups.FORCE_PLATFORM.ORIGIN.Data;
AnyVar ydist=Origins[1][0]; //distance from y axis on transducer
to y axis of center of plate
AnyVar xdist=Origins[1][1];//distance from x axis on transducer
to x axis of center of plate
AnyVar zdist=Origins[1][2];//distance from z axis on transducer
to z surface of plate

AnyRefNode PlateGraphics ={
    sRel={0,0,0.05};

    AnyDrawRefFrame drw={
     ScaleXYZ=0.25*{1,1,1};
     RGB=.Color;
   };
   AnyVec3 Color=0.55*{1,1,1};
   AnyVec3 Size={vnorm(...Corners.c11.sRel-

…Corners.c12.sRel,2),vnorm(…Corners.c12.sRel-
…Corners.c13.sRel,2),0.1};
AnyVar Transparency =0.4;
#include “…/…/…/Body/AAUHuman/Toolbox/DrawObjects/Box.any”
};
AnyRefNode P1={
sRel=0.001*{.ydist,.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};

 };
 AnyRefNode P2={
   sRel=0.001*{-.ydist,.xdist,.zdist};
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P3={
   sRel=0.001*{-.ydist,-.xdist,.zdist};
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P4={
   sRel=0.001*{.ydist,-.xdist,.zdist};
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P1P2={
   sRel=0.5*(.P1.sRel+.P2.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P3P4={
   sRel=0.5*(.P3.sRel+.P4.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P1P4={
   sRel=0.5*(.P1.sRel+.P4.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };
 AnyRefNode P2P3={
   sRel=0.5*(.P2.sRel+.P3.sRel);
   AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
 };

};

AnyKinEqSimpleDriver ForcePlateDriver ={
AnyKinLinear ForcePlateLin={
AnyRefNode &ref1=…Corners.c1center;
AnySeg &ref2=…ForcePlate;
Ref=0;
};
AnyKinRotational ForcePlateRot={
AnyRefNode &ref1=…Corners.c1center;
AnySeg &ref2=…ForcePlate;
Type=RotAxesAngles;
};
DriverPos={0,0,0,0,0,0};
DriverVel={0,0,0,0,0,0};
Reaction.Type = {Off,Off,Off,Off,Off,Off};
};

AnyReacForce PlateFootReaction={
AnyKinLinear Lin={
Ref=0;
AnySeg &ref2=…ForcePlate;
AnySeg &ref1=…HumanModel.Left.Leg.Seg.Foot;
};
AnyKinRotational Rot={
AnySeg &ref2=…ForcePlate;
AnySeg &ref1=…HumanModel.Left.Leg.Seg.Foot;
Type=RotAxesAngles;
};
};

AnyVector OffsetCorrection={-0.25,-0.38,-0.38,-0.51,-6.34,-6.37,-
6.3,-6.3};

AnyForce3D F1X ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1X}+…OffsetCorrection[0];
};

 AnyRefNode &ref1=.ForcePlate.P1P2;
 Flocal=.OnOff*{force(t)[0],0,0};

 #include "DrawSupport.any"

};

// AnyForce3D Fx3_4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPAFx3_4}
+…OffsetCorrection[1];
// };
// AnyRefNode &ref1=.ForcePlate.P3P4;
//
// Flocal=.OnOff*{force(t)[0],0,0};
//
// #include “DrawSupport.any”
// };

AnyForce3D F1Y ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Y}+…OffsetCorrection[2];
};
AnyRefNode &ref1=.ForcePlate.P1P4;
Flocal=.OnOff*{0,force(t)[0],0};

#include "DrawSupport.any"

};

AnyForce3D F2Y ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Y}+…OffsetCorrection[3];
};
AnyRefNode &ref1=.ForcePlate.P2P3;
Flocal=.OnOff*{0,force(t)[0],0};

  #include "DrawSupport.any"

};

AnyForce3D F1Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Z}+…OffsetCorrection[4];
};
AnyRefNode &ref1=.ForcePlate.P1;
Flocal=.OnOff*{0,0,force(t)[0]};

  #include "DrawSupport.any"

};

AnyForce3D F2Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Z}+…OffsetCorrection[5];
};
AnyRefNode &ref1=.ForcePlate.P2;
Flocal=.OnOff*{0,0,force(t)[0]};

 #include "DrawSupport.any"

};

// AnyForce3D Fz3 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPAZ3}+…OffsetCorrection
[6];
// };
// AnyRefNode &ref1=.ForcePlate.P3;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
// };
//
//
// AnyForce3D Fz4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPAZ4}+…OffsetCorrection
[7];
// };
// AnyRefNode &ref1=.ForcePlate.P4;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
//
// };
AnyVar FzTotal=F1Z.force(ForcePlate.t)[0]+F2Z.force(ForcePlate.t)
[0]//+Fz3.force(ForcePlate.t)[0]+Fz4.force(ForcePlate.t)[0];
AnyVar OnOff=iffun(gtfun(-FzTotal,15.0),1.0,0.0);

#include “CenterOfPressureVisualization.any”
};//PlateA

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…>
wrote:
>
> Hi changwoo
>
>
>
> This is what I mentioned in the previous posting you need to change
all the
> marker names to reflect the marker names and locations of your
model.
>
>
>
> This is equivalent to step nine please see this explanation take
from the
> top of the GaitUniMiami.main.any file
>
> 9)
>
> I you have another marker set than the one used in the Trial13
model, you
> will now need to create new markers according to the measured
markers.
>
> This is done by editing two files, these are
> LocalMarkerCoordinateAndSize.any and MarkerTopology.any. Here you
will need
> to modify the markernames
>
> in the Markertopology file and the coordinates in the
> LocalMarkerCoordinaesAndSize file. During this work it is very
important to
> make sure that
>
> the new markers get attached to the right segments and gets the
correct
> SegNr applied, otherwise the gaitapplication2.exe will fail to
optimize
>
> the problem.
>
>
>
>
>
> You are right about the force plates you need to changes these,
since the
> ones in the model describes another lab setup, here is the
explanation again
>
> 14)
>
> Now all you need is to create a new environment.any file which fits
the
> forceplate layout of the trial, this is done in the Environment.any
file.
>
> Currently this file contains an environment of four force plates,
all
> coordinates cornes, origins etc in this file originates from the
C3D file.
>
> There are inprinciple four ways the forceplate data can come in
this is
> specified by the force plate type setting in the C3D file. The
Trial13
>
> data set is a type 3, meaning that for each force plate there are
eight
> force signals, applied. Depending on the Force_Plate.Type setting
on the
>
> NewDataSet the Environment.any file will need to be changed, all
four types
> should be possible to replicate.
>
>
>
> So you need to look into your c3d data and find out which type of
forceplate
> you have, you can read more about this at this page
> http://www.c3d.org/HTML/default.htm there is a item called "The
> FORCE_PlatformGroup?>
>
>
> If you have more questions please ask again.
>
>
>
> Best regards
>
> S?en, AnyBody Support
>
>
>
>
>
>
>
>
>
> _____
>
> From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com]
On Behalf
> Of hcw0432
> Sent: 26 June 2008 10:29
> To: anyscript@yahoogroups.com
> Subject: [AnyScript] Re: I have some problem. (using GaitUniMiami
model with
> c3d2any)
>
>
>
> I found that there are some different source.
>
> for example, in my data, there is no 'LWRA , RFIN … '.
>
> and My data use only 2 forceplates.
>
> I try to fit my data to this model. but, It’s not easy…
>
> if you know the answer. plz, help me…
>
>
> My professor push me to use “SIMM”…
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com>
ps.com,
> “hcw0432” <hcw0432@> wrote:
> >
> >
> > Hello, everyone.
> >
> > I try to use the GaitUniMiami.
> >
> > so, change the c3d to anyscript, and make some anyscript file.
> >
> > but, I got Error massage like below when I run the changed
> >
> > GaitUniMiami main script.
> >
> > " ERROR(SCR.PRS9) : C:\Program Files\AnyBody
> Technology\Repository7
> > \Application\Examples\GaitUniMiami\MarkerTopology.any
> > (62) : ‘Seg’ : Unresolved object "
> >
> > I follow the steps in the manual, top of “GaitUniMiami.main”
> >
> > script.
> >
> > why is discoverd the error massage ?
> >
> > plz, somebody solve this problem.
> >
> > P.S: I want to put the Files, but there is no way to upload data.
> > so, if you want to the files, I will send it by e-mail.
> >
> > address : sqeeze@
> >
> > ## yeh, I know. my English is terrible…
> >
>
>
>
>
>
> [Non-text portions of this message have been removed]
>

Hi Chang woo

Sounds good with the changes you made to the LocalMarkerCoordinate… and
MarkerTopology.any files

Here is a list of the changes I can think off will be needed to do in the
environment file:

1: the corner coordinates will have to be changed, but I guess you already
have done this.

2: two of the plates needs to be removed, it has originally four plates

3: the sequence of the feet on the plates must fit with the experiment so if
right foot is on the first plate, this should be reflected in the
AnyReacForce between the foot and the first plate.

5: remove the forces applied in the current corners and mid nodes

4: make 100% sure that the coordinate system you apply your forces on will
have the right orientation and location.

5: apply the force to this coordinate system

Hope this helps you move on, otherwise please write again.

Best regards

Søren, AnyBody Support


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of hcw0432
Sent: 27 June 2008 11:08
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: I have some problem. (using GaitUniMiami model with
c3d2any)

I changed the LocalMarkerCoordinateAndSixe.any and MarkerTopology.any

My marker is ‘Type-2’. The Analog File conclude F1X, F1Y, F1Z, M1X ,

M1Y, M1Z, and same style on plate2.

I don’t know ,how can I change the Environment.any file.

It is very kind of you to reply my question. thank you.

regards

chang woo.

I change some cord in the Environment.any file. (below…)


//This file creates the environment around the human
//It creates the force plates and add the measure load to them

AnyFixedRefFrame GlobalRef ={
Origin={0,0,0};
AnyDrawRefFrame drw={ScaleXYZ=0.4*{1,1,1};};
};

AnyFixedRefFrame Corners={
Axes=…Orientation;

AnyFloat
corners=Main.C3DFileData.Groups.FORCE_PLATFORM.CORNERS.Data;

AnyRefNode c01={
AnyInt i=0;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.0001*{1,1,1};RGB={1,0,0};};
};
AnyRefNode c02={
AnyInt i=1;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,0};};
};
AnyRefNode c03={
AnyInt i=2;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,0};};
};

AnyRefNode c04={
AnyInt i=3;
AnyInt plnr=0;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,0};};
};

//plate B
AnyRefNode c0center={
sRel=0.25*(.c01.sRel+.c02.sRel+.c03.sRel+.c04.sRel);
ARel=RotMat(pi,x)RotMat(-0.5pi,z);
//AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={0,1,0};};

};

AnyRefNode c11={
AnyInt i=0;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
//AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};
AnyRefNode c12={
AnyInt i=1;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};
AnyRefNode c13={
AnyInt i=2;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};

AnyRefNode c14={
AnyInt i=3;
AnyInt plnr=1;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,1,0};};
};

//Plate A
AnyRefNode c1center={
sRel=0.25*(.c11.sRel+.c12.sRel+.c13.sRel+.c14.sRel);
ARel=RotMat(pi,x)RotMat(0.5pi,z); //this one is orientated
differently
// AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={0,1,0};};
};

AnyRefNode c21={
AnyInt i=0;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};
AnyRefNode c22={
AnyInt i=1;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};
AnyRefNode c23={
AnyInt i=2;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};

AnyRefNode c24={
AnyInt i=3;
AnyInt plnr=2;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={0,0,1};};
};
//plate C
AnyRefNode c2center={
sRel=0.25*(.c21.sRel+.c22.sRel+.c23.sRel+.c24.sRel);
ARel=RotMat(pi,x)RotMat(0.5pi,z); //orienatated differently
// AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={0,0,1};};
};

AnyRefNode c31={
AnyInt i=0;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};

AnyRefNode c32={
AnyInt i=1;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};

AnyRefNode c33={
AnyInt i=2;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};

AnyRefNode c34={
AnyInt i=3;
AnyInt plnr=3;
sRel=0.001*{.corners[plnr][i][0],.corners[plnr][i][1],.corners
[plnr][i][2]};
// AnyDrawRefFrame drw={ScaleXYZ=0.1*{1,1,1};RGB={1,0,1};};
};
//plate D
AnyRefNode c3center={
sRel=0.25*(.c31.sRel+.c32.sRel+.c33.sRel+.c34.sRel);
ARel=RotMat(pi,x)RotMat(-0.5pi,z);
// AnyDrawRefFrame drw={ScaleXYZ=0.3*{1,1,1};RGB={1,0,1};};

};
};
//setup time array for analog data

// StartFrame1/(Main.C3DFileData.Header.VideoFrameRate).
//Og herefter follows all samples with a frquency on
//Main.C3DFileData.Header.VideoFrameRate

//Main.C3DFileData.Header.NoAnalogSamplesPer3DFrame
//So:
//analog sample 1: StartFrame1/
(Main.C3DFileData.Header.VideoFrameRate).
//Analog sample 2: StartFrame
1/
(Main.C3DFileData.Header.VideoFrameRate) +
//1/(Main.C3DFileData.Header.VideoFrameRate*
//Main.C3DFileData.Header.NoAnalogSamplesPer3DFrame)
//and so on.
AnyInt StartFrame = Main.C3DFileData.Header.FirstFrameNo;
AnyInt EndFrame =Main.C3DFileData.Header.FirstFrameNo-1+
(Main.C3DFileData.Header.LastFrameNo-
Main.C3DFileData.Header.FirstFrameNo)*
Main.C3DFileData.Header.NoAnalogSamplesPer3DFrame;
AnyFloat Time=
((StartFrameMain.C3DFileData.Header.NoAnalogSamplesPer3DFrame)+iarr
(0,EndFrame-StartFrame))
(1/
(Main.C3DFileData.Header.VideoFrameRate*Main.C3DFileData.Header.NoAnal
ogSamplesPer3DFrame));

AnyFolder PlateB={
AnySeg ForcePlate={
Mass=0.0;
Jii={0,0,0};
r0=…Corners.c0center.sRel;
Axes0 =RotMat(pi,z)*RotMat(pi,x)RotMat(-0.5pi,z);

AnyRefNode PlateGraphics ={
sRel={0,0,0.05};
AnyDrawRefFrame drw={
ScaleXYZ=0.25*{1,1,1};
RGB=.Color;
};
AnyVec3 Color=0.45*{1,1,1};
AnyVec3 Size={vnorm(…Corners.c01.sRel-
…Corners.c02.sRel,2),vnorm(…Corners.c02.sRel-
…Corners.c03.sRel,2),0.1};
AnyVar Transparency =0.4;
#include “…/…/…/Body/AAUHuman/Toolbox/DrawObjects/Box.any”
};

AnyFloat Origins=
Main.C3DFileData.Groups.FORCE_PLATFORM.ORIGIN.Data;
AnyVar ydist=Origins[0][0]; //distance from y axis on transducer
to y axis of center of plate
AnyVar xdist=Origins[0][1];//distance from x axis on transducer
to x axis of center of plate
AnyVar zdist=Origins[0][2];//distance from z axis on transducer
to z surface of plate

AnyRefNode P1={
sRel=0.001*{.ydist,.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P2={
sRel=0.001*{-.ydist,.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P3={
sRel=0.001*{-.ydist,-.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P4={
sRel=0.001*{.ydist,-.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P1P2={
sRel=0.5*(.P1.sRel+.P2.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P3P4={
sRel=0.5*(.P3.sRel+.P4.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P1P4={
sRel=0.5*(.P1.sRel+.P4.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P2P3={
sRel=0.5*(.P2.sRel+.P3.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};

};

AnyKinEqSimpleDriver ForcePlateDriver ={
AnyKinLinear ForcePlateLin={
AnyRefNode &ref1=…Corners.c0center;
AnySeg &ref2=…ForcePlate;
Ref=0;
};

AnyKinRotational ForcePlateRot={
AnyRefNode &ref1=…Corners.c0center;
AnySeg &ref2=…ForcePlate;
Type=RotAxesAngles;
};
DriverPos={0,0,0,0,0,0};
DriverVel={0,0,0,0,0,0};
Reaction.Type = {Off,Off,Off,Off,Off,Off};
};

AnyReacForce PlateFootReaction={

AnyKinLinear Lin={
Ref=0;
AnySeg &ref2=…ForcePlate;
AnySeg &ref1=…HumanModel.Right.Leg.Seg.Foot;
};

AnyKinRotational Rot={
AnySeg &ref2=…ForcePlate;
AnySeg &ref1=…HumanModel.Right.Leg.Seg.Foot;
Type=RotAxesAngles;
};
};

//This particular data set has a problem with force offsets in the
analog data there is a correction vector for each of the four plates
AnyVector OffsetCorrection={2.4,-6.2,-6.2,-6.8,-25,-25,-25,-27};

AnyForce3D F1X ={

AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1X}+…OffsetCorrection[0] ;
};

AnyRefNode &ref1=.ForcePlate.P1P2;
Flocal=.OnOff*{force(t)[0],0,0};

AnyDrawVector DrawSupport2 = {
AnyRefFrame &ref = .ref1;
Vec = 0.0005*.Flocal*.ref1.Axes’;
PointAway = Off;
DrawCoord = Off;
Line.RGB = {0,0,1};
Line.Thickness =0.0075;
Line.End.Thickness = 20.0075;
Line.End.Length = 4
0.0075;
};

};

// AnyForce3D Fx3_4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPBFx3_4}
+…OffsetCorrection[1] ;
// };
// AnyRefNode &ref1=.ForcePlate.P3P4;
//
// Flocal=.OnOff*{force(t)[0],0,0};
//
// #include “DrawSupport.any”
// };
//

AnyForce3D F1Y={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Y}+…OffsetCorrection[2] ;
};
AnyRefNode &ref1=.ForcePlate.P1P4;
Flocal=.OnOff*{0,force(t)[0],0};

#include “DrawSupport.any”
};

AnyForce3D F2Y ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Y}+…OffsetCorrection[3] ;
};
AnyRefNode &ref1=.ForcePlate.P2P3;
Flocal=.OnOff*{0,force(t)[0],0};

#include “DrawSupport.any”
};

AnyForce3D F1Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Z}+…OffsetCorrection[4] ;
};
AnyRefNode &ref1=.ForcePlate.P1;
Flocal=.OnOff*{0,0,force(t)[0]};

#include “DrawSupport.any”
};

AnyForce3D F2Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Z}+…OffsetCorrection[5] ;
};
AnyRefNode &ref1=.ForcePlate.P2;
Flocal=.OnOff*{0,0,force(t)[0]};
#include “DrawSupport.any”
};

// AnyForce3D Fz3 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPBFz3}+…OffsetCorrection
[6] ;
// };
// AnyRefNode &ref1=.ForcePlate.P3;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
// };
//
//
// AnyForce3D Fz4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPBFz4}+…OffsetCorrection
[7] ;
// };
// AnyRefNode &ref1=.ForcePlate.P4;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
// };

AnyVar FzTotal=F1Z.force(ForcePlate.t)[0]+F2Z.force(ForcePlate.t)
[0]//+Fz3.force(ForcePlate.t)[0]+Fz4.force(ForcePlate.t)[0];
AnyVar OnOff=iffun(gtfun(-FzTotal,15.0),1.0,0.0);

#include “CenterOfPressureVisualization.any”

}; //plateB

AnyFolder PlateA={
AnySeg ForcePlate={
Mass=0.0;
Jii={0,0,0};
r0=…Corners.c1center.sRel;
Axes0 = RotMat(pi,z)*RotMat(pi,x)RotMat(0.5pi,z); //remark
this plate is differently orientated!!!

AnyFloat Origins=
Main.C3DFileData.Groups.FORCE_PLATFORM.ORIGIN.Data;
AnyVar ydist=Origins[1][0]; //distance from y axis on transducer
to y axis of center of plate
AnyVar xdist=Origins[1][1];//distance from x axis on transducer
to x axis of center of plate
AnyVar zdist=Origins[1][2];//distance from z axis on transducer
to z surface of plate

AnyRefNode PlateGraphics ={
sRel={0,0,0.05};

AnyDrawRefFrame drw={
ScaleXYZ=0.25*{1,1,1};
RGB=.Color;
};
AnyVec3 Color=0.55*{1,1,1};
AnyVec3 Size={vnorm(…Corners.c11.sRel-
…Corners.c12.sRel,2),vnorm(…Corners.c12.sRel-
…Corners.c13.sRel,2),0.1};
AnyVar Transparency =0.4;
#include “…/…/…/Body/AAUHuman/Toolbox/DrawObjects/Box.any”
};
AnyRefNode P1={
sRel=0.001*{.ydist,.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};

};
AnyRefNode P2={
sRel=0.001*{-.ydist,.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P3={
sRel=0.001*{-.ydist,-.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P4={
sRel=0.001*{.ydist,-.xdist,.zdist};
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P1P2={
sRel=0.5*(.P1.sRel+.P2.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P3P4={
sRel=0.5*(.P3.sRel+.P4.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P1P4={
sRel=0.5*(.P1.sRel+.P4.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};
AnyRefNode P2P3={
sRel=0.5*(.P2.sRel+.P3.sRel);
AnyDrawNode drw={ScaleXYZ = 0.02*{1,1,0.1}; RGB={1,0,0};};
};

};

AnyKinEqSimpleDriver ForcePlateDriver ={
AnyKinLinear ForcePlateLin={
AnyRefNode &ref1=…Corners.c1center;
AnySeg &ref2=…ForcePlate;
Ref=0;
};
AnyKinRotational ForcePlateRot={
AnyRefNode &ref1=…Corners.c1center;
AnySeg &ref2=…ForcePlate;
Type=RotAxesAngles;
};
DriverPos={0,0,0,0,0,0};
DriverVel={0,0,0,0,0,0};
Reaction.Type = {Off,Off,Off,Off,Off,Off};
};

AnyReacForce PlateFootReaction={
AnyKinLinear Lin={
Ref=0;
AnySeg &ref2=…ForcePlate;
AnySeg &ref1=…HumanModel.Left.Leg.Seg.Foot;
};
AnyKinRotational Rot={
AnySeg &ref2=…ForcePlate;
AnySeg &ref1=…HumanModel.Left.Leg.Seg.Foot;
Type=RotAxesAngles;
};
};

AnyVector OffsetCorrection={-0.25,-0.38,-0.38,-0.51,-6.34,-6.37,-
6.3,-6.3};

AnyForce3D F1X ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1X}+…OffsetCorrection[0];
};

AnyRefNode &ref1=.ForcePlate.P1P2;
Flocal=.OnOff*{force(t)[0],0,0};

#include “DrawSupport.any”

};

// AnyForce3D Fx3_4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPAFx3_4}
+…OffsetCorrection[1];
// };
// AnyRefNode &ref1=.ForcePlate.P3P4;
//
// Flocal=.OnOff*{force(t)[0],0,0};
//
// #include “DrawSupport.any”
// };

AnyForce3D F1Y ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Y}+…OffsetCorrection[2];
};
AnyRefNode &ref1=.ForcePlate.P1P4;
Flocal=.OnOff*{0,force(t)[0],0};

#include “DrawSupport.any”

};

AnyForce3D F2Y ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Y}+…OffsetCorrection[3];
};
AnyRefNode &ref1=.ForcePlate.P2P3;
Flocal=.OnOff*{0,force(t)[0],0};

#include “DrawSupport.any”

};

AnyForce3D F1Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F1Z}+…OffsetCorrection[4];
};
AnyRefNode &ref1=.ForcePlate.P1;
Flocal=.OnOff*{0,0,force(t)[0]};

#include “DrawSupport.any”

};

AnyForce3D F2Z ={
AnyFunInterpol force ={
Type=PiecewiseLinear;
T=…Time;
Data={Main.C3DFileData.Analog.Data.F2Z}+…OffsetCorrection[5];
};
AnyRefNode &ref1=.ForcePlate.P2;
Flocal=.OnOff*{0,0,force(t)[0]};

#include “DrawSupport.any”

};

// AnyForce3D Fz3 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPAZ3}+…OffsetCorrection
[6];
// };
// AnyRefNode &ref1=.ForcePlate.P3;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
// };
//
//
// AnyForce3D Fz4 ={
// AnyFunInterpol force ={
// Type=PiecewiseLinear;
// T=…Time;
// Data={Main.C3DFileData.Analog.Data.FPAZ4}+…OffsetCorrection
[7];
// };
// AnyRefNode &ref1=.ForcePlate.P4;
// Flocal=.OnOff*{0,0,force(t)[0]};
//
// #include “DrawSupport.any”
//
// };
AnyVar FzTotal=F1Z.force(ForcePlate.t)[0]+F2Z.force(ForcePlate.t)
[0]//+Fz3.force(ForcePlate.t)[0]+Fz4.force(ForcePlate.t)[0];
AnyVar OnOff=iffun(gtfun(-FzTotal,15.0),1.0,0.0);

#include “CenterOfPressureVisualization.any”
};//PlateA

— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“AnyBody Support” <support@…>
wrote:
>
> Hi changwoo
>
>
>
> This is what I mentioned in the previous posting you need to change
all the
> marker names to reflect the marker names and locations of your
model.
>
>
>
> This is equivalent to step nine please see this explanation take
from the
> top of the GaitUniMiami.main.any file
>
> 9)
>
> I you have another marker set than the one used in the Trial13
model, you
> will now need to create new markers according to the measured
markers.
>
> This is done by editing two files, these are
> LocalMarkerCoordinateAndSize.any and MarkerTopology.any. Here you
will need
> to modify the markernames
>
> in the Markertopology file and the coordinates in the
> LocalMarkerCoordinaesAndSize file. During this work it is very
important to
> make sure that
>
> the new markers get attached to the right segments and gets the
correct
> SegNr applied, otherwise the gaitapplication2.exe will fail to
optimize
>
> the problem.
>
>
>
>
>
> You are right about the force plates you need to changes these,
since the
> ones in the model describes another lab setup, here is the
explanation again
>
> 14)
>
> Now all you need is to create a new environment.any file which fits
the
> forceplate layout of the trial, this is done in the Environment.any
file.
>
> Currently this file contains an environment of four force plates,
all
> coordinates cornes, origins etc in this file originates from the
C3D file.
>
> There are inprinciple four ways the forceplate data can come in
this is
> specified by the force plate type setting in the C3D file. The
Trial13
>
> data set is a type 3, meaning that for each force plate there are
eight
> force signals, applied. Depending on the Force_Plate.Type setting
on the
>
> NewDataSet the Environment.any file will need to be changed, all
four types
> should be possible to replicate.
>
>
>
> So you need to look into your c3d data and find out which type of
forceplate
> you have, you can read more about this at this page
> http://www.c3d. <http://www.c3d.org/HTML/default.htm> org/HTML/default.htm
there is a item called "The
> FORCE_PlatformGroup?>
>
>
> If you have more questions please ask again.
>
>
>
> Best regards
>
> S?en, AnyBody Support
>
>
>
>
>
>
>
>
>
> _____
>
> From: anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com
[mailto:anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com]
On Behalf
> Of hcw0432
> Sent: 26 June 2008 10:29
> To: anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com
> Subject: [AnyScript] Re: I have some problem. (using GaitUniMiami
model with
> c3d2any)
>
>
>
> I found that there are some different source.
>
> for example, in my data, there is no 'LWRA , RFIN … '.
>
> and My data use only 2 forceplates.
>
> I try to fit my data to this model. but, It’s not easy…
>
> if you know the answer. plz, help me…
>
>
> My professor push me to use “SIMM”…
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com>
ps.com,
> “hcw0432” <hcw0432@> wrote:
> >
> >
> > Hello, everyone.
> >
> > I try to use the GaitUniMiami.
> >
> > so, change the c3d to anyscript, and make some anyscript file.
> >
> > but, I got Error massage like below when I run the changed
> >
> > GaitUniMiami main script.
> >
> > " ERROR(SCR.PRS9) : C:\Program Files\AnyBody
> Technology\Repository7
> > \Application\Examples\GaitUniMiami\MarkerTopology.any
> > (62) : ‘Seg’ : Unresolved object "
> >
> > I follow the steps in the manual, top of “GaitUniMiami.main”
> >
> > script.
> >
> > why is discoverd the error massage ?
> >
> > plz, somebody solve this problem.
> >
> > P.S: I want to put the Files, but there is no way to upload data.
> > so, if you want to the files, I will send it by e-mail.
> >
> > address : sqeeze@
> >
> > ## yeh, I know. my English is terrible…
> >
>
>
>
>
>
> [Non-text portions of this message have been removed]
>

[Non-text portions of this message have been removed]