基于prescan&simulink的ACC控制算法仿真
随着自动驾驶技术的发展,自适应巡航控制 (Adaptive Cruise Control,ACC)应用可在一定程度上减少驾驶员的驾驶强度,是车辆辅助驾驶技术的一个重要组成部分。自适应巡航由传统的定速巡航演变而来,利用多传感器感知周围环境信息,收集和传输自车及前方车辆的行驶状态信息。根据不同的行驶环境选择不同的控制策略,通过相应的策略对自车行驶状态参数做出调整,最大程度上避免驾驶疲劳、保证安全性和通行效率。本文对prescan中的ACC demo模型算法逻辑进行分析讨论。
ACC系统工作原理
ACC系统工作原理如图1所示,驾驶员启动系统后,汽车在行驶过程中,安装在其前部的两个雷达传感器(一个长距一个广角)持续扫描前方道路,其中传感器1的扫描范围是距离150m,视场角9°角,传感器2的扫描范围是距离30m,视场角80°。直道和弯道两个传感器都进行扫描,采集行车环境信息,根据行车环境进行直、弯车道判别后,ACC控制模块开始作用,若主车前方内有车辆或前方目标车辆距离很远且速度很快时,ACC系统选定巡航控制模式,系统根据驾驶员设定的车速和转速传感器采集的本车车速,自动调节油门控制器、制动控制器等,使主车以设定的车速巡航行驶。若目标车辆存在且离主车较近或速度很慢,ACC系统选定跟随控制模式。系统根据驾驶员设定的安全车距和转速传感器采集的车速计算出期望车距,并与测距传感器采集的实际车距比较,自动调节油门控制器、制动控制器等,使主车以安全车距稳定地跟踪前方目标车辆行驶。
图1 ACC系统工作原理
ACC软件框架
图2 ACC系统软件组成框图
TIS1 Straight/Bend Road(以第一个传感器为例,传感器2同理)。直道和弯道的目标筛选策略分别如图3和图4所示。
图3 TIS1 Straight Road
图4 TIS1 Bend Road
这个模块的作用是:1)处理从传感器1采集到的数据;2)计算实际车头时距;3)判断检测目标是否位于本车道以及该车间距离是否会有危险;4)输出与前车的距离,计算本车应保持的车速和安全距离。
2.1 同车道目标判别(Objects On Lane)
车辆开启ACC功能后,主车仅需针对同车道的前车状态采取不同措施,其余车道的车辆不影响。故需进行车辆同车道目标判别。前车与主车的横向距离为D,当其值不超过特定数值D0时,即认为两车为同一车道。一般设定D0为二分之一单车道宽度。当车辆直道行驶时,按照图5所示,其中a为前车与主车传感器的距离。
图5 本车传感器与前车1
D=asinθ为主车与前车横向距离,与二分之一单车道宽度作比较,若小于,则两车在同一车道上,并输出前车相对于主车雷达传感器的多普勒相对速度和垂向距离,即acosθ;反之,则表示两车不在同一车道上,多普勒速度输出为0以及距离输出传感器检测的最大范围距离。Simulink模型如图6所示。
图6 直道同车道判别
当车辆弯道行驶时,如图7所示,其中d为前车与主车传感器的距离,L1为主车行驶半径。
图7 本车传感器与前车2
已知主车的速度Ve以及主车的横摆角速度we可求得L1为:
主车的横摆角
两车的横向距离
将横行距离D与二分之一车道宽度比较,若D小于半个车道宽度,则表示两车在同一车道上,输出传感器1检测到的前车与主车的距离、前车相对于主车雷达传感器的多普勒速度以及方位角θ;反之,则两车不在同一车道,距离输出传感器检测的最大距离、多普勒速度以及方位角输出为0。Simulink模型如图8所示。
图8 弯道同车道判别
2.2 实际的车头时距(HWT)计算(HWT Computing)
车头时距HWT是指同一车道行驶的车辆队列中两辆连续通过的车辆通过某一断面的时间间隔。当主车的速度为Ve时,实际车头时距的计算公式为HWT=d/Ve,其中d为主车与前车的距离。Simulink模型如图9所示。
图9 HWT计算模型
2.3 前车纵向速度计算(Lead car longitudinal Velocity)
这个模块的功能为计算前车的绝对速度以及两车间的安全距离。在直道行驶过程中,当前车相对于主车雷达传感器的多普勒速度Vr不等于0时,输出前车的速度Vl=Ve+Vr,其中Ve为主车的速度。安全的前车速度
其中Ds为当前车静止时,两车应保持的距离,
为要求行车间隔时间。将Vl与Vs作比较,若
,则安全距离输出为
;反之,则输出为安全距离
。Simulink模型如图10所示。
图10 直道纵向速度计算模型
在弯道行驶过程中,前车相对于主车雷达传感器的径向相对速度为
,当传感器1检测到的距离小于传感器1能检测到的最远距离,则输出前车径向速度为
。安全的前车速度为
将Vl与Vs作比较,若
,则安全距离输出为
;反之,则输出为安全距离
Simulink模型如图11所示。
图11 弯道纵向速度计算模型
2.4 直道弯道判别(Switching TIS)
直道行驶时车辆横摆角速度,与弯道行驶时车辆横摆角速度不同,故依据横摆角速度判定车辆是在直道行驶或弯道行驶。设置横摆角速度临界值,当角度超过该临界值,则认为车辆在弯道行驶,否则为直道行驶。Simulink模型如图12所示。不足之处在于横摆角速度
若在主车速度很大的情况下,即使曲率很小,即在直道上行驶时,也依旧会判断成在弯道上行驶,因此,解决方案是加一个速度比较模块或是直接比较曲率。在实际应用中,也需要对该模块进行重点调整。
图12 直弯道判别模型
2.5 ACC系统控制模式(ACC Action)
当ACC系统开启后,主车依据前车车况可分情况进行控制,基于传感器1的ACC系统控制模式(TIS1 ACC Action)详见表1所示:
表1 ACC控制工况说明
注:本文执行策略中的加速、制动表示在车辆本身加速力及制动力上的叠加值。 前车行驶距离是指要求的车头时距时间内前车能行驶的距离。
1)ACC系统控制模块整体模型如图13所示,将传感器1检测到的实际车头时距与要求车头时距作比较。
图13 TIS1 ACC控制模块
当车头时距大于等于要求车头时距时,比较主车与前车的速度,simulink模型如图14所示。
图14 车速比较模型
当主车车速小于等于前车车速,则主车执行加速策略,模型图15所示。e为两车距离信号,其通过PID调节得到应有的加速应力,该值大于等于0,则其为ACC系统的油门开度(throttle[%]),否则为原车ECU规定的油门开度(th_in)。
图15 加速控制模型1
加速时的油门开度通过调节PID参数更改,模型如图16所示。
图16 PID模型1
2)当主车车速大于前车车速时,比较两车的实际速度差值和设定两车的速度差值进行控制,模型如图17所示。
图17 速度差值比较模型
当两车实际速度差值大于设定的速度差值时,则主车执行减速策略。此状态,前车与本车的速度差相差较大,无需考虑前车速度,本车制动的减加速度值由两车相对速度及距离推算出,模型如图18所示。
图18 制动控制模型1
3)当两车实际速度差值小于等于设定的速度差值时,则需再比较实际车距和前车行驶距离,如图19所示。
图19 实际车距和前车行驶距离比较模型
当实际车距大于前车行驶距离,主车执行加速策略,这个状态下的加速控制模型与加速控制模型1(图15)基本相同,其区别在于最小加速应力为0。模型如图20所示。
图20 加速控制模型2
4)当实际车距小于等于前车行驶距离,主车执行减速策略。主车需进行制动时,制动减速度值与前车车速有关。LowSpeadActv为设置的前车截止车速,与前车车速进行比较,当前车车速值小于设置的截至车速时,减速度值(brake[m/s^2])由两车相对速度rd及距离e计算得到 (计算公式如下);否则减速度值为0。模型如图21所示。
图21 制动控制模型2
5)当车头时距大于要求车头时距,主车车速小于等于前车车速时,主车保持原先的状态。模型如图22所示。
图22 保持状态模型
6)当车头时距大于要求车头时距,主车车速大于前车车速,两车速度差值大于设定速度差值时,主车执行执行以最大减加速度减速策略,模型如图23所示。
图23 制动控制模型3
2.6 基于传感器2的ACC系统控制模式(TIS2 ACC Action)
传感器2是一个短距的广角雷达,适用于短距的跟车控制,其整体控制策略建模如图24所示。
图24 TIS2 ACC控制模块
传感器2的ACC系统控制模式与传感器1的一致,但在传感器1的基础上又增加了“stop&go”模式,这种控制模式是在很拥挤、缓慢前进的路况情况下,将主车车速减速至0或者从车速为0开始提速。当传感器2的HWT模式开启并且主车截止速度大于前车速度时,开启“stop&go”模式,主车依据前车车况分情况进行控制,详见表2:
表2 stop&go控制工况说明
7)当实际车距大于安全距离时,比较两车车速,当主车车速大于前车车速时,执行减速策略。如果传感器2检测到的车距大于前车静止时应保持的车距,则根据
计算出减加速度进行减速,反之,输出最大制动力进行减速。建模如图25所示。
图25 制动控制模型3
8)当主车车速小于等于前车车速,则主车执行加速策略,模型图26所示。e为两车距离信号,其通过PID调节(如图27所示)得到应有的加速油门开度,最小油门开度为0。
图26 加速控制模型3
图27 PID模型2
9)当实际车距小于等于安全距离时,则主车执行减速策略。当主车速度大于前车速度a时,减加速度通过
公式计算得出,反之输出为0;再判断前车速度,当前车速度大于1时,输出前一步所得的制动压力,反之输出最大制动压力;最后对传感器2检测到的车距与前车静止时应保持的车距进行比较,如果大于,则输出前一步计算出的制动压力,反之输出最大制动压力。建模如图28所示。
图28 制动控制模型4
10)当两车相对速度小于等于0.1并且主车速度小于等于0.1时,输出最大制动压力,反之则输出之前所计算出的制动压力。建模如图29所示。
图29 制动控制模型5
综上,整体的“stop&go”控制策略模块模型如图30所示。
图30 stop&go控制模块
2.7 ACC有效性决策模型1(Limitations1)
当ACC设置开关关闭或本车车速大于最高允许运行速度或指示器开关打开时,ACC控制将失效,输出主车原有油门开度、制动压力,输出由ACC模式控制得出的油门开度、制动压力以及前车速度。模型如图31所示。
图31 ACC有效性决策模型1
2.8 ACC有效性决策模型2(Limitations2)
当ACC模式启动或设置的前车截止速度大于前车速度时,则输出在ACC模式控制下的油门开度、制动压力、计算得出的HWT、ACC_flag以及前车速度,否则应力就输出原车ECU的油门开度、制动压力;再判断ACC设置开关是否打开,若打开,则将按照ACC控制的行驶状态行驶,输出上一步输出的内容,反之,车辆按照原有行驶状态行驶,输出原车ECU的油门开度、制动压力,ACC_flag、HWT、前车速度均输出为0。模型如图32所示。
图32 ACC有效性决策模型2
以上,是prescan里的ACC simulink demo模型主要模块的说明,其主要功能逻辑是基于目标筛选结果的多模式切换控制,对ACC控制算法开发有一定的启发作用,但是部分功能模块尚需进一步完善。
simulink仿真结果
当前车被传感器检测到并且进入到HWT模式时,“Adaptive Cruise Control”框变红,并且显示前车速度,反之不显示,右上角的“ACC OFF”也可以点击进行切换成“ACC ON”,手动选择是否开启ACC模式。此外,还会显示本车的发动机转速、车速以及油门和制动踏板开度。如图33所示。
图33 simulink仿真结果1雷达输出图表会显示车辆前端雷达的视角范围,雷达检测到的目标车辆也会用蓝色标出,当进入HWT模式时,前车还会变红色,如图34所示。
图34 simulink仿真结果2
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
NVIDIA 发布 2025 财年第三季度财务报告
2024-11-21 13:30
-
Mack卡车为买家推出创新的虚拟现场探索体验
2024-11-21 13:29
-
氢燃料电池卡车从1到100要多长时间?戴姆勒
2024-11-21 13:28
-
聚焦消费者用车极限环境,2024中国汽研汽车
2024-11-21 13:21
-
新能源汽车高寒环境可靠性行驶试验研究
2024-11-21 13:19