这个例子展示了如何使用车道保持辅助系统模块,并演示了该模金宝app块的控制目标和约束。
配备车道保持辅助(LKA)系统的车辆(ego车)有一个传感器,如摄像头,用于测量车道中心线和ego车之间的横向偏差和相对偏航角。传感器还测量当前车道曲率和曲率导数。根据传感器可以查看的曲线长度,可以根据当前曲率和曲率导数计算ego汽车前面的曲率。
LKA系统通过调整自我车的前转向角度,使自我车在道路上沿着中线行驶。车道保持控制的目标是使横向偏差和相对偏航角均接近于零。
在Simulink中建立了汽车的动力学模型。金宝app打开Simulin金宝appk模型。
mdl =“mpcLKAsystem”; 开放式系统(mdl)
定义采样时间,Ts
,以及模拟持续时间,T
,在几秒钟内。
Ts=0.1;T=15;
为了描述车辆横向动力学,本示例使用自行车模型使用以下参数。
米
为车辆总质量(kg)。
伊兹
为飞行器的横摆惯性矩(Kg*m^2)。
lf
为重心到前轮的纵向距离,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模块输出横向偏差和相对偏航角。相对偏航角的动力学是,在那里表示曲率。侧向偏移的动力学是.
曲率预览程序块以1秒的前瞻时间输出预览的曲率。因此,给定一个采样时间,预测范围10
步骤。本例中使用的曲率是基于双车道变换机动的轨迹计算的。
指定预测地平线并获取预览的曲率。
预测水平=10;时间=0:0.1:15;md=getCurvature(Vx,时间);
LKA系统使用车道保持辅助系统块在Simulink中建模。金宝appLKA系统块的输入为:
预览曲率(从车道检测)
纵向速度
横向偏差(从车道检测)
相对偏航角(来自车道检测)
LKA系统的输出是ego汽车的前转向角。考虑到ego汽车的物理限制,转向角被限制在[-0.5,0.5]rad/s的范围内。
u_min=-0.5;u_max=0.5;
对于本例,车道保持辅助系统块的默认参数与仿真参数匹配。如果您的模拟参数与默认值不同,请相应地更新块参数。
运行模型。
sim (mdl)
假设对测量的输出通道#1没有增加任何干扰。——>假设添加到测量输出通道2上的输出扰动为集成白噪声。——>”模式。mpc对象的Noise属性为空。假设每个测量输出通道上都有白噪声。
绘制仿真结果。
mpcLKAplot(logsout)
横向偏差和相对偏航角都收敛到零。也就是说,ego汽车根据预览的曲率紧跟道路。
%关闭Simul金宝appink模型。bdclose(mdl)