I’m using acados Simulator for Parameter Estimation via GitHub - FreyJo/casados-integrators. It’s hard to give a code for my question so I’ll try to be precise:
I use Callback as in casados-integratos to wrap output of the AcadosSimSolver and let nlpsol of the Casadi to generate jacobian and hessian that it requires. I noticed, that as soon as IRK simulator fails (starts to return nan vectors after solve()) any further AcadosSimSolver.solve() calls will return nans. However solution for that is quite simple: I had to use AcadosSimSolver.set(“xdot”) to “reset” solver and the behavior of the solver returned to normal. I assume, that it happens, because there is some kind of cached memory , right?
Now here comes the issue, which is pretty strange: I let my Casadi.nlpsol with IPOPT run the parameter estimation. On one Linux PC (Arch x64) everything works perfectly. On Ubuntu PC, as soon as optimizer runs once into unfeasible solution (AcadosSimSolver returns nan), it continues to return nans on any following solve call(). It is really strange behavior, I tested bunch of stuff and getting less and less new ideas. I imagine it’s not a problem of Python or acados, because on both PCs I use same Python 3.9, and same versions of acados v.0.1.9 and almost same Cmake … Maybe it is caused by some Casadi Callback bug? Basically I just need to know which difference between PCs can cause such an issue…
I would appreciate any kind of new ideas.