Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade global planner #8

Merged
merged 7 commits into from
May 25, 2023
Merged

Upgrade global planner #8

merged 7 commits into from
May 25, 2023

Conversation

mukundbala
Copy link
Owner

Fixes issue #7.

  1. All common GlobalPlanner utility functions and implementations are now in a common base class GridPlannerCore. Grid based planners like Djikstra, ThetaStar, AStar all inherit from GridPlannerCore
  2. GridPlannerCore has pure interface methods (virtual plan(.) , virtual post_process_path(.) and virtual generatePath(.)) functions that all children class must define.
  3. OpenList is now implemented as a min heap with 3 different comparator functions. The comaparator functions sort either by g_cost only , f_cost only, or f_cost then tiebreak with g_cost.
  4. GlobalPlanner loads in string values of chosen planner name and cost functions and polymorphically selects the appropriate planner using GridPlannerCore base-class pointer to a child class. Virtual method generatePath() is called by Global Planner

@mukundbala mukundbala merged commit 6ae65e1 into main May 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant