Home

Awesome

DQN_of_DWA_matlab

learning the weight of each paras in DWA(Dynamic Window Approach) by using DQN(Deep Q-Learning)

1、关于本项目

使用matlab平台及deeplearning工具包,利用DQN(Deep Q-Learning)对DWA(Dynamic Window Approach)算法中各参数的权重进行学习。  

2、如何使用

直接运行DQN.m即可。
 

3、文件与参数说明

 3.1 DQN.m

 主训练函数,负责调用Agent与Environment的各个模块;训练时直接运行该文件即可。  

 3.2 Agent/

 对应RL(增强学习)中的Agent模块,完成学习网络的建立(新建或加载已有模型),DWA参数预测(前向传播)与更新。

  3.2.1 AgentOutput.m

   通过cnn(卷积神经网络),由当前的状态得到此时各个选择的Q值,进而得到当前状态下的参数。

  3.2.2 AgentLearn.m

   由上一步得到的参数前进后环境反馈得到的reward,更新卷积神经网络,到达对卷及神经网络进行学习的目的。

  3.2.3 NetSetUp.m & CreateNeuralNetneural.m

   卷积神经网络的建立与定义,参照了DeepLearnToolbox并进行了部分修改。

  3.2.4 ForwardPro.m & BackPro.m

   神经网络的前向传播与残差的后向传播,参照了DeepLearnToolbox并进行了部分修改;可支持多通道、batch训练。  

 3.3 Environment/

  对应RL(增强学习)中的Environment模块,完成对DWA算法的仿真。

  3.3.1 Environtment.m

   接受DQN.m传递的参数,利用仿真环境得到小车的下一帧周围环境、本次前进的奖励、小车的状态(是否到达终点,是否绕圈、停止等)并返回。

  3.3.2 LocalPathPlanning.m

   DWA主体部分,完成对各个路径的评价。

  3.2.3 GoalRandGen.m

   随机在地图上生成起始点和终点,要求避免两者距离太小或有一在障碍物中的情况。

  3.2.4 GetCurSurOb.m

   按照坐标得到小车周围的障碍物信息。
 

 3.4 Model/

  由DQN.m保存的当前模型参数信息,文件名为保存模型时的时间戳,可通过修改DQN.m中调用CreateNeuralNetneural.m的形式决定加载已有模型进行训练或者创建一个新模型。  

 3.5 Ob.png

  仿真的障碍物信息,可根据需要修改。   约定:白色(高像素值)部分为障碍物,黑色(低像素值)部分为可行区域。
 

4、其他

目前尚未得到较好的训练结果。
建议修改方向:神经网络的结构、奖励的形式与大小等。
联系方式【Email:zhaoxrthu@gmail.com