/UAVS

Intelligent UAV path planning simulation system

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

UAVS

UAVS_Drone智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件。它以A、B两国在C区开展无人机战争为背景,该系统的核心功能是通过仿真平台规划无人机航线,并进行验证输出,数据可导入真实无人机,使其按照规定路线精准抵达战场任一位置,支持多人多设备编队联合行动。
UAVS_Drone Intelligent UAV path planning simulation system is a software with fine operation control, strong platform integration, omnidirectional model building and application automation. It takes the UAV war between A and B in Zone C as the background. The core function of the system is to plan the UAV route through the simulation platform and verify the output. The data can be imported into the real UAV to make it accurately arrive at any position in the battlefield according to the specified route and support the joint action of multi-person and multi-device formation.

QQ交流1群:809473689(已满)

QQ交流2群:774627310(已满)

QQ交流3群:712810644

QQ交流4群:713783925

QQ交流5群:722396428

QQ交流6群:700903981

加微信-进入交流群:wwy18795980897

Main Features

1
System supported by open source SITL uav simulation platform, through FlightGear rendering real battlefield environment, integrated modeling, 2 d vertical, three-dimensional dynamic model simulation, script control, ground station monitoring, data processing, and other functions, in addition, the simulation system supports a variety of global map load, simulate the key region of the three dimensional environment, can be used throughout the global remote sensing monitoring in the scene.

1. Software Interface

2

2. Software Architecture (plug-ins to be implemented for some extended functions)

3

3. Code

4

4. Multidimensional View

Two-dimensional view (1)

5

Two-dimensional view (2)

6

3d view

7

5. UAV Control

Console Control

8

Intelligent Control

9

Ground Station Control

10

6. Set Flight Mission

Flight Mission(1)

11

Flight Mission(2)

12

Flight Mission(3)

13

7. Path planning

The path algorithm is based on the redevelopment of Huiming Zhou's open source algorithm library (ZHM-Real /PathPlanning), adding elements such as UAV simulation, geographic coordinate conversion, and Leaflet visualization.

Directory Structure

