Page 1 of 1

CMC still failing

Posted: Fri Mar 29, 2024 3:55 am
by sietse
For almost a year I am struggling with a model and CMC.
I asked on this list and filed issues on opensim-core, but still no solution.
I now am repeating my last issue #3679 here because I don't know anything else to do :( .
The model is not too complicated:
  • Joints: 1 slider, 4 pin, 2 custom (doing the task of BallJoints) and a few weldjoints.
  • 1 weldconstraint to close a kinematic loop.
  • contactmesh and electricfoundationforce to let the model "rest on the floor"
CMCerror.png
CMCerror.png (98.71 KiB) Viewed 889 times
Think rower in a rowing boat.
The model, a few trajectories, IK and CMC setups and opensim.log can be found in
CMCerror.zip
(147.57 KiB) Downloaded 37 times
The problem is that CMC fails immediately with the intended trajectory (tr_org.mot) with:

Code: Select all

[2024-01-14 16:56:45.428] [error] SimTK Exception thrown at InteriorPointOptimizer.cpp:264:
  Optimizer failed: Ipopt: Infeasible problem detected (status 2)
[2024-01-14 16:56:45.428] [error] OPTIMIZATION FAILED...
[2024-01-14 16:56:45.428] [error] CMC::computeControls: Optimizer could not find a solution.
Unable to find a feasible solution at time = 0.02.
Model cannot generate the forces necessary to achieve the target acceleration.
Possible issues: 1. not all model degrees-of-freedom are actuated, 
2. there are tracking tasks for locked coordinates, and/or
3. there are unnecessary control constraints on reserve/residual actuators.
I don't think the given possible issues are relevant here because I can easily make it to work.
If for example I simplify the trajectory by copying the data of the first step (t=0) to ALL lines below,
effectively keeping the model still, everything works! Only very small pErr and vErr's.

tr1.csv is a trajectory that keeps the model still and slowly starts moving the model after 0.31 seconds.
If fails almost immediately at that point. Up to that point also only small pErr and vErr's.
I can't find anything in the way of "control theory" that could explain this.

On the other hand it is very strange that a lot of much more complicated models work fine with CMC.

Regards, Sietse

Re: CMC still failing

Posted: Thu Apr 25, 2024 12:58 am
by sietse
Is there no one that can help me in what I think is a flaw in OpenSim/CMC?
Thanks in advance, Sietse.

Re: CMC still failing

Posted: Thu Apr 25, 2024 4:22 pm
by tkuchida
it is very strange that a lot of much more complicated models work fine with CMC
I don't think it is so common to run CMC with a contact mesh and elastic foundation force. If it's possible for your application, you might try simplifying the problem by using a joint (or constraint) on the floor instead.

Re: CMC still failing

Posted: Sun Apr 28, 2024 8:34 am
by sietse
Thanks for the reply!
The problem remains when the contact mesh and elastic foundation force are removed, regrettably.

This, even simpler, model has the same problem.
What could be wrong? Is there an (undocumented) fundamental flaw/restriction in the CMC system, or
a bug in its implementation?
Is the someone that is familiar with the internals of CMC that can help?
I am willing and able to help, but on my own it is too much to handle.

Regards, Sietse

PS. Here: https://github.com/SietseAchterop/Rowing-simulator you can see (a video of) the Pusher that is a similar model.