papl / src / PaplRRTExpand.mli

  Copyright (c) 2012 Anders Lau Olsen.
  See LICENSE file for terms and conditions.
(** RRT expansions 

    The functions of this module construct expansion methods for RRT planners
    (see {! PaplRRT}). An RRT expansion method returns configurations on a path
    leading from a given start configuration towards a goal configuration.

type 'a expand_t = 'a PaplRRT.expand_t

val by_intermediaries :
  ?accept_first:bool ->
  'a PaplEdgeConstraint.t ->
  'a PaplInterpolate.intermediary_t list ->
  'a expand_t

val by_intermediary_steps :
  ?accept_first:bool ->
  'a PaplPlannerConstraint.t ->
  'a PaplInterpolate.t ->
  'a PaplMetric.t ->
  float list ->
  'a expand_t

val steps_n :
  ?min_stride:int ->
  ?max_stride:int ->
  'a PaplEdgeConstraint.t ->
  'a PaplInterpolate.intermediary_t ->
  int ->
  'a expand_t
(** Expansions with at most [n] steps.

    The expansion method [steps_n constr intermediary n] splits a segment into
    intermediary configurations using [intermediary] and verifies each step by
    [constr]. If the path of accepted configurations is shorter or equal to [n],
    then this path is returned. Otherwise the path is shortened by removing a
    subset of the configurations to produce a path with exactly [n] elements.

    The optional parameters [min_stride] and [max_stride] can be used to lower
    or raise the number of elements [n] in the resulting path, depending on the
    length [len] of the path. The length of the resulting path is at least [len
    / min_stride] (for [len > min_stride]) and at most [len / max_stride + 1]
    (assuming [min_stride < max_stride]).
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.