-
Notifications
You must be signed in to change notification settings - Fork 668
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(freespace_planning_algorithms): implement option for backward se…
…arch from goal to start (#8091) * refactor freespace planning algorithms Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix error Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * use vector instead of map for a-star node graph Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove unnecessary parameters Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * precompute average turning radius Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add threshold for minimum distance between direction changes Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * apply curvature weight and change in curvature weight Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * store total cost instead of heuristic cost Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix reverse weight application Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix parameter description in README Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * implement edt map to store distance to nearest obstacle for each grid cell Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * use obstacle edt in collision check Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add cost for distance to obstacle Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix formats Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add missing include Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * refactor functions Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add missing include Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * implement backward search option Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * precompute number of margin cells to reduce out of range vertices check necessity Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add reset data function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove unnecessary code Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add member function set() to AstarNode struct Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * implement adaptive expansion distance Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove unnecessary code Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * interpolate nodes with large expansion distance Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * minor refactor Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix interpolation for backward search Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * ensure expansion distance is larger than grid cell diagonal Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * compute collision free distance to goal map Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * use obstacle edt when computing collision free distance map Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * minor refactor Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix expansion cost function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * set distance map before setting start node Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * refactor detect collision function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * use flag instead of enum Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add missing variable initialization Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove declared but undefined function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * refactor makePlan() function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove bool return statement for void function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove unnecessary checks Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * minor fix Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * refactor computeEDTMap function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove unnecessary code Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * set min and max expansion distance after setting costmap Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * refactor detectCollision function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove unused function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * change default parameter values Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add missing last waypoint Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix computeEDTMap function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * rename parameter Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * use linear function for obstacle distance cost Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix rrtstar obstacle check Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add public access function to get distance to nearest obstacle Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * remove redundant return statements Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * check goal pose validity before setting collision free distance map Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * declare variables as const where necessary Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * compare front and back lengths when setting min and max dimension Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * add docstring and citation for computeEDTMap function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * transform pose to local frame in getDistanceToObstacle funcion Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * update freespace planner parameter schema Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * refactor setPath function Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * fix function setPath Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> * minor refactor Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> --------- Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp> Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
- Loading branch information
1 parent
a7db560
commit c83e3a1
Showing
14 changed files
with
87 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters