The grid representation of the world introduces discretization of the robot's action space into individual cells. These cells carry the information whether they are free or occupied and possibly further information including traversability, or suitability of the area for foot placement, etc. An example of a terrain map and its underlying representation as a traversability map is visualized in the following figure.
A typical pipeline of the grid-based path planning consists of following steps:
Obstacle growing - The robot has non-zero dimensions that represent its embodiment which has to be taken into account when planning. Moreover, the plan execution in real experiments has a limited precision which further enlarges demands on the clearance to the obstacles for the robot to safely navigate the environment. The planning with a large robot in grid environment is complex, therefore the trick is to grow the borders of the obstacles by a diameter of the robot and plan in the resulting map that ensures a sufficient clearance to the obstacles.
Path planning - Proper selection of the grid path planning algorithm depends on the performance metrics and usage of the plan. Among others, following grid-based planning algorithms are worth mentioning:
Breadth First Search (BFS), Depth First Search (DFS)
Dijkstra
A*
Jump Point Search (JPS)
Theta* (any-angle path planning - returns shortest path)
ARA* (Any-time repairing A*)
D* lite
Floyd-Warshall
Trajectory smoothing - The grid-based planners usually return path as a list of neighboring cells (?which of them doesn't?). The trajectory smoothing is for simplifycation of the path representation, possible shortening of the path and taking into consideration the path following approach deployed on the particular mobile robot. Typical approach to trajectory smoothing is to connect the neighboring segments one by one using straight-line segments up to the point where the straight-line segment collide with an obstacle (grown obstacle of course) and then follow with another straight-line segment.
Typical steps of planning algorithm evaluation in robotics consists of following steps
Software testing of the planning algorithm without execution
Simulation of execution with perfect information and perfect execution
Simulation in realistic simulator with perfect information and imperfect execution given by simulated physics
Deployment on a real robot with imperfect information and imperfect execution
For evaluation of the path, different metrics can be used. In general following properties are examined:
Feasibility - whether the path is feasible for particular robot given its embodiment
Length - the overall path length
Planning time - in the real-time applications and multi-goal path planning, the overall planning time is a crucial parameter
Clearance - how far from the obstacles the robot navigate. Low distance may result in robot damage in case of inaccurate path execution