jsford / nanoplan

nanoplan is a header-only C++11 library for search-based robot planning.
MIT License
15 stars 3 forks source link

Searching in 3D spaces #1

Closed DJuego closed 3 years ago

DJuego commented 3 years ago

Thank you very much for this initiative! The project is young but already seems to have everything I like. :-) It is very promising. I admit I am a newcomer in this area but I find it very intriguing.

From what I can understand from the demo it is possible to apply your library also to make searches in 3D spaces with the supported algorithms, right? If so an example would be great (although I understand the difficulties of rendering).

Thank you again for this contribution!

DJuego

jsford commented 3 years ago

Hi DJuego,

Yes it is very possible to plan in 3D. I will add an example as soon as I can. Basically, you will want to define a state like this:

`struct State3D { int x; int y; int z;

bool operator==(const State2D& rhs) const { return x == rhs.x && y == rhs.y && z == rhs.z; } }; NANOPLAN_MAKE_STATE_HASHABLE(State3D, s.x, s.y, s.z);`

Then you will have to subclass the SearchSpace to define get_successors, get_from_to_cost, etc.

DJuego commented 3 years ago

Thank you for being sensitive to this topic, @jsford! Planning in 3D is not as common a feature as it should be. Thanks for your hints! I am sure that an example will be greatly appreciated by the user community. Especially if you do a good "marketing". :heart_eyes:

DJuego