[go: up one dir, main page]

Skip to content
/ Astar Public

✌️UAV path planning: astar algorithm demo application. 一个基于 Astar 算法的无人机路径规划演示程序,使用 QT 框架实现,小东西渴望您的星星~

License

Notifications You must be signed in to change notification settings

JJLibra/Astar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

astar-logo

Astar —— UAV path planning

Author GitHub Repo stars Qt

GitHub   |   简体中文文档   |   繁体中文文档   |   Deutsch

🎨 Candidates are very welcome to contribute code.

📇 Table of contents

Run interface

Installation and Packaging

Function introduction

Demo

Other instructions

🤖 Interface

Interface

⚠ Precautions

  • The project paths must all be in English, otherwise an error will be reported during build
  • The icon may not be displayed when running for the first time. It may be that the import was not successful. Solution: After opening the project in QT creator, re-add the icon file in Resources-icon.qrc-Add existing file.

🚀 How To Use ?

This project is developed using C++ based on the QT framework

Development environment: Windows

git clone git@github.com:JJLibra/A-star.git

It is recommended to install QT creator and open the Astar.pro file for editing.

I use Enigma Virtual Box packaging, you can refer to this blog

💻 Features

Interface

1. Customize map width and height
2. Adjustable map cell size
3. Customize starting point, end point, and obstacles
4. Bottom status bar for easy debugging
5. The top toolbar can be hidden
6. Display the optimal path while displaying exploration points in different colors on the map
7. When drawing a map, you can save the .Amap file to a local folder.
8. Saved .Amap files can be loaded into the map
9. Performance analysis, data visualization processing
10. Generate a random map (the generation logic needs to be optimized, and it is not yet guaranteed that the generated map must have a feasible path)
11. Local images can be imported as map background, a pseudo-rasterization operation
12. “About Us” page
13. A little poor QSS beautification

Algorithm

1. Depth-first search algorithm
2. Breadth-first search algorithm
3. Dijkstra’s algorithm
4. Best first search algorithm
5. Traditional A-star algorithm
6. Bidirectional A-star algorithm
7. Optimize A-star algorithm
    - Three distance calculations define estimated distance h
       - Chebyshev distance
       - Manhattan distance
       - Euclidean distance
    - Overall dynamic weighting dynamic
    - Custom corner weight penalty
    - Custom safe distance mode alpha
8. Three incremental search algorithms (not perfect enough, not recommended)
9. Basic logic implementation of ant colony algorithm, under development...

🤝 Partial-demonstration

  • Customize map parameters

In this project, you can freely set the length and width of the map, and the cells have four status options:

Set Map

  • Optimize Astar algorithm

Demonstration of one of the optimization A-star algorithms, and this project supports the use of Bezier curve as the UAV path trajectory:

Astar algorithm demonstration

  • Generate random maps & reset map data

Supports generating random maps (the generation logic is relatively simple, using pseudo-random number generation, the generation logic here can be optimized during secondary development) and resetting map parameters with one click:

Random Map

  • Save map locally

Considering the presentation part of the project, it is impossible to draw the map on site, so this project supports saving the map locally:

Save Map

  • Open local map & depth first algorithm demonstration

Open the saved .Amap file to demonstrate the depth-first algorithm. Press deep search for shortest to get the shortest path among all the paths obtained by deep search. (There is no problem with the deep search implementation, but you need to pay attention to the operation step by step, otherwise it is easy to cause errors. bug):

Open map

  • Import background images

Import the picture as the background and draw the map (it is recommended to develop rasterization during secondary development):

Background Image

  • other

There are also many small details (about page, visual performance analysis, operation prompt box, footer status bar, enter fade in and out...):

Others

📝 Others

The project is used for school curriculum, so some ico icons are related to NWPU. In addition, there are still many irregularities in the project production. There are many small details but also many bugs. There is also a bit of history... Please bear with me.

🤩 Star History

Star History Chart

top

About

✌️UAV path planning: astar algorithm demo application. 一个基于 Astar 算法的无人机路径规划演示程序,使用 QT 框架实现,小东西渴望您的星星~

Topics

Resources

License

Stars

Watchers

Forks