Implementation for A* with stricted visited list, Lifelong Planning A* and D* Lite final version
License: MIT License
C++ 93.46%C 6.09%Makefile 0.44%
path-planning's Introduction
Path-Planning
This repo provides implementation for three Path-Planning Algorithms: A* with strict visited list, Lifelong Planning A* and D* Lite final version
A* with strict visited list
q.pushstartwhileqis not emptyandq.top != goalcurr=q.popifcurrhas not beenvisitedexpansions.insertcurr.stateforeachneighbourofcurrifneighbourhas not beenvisitedifqdoes not containneighbourq.pushneighbourelseupdateqwithneighbourifq.emptyfinal_path=""elsefinal_path=q.top.path
Found this when implementing compute_shortest_path().
Since currently LpState is the type held by q, I use it's member ,that is LpState::Coordinate, as the abstract pointer for addressing LpState in matrix.
Note:g and r are the same as the given example. But h values are different, because in example h values have been recalculated for each moving. It seems unnecessary. Currently, not implemented like this. Just leave an Issue here for memo.