Skip to content

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

Notifications You must be signed in to change notification settings

HsiaoRay/DQN_of_DWA_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DQN_of_DWA_python

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

1、关于本项目

 使用python语言和tensorflow平台,结合C++编写的仿真环境,利用DQN(Deep Q-Learning)对DWA(Dynamic Window Approach)算法中各参数的权重进行学习。
 代码中不包括DWA的主体部分,该部分由C++编写,通过调用该文件编译生成的.so文件得到。
 

2、如何使用

 2.1 python版本

  使用python2.x版本

 2.2 环境依赖

  conda install opencv
  conda install numpy
  conda install tensorflow  

3、文件与参数说明

 3.1 Main.py

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

 3.2 Config.py

  配置文件,定义训练中使用到的各种参数信息。
  各参数信息详见注释。
 

 3.3 AGENT/

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

  3.2.1 Agent.py

   网络的建立、预测与更新。

  3.2.2 Buffer.py

   缓存区模块,建立和维护训练过程中得到的数据。

  3.2.3 IO.py

   输入输出模块,主要目的在于将训练数据写入日志文档。

  3.2.4 Nodedef.py

   神经网络节点的补充定义。  

 3.3 ENVIR/

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

  3.3.1 Environtment.py

   小车前进的状态模拟。
   作为接口处理仿真环境返回的数据信息,并进行状态判断(是否转圈)与reward赋值。
   关于C++部分,可联系【Email:[email protected]】  

4、其他

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages