《无人驾驶车辆模型预测控制》书中第四章仿真轨迹为直线及索引超出数组范围

1.书中Carsim版本8.01,大部分人用的版本为2016及以上,轨迹出来的是一条直线。是因为输入的前轮转角没有加到Carsim中,2016版本好像不能直接通过前轮转角直接控制汽车转向。解决办法:添加opt_steer_ext(1) 4,(4前有空格)如图所示:

2.提示超出索引值,是因为约束超出了范围,代码有错误。解决办法:将代码0.05改为-0.05,即:delta_umin=[-0.05;-0.0082;];

3.提示有效集法已移除,换成内点法求解二次规划问题,解决办法将代码中有效集解法这一行注释掉,内点法前的注释去掉,即: %options = optimset('Algorithm','active-set');
    options = optimset('Algorithm','interior-point-convex');

至于还有Flag(3)什么的我刚开始也遇到过,应该是你的.m文件有点问题,我当初都给他保存到carsim.data数据库文件夹下之后改了改这些就没了,反正就是你MPC的S—Function没设置好,改完这些就问题不大了。

最后运行即可得到类似圆的轨迹。

猜你喜欢

转载自blog.csdn.net/weixin_44902384/article/details/105495704