Giter Club home page Giter Club logo

dqn_of_dwa_matlab's Introduction

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:[email protected]

dqn_of_dwa_matlab's People

Contributors

zhaoxrthu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dqn_of_dwa_matlab's Issues

一点代码问题

environment.m文件中第5行,CurDist=norm(x(1:2)-goal);和前面的PreDist用的都是x,是不是应该改成CurDist=norm(xnext(1:2)-goal);

版本问题

您好,请问您是用matlab第几个版本

为什么会有这个报错?

错误使用 save
由于 'Model' 不存在,无法创建
'model_0202_2357.mat'。

出错 DQN>DisplayAndStore (line
153)
    save(['Model/',str,'.mat'],'net');

出错 DQN (line 63)
        DisplayAndStore(net,StochQmean,StochCount,StochFail,TrainRmean,TrainCount,TrainFail,e,E,rank(1)); 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.