本专题由深圳季连AIgraphX李博及团队出品,重点讲解AEB工作原理、系统/软件架构及需求、算法建模、CCRs/CCRb/CCRm 建模与仿真和VRU-AEB-B/P/M 建模与仿真。
本节重点讲解AEB VRU自定义场景建模与仿真。
1. 新建AEB_VRU场景
在PreScan界面新建AEB_VRU场景
增加道路、增加车和行人,设置好响应的速度。
提醒:
先建立十字路,X,Y,Z坐标设置为0,0,0,并设置车道线数量
增加4条道路,设置长度和对应车道线数量;
增加2条轨迹,一条用于车辆行驶,一条用于行人;
增加车、增加行人,计算并设置速度
增加传感器并设置好相关参数,譬如线、频率、覆盖长度及角度
2. 编译定制新建模型
1、在PreScan界面编辑车辆、行人和general setting三处的碰撞检测选项,然后在MATLAB界面打开E:\Aigraphx\11AEB\AEB_VRU\AEB_VRU_cs.slx
点击Regenerate,生成界面如下:
2、点击Audi_A8_Sedan_1,看到如下模型。现在定制AEB-VRU场景模型,采用11-11章文档,增加AEB-VRU模型。
3、拷贝参考模型D:\AIgraphX\Experiments\TestScenarios\AEBS\includes_PPS 到E:\Aigraphx\11AEB\AEB_VRU\
备注:这里的VRU模型和前面CCR场景模型不一样。
4、把参考模型即AEB_VRU算法导入模型中
在Matlab库浏览器中搜索model,添加编辑model:把下图*.mdl文件修改为PPS_Model.mdl。
5、编辑算法、路径跟随模型、驾驶员模型、动力模型各个链接。
各链接示例如下(还是以原CCR场景为例):
PathFollower_1输出通过AEBS Model转换后再接入动力学模型,具体如下转换:
PathFollower_1 throttleA->AEBS Model throttleA->
AEBS Model throttleB-> Dynamics_Simple throttleB
3. 测试仿真结果
3.1 一般VRU场景测试
在MATLAB界面仿真,最终结果如下:
实现自动紧急制动功能
3.2 成人横穿场景
3.3 小孩横穿场景
4. 探讨
断断续续已经写了13章,也许读者看后感觉还是不太懂,建议读读MATLAB AEB Example。
具体操作是打开MATLAB,点开帮助(文档 F1),然后搜索关键字:AEB,找到Autonomous Emergency Braking with Sensor Fusion样例。
点开Open Model即打开AEBWithSensorFusionExample.m代码文件。
一步一步打开模型仿真,可以看到AEB控制器以及AEB_Logic等细节。这个样例用于学习还是可以,真实AEB算法还有很多不同。譬如AEB还有其他状态,Standby、OFF等;又譬如当AEB启动,驾驶员反应不够及时,AEB和ESA(Emergency Steering Assist)紧急转向的算法逻辑怎么一并处理等。
另外还有很多弯路、挂车、换道、横穿和迎面等场景建模与实现,请读者按照以上自定义场景和建模方法,多尝试。原定14章写测试用例,因测试用例涉及公司机密,需要的读者请私聊,vx:AIgraphX。