前言:
本系列文章将对智能驾驶ADAS算法进行完整的介绍,并在simulink中搭建算法模型,并在Prescan中搭建场景并且与simulink联合仿真对ADAS算法进行验证。智能驾驶ADAS算法详解及Prescan仿真系列文章将会对以下ADAS功能进行介绍与仿真:
1、前向碰撞预警 FCW算法
2、定速巡航系统 CC算法
3、自适应巡航系统 ACC算法 Adaptive Cruise Control
4、车道偏离预警 LDW Lane Departure Warning
5、车道纠偏辅助 LDP Lane Departure Prevention
6、车道居中辅助 LKA Lane Keep Assist
7、自动泊车算法 APA
8、自动紧急制动 AEB算法
9、行人保护 PDS
10、自动变道功能 LCS
正文如下:
前方碰撞预警FCW能够通过雷达或摄像头时刻监测前方车辆,判断本车与前车之间的距离、方位及相对速度,当系统判断存在潜在碰撞危险时,将对驾驶者进行警告。FCW系统本身不会采取任何制动措施去避免碰撞或控制车辆。在不立即采取纠正措施,就很可能发生碰撞的情况下,有的车型前方碰撞预警FCW会发出蜂鸣音并在仪表板上以红色高亮显示前方车辆。
前方碰撞预警FCW 可以按照以下模式设计状态机:
一、实验框架
1、prescan进行场景搭建,包括道路、行车路径、前车、目标车、雷达、观察视角;
2、simulink中stateflow进行FCW状态机的搭建
3、simulink中各个子功能的验证
4、prescan与simulink的联合验证
二、prescan建模
2.1、场景搭建
在区域1中选择相应的组件,拖动至区域2中,区域3中显示选中的组件的基本信息;
区域2中右键点击组件,可以对组件的参数进行设置
2.2、车辆参数设置
2.2.1 设置速度,起始距离
2.2.2 开放动力学接口
需要在主车的配置选项中打开车辆动力学接口。
2.2.3 开启碰撞检测
在系统设置中打开碰撞检测:
2.3、路径设置
2.4、雷达传感器设置
2.4.1 拖动雷达传感器到车辆
2.4.2 设置雷达参数
PS: 如果选择1束雷达波,则无法正确探测到前方目标,如果使用多束雷达波,则探测到的前方目标不能稳定存在,信号是脉冲的形式;如果只是为了验证功能,可以选择理想型传感器。
2.5 观察视角的设置
将组件拖动至车辆上
三、 simulink中算法搭建
3.1 状态机搭建
3.1.1 状态机
3.1.2 输入与输出变量管理
新增:
chart > add inputs&outputs
管理:
tools > model explorer
3.1.3 对输入变量的调用
输入变量为向量,跳转条件需要标量,通过增加输出变量进行观察,确认调用向量中正确的元素
3.2 子功能的编写与验证
FCW_ENABLE 模块
TTC计算模块:
以上各功能先进行验证后再连接
3.3 FCW算法模块的封装
留出需要prescan输入的接口:switchon、targetid、egov、relrance、relspeed
留出需要输出的接口:fcw_flag
四、prescan与simulink联调
4.1 环境准备
prescan中build与打开matlab:
每次build后simulink中重新刷新
4.2 联合仿真
4.3 运行仿真
4.4 仿真结果
4.5 附件
需要这个demo完整工程文件的,订阅专栏后可以私信我~