I’m using the
acados python wrapper to generate a trajectory for a quadrotor. I’m only interested in reaching a certain end state, so previously when I was using
ACADO I used a linear running cost function only for the
y axis and the angular velocities (to keep them near 0) and a linear end cost function for the full final requested state.
Now I’m transitioning to
acados and I’m trying to do the same thing. I have already managed to get a very similar trajectory, but to do it I had to call “ocp_solver.solve()” at least 3 times to get a good solution. If only called once, the solution is almost not moving from the initial state. If called twice, the solution becomes 90% closer to the good one. After the third call the solutioin is converged.
While this behavior is something I can cope with, I am wondering why is this happening. Is there any variable that I can set for requesting a minimum convergence when calling the solver?
PS: If I try a different running cost that affects all the states and not only the
y axis and the angular rates, the system is able to converge with only one run.
Thanks for the help!