papl / src / PaplStraightPlanner.mli

  Copyright (c) 2012 Anders Lau Olsen.
  See LICENSE file for terms and conditions.
(** Straight connection planners

    A {b straight connection planner} attempts to directly connect a start and
    goal point using a planner constraint ({! PaplPlannerConstraint}). If the
    constraint rejects the connection then the planner fails.

    This planner is useful if you know that the straight connection from start
    to goal will succeed, or if you want to try out a simple solution before
    committing to a planner with a more complex search behaviour.

val point_planner : 'a PaplPlannerConstraint.t -> 'a PaplPlanner.point_path_t
   Straight connection point planner.

   The planner [point constr] attempts to directly connect [start] to [goal] of
   a point target [(start, goal)] using the planner constraint [constr]. If the
   constraint rejects the connection or if the stop criteria said stop before
   the attempt then the planner fails. Otherwise the planner returns the path
   [\[start; goal\]].

val dummy_point_planner : 'a PaplPlanner.point_path_t
(** Straight line dummy planner.

    The dummy planner immediately returns the path [\[a; b\]] as a solution to a
    planning problem [(a, b)].

    This planner is useful in simulations to quickly verify the layout of

val dummy_region_planner : 'a PaplPlanner.region_path_t
(** Straight line dummy planner for regions.

    The planner samples the start and goal regions until an element [a] and [b]
    has been retrieved from both, and then returns the path [\[a; b\]].

    The planner fails if a region becomes empty before returning a value or if
    none of the regions have returned a value before the stopping criteria says