一个深度强化学习航路规划(路径规划)github项目

19 篇文章 104 订阅 ¥9.90 ¥99.00
12 篇文章 38 订阅 ¥9.90 ¥99.00
该项目结合深度强化学习与传统算法实现无人机静态和动态环境下的避障路径规划。静态环境下,MADDPG和完全集中式TD3表现优秀;动态环境下,PPO、TD3和DDPG效果相当,PPO收敛更快。此外,还提供了A*搜索、RRT、蚁群等传统算法的实现。
摘要由CSDN通过智能技术生成

Github地址:https://github.com/ZYunfeii/UAV_Obstacle_Avoiding_DRL
对应毕业设计论文:https://download.csdn.net/download/weixin_43145941/89025980

README

This is a project about deep reinforcement learning autonomous obstacle avoidance algorithm for UAV. The whole project includes obstacle avoidance in static environment and obstacle avoidance in dynamic environment. In the static environment, Multi-Agent Reinforcement Learning and artificial potential field algorithm are combined. In the dynamic environment, the project adopts the combination of disturbed flow field algorithm and single agent reinforcement learning algorithm.

Static environment

There are four methods to solve:

  1. MADDPG
  2. Fully Centralized DDPG
  3. Fully Decentralized DDPG
  4. Fully Centralized TD3

The third and the fourth methods perform better than others.

Dynamic environment

There are four methods to solve:

  1. PPO+GAE(with multi-processing )
  2. TD3
  3. DDPG
  4. SAC

The first three methods perform just the same. PPO convergence needs less episodes. TD3 and DDPG converge fast. Though Soft Actor-Critic is an outstanding algorithm in DRL, it has no obvious effect in my environment.

Traditional methods for UAV path planning

Three traditional methods are written with MATLAB:

  1. A * search algorithm*
  2. RRT algorithm
  3. Ant colony algorithm

C++:

  1. D star algorithm

The experiments show that A* search algorithm is much better than others but it is less effective than reinforcement learning path planning.

Artificial potential field algorithm

This project provides the MATLAB and Python realization of artificial potential field algorithm.

Python realization: ./APF/APFPy2.py ./APF/APFPy3.py ./APF/ApfAlgorithm.py (two-dimensional and three-dimensional)

Matlab realization: ./APF/APF_matlab (two-dimensional)

IFDS and IIFDS algorithm

This is an obstacle avoidance planning algorithm based on flow field. I realize it with matlab. The code is in folder IIFDS_and_IFDS.

How to begin trainning

For example, you want to train the agent in dynamic environment with TD3, what you need to do is just running the main.py, then test.py, finally open matlab and run the test.m to draw.

If you want to test the model in the environment with 4 obstacles, you just need to run Multi_obstacle_environment_test.py.

Requirements

numpy

torch

matplotlib

seaborn==0.11.1

Files to illustrate

calGs.m: calculate the index Gs which shows the performance of the route.

calLs.m: calculate the index Ls which shows the performance of the route.

draw.py: this file includes the Painter class which can draw the reward curve of various methods.

config.py: this file give the setting of the parameters in trainning process of the algorithm such as the MAX_EPISODE, batch_size and so on.

Method.py: this file concludes many important methods such as how to calculate the reward of the agents.

static_obstacle_environment.py: there are many static obstacle environments’ parameters in this file.

dynamic_obstacle_environment.py: there are many dynamic obstacle environments’ parameters in this file.

Multi_obstacle_environment_test.py: this file test the dynamic model in the environment in dynamic_obstacle_environment.py.

data_csv: this file save some data such as the trace of UAV and the reward in trainning.

AntColonybenchmark.m: ACO algorithm realized by MATLAB.

Astarbenchmark.m: A* algorithm realized by MATLAB.

RRTbenchmark.m: RRT algorithm realized by MATLAB.

A simple simulation example

  • 见github

all rights reserved.

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iπ弟弟

如果可以的话,请杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值