%% 误差 %% 头车 e0(1,k)=x_0(1)-xr(k); e0(2,k)=x_0(2)-dxr(k); %% 二车 e1(1,k)=x_1(1)-xr(k)+L; e1(2,k)=x_1(2)-dxr(k); %% 三车 e2(1,k)=x_2(1)-xr(k)+2*L; e2(2,k)=x_2(2)-dxr(k); %% 控制器 %% 头车 k_0=1; s0(k) = k_0*e0(1,k)+5000*e0(2,k); fx0=a0+b0*x_0(2)+c0*x_0(2)*x_0(2)+m0*g*sin(angle0)+600/R+0.0013*l0; p0(k)=s0(k) w0(k)=-h_0*sign(p0(k))-j_0*p0(k)-fx0; u0(k)=w0(k); if w0(k)>w0_max u0(k)=w0_max; elseif w0(k)<w0_min u0(k)=w0_min; elseif w0(k)>w0_min && w0(k)<w0_max u0(k)=w0(k); end deta0=u0(k)-w0(k); beta0=2*deta0/aerfa0-2*m0/aerfa0; p0(k)=s0(k)-beta0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 参考位移、速度、加速度 x0(3,k)=(u0(k)/m0)-g*sin(angle0)-fx0/m0; x0(2,k)=x_0(2)+ts*(x_0(3)); x0(1,k)=x_0(1)+ts*(x_0(2)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初值迭代 x_0=x0(:,k);
时间: 2023-12-25 20:04:20 浏览: 104
自动驾驶典型应用场景-基于大数据的学生上网行为分析设计说明书
这段代码的目的是计算三辆车与期望位移和期望速度之间的误差,并设计控制器u以减小误差。其中,头车、二车和三车分别计算其与期望位移和期望速度之间的误差,并将误差存储在e0、e1和e2变量中。控制器u根据误差来计算控制量u0,以减小头车与期望位移和期望速度之间的误差。控制器的具体实现方式是,根据误差计算出s0值,然后通过一系列计算,得到最终的控制量u0。最后,根据控制量u0计算出新的变量值x0,从而实现对期望位移和期望速度的跟踪。
阅读全文