cirpote / rvb_mpc

GNU General Public License v3.0
10 stars 3 forks source link

control loop #1

Open zhuyeyiyi opened 5 years ago

zhuyeyiyi commented 5 years ago

In STIVS_controller.cpp file, the controller loop (line 83-91) is designed as follows, NUM_STEPS = 5 for(iter = 0; iter < NUM_STEPS; ++iter){ acado_feedbackStep(); if(acado_getKKT() < KKT_THRESHOLD) break; acado_preparationStep(); }

I think this loop is redundant. The measurements keep invariant during this loop. One time is enough { acado_feedbackStep(); acado_preparationStep(); } .

Additional iteration will increase the computational complexity.

yaofulan commented 2 months ago

In STIVS_controller.cpp file, the controller loop (line 83-91) is designed as follows, NUM_STEPS = 5 for(iter = 0; iter < NUM_STEPS; ++iter){ acado_feedbackStep(); if(acado_getKKT() < KKT_THRESHOLD) break; acado_preparationStep(); }

I think this loop is redundant. The measurements keep invariant during this loop. One time is enough { acado_feedbackStep(); acado_preparationStep(); } .

Additional iteration will increase the computational complexity.

你好,我也发现了这个问题,多次循环求解控制量是不变的,这是为什么呀。我的问题是我的求解精度不够,所以想通过循环求解来减少acado_getKKT(acado_getKKT越小越收敛),但是我发现循环过程中acado_getKKT确实能减少,然后控制量始终不变,我很疑惑