No.4 自适应巡航ACC (Carsim2019,Matlab2018a) 特殊说明:如果需要电车版本的请咨询! 采用分层控制,即下层控制(使用车辆逆纵向动力学模型(包括发动机逆模型,是常见方法) )和上层控制(双pid对速度和距离进行控制,stateflow进行模式切换),实现定速巡航和跟随模式。 提供详细讲解(?pdf文件及视频说明),适合入门自适应巡航,并附赠标定表方法的自适应巡航和纵向速度跟踪。 下图为仿真模型结构及效果图
在汽车智能化的浪潮中,自适应巡航ACC无疑是一项备受瞩目的技术。今天咱们就基于Carsim2019和Matlab2018a,来聊聊这个有趣又实用的功能。
分层控制:下层控制
ACC采用分层控制策略,下层控制这里用到了车辆逆纵向动力学模型,特别是发动机逆模型,这可是常见且重要的方法。简单来说,发动机逆模型就像是给发动机的运作建了一个反向“地图”,根据车辆当前状态,能反推发动机该怎么工作。
咱们来看看代码示例(以下为示意性伪代码):
% 假设已知车辆质量m,当前速度v,阻力系数Cd等参数 m = 1500; % 车辆质量,单位kg v = 30; % 当前速度,单位m/s Cd = 0.3; % 阻力系数 % 计算阻力 F_drag = 0.5 * Cd * 1.225 * v^2 * 2; % 空气阻力,1.225为空气密度,2为车辆迎风面积假设值 % 根据逆动力学模型计算发动机需要提供的力 F_engine = F_drag + m * 0.1; % 假设车辆有一个0.1m/s²的加速度需求,这里简单计算发动机需提供的力这段代码通过已知的车辆参数,先算出了空气阻力,然后根据设定的加速度需求,计算出发动机需要提供的力,这就是发动机逆模型的一个简单体现,为下层控制提供关键输入。
分层控制:上层控制
上层控制则是双PID对速度和距离进行控制,并且用stateflow进行模式切换。PID控制大家应该都不陌生,就像是一个智能的调节器,能让实际值不断逼近目标值。
% 速度PID参数初始化 Kp_speed = 0.5; Ki_speed = 0.1; Kd_speed = 0.05; % 距离PID参数初始化 Kp_distance = 0.8; Ki_distance = 0.2; Kd_distance = 0.1; % 设定目标速度和目标距离 target_speed = 50; % m/s target_distance = 20; % m % 速度PID控制计算 error_speed = target_speed - current_speed; integral_speed = integral_speed + error_speed * dt; derivative_speed = (error_speed - previous_error_speed) / dt; control_signal_speed = Kp_speed * error_speed + Ki_speed * integral_speed + Kd_speed * derivative_speed; % 距离PID控制计算 error_distance = target_distance - current_distance; integral_distance = integral_distance + error_distance * dt; derivative_distance = (error_distance - previous_error_distance) / dt; control_signal_distance = Kp_distance * error_distance + Ki_distance * integral_distance + Kd_distance * derivative_distance;在这段代码里,我们分别初始化了速度和距离的PID参数,然后根据当前的速度、距离与目标值的差值,通过PID公式计算出相应的控制信号。这些控制信号会进一步去调整车辆的运行状态,实现速度和距离的精准控制。
而stateflow就像是一个智能的“模式切换大师”,它能根据不同的条件,比如前方车辆状态、本车速度等,在定速巡航和跟随模式之间灵活切换。
适合入门的详细讲解与标定表方法
对于刚接触自适应巡航的朋友来说,提供的详细讲解(?pdf文件及视频说明)那可太有用了,它就像一位耐心的导师,一步一步带你走进自适应巡航的世界。而且还附赠标定表方法的自适应巡航和纵向速度跟踪,标定表方法就像是给自适应巡航做了一次精细的“校准”,让它的运行更加精准。
总的来说,基于这样的分层控制策略实现的自适应巡航,无论是对于新手学习还是实际应用,都有着很大的价值。希望大家通过这篇博文,对自适应巡航ACC有了更清晰的认识。如果有电车版本需求,记得按说明咨询哦~