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的训练过程动态可视化