path_planning
Path planning algorithms on grid map
installation
pip install -r requirements.txt
description
there are astar, jps, jpsplus, bbox_pruning.
all results are described in jupyter notebook.
p.s. pruning algorithm can be applied for each solvers.
routine run
from solver.jpsplus import JPSPlus #define the solver
from solver.pruning.bbox import BBoxPruning #define pruning
from utils.distance import diagonalDistance #define h function
from solver.base import findPathBase #define search function
from graph.node import Node #define Node for start/finish
from graph.grid import GridMap #define occupancy grid map via string
from evaluation.test import simpleTest #define eval function
startNode = Node(x_start, y_start) #define start Node
finishNode = Node(x_finish, y_finish) #define finish Node
grid = GridMap() #define grid Map
grid.readFromString(mapstr, width, height) #see additionals in main.ipynb
#routine run - always call solver.doPreprocess before eval
prune = BBoxPruning()
solver = JPSPlus(diagonalDistance, prune)
solver.doPreprocess(grid)
simpleTest(solver, findPathBase, grid, startNode, goalNode, visualise=True)
experimental results
MovingAI grid maps were used for experiments. We have chosen two maps lak307d as easy map and ost002d as complex map in order to show differences in results.
This browser does not support PDFs. Please download the PDF to view it: error.pdf.
This browser does not support PDFs. Please download the PDF to view it: comparison.pdf.