车辆行驶控制运动学模型的matlab建模与仿真,仿真输出车辆动态行驶过程
1.课题概述
车辆行驶控制运动学模型的matlab建模与仿真,仿真输出车辆动态行驶过程.
2.系统仿真结果
3.核心程序与模型
版本:MATLAB2022a
%车轮轴距 Lwheel = 2.7; %前悬长度 Lf = 0.935; %质心到前轴的距离 Lft = Lwheel/2; %质心到后轴的距离 Ltr = Lwheel/2; %后悬长度 Lro = 0.995; %车宽 Wcar = 1.780; %初始条件 %后轴的初始位置 x0 = 0; y0 = 0; %初始偏航角 psi0 = 0; %初始转向角 delta0 = 0; z0 = [x0 x0 psi0 delta0]; %最终时间 Tsimu = 40; %帧率 F_rate = 30; %时间数组 time = linspace(0,Tsimu,Tsimu*F_rate); %设置ODE求解器选项 OPT = odeset('RelTol',1e-5); [dset,xylines] = ode45(@(t,z) func_car_model(t,z,Lwheel),time,z0,OPT); ......................................................................... figure hold on ; grid on ; xlabel('x'); ylabel('y'); % 循环绘制每个时间点的车辆位置 for j = 1:length(time) j cla plot(xyc5(:,1),xyc5(:,2),'b') plot(xyc6(:,1),xyc6(:,2),'m--') % 计算四个角的坐标 xc = [xyc1(j, 1) xyc2(j, 1) xyc3(j, 1) xyc4(j, 1)]; yc = [xyc1(j, 2) xyc2(j, 2) xyc3(j, 2) xyc4(j, 2)]; % 填充车辆图形 fill(xc, yc,'g') % 调用func_draw函数绘制前后轴的向量 func_draw(xyc5(j, 1:2),(alpha1(j)+theta1(j)),Speed1(j),'b'); func_draw(xyc6(j, 1:2),(alpha2(j)+theta1(j)),Speed2(j),'m--'); xlim([0,70]); ylim([-5,70]); drawnow; end 19
4.系统原理简介
车辆运动学模型从几何学的角度研究车辆的运动规律。包括车辆的空间位姿、速度等随时间的变化。当车辆在良好路面上低速行驶时,一般不需要考虑车辆的操纵稳定性等动力学问题。此时基于运动学模型设计的路径跟踪控制器具备可靠的控制性能。
车辆行驶控制运动学模型是描述车辆运动状态的基础模型,它主要关注车辆的位置、速度、加速度等运动学参数的变化规律。这些模型通常基于牛顿运动定律和车辆的动力学特性建立。
4.1 基本假设
在运动学模型中,通常会做出一些基本假设来简化问题,例如:
车辆在平面内运动,忽略垂直方向的运动。
车辆的运动是连续的,没有跳跃。
车辆的轮胎与地面之间无滑动,即轮胎的滚动速度与车辆的移动速度一致。
4.2 运动学方程
车辆的运动学方程通常包括位置、速度和加速度的关系。在二维平面上,车辆的位置可以用坐标 ((x, y)) 表示:。
基于跟踪误差模型设计的模型预测控制权可以方便的对跟踪过程中的航向偏差和距离偏差施加约束。同时可以考虑道路曲率对跟踪效果的影响,有利于提升弯道跟踪的效果。