Turning an AnyRevoluteJoint into an AnySphericalJoint

Hello,

in a simple 2D-model I use an AnyRevoluteJoint as the hip joint:

   AnyRevoluteJoint hip = {
     Axis = y;
     AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
     AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
   };

and drive it like this

 // Scharniergelenk
 AnyKinLinear Hip = {
   //Ref = -1;
   AnyRefFrame &ref1 = Main.rat_model.Seg.spine_pelvis;
   AnyRefFrame &ref2 = Main.rat_model.Seg.femur;
 };

 //Hueftgelenksdriver
 AnyKinEqInterPolDriver HipDriver = {
   AnyRevoluteJoint &Jnt = Main.rat_model.Jnts.hip;
   Type = PiecewiseLinear;
   FileName = "drivers\hip_rot.txt";
   AnyKinMeasure &Lin = Main.rat_model.Hip;
   MeasureOrganizer = {0};
   Reaction.Type = {Off};
 };

Now I want to replace the RevoluteJoint by a SphericalJoint. Like
this:

   AnySphericalJoint hip = {
     AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
     AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
   };

I know that the order of rotation is important for the kinematics but
I haven’t found a driven spherical joint example and I cannot get it
working. Can AnyBody help?

Regards,

Dieter

Hi Dieter,

The first thing i am thinking is that if you are working in a 2D
model you should keep the RevoluteJoint, if you don’t use the 2 other
rotations then it is not useful to add the SphericalJoint.

There are several way to drive a SphericalJoint, it depend of the
data you have about the joint’s movement (angular velocity, linear
displacement of a particular point …). For example if you have a text
file for X and Z rotation like you have for Y rotation then you can
make two more InterPolDriver similar to the one you have, each one
driving one of the new rotation.

It would be helpful if you give me more detail: are you still working
in 2D? What kind of data do you have about the motion?

Best regards,
Sylvain, AnyBody Support.

— In anyscript@yahoogroups.com, “dieterkassgim” <dieterkassgim@…>
wrote:
>
> Hello,
>
> in a simple 2D-model I use an AnyRevoluteJoint as the hip joint:
>
> AnyRevoluteJoint hip = {
> Axis = y;
> AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> };
>
> …
>
> and drive it like this
>
> // Scharniergelenk
> AnyKinLinear Hip = {
> //Ref = -1;
> AnyRefFrame &ref1 = Main.rat_model.Seg.spine_pelvis;
> AnyRefFrame &ref2 = Main.rat_model.Seg.femur;
> };
>
> …
>
> //Hueftgelenksdriver
> AnyKinEqInterPolDriver HipDriver = {
> AnyRevoluteJoint &Jnt = Main.rat_model.Jnts.hip;
> Type = PiecewiseLinear;
> FileName = “drivers\hip_rot.txt”;
> AnyKinMeasure &Lin = Main.rat_model.Hip;
> MeasureOrganizer = {0};
> Reaction.Type = {Off};
> };
>
> Now I want to replace the RevoluteJoint by a SphericalJoint. Like
> this:
>
> AnySphericalJoint hip = {
> AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> };
>
> I know that the order of rotation is important for the kinematics
but
> I haven’t found a driven spherical joint example and I cannot get
it
> working. Can AnyBody help?
>
> Regards,
>
> Dieter
>

Hi Sylvain,

basically the model itself is 3D but we only have 2D motion data. The
reason why I want to switch from the RevoluteJoint to the
SphericalJoint is that the muscle activity to stabilize the motion
gets faulty when you use the RevoluteJoint.

The data we are given is the main rotation (in my case the y
rotation) between the spine and the
femur. The rest (x and z rotations) is not measured and can be set to
zero within the driver.

I hope these informations are helpful to you.

Regards,

