Comments (3)
Actually, just after opening this issue I had the deciding insight: it seems the weights have to be np.float32, not np.float. So feel free to close this again.
On a sidenote: it would be nice to be able to specify a higher cost for moving diagonally as I am getting a lot of diagonal movements where it would be possible to just go straight, as e.g. here:
from pyastar2d.
it seems the weights have to be np.float32, not np.float
Correct -- this is the datatype expected by the underlying C++ implementation. Maybe there should be an explicit check of the datatype enforced.
it would be nice to be able to specify a higher cost for moving diagonally as I am getting a lot of diagonal movements where it would be possible to just go straight, as e.g. here
This implementation defines the shortest path as the path that minimizes the sum of pixels traversed, so making diagonal moves more expensive doesn't really fit with that. However, if you're working with grids with large areas of uniform-cost but prefer straight paths over diagonal ones it should be a fairly straightforward change to give precedence to straight paths by changing the order in which neighbors are added to the priority queue:
https://github.com/hjweide/pyastar/blob/master/src/cpp/astar.cpp#L92
But if you're working with uniform-cost grids, why not use jump point search instead? :)
from pyastar2d.
Thanks for your reply. An automatic check or a note in the readme might indeed be helpful :)
Makes sense in the pixel perspective. I will look at what you've mentioned.
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
- 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
- Path is not straightforward when allow_diagonal is set to True, and to extract additional information from the pathfinding object. HOT 1
- 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.