Comments (1)
This is the result when allow_diagonal is set to True, and the output shown below is not desired from the program.
This is because you have a uniform grid and so there are many shortest paths that are all optimal even if they don't "look right". The A* algorithm simply picks whichever it discovers first, which is determined by the order in which the heuristic function adds nodes to the priority queue. The cost of the path is the nodes included in that path; the direction of movement is irrelevant. If you want straight paths you either need to disable diagonal moves or use a heuristic that breaks ties to get the types of paths you want. See some of the discussion and the changes from here: #29
Also note that A* is not really meant for uniform grids and so most ways of getting A* to produce straight paths will involve hacks. See this blog post for a great discussion on this topic:
https://www.redblobgames.com/pathfinding/a-star/implementation.html#troubleshooting-ugly-path
Update: It does not seem like an infiltration but it seems to 'glow' around the path.
This is just a problem with the plotting or how you are saving / viewing the image. Be sure to plot as uint8
, use (0, 0, 0)
and (255, 255, 255)
for black and white, and use a lossless format like PNG with a viewer that does not smooth.
I am able to extract the path cost
The easiest way to get the cost of the path would be something like this:
cost = np.sum(grid[path[:, 0], path[:, 1]])
Note that the direction of movement does not affect the cost of the path.
from pyastar2d.
Related Issues (20)
- How to build it as a package of another lib HOT 5
- Before astar path planning, how do you set the robot size? HOT 4
- suboptimal paths with allow_diagonal=True HOT 3
- Specify that dtype=np.float32 is required in the readme HOT 2
- Possible to use without python? HOT 2
- Renaming to pyastar2d
- L2-norm for diagonal paths HOT 3
- My robot can pass through obstacles HOT 9
- Feature : How can I add obstacles ! HOT 2
- Binaries for windows HOT 5
- Support to select different heuristics HOT 12
- Build instructions for windows HOT 2
- Moving imageio from requirements.txt to requirements-dev.txt? HOT 3
- How do I make Makefile in win64 HOT 5
- Automating the creation of the weights matrix given an image of a 2D binarised map HOT 2
- Numpy 1.20.2 is not compatible.
- A case for no path found HOT 1
- How can I run this in windows HOT 4
- How to make it run on Windows, not on Linux only HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyastar2d.