Creates the mirrored motion primitives since the file to load primitives by default only contains left curves. This function computes the right curves.
Finds all obstacles that are located in every lanelet at time step t and returns a dictionary where obstacles are stored according to their lanelet ids.
Find all obstacles that are located in every lanelet at time step t and returns a dictionary where obstacles are stored according to lanelet id.
:param time_step: maps obstacles in this time step to the lanelet
:param time_step: The time step in which the obstacle is in the current lanelet network.
Calculates distances of all lanelets which can be reached through recursive adjacency/predecessor relationship by the current lanelet.
This is a recursive implementation.
:param curLanelet: the current lanelet object (often set to the goal lanelet)
:param dist: the initial distance between 2 adjacent lanelets (often set to 1). This value will increase recursively during the execution of this function.
:param visited_lanelets: list of visited lanelet ids. In the iterations, visited lanelets will not be considered. This value changes during the recursive implementation.
:param curLanelet: the current lanelet object (Often set to the goal lanelet).
:param dist: the initial distance between 2 adjacent lanelets (Often set to 1). This value will increase recursively during the execution of this function.
:param visited_lanelets: list of visited lanelet id. In the iterations, visited lanelets will not be considered. This value changes during the recursive implementation.
The calculated costs will be stored in dictionary self.lanelet_cost[Lanelet].