这个例子展示了如何使用车道保持辅助系统Simulink®万博1manbetx中的块,并演示此块的控制目标和约束。
装有车道保持辅助(LKA)系统的车辆(ego car)装有摄像头等传感器,可以测量车道中心线与ego car之间的横向偏差和相对偏航角。该传感器还可以测量当前车道的曲率和曲率导数。根据传感器所能观察到的曲线长度,可由当前的曲率和曲率导数计算出自我汽车前方的曲率。
LKA系统通过调整ego车辆的前转向角,使ego车辆沿道路车道中心线行驶。车道保持控制的目标是使横向偏差和相对偏航角接近于零。
在Simulink中建立了ego汽车的动力学模型。打开Simulink模型。万博1manbetx
mdl=“MPCLK系统”;open_system (mdl)
定义采样时间,Ts
,和模拟持续时间,T
,以秒为单位。
t = 0.1;T = 15;
为了描述横向车辆动力学,本例使用了自行车模型使用以下参数。
M
是车辆总质量(kg)。
工业区
是车辆的横摆惯性矩(Kg*m^2)。
低频
是从重心到前轮胎的纵向距离(m)。
lr
为重心到后轮的纵向距离,m。
查阅
是前轮胎的转弯刚度(N/rad)。
铬
是后轮胎的转弯刚度(N/rad)。
m=1575;Iz=2875;lf=1.2;lr=1.6;Cf=19000;Cr=33000;
可以使用具有以下状态、输入和输出变量的线性时不变(LTI)系统表示横向车辆动力学。假设状态变量的初始条件为零。
状态变量:横向速度和偏航角速率
输入变量:前转向角
输出变量:与状态变量相同
在此示例中,纵向车辆动力学与横向车辆动力学分离。因此,假设纵向速度为常数。实际上,纵向速度可能会变化。车道保持辅助系统块使用自适应MPC相应地调整横向动力学模型。
%以m/s为单位指定纵向速度。Vx=15;
指定状态空间模型,G(s)
横向车辆动力学。
= [(2 * Cf + 2 * Cr) / m / Vx, Vx - (2 * Cf * lf-2 * Cr * lr) / m / Vx;...-(2*Cf*lf-2*Cr*lr)/Iz/Vx,-(2*Cf*lf^2+2*Cr*lr^2)/Iz/Vx];B=[2*Cf/m,2*Cf*lf/Iz];C=眼睛(2);G=ss(A,B,C,0);
在此示例中,传感器动力学块输出横向偏差和相对偏航角。相对偏航角的动力学为:哪里表示曲率。横向偏移的动力学是.
曲率预览器块以一秒的时间输出预预览的曲率。因此,给定一个样本时间,预测层10
步骤。本例中使用的曲率是基于双车道变道机动的轨迹计算的。
指定预测视界并获得预览的曲率。
PredictionHorizon = 10;时间= 0:0.1:15;md = getCurvature (Vx、时间);
LKA系统在Simulink中使用车道保持辅助系统模块进行万博1manbetx建模。LKA系统块的输入如下:
预览曲率(来自车道检测)
自我纵向速度
横向偏差(从车道检测)
相对偏航角(来自车道检测)
LKA系统的输出是自我汽车的前转向角度。考虑到ego汽车的物理限制,转向角度被限制在[-0.5,0.5]rad/s范围内。
u_min = -0.5;u_max = 0.5;
对于本例,车道保持辅助系统块的默认参数与模拟参数匹配。如果模拟参数与默认值不同,请相应地更新块参数。
运行模型。
sim卡(mdl)
假设测量的输出通道#1没有增加干扰。-->假设添加到测量输出通道#2的输出干扰为积分白噪声。-->“mpc”对象的“Model.Noise”属性为空。假设每个测量输出通道上存在白噪声。
绘制仿真结果。
mpcLKAplot (logsout)
横向偏差和相对偏航角均收敛于零。也就是说,自我汽车遵循道路密切基于预先预测的曲率。
%关闭Simul万博1manbetxink模型。bdclose (mdl)