Page 1 of 1

MoBL-ARMS model- Error in simulation

Posted: Thu Aug 06, 2020 3:40 am
by sambhav.ratna
Hi,
I imported an arm model MoBL Upper Extremity Dynamic Model in matlab which was successful and I was able to access all of its components. But when try to simulate it by applying force to its elbow joint with PathActuator using manager.integrate(), I start getting a constant error:
"Error detected by Simbody method AbstractIntegrator::takeOneStep(): Unable to advance time past 0.00759351. (Required condition 't1 > t0' was not met.)".

Following is the code and I have attached the error in JPG format:

for i=2:120
timed = time(i+1)-time(i);

tau = e_torque(i);

tension = tau/m;
brain.prescribeControlForActuator('pact',StepFunction(0, timed, tension, tension));

manager = Manager(main_model);
state.setTime(0);
manager.initialize(state);
state = manager.integrate(timed);

m = pact.computeMomentArm(state, main_model.getJointSet().get(8).getCoordinate());
end

Error I am getting at state = manager.integrate(timed) where average value of timed is 0.00833333 and time(i) and torque(i), I am bringing from an external file.
Need Help.

Re: MoBL-ARMS model- Error in simulation

Posted: Thu Aug 13, 2020 11:24 am
by ongcf
Hard to know exactly what is going on with the info provided. One thing to double check is if the muscles are in positions where they are generating either lots of force (e.g., high passive forces) or can't produce enough force (e.g., too short, or shortening too quickly). You could check on their normalized lengths just before failure to see if they are approaching these problematic regions.

It could be good to also double check any documentation or papers related to the model to make sure that you are using it within the specified tested ranges, and then possibly reach out to the authors if you think you are using it within the intended use of the model.