Tendon Length is a negative value

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Julie Iskander
Posts: 11
Joined: Thu Mar 10, 2016 9:25 pm

Tendon Length is a negative value

Post by Julie Iskander » Sat Oct 29, 2016 9:20 pm

I am using the APIs to create my model and calculate muscle lengths at different positions of the model.

What does it mean when I use getTendonLength and get a -ve value?
How can a tendon be conpressed? What does that mean?
Can someone help me?

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Tendon Length is a negative value

Post by Dimitar Stanev » Sun Oct 30, 2016 4:03 am

It is strange, can you post the code? Why do you care about the tendon length and not the muscle length?

User avatar
Julie Iskander
Posts: 11
Joined: Thu Mar 10, 2016 9:25 pm

Re: Tendon Length is a negative value

Post by Julie Iskander » Sun Oct 30, 2016 9:39 pm

rjointCoordinateSet[1].setValue(si, convertDegreesToRadians(-32), true);
cout << "Muscle Fiber Length at -32 Abduction" << endl;
for (int i = 0; i < 6; i++)
{
cout << muscles->getName() << " - ";
cout << muscles->getLength(si) << " - " << muscles->getFiberLength(si) << " - " << muscles->getTendonLength(si)<< endl;;
}

I was just moving the model and getting new values of the muscle.

Why don't FiberLength change to reflect compression or elongation of muscle? Only Length and TendionLength?

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Tendon Length is a negative value

Post by Dimitar Stanev » Sun Oct 30, 2016 11:44 pm

I think you have to realize the state to position. model.realizePosition(si)

User avatar
Julie Iskander
Posts: 11
Joined: Thu Mar 10, 2016 9:25 pm

Re: Tendon Length is a negative value

Post by Julie Iskander » Mon Oct 31, 2016 12:11 am

realizePosition is not accessable from Model class :(

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Tendon Length is a negative value

Post by Dimitar Stanev » Mon Oct 31, 2016 2:13 am

It is possible that this method is supported in the newest version of OpenSim that I use or you haven't included the headers. You can try this also:

Code: Select all

model.getMultibodySystem().realize(si, Stage::Position);
Best

User avatar
Julie Iskander
Posts: 11
Joined: Thu Mar 10, 2016 9:25 pm

Re: Tendon Length is a negative value

Post by Julie Iskander » Sun Nov 06, 2016 9:24 pm

Thanks a lot
It worked with the following lines together

Code: Select all

osimModel.getMultibodySystem().realize(si, Stage::Position);
osimModel.equilibrateMuscles(si);

POST REPLY