使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真
总论
使用MATLAB中的强化学习工具箱作为核心算法的建立工具,在simulink中搭建自动驾驶系统,并以PreScan作为仿真环境进行训练与验证,该方法能够有效的验证在智能网联环境下利用强化学习进行车辆智能决策与控制方法,为相关理论与系统创新提供快捷有效的验证平台。
环境配置
本人使用的是windows10+PreScan8.5.0+MATLAB2019b+vs2019社区版,该环境经多次验证均能够稳定使用,环境配置的注意事项如下:
1,操作系统
最好使用的系统是windows10,理论上windows7也是可以的,但是需要额外安装系统补丁,以适应vs2019版本的某些配置,否则不能完全安装vs2019。
2,PreScan
目前网络上存在的PreScan破解版本有2019版,8.6.0版,8.5.0版及以下版本,经过测试,较新的版本的传感器模块部分“消失”了,暂时未找到解决方案,故在此使用的是8.5.0版本,该版本也是比较稳定的版本,能够满足绝大多数的使用需要。
3,MATLAB
这里使用的是MATLAB2019b的版本,因为需要使用到比较新的强化学习模块,所以建议使用版本较高的MATLAB。需要注意的是,MATLAB2019b不再支持vs2015以下的编译器,而vs2015和vs2017似乎会与PreScan产生一些冲突,但是这并不影响使用。
4,vs2019
如上所述,为满足使用需要,在这里最好的选择是vs2019版本,当然其他版本的也可以进行尝试。注意,安 装时不必全部安装,只需要安装C语言相关项即可。
系统搭建
安装完以上模块,将PreScan与MATLAB相联合(联合方法请查阅网络资料)。
1,仿真环境建立
使用PreScan搭建自己想要的仿真环境,包括车辆、道路、交通环境与传感器等等,PreScan的具体使用方法在此不做说明,请自行查阅相关文档。在次给出示例环境,在该闭环环境中,添加了大量的静态障碍物与动态障碍物以训练和测试车辆。使用的传感器包括AIR SENSOR与LAND MARKER SENSER,用于探测障碍物与道路条件。
提醒一点,在此使用的车辆是不能直接在PreScan环境里面赋予路径的,因为我们需要通过MATLAB去搭建该车辆的智能驾驶系统。
建立完成环境以后,请按流程进行parse与build。
2,控制系统建立
通过PreScan Process Manager 启动MATLAB,如果已经联合成功,MATLAB会直接进入PreScan所在的文件路径,显示如下:
如有疑问,请仔细审核校对自己的安装过程与操作步骤,因为这一步骤非常关键,也是出现问题最多的步骤。
进入路径中的slx文件以启动simulink。
若以上步骤没有问题,接下来即要将强化学习模块嵌入。
3,嵌入强化学习模型
首先,在MATLAB的扩展模块(附加功能)中,有强化学习工具箱,是我们主要需要使用的模块,里面包括了使用手册与各类强化学习的经典算法,需要下载。
同时,在simuink中,有一个强化学习的专用单元,叫做RL_AGENT,如下。
这个AGENT的功能已经表示得非常明显了,若有疑问请复习强化学习的相关知识。我们要做的就是将这个AGENT加入到系统中,并根据自己需要进行连接,下图为示例
除此之外,还需要根据强化学习工具箱的需要(参考其说明),建立一个M文件放在该目录下,以启动与配置该系统,
该文件为整个系统的启动文件,如要启动需要点击此处的运行,而不能再使用simulink中的运行按钮。
4,开始训练
如果一切配置完毕,即可开始训练,下图为可视化的训练过程。
可以看到,该训练过程是比较理想且符合实际的,希望各位的也是如此,具体的模型、细节、算法与代码涉及到了本人研究课题,在此不便公开,如有疑问可以给我留言,我会尽量回答。