电脑基础 · 2023年3月31日

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

前言:

本系列文章将对智能驾驶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 可以按照以下模式设计状态机:

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 ​​​​​​​智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

一、实验框架

1、prescan进行场景搭建,包括道路、行车路径、前车、目标车、雷达、观察视角;

2、simulink中stateflow进行FCW状态机的搭建

3、simulink中各个子功能的验证

4、prescan与simulink的联合验证  

二、prescan建模

2.1、场景搭建

 在区域1中选择相应的组件,拖动至区域2中,区域3中显示选中的组件的基本信息;

区域2中右键点击组件,可以对组件的参数进行设置

2.2、车辆参数设置

2.2.1 设置速度,起始距离

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 2.2.2 开放动力学接口

需要在主车的配置选项中打开车辆动力学接口。

2.2.3 开启碰撞检测

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

在系统设置中打开碰撞检测:

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

2.3、路径设置

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

2.4、雷达传感器设置

2.4.1 拖动雷达传感器到车辆

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

2.4.2 设置雷达参数

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

PS: 如果选择1束雷达波,则无法正确探测到前方目标,如果使用多束雷达波,则探测到的前方目标不能稳定存在,信号是脉冲的形式;如果只是为了验证功能,可以选择理想型传感器。

2.5 观察视角的设置

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 将组件拖动至车辆上

三、 simulink中算法搭建

3.1 状态机搭建

3.1.1 状态机

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 3.1.2 输入与输出变量管理

新增:

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 chart > add inputs&outputs

管理:

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 tools > model explorer

3.1.3 对输入变量的调用

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 输入变量为向量,跳转条件需要标量,通过增加输出变量进行观察,确认调用向量中正确的元素

3.2 子功能的编写与验证

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 FCW_ENABLE 模块

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 TTC计算模块:

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 以上各功能先进行验证后再连接

3.3 FCW算法模块的封装

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

留出需要prescan输入的接口:switchon、targetid、egov、relrance、relspeed

留出需要输出的接口:fcw_flag

四、prescan与simulink联调

4.1 环境准备

prescan中build与打开matlab:

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 每次build后simulink中重新刷新

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

4.2 联合仿真

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 4.3 运行仿真

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 4.4 仿真结果

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真

 4.5 附件

需要这个demo完整工程文件的,订阅专栏后可以私信我~

智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真