Dieter

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…>
wrote:
>
> Hi Dieter,
>
> The first thing i am thinking is that if you are working in a 2D
> model you should keep the RevoluteJoint, if you don’t use the 2
other
> rotations then it is not useful to add the SphericalJoint.
>
> There are several way to drive a SphericalJoint, it depend of the
> data you have about the joint’s movement (angular velocity, linear
> displacement of a particular point …). For example if you have a
text
> file for X and Z rotation like you have for Y rotation then you can
> make two more InterPolDriver similar to the one you have, each one
> driving one of the new rotation.
>
> It would be helpful if you give me more detail: are you still
working
> in 2D? What kind of data do you have about the motion?
>
> Best regards,
> Sylvain, AnyBody Support.
>
>
>
>
>
> — In anyscript@yahoogroups.com, “dieterkassgim” <dieterkassgim@>
> wrote:
> >
> > Hello,
> >
> > in a simple 2D-model I use an AnyRevoluteJoint as the hip joint:
> >
> > AnyRevoluteJoint hip = {
> > Axis = y;
> > AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > };
> >
> > …
> >
> > and drive it like this
> >
> > // Scharniergelenk
> > AnyKinLinear Hip = {
> > //Ref = -1;
> > AnyRefFrame &ref1 = Main.rat_model.Seg.spine_pelvis;
> > AnyRefFrame &ref2 = Main.rat_model.Seg.femur;
> > };
> >
> > …
> >
> > //Hueftgelenksdriver
> > AnyKinEqInterPolDriver HipDriver = {
> > AnyRevoluteJoint &Jnt = Main.rat_model.Jnts.hip;
> > Type = PiecewiseLinear;
> > FileName = “drivers\hip_rot.txt”;
> > AnyKinMeasure &Lin = Main.rat_model.Hip;
> > MeasureOrganizer = {0};
> > Reaction.Type = {Off};
> > };
> >
> > Now I want to replace the RevoluteJoint by a SphericalJoint. Like
> > this:
> >
> > AnySphericalJoint hip = {
> > AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > };
> >
> > I know that the order of rotation is important for the kinematics
> but
> > I haven’t found a driven spherical joint example and I cannot get
> it
> > working. Can AnyBody help?
> >
> > Regards,
> >
> > Dieter
> >
>

I forgot to post what I have scripted:

   AnySphericalJoint hip = {
     Orientation.Type=RotAxesAngles;
     Orientation.Axis1 = y;
     Orientation.Axis2 = x;
     Orientation.Axis3 = z;
     AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
     AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
   }; // hip joint

[…]

 // Kugelgelenk
 AnyKinRotational P1Lin = {
   AnyRefFrame &LabOrigin = Main.rat_model.Seg.spine_pelvis;
   AnyRefFrame &P1 = Main.rat_model.Seg.femur;
   Type=RotAxesAngles;
 };

[…]

 //Hueftgelenksdriver
 AnyKinEqInterPolDriver P1DriverR1 = {
   AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
   Type = PiecewiseLinear;
   FileName = "drivers\hip_rot_x.txt";
   AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
   MeasureOrganizer = {0};
   Reaction.Type = {Off};
 };
 AnyKinEqInterPolDriver P1DriverR2 = {
   AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
   Type = PiecewiseLinear;
   FileName = "drivers\hip_rot_y.txt";
   AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
   MeasureOrganizer = {0};
   Reaction.Type = {Off};
 };
 AnyKinEqInterPolDriver P1DriverR3 = {
   AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
   Type = PiecewiseLinear;
   FileName = "drivers\hip_rot_z.txt";
   AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
   MeasureOrganizer = {0};
   Reaction.Type = {Off};
 };

with the “hip_rot_x” and “hip_rot_z” data being 0 for each timestep.
But when I start the “SetInitialCondition” operation I get the
following error message:
Model is kinematically indeterminate : Position analysis failed :
54 independent constraints and 56 unknowns

Regards,

Dieter

> — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
> wrote:
> >
> > Hi Dieter,
> >
> > The first thing i am thinking is that if you are working in a 2D
> > model you should keep the RevoluteJoint, if you don’t use the 2
> other
> > rotations then it is not useful to add the SphericalJoint.
> >
> > There are several way to drive a SphericalJoint, it depend of the
> > data you have about the joint’s movement (angular velocity,
linear
> > displacement of a particular point …). For example if you have a
> text
> > file for X and Z rotation like you have for Y rotation then you
can
> > make two more InterPolDriver similar to the one you have, each
one
> > driving one of the new rotation.
> >
> > It would be helpful if you give me more detail: are you still
> working
> > in 2D? What kind of data do you have about the motion?
> >
> > Best regards,
> > Sylvain, AnyBody Support.
> >
> >
> >
> >
> >
> > — In anyscript@yahoogroups.com,
“dieterkassgim” <dieterkassgim@>
> > wrote:
> > >
> > > Hello,
> > >
> > > in a simple 2D-model I use an AnyRevoluteJoint as the hip joint:
> > >
> > > AnyRevoluteJoint hip = {
> > > Axis = y;
> > > AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> > > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > > };
> > >
> > > …
> > >
> > > and drive it like this
> > >
> > > // Scharniergelenk
> > > AnyKinLinear Hip = {
> > > //Ref = -1;
> > > AnyRefFrame &ref1 = Main.rat_model.Seg.spine_pelvis;
> > > AnyRefFrame &ref2 = Main.rat_model.Seg.femur;
> > > };
> > >
> > > …
> > >
> > > //Hueftgelenksdriver
> > > AnyKinEqInterPolDriver HipDriver = {
> > > AnyRevoluteJoint &Jnt = Main.rat_model.Jnts.hip;
> > > Type = PiecewiseLinear;
> > > FileName = “drivers\hip_rot.txt”;
> > > AnyKinMeasure &Lin = Main.rat_model.Hip;
> > > MeasureOrganizer = {0};
> > > Reaction.Type = {Off};
> > > };
> > >
> > > Now I want to replace the RevoluteJoint by a SphericalJoint.
Like
> > > this:
> > >
> > > AnySphericalJoint hip = {
> > > AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> > > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > > };
> > >
> > > I know that the order of rotation is important for the
kinematics
> > but
> > > I haven’t found a driven spherical joint example and I cannot
get
> > it
> > > working. Can AnyBody help?
> > >
> > > Regards,
> > >
> > > Dieter
> > >
> >
>

Hi,

Thank you for the precisions, i understand what you want to do now.

First you get this message error because you are applying the three
drivers to the same rotation (X rotation). The line "
MeasureOrganizer = {0}; " in the driver mean that you apply the
driver to the X component, 1 will refer to Y and 2 to Z. So right now
you are driving 3 times the X rotation but you are not driving the Y
and Z one, that’s why the message tells you that you are missing 2
constraints.

Then, as Y and Z rotations are zero, you don’t need a text file to
drive it, you can easily use an AnyKinEqSimpleDriver for those two
and keep the driver for X rotation like this:

// Kugelgelenk
AnyKinRotational P1Lin = {
AnyRefFrame &LabOrigin = Main.rat_model.Seg.spine_pelvis;
AnyRefFrame &P1 = Main.rat_model.Seg.femur;
Type=RotAxesAngles;
};

[…]

