- The constructor calculates the length of each waysegment between two neibourghed points.
- The constructor defines a vector called "jobs" where all jobs are listed with the information, if the minimal distance of 0.01 between two vehicles is undergone (called collision) or not. All possible collisions, between all pairs of path nodes are checked. The result (boolean: collision yes/no?) is cached. The collision decision is based on the rectangle-rectange distance between the vehicles.
- map_match_pose(): A function which defines for each path if it can be matched to an edge on the map
- find_subsequent_edges(): A function which finds the subsequent edges of a trajectory
The reference state of a vehicle in the graph is stored as the triple (
current_edge_indexin the sourcecode),
current_edge_path_indexin the sourcecode),
delta_s_path_node_offsetin the sourcecode))
The following image shows a reference state that would be stored as (edge_index = 11, path_index = 1, s_offset = 0.01m).
move_along_route(): A function which helps you to move along the route. It moves the reference state along the given route by a given distance and takes into account the remaining distance on the current edge to next node and the changing to the next edge if neccessary. For example, assume that the distance between path nodes in the above image is 0.02 m (except for the end nodes 0/3, which are in the same location). We want to move the reference state by 0.055 m.