Repository navigation
Add Dijkstra-based global path planner - #31
Merged
Merged
Conversation
Owner
|
@Ashish080213 Thank you so much for the PR! This looks great. I'm a bit tied up right now, but I'll review it in detail and get back to you soon. Please bear with me for a bit! |
ShisatoYano
approved these changes
Jan 8, 2026
Owner
|
Great work! I particularly liked how you wrote those descriptions in the issue and the PR in detail including algorithm and implementation policy. Merging this PR now. Thank you for contributing to my OSS!! |
Contributor
Author
|
Thank you for the review and for merging the PR. I appreciate the opportunity to contribute. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Description: Dijkstra Path Planning Implementation for Autonomous Vehicles
This pull request introduces a Dijkstra-based global path planning algorithm to the Autonomous Vehicle Control Beginners Guide. The implementation provides a baseline optimal planner without heuristic bias.
Motivation
Dijkstra’s algorithm serves as a fundamental shortest-path baseline for autonomous navigation.
Adding this planner enables direct comparison with heuristic-based planners such as A*.
A* Algorithm Cost Function (In this repository)
Node-to-Node Cost is Fixed = 1
g(n) += Node-to-Node Cost
Heuristic Function h(n) -> Weighted Manhattan Distance = w * (|n_x - g_x| + |n_y - g_y|)
where:
Total Cost f(n) = g(n) + h(n)
g(n) = cost from start node to current node n
h(n) = heuristic estimate from current node n to goal node g
When h(n) = 0, A* becomes Dijkstra
Key Changes from A* to Dijkstra
Node-to-Node Cost -> Euclidean Distance = sqrt( (n1_x - n2_x)^2 + (n1_y - n2_y)^2 )
g(n) += Node-to-Node Cost
Removed Heuristic Function
where:
Total Cost f(n) = g(n)
g(n) = cost from start node to current node
Added Unit Test File
Updated README File
Testing
Verified shortest-path optimality on grid-based maps.
Tested planner behavior on multiple start–goal configurations.