//Hueftgelenksdriver
AnyKinEqInterPolDriver P1DriverR1 = {
AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
Type = PiecewiseLinear;
FileName = “drivers\hip_rot_x.txt”;
AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
MeasureOrganizer = {0};
Reaction.Type = {Off};

AnyKinEqSimpleDriver P1DriverR23 = {
MeasureOrganizer = {1, 2};
AnyKinMeasureOrg &Lin = Main.rat_model.Drivers.P1Lin;
DriverPos = {0, 0};
DriverVel = {0, 0};
Reaction.Type = {Off, Off};
};

Best regards,
Sylvain, AnyBody Support

— In anyscript@yahoogroups.com, “dieterkassgim” <dieterkassgim@…>
wrote:
>
> I forgot to post what I have scripted:
>
> AnySphericalJoint hip = {
> Orientation.Type=RotAxesAngles;
> Orientation.Axis1 = y;
> Orientation.Axis2 = x;
> Orientation.Axis3 = z;
> AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> }; // hip joint
>
> […]
>
> // Kugelgelenk
> AnyKinRotational P1Lin = {
> AnyRefFrame &LabOrigin = Main.rat_model.Seg.spine_pelvis;
> AnyRefFrame &P1 = Main.rat_model.Seg.femur;
> Type=RotAxesAngles;
> };
>
> […]
>
> //Hueftgelenksdriver
> AnyKinEqInterPolDriver P1DriverR1 = {
> AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> Type = PiecewiseLinear;
> FileName = “drivers\hip_rot_x.txt”;
> AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> MeasureOrganizer = {0};
> Reaction.Type = {Off};
> };
> AnyKinEqInterPolDriver P1DriverR2 = {
> AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> Type = PiecewiseLinear;
> FileName = “drivers\hip_rot_y.txt”;
> AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> MeasureOrganizer = {0};
> Reaction.Type = {Off};
> };
> AnyKinEqInterPolDriver P1DriverR3 = {
> AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> Type = PiecewiseLinear;
> FileName = “drivers\hip_rot_z.txt”;
> AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> MeasureOrganizer = {0};
> Reaction.Type = {Off};
> };
>
> with the “hip_rot_x” and “hip_rot_z” data being 0 for each timestep.
> But when I start the “SetInitialCondition” operation I get the
> following error message:
> Model is kinematically indeterminate : Position analysis
failed :
> 54 independent constraints and 56 unknowns
>
> Regards,
>
> Dieter
>
>
> > — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
> > wrote:
> > >
> > > Hi Dieter,
> > >
> > > The first thing i am thinking is that if you are working in a
2D
> > > model you should keep the RevoluteJoint, if you don’t use the 2
> > other
> > > rotations then it is not useful to add the SphericalJoint.
> > >
> > > There are several way to drive a SphericalJoint, it depend of
the
> > > data you have about the joint’s movement (angular velocity,
> linear
> > > displacement of a particular point …). For example if you have
a
> > text
> > > file for X and Z rotation like you have for Y rotation then you
> can
> > > make two more InterPolDriver similar to the one you have, each
> one
> > > driving one of the new rotation.
> > >
> > > It would be helpful if you give me more detail: are you still
> > working
> > > in 2D? What kind of data do you have about the motion?
> > >
> > > Best regards,
> > > Sylvain, AnyBody Support.
> > >
> > >
> > >
> > >
> > >
> > > — In anyscript@yahoogroups.com,
> “dieterkassgim” <dieterkassgim@>
> > > wrote:
> > > >
> > > > Hello,
> > > >
> > > > in a simple 2D-model I use an AnyRevoluteJoint as the hip
joint:
> > > >
> > > > AnyRevoluteJoint hip = {
> > > > Axis = y;
> > > > AnyRefNode &spine =
Main.rat_model.Seg.spine_pelvis.hip;
> > > > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > > > };
> > > >
> > > > …
> > > >
> > > > and drive it like this
> > > >
> > > > // Scharniergelenk
> > > > AnyKinLinear Hip = {
> > > > //Ref = -1;
> > > > AnyRefFrame &ref1 = Main.rat_model.Seg.spine_pelvis;
> > > > AnyRefFrame &ref2 = Main.rat_model.Seg.femur;
> > > > };
> > > >
> > > > …
> > > >
> > > > //Hueftgelenksdriver
> > > > AnyKinEqInterPolDriver HipDriver = {
> > > > AnyRevoluteJoint &Jnt = Main.rat_model.Jnts.hip;
> > > > Type = PiecewiseLinear;
> > > > FileName = “drivers\hip_rot.txt”;
> > > > AnyKinMeasure &Lin = Main.rat_model.Hip;
> > > > MeasureOrganizer = {0};
> > > > Reaction.Type = {Off};
> > > > };
> > > >
> > > > Now I want to replace the RevoluteJoint by a SphericalJoint.
> Like
> > > > this:
> > > >
> > > > AnySphericalJoint hip = {
> > > > AnyRefNode &spine =
Main.rat_model.Seg.spine_pelvis.hip;
> > > > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > > > };
> > > >
> > > > I know that the order of rotation is important for the
> kinematics
> > > but
> > > > I haven’t found a driven spherical joint example and I cannot
> get
> > > it
> > > > working. Can AnyBody help?
> > > >
> > > > Regards,
> > > >
> > > > Dieter
> > > >
> > >
> >
>

Hello Sylvain, thanks, your answer solved my problem.

Kind regards,

Dieter

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…>
wrote:
>
> Hi,
>
> Thank you for the precisions, i understand what you want to do now.
>
> First you get this message error because you are applying the three
> drivers to the same rotation (X rotation). The line "
> MeasureOrganizer = {0}; " in the driver mean that you apply the
> driver to the X component, 1 will refer to Y and 2 to Z. So right
now
> you are driving 3 times the X rotation but you are not driving the
Y
> and Z one, that’s why the message tells you that you are missing 2
> constraints.
>
> Then, as Y and Z rotations are zero, you don’t need a text file to
> drive it, you can easily use an AnyKinEqSimpleDriver for those two
> and keep the driver for X rotation like this:
>
> // Kugelgelenk
> AnyKinRotational P1Lin = {
> AnyRefFrame &LabOrigin = Main.rat_model.Seg.spine_pelvis;
> AnyRefFrame &P1 = Main.rat_model.Seg.femur;
> Type=RotAxesAngles;
> };
>
> […]
>
> //Hueftgelenksdriver
> AnyKinEqInterPolDriver P1DriverR1 = {
> AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> Type = PiecewiseLinear;
> FileName = “drivers\hip_rot_x.txt”;
> AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> MeasureOrganizer = {0};
> Reaction.Type = {Off};
>
>
> AnyKinEqSimpleDriver P1DriverR23 = {
> MeasureOrganizer = {1, 2};
> AnyKinMeasureOrg &Lin = Main.rat_model.Drivers.P1Lin;
> DriverPos = {0, 0};
> DriverVel = {0, 0};
> Reaction.Type = {Off, Off};
> };
>
> Best regards,
> Sylvain, AnyBody Support
>
>
>
> — In anyscript@yahoogroups.com, “dieterkassgim” <dieterkassgim@>
> wrote:
> >
> > I forgot to post what I have scripted:
> >
> > AnySphericalJoint hip = {
> > Orientation.Type=RotAxesAngles;
> > Orientation.Axis1 = y;
> > Orientation.Axis2 = x;
> > Orientation.Axis3 = z;
> > AnyRefNode &spine = Main.rat_model.Seg.spine_pelvis.hip;
> > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > }; // hip joint
> >
> > […]
> >
> > // Kugelgelenk
> > AnyKinRotational P1Lin = {
> > AnyRefFrame &LabOrigin = Main.rat_model.Seg.spine_pelvis;
> > AnyRefFrame &P1 = Main.rat_model.Seg.femur;
> > Type=RotAxesAngles;
> > };
> >
> > […]
> >
> > //Hueftgelenksdriver
> > AnyKinEqInterPolDriver P1DriverR1 = {
> > AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> > Type = PiecewiseLinear;
> > FileName = “drivers\hip_rot_x.txt”;
> > AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> > MeasureOrganizer = {0};
> > Reaction.Type = {Off};
> > };
> > AnyKinEqInterPolDriver P1DriverR2 = {
> > AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> > Type = PiecewiseLinear;
> > FileName = “drivers\hip_rot_y.txt”;
> > AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> > MeasureOrganizer = {0};
> > Reaction.Type = {Off};
> > };
> > AnyKinEqInterPolDriver P1DriverR3 = {
> > AnySphericalJoint &Jnt = Main.rat_model.Jnts.hip;
> > Type = PiecewiseLinear;
> > FileName = “drivers\hip_rot_z.txt”;
> > AnyKinMeasure &Lin = Main.rat_model.Drivers.P1Lin;
> > MeasureOrganizer = {0};
> > Reaction.Type = {Off};
> > };
> >
> > with the “hip_rot_x” and “hip_rot_z” data being 0 for each
timestep.
> > But when I start the “SetInitialCondition” operation I get the
> > following error message:
> > Model is kinematically indeterminate : Position analysis
> failed :
> > 54 independent constraints and 56 unknowns
> >
> > Regards,
> >
> > Dieter
> >
> >
> > > — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
> > > wrote:
> > > >
> > > > Hi Dieter,
> > > >
> > > > The first thing i am thinking is that if you are working in a
> 2D
> > > > model you should keep the RevoluteJoint, if you don’t use the
2
> > > other
> > > > rotations then it is not useful to add the SphericalJoint.
> > > >
> > > > There are several way to drive a SphericalJoint, it depend of
> the
> > > > data you have about the joint’s movement (angular velocity,
> > linear
> > > > displacement of a particular point …). For example if you
have
> a
> > > text
> > > > file for X and Z rotation like you have for Y rotation then
you
> > can
> > > > make two more InterPolDriver similar to the one you have,
each
> > one
> > > > driving one of the new rotation.
> > > >
> > > > It would be helpful if you give me more detail: are you still
> > > working
> > > > in 2D? What kind of data do you have about the motion?
> > > >
> > > > Best regards,
> > > > Sylvain, AnyBody Support.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > — In anyscript@yahoogroups.com,
> > “dieterkassgim” <dieterkassgim@>
> > > > wrote:
> > > > >
> > > > > Hello,
> > > > >
> > > > > in a simple 2D-model I use an AnyRevoluteJoint as the hip
> joint:
> > > > >
> > > > > AnyRevoluteJoint hip = {
> > > > > Axis = y;
> > > > > AnyRefNode &spine =
> Main.rat_model.Seg.spine_pelvis.hip;
> > > > > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > > > > };
> > > > >
> > > > > …
> > > > >
> > > > > and drive it like this
> > > > >
> > > > > // Scharniergelenk
> > > > > AnyKinLinear Hip = {
> > > > > //Ref = -1;
> > > > > AnyRefFrame &ref1 = Main.rat_model.Seg.spine_pelvis;
> > > > > AnyRefFrame &ref2 = Main.rat_model.Seg.femur;
> > > > > };
> > > > >
> > > > > …
> > > > >
> > > > > //Hueftgelenksdriver
> > > > > AnyKinEqInterPolDriver HipDriver = {
> > > > > AnyRevoluteJoint &Jnt = Main.rat_model.Jnts.hip;
> > > > > Type = PiecewiseLinear;
> > > > > FileName = “drivers\hip_rot.txt”;
> > > > > AnyKinMeasure &Lin = Main.rat_model.Hip;
> > > > > MeasureOrganizer = {0};
> > > > > Reaction.Type = {Off};
> > > > > };
> > > > >
> > > > > Now I want to replace the RevoluteJoint by a
SphericalJoint.
> > Like
> > > > > this:
> > > > >
> > > > > AnySphericalJoint hip = {
> > > > > AnyRefNode &spine =
> Main.rat_model.Seg.spine_pelvis.hip;
> > > > > AnyRefNode &femur = Main.rat_model.Seg.femur.hip;
> > > > > };
> > > > >
> > > > > I know that the order of rotation is important for the
> > kinematics
> > > > but
> > > > > I haven’t found a driven spherical joint example and I
cannot
> > get
> > > > it
> > > > > working. Can AnyBody help?
> > > > >
> > > > > Regards,
> > > > >
> > > > > Dieter
> > > > >
> > > >
> > >
> >
>