Function rmf_traffic::agv::compute_plan_starts

Function Documentation

std::vector<Plan::Start> rmf_traffic::agv::compute_plan_starts(const rmf_traffic::agv::Graph &graph, const std::string &map_name, const Eigen::Vector3d pose, const rmf_traffic::Time start_time, const double max_merge_waypoint_distance = 0.1, const double max_merge_lane_distance = 1.0, const double min_lane_length = 1e-8)

Produces a set of possible starting waypoints and lanes in order to start planning. This method attempts to find the most suitable starting nodes within the provided graph for merging, planning and execution of plans, from the provided pose. If none of the waypoints in the graph fulfils the requirements, an empty vector will be returned.

Parameters:
  • graph[in] Graph which the starting waypoints and lanes will be derived from.

  • pose[in] Current pose in terms of 2D coordinates, x and y, being the first and second element respectively, while the third element being the yaw.

  • start_time[in] The starting time that will be attributed to all the generated starts to compute a new plan. In some occasions, users will want to add small delays to the current time, in order to account for computation time or network delays.

  • max_merge_waypoint_distance[in] The maximum distance allowed to automatically merge onto a waypoint in the graph. Default value as 0.1 meters.

  • max_merge_lane_distance[in] The maximum distance allowed to automatically merge onto a lane, i.e. adding the lane’s entry and exit waypoints as potential starts. Default value as 1.0 meters.

  • min_lane_length[in] The minimum length of a lane in the provided graph to be considered valid, any lanes shorter than this value will not be evaluated. Default value as 1e-8 meters.