carsim与matlab联合仿真的问题汇总

1)基于动力学求解最优解时遇到MATLAB报错:索引超出数组元素的数目(0)

carsim与matlab联合仿真的问题汇总_第1张图片

其直接原因是MPCController S-function中quadprog函数求不出解时X为空,后续调用X则会导致索引超出数组元素的数目。
解决方法:在MPCController S-function中,每次求完X,判断其是否为有效的解,若不是则令u保持为前一时刻的值。

解决办法,在源程序中修改如下代码

if(isempty(X)==1)
     u_piao=0; %如果为空,则控制量增量为0;
else
      u_piao=X(1);%得到控制增量
end

你可能感兴趣的:(matlab,无人车)