前文注释了《无人驾驶车辆模型预测控制》3.3.3的代码,例程代码中的参考路径是一条直线路径,如果希望将该路径更改为更为复杂的参考路径,可以对原生成参考路径的代码进行替换。
将《无人驾驶车辆模型预测控制》3.3.3源代码中的:
代码语言:javascript复制for k=1:1:N
Xout(k,1)=k*T; %横坐标
Xout(k,2)=2; %纵坐标
Xout(k,3)=0; %航向角
Tout(k,1)=(k-1)*T; %参考轨迹时间
end
替换为:
代码语言:javascript复制for k=1:1:N
if k<200
Xout(k,1)=k*T; %横坐标
Xout(k,2)=2; %纵坐标
Xout(k,3)=0; %航向角
Tout(k,1)=(k-1)*T; %参考轨迹时间
elseif k<514
Xout(k,1)=10 10*sin( 0.1*(k-200)*T);
Xout(k,2)=12-10*cos(0.1*(k-200)*T);
Xout(k,3)=0.1*(k-200)*T;
Tout(k,1)=(k-1)*T;
elseif k<714
Xout(k,1)=20;
Xout(k,2)=12 (k-514)*T;
Xout(k,3)=1.57;
Tout(k,1)=(k-1)*T;
else
Xout(k,1)=20;
Xout(k,2)=22;
Xout(k,3)=1.57;
Tout(k,1)=(k-1)*T;
end
end
即可生成由直线和圆弧组成的新参考路径,参考路径点的信息通过参数方程获得。
代入3.3.3节的源代码后,跟踪效果如图:
单位为m。
单位为m和rad。
单位为m和rad。