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"
The model, a few trajectories, IK and CMC setups and opensim.log can be found in 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.
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