CMC still failing

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Sietse Achterop
Posts: 79
Joined: Tue Sep 14, 2021 3:01 am

CMC still failing

Post by Sietse Achterop » Fri Mar 29, 2024 3:55 am

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 1355 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 48 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

Tags:

User avatar
Sietse Achterop
Posts: 79
Joined: Tue Sep 14, 2021 3:01 am

Re: CMC still failing

Post by Sietse Achterop » Thu Apr 25, 2024 12:58 am

Is there no one that can help me in what I think is a flaw in OpenSim/CMC?
Thanks in advance, Sietse.

User avatar
Thomas Uchida
Posts: 1793
Joined: Wed May 16, 2012 11:40 am

Re: CMC still failing

Post by Thomas Uchida » Thu Apr 25, 2024 4:22 pm

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.

User avatar
Sietse Achterop
Posts: 79
Joined: Tue Sep 14, 2021 3:01 am

Re: CMC still failing

Post by Sietse Achterop » Sun Apr 28, 2024 8:34 am

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.

POST REPLY