drone_PathPlanning.
	├─fence.txt
	├─leaflet_folium_plot.py
	├─mission.waypoints
	│          
	├─folium-0.12.1
	│              
	├─leaflet
	│          
	├─results
	│      
	├─Sampling_based_Planning
	│  ├─algorithm_mission_rrt2D
	│  │      algorithm_mission_batch_informed_trees.waypoints
	│  │      algorithm_mission_dubins_rrt_star.waypoints
	│  │      algorithm_mission_dynamic_rrt.waypoints
	│  │      algorithm_mission_extended_rrt.waypoints
	│  │      algorithm_mission_fast_marching_trees.waypoints
	│  │      algorithm_mission_informed_rrt_star.waypoints
	│  │      algorithm_mission_rrt.waypoints
	│  │      algorithm_mission_rrt_connect.waypoints
	│  │      algorithm_mission_rrt_star.waypoints
	│  │      algorithm_mission_rrt_star_smart.waypoints
	│  │      
	│  ├─indoor_obstacle_avoidance_rrt3D
	│  │      IOAPath_rrt3D.waypoints
	│  │      IOAPath_rrt_star3D.waypoints
	│  │      IOA_BIT_star3D.waypoints
	│  │      IOA_extend_rrt3D.waypoints
	│  │      
	│  ├─rrt_2D
	│  │      batch_informed_trees.py       BIT*算法
	│  │      draw.py
	│  │      dubins_path.py                Dubins路径算法
	│  │      dubins_rrt_star.py            Dubins_rrt*算法
	│  │      dynamic_rrt.py                动态RRT算法
	│  │      env.py
	│  │      extended_rrt.py               Extended_RRT算法
	│  │      fast_marching_trees.py        FMT*算法
	│  │      informed_rrt_star.py          Informed_rrt*算法
	│  │      judge.py
	│  │      plotting.py
	│  │      queue.py
	│  │      rrt.py                        rrt算法
	│  │      rrt_connect.py                RRT_CONNECT算法
	│  │      rrt_star.py                   rrt*算法
	│  │      rrt_star_smart.py             rrt*-Smart算法
	│  │      utils.py
	│  │      __init__.py
	│  │          
	│  ├─rrt_2D_路径优化效果图
	│  │      
	│  ├─rrt_3D
	│  │     ABIT_star3D.py
	│  │     BIT_star3D.py
	│  │     dynamic_rrt3D.py
	│  │     env3D.py
	│  │     extend_rrt3D.py
	│  │     FMT_star3D.py
	│  │     informed_rrt_star3D.py
	│  │     plot_util3D.py
	│  │     queueL.py
	│  │     rrt3D.py
	│  │     rrt_connect3D.py
	│  │     rrt_star3D.py
	│  │     utils3D.py
	│  │          
	│  └─rrt_3D_室内避障效果图
	│          
	└─Search_based_Planning
		├─algorithm_mission_Search2D
		│      algorithm_mission_Anytime_D_star.waypoints
		│      algorithm_mission_ARAstar.waypoints
		│      algorithm_mission_Astar.waypoints
		│      algorithm_mission_Best_First.waypoints
		│      algorithm_mission_bfs.waypoints
		│      algorithm_mission_Bidirectional_a_star.waypoints
		│      algorithm_mission_Bidirectional_dfs.waypoints
		│      algorithm_mission_Bidirectional_Dijkstra.waypoints
		│      algorithm_mission_Bidirectional_D_star.waypoints
		│      algorithm_mission_Bidirectional_D_star_Lite.waypoints
		│      algorithm_mission_Bidirectional_LPAstar.waypoints
		│      algorithm_mission_Bidirectional_LRTAstar.waypoints
		│      algorithm_mission_Bidirectional_RTAAStar.waypoints
		│      
		├─indoor_obstacle_avoidance_Search_3D
		│      IOA_Anytime_Dstar3D.waypoints
		│      IOA_Astar3D.waypoints
		│      IOA_bidirectional_Astar3D.waypoints
		│      IOA_Dstar3D.waypoints
		│      IOA_DstarLite3D.waypoints
		│      IOA_LP_Astar3D.waypoints
		│      IOA_LRT_Astar3D.waypoints
		│      IOA_RTA_Astar3D.waypoints
		│      
		├─Search_2D
		│     Anytime_D_star.py           AnytimeD*搜索算法
		│     ARAstar.py                  ARA*搜索算法
		│     Astar.py                    A*搜索算法
		│     Best_First.py               最佳路径优先搜索算法
		│     bfs.py                      广度优先算法
		│     Bidirectional_a_star.py     双向A*搜索算法
		│     dfs.py                      深度优先搜索算法
		│     Dijkstra.py                 Dijkstra搜索算法
		│     D_star.py                   D*搜索算法
		│     D_star_Lite.py              D*反向搜索算法
		│     env.py
		│     LPAstar.py                  终身规划A*算法
		│     LRTAstar.py                 LRTA*搜索算法
		│     plotting.py
		│     queueL.py
		│     RTAAStar.py                 RTAA*搜索算法
		│          
		├─Search_2D_路径优化效果图
		│      
		├─Search_3D
		│     Anytime_Dstar3D.py
		│     Astar3D.py
		│     bidirectional_Astar3D.py
		│     Dstar3D.py
		│     DstarLite3D.py
		│     env3D.py
		│     LP_Astar3D.py
		│     LRT_Astar3D.py
		│     plot_util3D.py
		│     queueL.py
		│     RTA_Astar3D.py
		│     utils3D.py
		│          
		└─Search_3D_室内避障效果图

Outdoor obstacle avoidance

Custom routes and obstacle areas

自定义路线与障碍区

rrt_2D Path optimization effect chart

rrt_2D_路径优化效果图

Search_2D Path optimization effect chart

Search_2D_路径优化效果图

Indoor obstacle avoidance

Because the indoor structure has the characteristics of narrow space and many distractions, the path planning degree at this time focuses more on the effect of three-dimensional obstacle avoidance, and the map is meaningless. Based on Huiming Zhou's open source algorithm library, the indoor environment was created using the idea of modeling, and the 3D algorithms of Search_based_Planning and Sampling_based_Planning were used to plan the flight path for obstacle avoidance. The flight demo is as follows:
IOA_DstarLite3D

rrt_3D_Indoor obstacle avoidance renderings

rrt_3D_室内避障效果图1

Search_3D_Indoor obstacle avoidance renderings

Search_3D_室内避障效果图1

Path optimization

To optimize the flight paths of multiple UAV clusters, we add random, greedy, path optimal algorithm clustering, regional path random generation, regional path shortest distance first generation algorithm.

The algorithm generates the flight status of each UAV, the navigation point and the flight distance information

路径优化-1

Path optimization effect chart

路径优化效果图片

Solve The Problem

Intelligent UAV path planning simulation system solves the problem that ordinary UAV can not accurately plan the path, and ordinary UAV is not enough support, inconvenient to control, difficult to use in the actual war. This software can be designed for flight mission routes in advance, using a flight simulator unmanned aerial vehicle (uav) in the real-time state of mission, through strengthening unmanned aerial vehicle (uav) in the system against ground station module control, simulation of the unmanned aerial vehicle (uav) group of joint action tactical fighting, sailing and output data for the use of real unmanned aerial vehicle (uav), the uav size short, quick release, huge resource advantage as far as possible.

Application Scenarios And Benefits

Up to now, more than 40 countries are engaged in the research and production of UAVs, and more than 60 countries are using UAVs. The use of drones on the battlefield is the future of warfare.

