这个例子展示了如何使用车道保持辅助系统模块,并演示了该模万博1manbetx块的控制目标和约束。
装有车道保持辅助(LKA)系统的车辆(ego car)装有摄像头等传感器,可以测量车道中心线与ego car之间的横向偏差和相对偏航角。该传感器还可以测量当前车道的曲率和曲率导数。根据传感器所能观察到的曲线长度,可由当前的曲率和曲率导数计算出自我汽车前方的曲率。
LKA系统通过调整自我车的前转向角度,使自我车在道路上沿着中线行驶。车道保持控制的目标是使横向偏差和相对偏航角均接近于零。
在Simulink中建立了汽车的动力学模型。万博1manbetx打开Simulin万博1manbetxk模型。
mdl =“mpcLKAsystem”;open_system (mdl)
定义采样时间,Ts
,和模拟持续时间,T
,在几秒钟内。
t = 0.1;T = 15;
为了描述横向车辆动力学,本例使用了自行车模型使用以下参数。
米
为车辆总质量(kg)。
工业区
为飞行器的横摆惯性矩(Kg*m^2)。
低频
为重心到前轮的纵向距离,m。
lr
为重心到后轮的纵向距离,m。
Cf
为前轮转弯刚度(N/rad)。
Cr
为后轮转弯刚度(N/rad)。
m = 1575;工业区= 2875;如果= 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) /工业区/ Vx - (2 * Cf *低频^ 2 + 2 * Cr * lr ^ 2) /工业区/ Vx);B = [2*Cf/m, 2*Cf*lf/Iz];C =眼(2);G = ss (A, B, C, 0);
在这个例子中,Sensor Dynamics模块输出横向偏差和相对偏航角。相对偏航角的动力学是,在那里表示曲率。侧向偏移的动力学是.
曲率预览器块以一秒的时间输出预预览的曲率。因此,给定一个样本时间,预测层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对象的Noise属性为空。假设每个测量输出通道上都有白噪声。
绘制仿真结果。
mpcLKAplot (logsout)
横向偏差和相对偏航角均收敛于零。也就是说,自我汽车遵循道路密切基于预先预测的曲率。
%关闭Simul万博1manbetxink模型。bdclose (mdl)