flatland.core.grid.grid4_astar module

flatland.core.grid.grid4_astar module#

class flatland.core.grid.grid4_astar.AStarNode(pos: Tuple[int, int], parent=None)[source]#

Bases: object

A node class for A* Pathfinding

update_if_better(other)[source]#
flatland.core.grid.grid4_astar.a_star(grid_map: ~flatland.core.transition_map.GridTransitionMap, start: ~typing.Tuple[int, int], end: ~typing.Tuple[int, int], a_star_distance_function: ~typing.Callable[[~typing.Tuple[int, int], ~typing.Tuple[int, int]], float] = <function Vec2dOperations.get_manhattan_distance>, avoid_rails=False, respect_transition_validity=True, forbidden_cells: ~typing.List[~typing.Tuple[int, int]] | None = None) List[Tuple[int, int]][source]#
Parameters:
  • avoid_rails

  • grid_map – Grid Map where the path is found in

  • start – Start positions as (row,column)

  • end – End position as (row,column)

  • a_star_distance_function – Define the distance function to use as heuristc: -get_euclidean_distance -get_manhattan_distance -get_chebyshev_distance

  • respect_transition_validity – Whether or not a-star respect allowed transitions on the grid map. - True: Respects the validity of transition. This generates valid paths, of no path if it cannot be found - False: This always finds a path, but the path might be illegal and thus needs to be fixed afterwards

  • forbidden_cells – List of cells where the path cannot pass through. Used to avoid certain areas of Grid map

Returns:

IF a path is found a ordered list of al cells in path is returned