The advantage of using this software is that it absorbs the results obtained abroad, recompiles and transplants the operating environment from Linux system to Windows and other operating systems, and uses Python language to write the program except the simulation 3D environment module. The program is easy to maintain and modify. The software interface prepared by PyQT5 integrates each module of the software, adds background prompt function, designs intelligent control scripts to simplify the use process of the system, and integrates FlightGear simulator and MissionPlanner ground station program for visualization, so as to improve the accuracy of real UAV flight path and specify flight plan as the fundamental purpose.

EXTENSION

On the formation simulation of multi-UAV

Using SITL to simulate multi-UAV formation under Windows, please refer to the following article. Note that the path should be tested under ArduCopter/ :
https://blog.csdn.net/jzhd2015/article/details/108987818
电风扇的成熟度
Test of two-plane formation path algorithm:
4326547
It can plan the flight path of left wing and right wing UAV respectively:
6464161

About the flight line under Flylitchi

I happened to see it on the oil pipe. After planning the flight route on the ground station Mission Planner and saving the navigation point, I could edit it with Excel, and then import the modified data in CSV format through the webpage or Android Litchi, so as to realize the DJI UAV flying in accordance with the flight route on the Litchi App.
1.The web version can be edited directly on Flylitchi's website:https://flylitchi.com/hub
Use method is very simple, visible "good know" tutorial:http://www.howzhi.com/course/13669/lesson/84384

2.Litchi 4.7 APP editor for Android phone:https://www.52pojie.cn/thread-834234-1-1.html
Baidu network disk link: https://pan.baidu.com/s/14qzvBuRIYhr_LhL7BRjd4Q Extract the code: w5eu
Built-in dual map, no need to download Google application, so that your Royal Air also has navigation point function.
Android:Litchi for DJI Mavic / Phantom / Inspire / Spark Version 4.7.0

  • Panoramic mode speed and reliability improvements
  • Panorama mode Settings improved
  • Fixed failure to change the application language on some devices

Mission Planner + Google Earth log generates 3D trajectory maps

Google China satellite map is used instead. It mainly imports the planned path generated by the Mission Planner or the console of the ground station to the map, with.waypoint or KMZ file as the main file.
1111

CoppeliaSim simulation (updated November 1, 2023)

Up to now, the project has exceeded 400 star in GitHub, and Gitee is about to break through 400 star. Before, there was user feedback that the three-dimensional environment was not three-dimensional enough, and the simulation style was too simple. Now, the three-dimensional indoor obstacle avoidance is added to the CoppeliaSim simulation environment, and the Atar algorithm is used to show the effect. Shorten the distance between UAV and target)

CoppeliaSim simulation environment

CoppeliaSim避障1

CoppeliaSim simulation results

20231101-CoppeliaSim避障 00_00_00-00_00_30

Please wait for updates on other extensions....

Problems 关于一些普遍反映问题的解决方法

1.关于Cywin64无法带参数

关于Cywin64无法带参数启动于Windows下CMD终端,-e参数执行命令找不到目标文件夹无果,mintty的启动位置总是不统一,更重要的是没有具体在mintty内执行命令的语法参数。

2.关于FlightGear在虚拟机中无法正常运行的问题

智能无人机路径规划仿真系统在虚拟机内无法运行FlightGear 2018.2.2,其原因有二:一是虚拟机的VMTools有问题,导致与显卡交互不当,重新安装无果;二是虚拟机不支持opengl,无法显示FlightGear的界面。

3.关于CorelDRAW和智能无人机仿真系统path冲突的问题

UAVS和CorelDRAW等软件对QT_QPA_PLATFORM_PLUGIN_PATH路径均有使用,可能造成冲突,可在path中更改为UAVS路径...\python-3.7.5-embed-amd64\Lib\site-packages\PyQt5\Qt\plugins解决。

Gratitude

CSDN:
https://blog.csdn.net/qinguoxiaoziyangyue/article/details/77712064
https://blog.csdn.net/guojunxiu/article/details/79158843
https://blog.csdn.net/huihut/article/details/86587782
https://blog.csdn.net/u010946448/article/details/90718264
https://blog.csdn.net/jzhd2015/article/details/108987818
https://blog.csdn.net/jzhd2015/article/details/108663961
Zhihu:
https://zhuanlan.zhihu.com/p/50900595
https://zhuanlan.zhihu.com/p/62017292
Freesion:
https://www.freesion.com/article/2344608320/
Gitee:
https://gitee.com/wwy2018/XTDrone
Github:
https://github.com/dhondta/dronesploit

Project Link

JianShu:https://www.jianshu.com/p/b1e6b2efb96f
Github:https://github.com/wangwei39120157028/UAVS
Gitee:https://gitee.com/wwy2018/UAVS
Welcome To Star!!!