PythonRobotics Logo

Contents

  • Getting Started
  • Introduction
  • Localization
  • Mapping
  • SLAM
  • Path Planning
    • Dynamic Window Approach
    • Bug planner
    • Grid based search
      • Breadth First Search
      • Depth First Search
      • Dijkstra algorithm
      • A* algorithm
      • Bidirectional A* algorithm
      • D* algorithm
      • D* lite algorithm
      • Potential Field algorithm
    • Model Predictive Trajectory Generator
    • State Lattice Planning
    • Probabilistic Road-Map (PRM) planning
    • Visibility Road-Map planner
    • Voronoi Road-Map planning
    • Rapidly-Exploring Random Trees (RRT)
    • Cubic spline planning
    • B-Spline planning
    • Clothoid path planning
    • Eta^3 Spline path planning
    • Bezier path planning
    • Quintic polynomials planning
    • Dubins path planning
    • Reeds Shepp planning
    • LQR based path planning
    • Hybrid a star
    • Optimal Trajectory in a Frenet Frame
    • Coverage path planner
  • Path Tracking
  • Arm Navigation
  • Aerial Navigation
  • Bipedal
  • Control
  • Utilities
  • Appendix
  • How To Contribute
PythonRobotics
  • »
  • Path Planning »
  • Grid based search
  • Edit on GitHub

Grid based search

Breadth First Search

This is a 2D grid based path planning with Breadth first search algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/BreadthFirstSearch/animation.gif

In the animation, cyan points are searched nodes.

Depth First Search

This is a 2D grid based path planning with Depth first search algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/DepthFirstSearch/animation.gif

In the animation, cyan points are searched nodes.

Dijkstra algorithm

This is a 2D grid based shortest path planning with Dijkstra’s algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/Dijkstra/animation.gif

In the animation, cyan points are searched nodes.

A* algorithm

This is a 2D grid based shortest path planning with A star algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/AStar/animation.gif

In the animation, cyan points are searched nodes.

Its heuristic is 2D Euclid distance.

Bidirectional A* algorithm

This is a 2D grid based shortest path planning with bidirectional A star algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/BidirectionalAStar/animation.gif

In the animation, cyan points are searched nodes.

D* algorithm

This is a 2D grid based shortest path planning with D star algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/DStar/animation.gif

The animation shows a robot finding its path avoiding an obstacle using the D* search algorithm.

Ref:

  • D* search Wikipedia

D* lite algorithm

This is a 2D grid based path planning and replanning with D star lite algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/DStarLite/animation.gif

Ref:

  • Improved Fast Replanning for Robot Navigation in Unknown Terrain

Potential Field algorithm

This is a 2D grid based path planning with Potential Field algorithm.

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/PotentialFieldPlanning/animation.gif

In the animation, the blue heat map shows potential value on each grid.

Ref:

  • Robotic Motion Planning:Potential Functions

Previous Next

© Copyright 2018-2021, Atsushi Sakai.

Built with Sphinx using a theme provided by Read the Docs.