young-how / DQN-based-UAV-3D_path_planer

RLGF is a general training framework suitable for UAV deep reinforcement learning tasks. And integrates multiple mainstream deep reinforcement learning algorithms(SAC, DQN, DDQN, PPO, Dueling DQN, DDPG).
MIT License
342 stars 39 forks source link

RLGF

RLGF是一个适用于无人机深度强化学习任务的通用训练框架,构建了适用于无人机任务的动作模型,包括连续飞行动作与离散飞行动作。预置了飞行能量消耗模型与航线规划模型。能够根据自身任务自定义任务环境模型与无人机模型。并集成了多种主流的深度强化学习算法。

开发环境

引用

项目目录简介

基本使用案例

模型训练:

修改案例环境配置文件PathPlan_City。

<simulator>
    <env>
        <Env_Type>PathPlan_City</Env_Type>   <!-- 自定义环境模型名称,与py文件名一致-->
        <len>500</len>  <!-- 环境规划空间长度-->
        <width>500</width>  <!-- 环境规划空间宽度-->
        <h>100</h>  <!-- 环境规划空间高度-->
        <eps>0.1</eps>  <!-- epslon最小贪心概率-->
        <Is_AC>0</Is_AC> 
        <Is_FL>0</Is_FL>   <!-- 是否启用联邦学习进行分布式训练(需要多个智能体)-->
        <Is_On_Policy>0</Is_On_Policy> 
        <FL_Loop>3</FL_Loop> 
        <print_loop>2</print_loop>
        <num_UAV>1</num_UAV> <!-- 无人机数目-->
        <Agent>
            <xml_path_agent>./config/UAV.xml</xml_path_agent>   <!-- 案例无人机的配置文件-->
            <Trainer>
                <Trainer_path>./config/Trainer.xml</Trainer_path>  <!-- 训练器的配置文件-->
            </Trainer>
        </Agent>
        <Obstacles>
            <buildings>./config/buildings.xml</buildings>  <!-- 建筑物分布的配置文件-->
        </Obstacles>
        <UI>
            <UI_path>./config/UI.xml</UI_path>
        </UI>
        <DB>
            <DB_path>./config/DB.xml</DB_path>  <!-- 数据库配置文件-->
        </DB>
    </env>
    <record_epo>10</record_epo> 
    <num_episodes>500</num_episodes>   <!-- 迭代次数-->
    <max_eps_episode>1</max_eps_episode>
    <min_eps>0.1</min_eps>
    <TARGET_UPDATE>3</TARGET_UPDATE>
</simulator>

运行simulator.py文件,即可启动训练过程。支持断点训练。每次运行会在/logs生成一个日志,可以查看每轮次训练的得分详情。并在/DataBase/experience目录下生成无人机轨迹。

训练过程:

每个训练轮次生成的静态轨迹HTML

基于cesium的训练过程动态可视化