Different solutions between C++ and Python

Hi :wave:

I have been using generated long acados in long planner openpilot. I am using both C++ and Python solver to compare the resulted solutions. I already log all the inputs value for the function ocp_nlp_cost_model_set in C++ and cost_set in Python, and all the inputs are the same. However, I got different solutions.

This Python log:

long_mpc timings: tot 1.36e-04, qp 6.90e-05, lin 4.50e-05, integrator 7.00e-06, qp_iter 5.0
long_mpc residuals: 4.22e+01, 1.58e+01, 1.09e+03, 4.39e-04
iter    qp_stat qp_iter
0       0       0
1       0       5

This is C++ log:

iter	qp_stat	qp_iter
0	0	0	
1	2	10	
Long run solution: 
solution status:  0
time_tot:  0.000245
time_qp:  0.000162
time_lin:  7.5e-05
time_sim:  9e-06

I am looking for any recommendation to debug.

After I increased the qp iter max to 30 in C++. I got qp stat == 0 at qp_iter 22 while Python code is done with just 5 qp iteration. This is a bit weird since I set the same input for both but still got different outputs.