PythonRobotics Logo

Table of Contents

  • Getting Started
  • Introduction
  • Localization
  • Mapping
  • SLAM
  • Path Planning
    • Dynamic Window Approach
    • Bug planner
    • Grid based search
      • Breadth First Search
        • Code Link
      • Depth First Search
        • Code Link
      • Dijkstra algorithm
        • Code Link
      • A* algorithm
        • Code Link
      • Bidirectional A* algorithm
        • Code Link
      • D* algorithm
        • Code Link
        • Reference
      • D* lite algorithm
        • Code Link
        • Reference
      • Potential Field algorithm
        • Code Link
        • Reference
    • Time based grid search
    • 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
    • Catmull-Rom 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
    • Elastic Bands
  • Path Tracking
  • Arm Navigation
  • Aerial Navigation
  • Bipedal
  • Inverted Pendulum
  • Mission Planning
  • Utilities
  • Appendix
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.

Code Link

PathPlanning.BreadthFirstSearch.breadth_first_search.BreadthFirstSearchPlanner(ox, oy, reso, rr)[source]

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.

Code Link

PathPlanning.DepthFirstSearch.depth_first_search.DepthFirstSearchPlanner(ox, oy, reso, rr)[source]

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.

Code Link

PathPlanning.Dijkstra.dijkstra.DijkstraPlanner(ox, oy, resolution, robot_radius)[source]

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.

Code Link

PathPlanning.AStar.a_star.AStarPlanner(ox, oy, resolution, rr)[source]

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.

Code Link

PathPlanning.BidirectionalAStar.bidirectional_a_star.BidirectionalAStarPlanner(ox, oy, resolution, rr)[source]

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.

Code Link

class PathPlanning.DStar.dstar.Dstar(maps)[source]

Reference

  • 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

Code Link

class PathPlanning.DStarLite.d_star_lite.DStarLite(ox: list, oy: list)[source]

Reference

  • 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.

Code Link

PathPlanning.PotentialFieldPlanning.potential_field_planning.potential_field_planning(sx, sy, gx, gy, ox, oy, reso, rr)[source]

Reference

  • Robotic Motion Planning:Potential Functions

Previous Next

© Copyright 2018-now, Atsushi Sakai.

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