Hi Geoff

The problem is the use of the sphericaljoint. The error messages

shows that the kinematical analysis fails for the RightHipForce

driver which works on the spherical joint.

The spherical joint is not a good choice in this situation. In

principle, you can use any joint you like, because what you need is

simply any kinematic measure that you can use in your force. Whether

it measure in radians, meter or something else, because you in fact

treat it as being forces in Newton.

The reason why the spherical joint is a bad choice is that it

measures with angles, which implies that one orientation can

actually be described by multiple values, i.e., the angle ±2 n pi

with n as any non-zero integer. The Rotational measure inside the

spherical joint (i.e. the member called Orientation in

AnySphericalJoint) measures the orientation and it tries its best to

provide a single good value for a given orientation, however, there

is no guaranty that it do it if you drive it to odd values such 200-

something radians. In fact the spherical joint works not with simple

angles but spatial rotations and that complicates the matter even

further depending on the actual type of rotational coordinates used

in the particular measure.

Anyway, a linear kinematic measure is much more reliable for general

values like the ones you probably want to use for your forces. There

are never multiple solution for a linear measure.

Please let me finally point out that this fairly odd way of

producing varying forces is a work-around in the current version. It

allows you to exploit the capabilities available for defining

function in the various kinematic drivers. The coming version 2.0

will have much better functionality for taking in data in general

expressions such as the force definition; in fact it will contain

general mathematical functions that work similarly to the kinematic

drivers you know today.

Best regards

Michael and SÃ¸ren

AnyBody Support

— In anyscript@yahoogroups.com, “somadynamics1”

<somadynamics1@y…> wrote:

>

>

> OK, thanks for the info. I’m pretty sure I have implemented this

> correctly. However, when I add a force value and run an inverse

> dynamic analysis I get an error of this sort:

>

> Constraint no. 361 above error tolerance 0.000001, error =

> 53.141269. - constr. #1 in ‘Main.Dummies.RightHipForce’

>

> ERROR : C:\Program Files\Ramsis-3-8-11

> \runtime\anybody\SomaModel\SomaModel.Main.any(59) : Study :

> Kinmatic constraint violation error was not accepted; muscle

> recruitmemnt analysis was not performed.

>

> An example of how I have implemented it follows:

>

> AnyFolder Dummies = {

> AnySeg RightHipForceSeg = {

> Mass = 0;

> Jii={0,0,0};

> };

>

> AnySphericalJoint RightHipForceJoint = {

> AnyRefNode &dummy = .RightHipForceSeg;

> AnyRefNode &ground = …EnvironmentModel.GlobalRef;

> };

>

> AnyKinEqInterPolDriver RightHipForce = {

> AnyKinMeasureOrg &Force = .RightHipForceJoint;

> Type = Bspline;

> BsplineOrder = 4;

> T = {0.000,1.000,2.000,3.000};

> Data = {

> {0.000,0.000,0.000,0.000}, //x

> {300.000,250.000,200.000,150.000}, //y

> {0.000,0.000,0.000,0.000} //z

> };

> };

> };

>

> The force itself is implemented as follows:

>

> AnyFolder Right = {

> AnyFolder &rhm = .hm.Right;

> AnyForce3D Hip = {

> AnyRefNode &ApplPoint = .rhm.Leg.Seg.Thigh.HipJoint;

> F = {…Dummies.RightHipForceJoint.Pos[0],

> …Dummies.RightHipForceJoint.Pos[1],

> …Dummies.RightHipForceJoint.Pos[2]};

> };

> };

>

>

> The only differences I can see with your example is that I am

using

> an AnySphericalJoint to incorporate x,y and z forces for each

joint

> into one driver and have given a mass of zero to my dummy segments.

>

> Thanks,

>

> Geoff

>

>

> — In anyscript@yahoogroups.com, “AnyBody Support” <support@a…>

> wrote:

> >

> > Hello Geoff,

> >

> > Welcome to the group!

> >

> > The post is #76 just before this one. You can find the model in

> the

> > files section. It is called gait2.zip.

> > The model demonstrates how measured ground reaction forces can

be

> > imposed on a model, but the method applies to any type of force

> > application that is interpolated between values.

> >

> > Best regards,

> > AnyBody Support

> >

> > — In anyscript@yahoogroups.com, “somadynamics1”

> > <somadynamics1@y…> wrote:

> > >

> > >

> > > Hello,

> > >

> > > I’m new to this Group. My name is Geoff and I am working on a

> > > dynamic implementation of the full body model using a set of

> > > AnyKinEqInterPolDrivers.

> > >

> > > It is my understanding that a method for inputting external

> forces

> > > that change over a time period has been posted here

previously.

> I

> > > can’t find this post. If anyone can direct me or provide the

> info

> > > it would be much appreciated.

> > >

> > > Thanks,

> > >

> > > Geoff