 ompl | Main namespace. Contains everything in this library |
  base | This namespace contains sampling based planning routines shared by both planning under geometric constraints (geometric) and planning under differential constraints (dynamic) |
   DiscreteMotionValidator | A motion validator that only uses the state validity checker. Motions are checked for validity at a specified resolution |
   GenericParam | Motion planning algorithms often employ parameters to guide their exploration process. (e.g., goal biasing). Motion planners (and some of their components) use this class to declare what the parameters are, in a generic way, so that they can be set externally |
   SpecificParam | This is a helper class that instantiates parameters with different data types |
   ParamSet | Maintain a set of parameters |
   Goal | Abstract definition of goals |
   GoalLazySamples | Definition of a goal region that can be sampled, but the sampling process can be slow. This class allows sampling the happen in a separate thread, and the number of goals may increase, as the planner is running, in a thread-safe manner |
   GoalRegion | Definition of a goal region |
   GoalSampleableRegion | Abstract definition of a goal region that can be sampled |
   GoalState | Definition of a goal state |
   GoalStates | Definition of a set of goal states |
   MotionValidator | Abstract definition for a class checking the validity of motions – path segments between states. This is often called a local planner. The implementation of this class must be thread safe |
   Path | Abstract definition of a path |
   PlannerInputStates | Helper class to extract valid start & goal states. Usually used internally by planners |
   PlannerSpecs | Properties that planners may have |
   Planner | Base class for a planner |
   PlannerDataVertex | Base class for a vertex in the PlannerData structure. All derived classes must implement the clone and equivalence operators. It is assumed that each vertex in the PlannerData structure is unique (i.e. no duplicates allowed) |
   PlannerDataEdge | Base class for a PlannerData edge |
   PlannerData | Object containing planner generated vertex and edge data. It is assumed that all vertices are unique, and only a single directed edge connects two vertices |
    Graph | Wrapper class for the Boost.Graph representation of the PlannerData. This class inherits from a boost::adjacency_list Graph structure |
   PlannerDataStorage | Object that handles loading/storing a PlannerData object to/from a binary stream. Serialization of vertices and edges is performed using the Boost archive method serialize. Derived vertex/edge classes are handled, presuming those classes implement the serialize method |
    Header | Information stored at the beginning of the PlannerData archive |
    PlannerDataEdgeData | The object containing all edge data that will be stored |
    PlannerDataVertexData | The object containing all vertex data that will be stored |
   PlannerStatus | A class to store the exit status of Planner::solve() |
   PlannerTerminationCondition | Encapsulate a termination condition for a motion planner. Planners will call operator() to decide whether they should terminate before a solution is found or not. operator() will return true if either the implemented condition is met (the call to eval() returns true) or if the user called terminate(true) |
   PlannerThreadedTerminationCondition | Termination condition with lazy evaluation. This is just as a regular termination condition, except the condition is actually evaluated by computeEval() and the return value is stored in evalValue_. Every time eval() is called, evalValue_ is returned instead of actually evaluating the termination condition. Furthermore, the termination condition is evaluated every period_ seconds in a separate thread. The thread automatically starts when the condition is constructed and it terminates when the condition becomes true |
   PlannerNonTerminatingCondition | Simple termination condition that always returns false. The termination condition will never be met |
   PlannerAlwaysTerminatingCondition | Simple termination condition that always returns true. The termination condition will always be met |
   PlannerOrTerminationCondition | Combine two termination conditions into one. If either termination condition returns true, this one will return true as well |
   PlannerAndTerminationCondition | Combine two termination conditions into one. Both termination conditions need to return true for this one to return true |
   PrecomputedStateSampler | State space sampler for discrete states |
   PlannerSolution | Representation of a solution to a planning problem |
   ProblemDefinition | Definition of a problem to be solved. This includes the start state(s) for the system and a goal specification. Will contain solutions, if found |
   ProjectionMatrix | A projection matrix – it allows multiplication of real vectors by a specified matrix. The matrix can also be randomly generated |
   ProjectionEvaluator | Abstract definition for a class computing projections to Rn. Implicit integer grids are imposed on this projection space by setting cell sizes. Before use, the user must supply cell sizes for the integer grid (setCellSizes()). The implementation of this class is thread safe |
   SubspaceProjectionEvaluator | If the projection for a CompoundStateSpace is supposed to be the same as the one for one of its included subspaces, this class facilitates selecting a projection of that subspace |
   GaussianValidStateSampler | Generate valid samples using the Gaussian sampling strategy |
   MaximizeClearanceValidStateSampler | Generate valid samples randomly, but with a bias towards higher clearance |
   ObstacleBasedValidStateSampler | Generate valid samples using the Bridge Test |
   UniformValidStateSampler | A state sampler that only samples valid states, uniformly |
   ScopedState | Definition of a scoped state |
   SolutionNonExistenceProof | Abstract definition of a proof for the non-existence of a solution to a problem |
   SpaceInformation | The base class for space information. This contains all the information about the space planning is done in. setup() needs to be called as well, before use |
   DiscreteStateSampler | State space sampler for discrete states |
   DiscreteStateSpace | A space representing discrete states; i.e. there are a small number of discrete states the system can be in. States are represented as integers [lowerBound, upperBound], where lowerBound and upperBound are inclusive. States do not wrap around; i.e. the distance between state lowerBound and state upperBound is upperBound-lowerBound. The dimension of the space is 1 |
    StateType | The definition of a discrete state |
   DubinsStateSpace | An SE(2) state space where distance is measured by the length of Dubins curves. Note that this Dubins distance is not a proper distance metric, so nearest neighbor methods that rely on distance() being a metric (such ompl::NearestNeighborsGNAT) will not always return the true nearest neighbors or get stuck in an infinite loop. This means that if you use any of the RRT-based planners (which use GNAT by default), you need to do the following: |
    DubinsPath | Complete description of a Dubins path |
   DubinsMotionValidator | A Dubins motion validator that only uses the state validity checker. Motions are checked for validity at a specified resolution |
   RealVectorBounds | The lower and upper bounds for an Rn space |
   RealVectorLinearProjectionEvaluator | Definition for a class computing linear projections (multiplication of a k-by-n matrix to the the Rn vector state to produce an Rk projection. The multiplication matrix needs to be supplied as input |
   RealVectorRandomLinearProjectionEvaluator | Definition for a class computing a random linear projections |
   RealVectorOrthogonalProjectionEvaluator | Definition for a class computing orthogonal projections |
   RealVectorIdentityProjectionEvaluator | Define the identity projection |
   RealVectorStateSampler | State sampler for the Rn state space |
   RealVectorStateSpace | A state space representing Rn. The distance function is the L2 norm |
    StateType | The definition of a state in Rn |
   ReedsSheppStateSpace | An SE(2) state space where distance is measured by the length of Reeds-Shepp curves |
    ReedsSheppPath | Complete description of a ReedsShepp path |
   ReedsSheppMotionValidator | A Reeds-Shepp motion validator that only uses the state validity checker. Motions are checked for validity at a specified resolution |
   SE2StateSpace | A state space representing SE(2) |
    StateType | A state in SE(2): (x, y, yaw) |
   SE3StateSpace | A state space representing SE(3) |
    StateType | A state in SE(3): position = (x, y, z), quaternion = (x, y, z, w) |
   SO2StateSampler | State space sampler for SO(2) |
   SO2StateSpace | A state space representing SO(2). The distance function and interpolation take into account angle wrapping |
    StateType | The definition of a state in SO(2) |
   SO3StateSampler | State space sampler for SO(3), using quaternion representation |
   SO3StateSpace | A state space representing SO(3). The internal representation is done with quaternions. The distance between states is the angle between quaternions and interpolation is done with slerp |
    StateType | The definition of a state in SO(3) represented as a unit quaternion |
   TimeStateSampler | State space sampler for time |
   TimeStateSpace | A state space representing time. The time can be unbounded, in which case enforceBounds() is a no-op, satisfiesBounds() always returns true, sampling uniform time states always produces time 0 and getMaximumExtent() returns 1. If time is bounded (setBounds() has been previously called), the state space behaves as expected. After construction, the state space is unbounded. isBounded() can be used to check if the state space is bounded or not |
    StateType | The definition of a time state |
   State | Definition of an abstract state |
   CompoundState | Definition of a compound state |
   StateSampler | Abstract definition of a state space sampler |
   CompoundStateSampler | Definition of a compound state sampler. This is useful to construct samplers for compound states |
   SubspaceStateSampler | Construct a sampler that samples only within a subspace of the space |
   SamplerSelector | Depending on the type of state sampler, we have different allocation routines |
   StateSamplerArray | Class to ease the creation of a set of samplers. This is especially useful for multi-threaded planners |
   StateSpace | Representation of a space in which planning can be performed. Topology specific sampling, interpolation and distance are defined |
    SubstateLocation | Representation of the address of a substate in a state. This structure stores the indexing information needed to access a particular substate of a state |
    ValueLocation | Representation of the address of a value in a state. This structure stores the indexing information needed to access elements of a state (no pointer values are stored) |
   CompoundStateSpace | A space to allow the composition of state spaces |
   StateStorage | Manage loading and storing for a set of states of a specified state space |
    Header | Information stored at the beginning of the archive |
   StateStorageWithMetadata | State storage that allows storing state metadata as well |
   StateValidityCheckerSpecs | Properties that a state validity checker may have |
   StateValidityChecker | Abstract definition for a class checking the validity of states. The implementation of this class must be thread safe |
   AllValidStateValidityChecker | The simplest state validity checker: all states are valid |
   ValidStateSampler | Abstract definition of a state sampler |
   GoalPtr | A boost shared pointer wrapper for ompl::base::Goal |
   MotionValidatorPtr | A boost shared pointer wrapper for ompl::base::MotionValidator |
   PathPtr | A boost shared pointer wrapper for ompl::base::Path |
   PlannerPtr | A boost shared pointer wrapper for ompl::base::Planner |
   ProblemDefinitionPtr | A boost shared pointer wrapper for ompl::base::ProblemDefinition |
   ProjectionEvaluatorPtr | A boost shared pointer wrapper for ompl::base::ProjectionEvaluator |
   SolutionNonExistenceProofPtr | A boost shared pointer wrapper for ompl::base::SolutionNonExistenceProof |
   SpaceInformationPtr | A boost shared pointer wrapper for ompl::base::SpaceInformation |
   StateSamplerPtr | A boost shared pointer wrapper for ompl::base::StateSampler |
   StateSpacePtr | A boost shared pointer wrapper for ompl::base::StateSpace |
   StateValidityCheckerPtr | A boost shared pointer wrapper for ompl::base::StateValidityChecker |
   ValidStateSamplerPtr | A boost shared pointer wrapper for ompl::base::ValidStateSampler |
   StatePropagatorPtr | A boost shared pointer wrapper for ompl::control::StatePropagator |
  control | This namespace contains sampling based planning routines used by planning under differential constraints |
   Control | Definition of an abstract control |
   CompoundControl | Definition of a compound control |
   ControlSampler | Abstract definition of a control sampler. Motion planners that need to sample controls will call functions from this class. Planners should call the versions of sample() and sampleNext() with most arguments, whenever this information is available |
   CompoundControlSampler | Definition of a compound control sampler. This is useful to construct samplers for compound controls |
   ControlSpace | A control space representing the space of applicable controls |
   CompoundControlSpace | A control space to allow the composition of control spaces |
   DirectedControlSampler | Abstract definition of a directed control sampler. Motion planners that need to sample controls that take the system to a desired direction will call functions from this class. Planners should call the versions of sampleTo() with most arguments, whenever this information is available. If no direction information is available, the use of a ControlSampler is perhaps more appropriate |
   ODESolver | Abstract base class for an object that can solve ordinary differential equations (ODE) of the type q' = f(q,u) using numerical integration. Classes deriving from this must implement the solve method. The user must supply the ODE to solve |
   ODEBasicSolver | Basic solver for ordinary differential equations of the type q' = f(q, u), where q is the current state of the system and u is a control applied to the system. StateType defines the container object describing the state of the system. Solver is the numerical integration method used to solve the equations. The default is a fourth order Runge-Kutta method. This class wraps around the simple stepper concept from boost::numeric::odeint |
   ODEErrorSolver | Solver for ordinary differential equations of the type q' = f(q, u), where q is the current state of the system and u is a control applied to the system. StateType defines the container object describing the state of the system. Solver is the numerical integration method used to solve the equations. The default is a fifth order Runge-Kutta Cash-Karp method with a fourth order error bound. This class wraps around the error stepper concept from boost::numeric::odeint |
   ODEAdaptiveSolver | Adaptive step size solver for ordinary differential equations of the type q' = f(q, u), where q is the current state of the system and u is a control applied to the system. The maximum integration error is bounded in this approach. Solver is the numerical integration method used to solve the equations, and must implement the error stepper concept from boost::numeric::odeint. The default is a fifth order Runge-Kutta Cash-Karp method with a fourth order error bound |
   PathControl | Definition of a control path |
   PlannerDataEdgeControl | Representation of an edge in PlannerData for planning with controls. This structure encodes a specific control and a duration to apply the control |
   PlannerData | Object containing planner generated vertex and edge data. It is assumed that all vertices are unique, and only a single directed edge connects two vertices. |
   PlannerDataStorage | Object that handles loading/storing a PlannerData object to/from a binary stream. Serialization of vertices and edges is performed using the Boost archive method serialize. Derived vertex/edge classes are handled, presuming those classes implement the serialize method. |
   EST | Expansive Space Trees |
    Motion | Representation of a motion |
    MotionInfo | A struct containing an array of motions and a corresponding PDF element |
    TreeData | The data contained by a tree of exploration |
   KPIECE1 | Kinodynamic Planning by Interior-Exterior Cell Exploration |
    CellData | The data held by a cell in the grid of motions |
    CloseSample | Information about a known good sample (closer to the goal than others) |
    CloseSamples | Bounded set of good samples |
    Motion | Representation of a motion for this algorithm |
    OrderCellsByImportance | Definintion of an operator passed to the Grid structure, to order cells by importance |
    TreeData | The data defining a tree of motions for this algorithm |
   RRT | Rapidly-exploring Random Tree |
    Motion | Representation of a motion |
   Decomposition | A Decomposition is a partition of a bounded Euclidean space into a fixed number of regions which are denoted by integers |
   GridDecomposition | A GridDecomposition is a Decomposition implemented using a grid |
   Syclop | Synergistic Combination of Layers of Planning |
    Adjacency | Representation of an adjacency (a directed edge) between two regions in the Decomposition assigned to Syclop |
    Defaults | Contains default values for Syclop parameters |
    Motion | Representation of a motion |
    Region | Representation of a region in the Decomposition assigned to Syclop |
   SyclopEST | SyclopEST is Syclop with EST as its low-level tree planner |
   SyclopRRT | SyclopRRT is Syclop with RRT as its low-level tree planner |
   SimpleDirectedControlSampler | Implementation of a simple directed control sampler. This is a basic implementation that does not actually take direction into account and builds upon ControlSampler. Instead, a set of k random controls are sampled, and the control that gets the system closest to the target state is returned |
   SimpleSetup | Create the set of classes typically needed to solve a control problem |
   SpaceInformation | Space information containing necessary information for planning with controls. setup() needs to be called before use |
   DiscreteControlSampler | Control space sampler for discrete controls |
   DiscreteControlSpace | A space representing discrete controls; i.e. there are a small number of discrete controls the system can react to. Controls are represented as integers [lowerBound, upperBound], where lowerBound and upperBound are inclusive |
    ControlType | The definition of a discrete control |
   RealVectorControlUniformSampler | Uniform sampler for the Rn state space |
   RealVectorControlSpace | A control space representing Rn |
    ControlType | The definition of a control in Rn |
   StatePropagator | Model the effect of controls on system states |
   OpenDEControlSpace | Representation of controls applied in OpenDE environments. This is an array of double values |
   OpenDEEnvironment | This class contains the OpenDE constructs OMPL needs to know about when planning |
   OpenDESimpleSetup | Create the set of classes typically needed to solve a control problem when forward propagation is computed with OpenDE |
   OpenDEStatePropagator | State propagation with OpenDE. Only forward propagation is possible |
   OpenDEStateSpace | State space representing OpenDE states |
    StateType | OpenDE State. This is a compound state that allows accessing the properties of the bodies the state space is constructed for |
   OpenDEStateValidityChecker | The simplest state validity checker: all states are valid |
   ControlSamplerPtr | A boost shared pointer wrapper for ompl::control::ControlSampler |
   ControlSpacePtr | A boost shared pointer wrapper for ompl::control::ControlSpace |
   DirectedControlSamplerPtr | A boost shared pointer wrapper for ompl::control::DirectedControlSampler |
   DecompositionPtr | A boost shared pointer wrapper for ompl::control::Decomposition |
   SimpleSetupPtr | A boost shared pointer wrapper for ompl::control::SimpleSetup |
   SpaceInformationPtr | A boost shared pointer wrapper for ompl::control::SpaceInformation |
   OpenDEEnvironmentPtr | A boost shared pointer wrapper for ompl::control::OpenDEEnvironment |
  geometric | This namespace contains code that is specific to planning under geometric constraints |
   BallTreeRRTstar | Optimal Rapidly-exploring Random Trees with Ball Trees |
    Motion | Representation of a motion |
   RRTstar | Optimal Rapidly-exploring Random Trees |
    Motion | Representation of a motion |
   SampleContrib | |
   GAIK | Inverse Kinematics with Genetic Algorithms |
   HCIK | Inverse Kinematics with Hill Climbing |
   PathGeometric | Definition of a geometric path |
   PathHybridization | Given multiple geometric paths, attempt to combine them in order to obtain a shorter solution |
   PathSimplifier | This class contains routines that attempt to simplify geometric paths |
   EST | Expansive Space Trees |
    Motion | The definition of a motion |
    MotionInfo | A struct containing an array of motions and a corresponding PDF element |
    TreeData | The data contained by a tree of exploration |
   BKPIECE1 | Bi-directional KPIECE with one level of discretization |
    Motion | Representation of a motion for this algorithm |
   Discretization | One-level discretization used for KPIECE |
    CellData | The data held by a cell in the grid of motions |
    OrderCellsByImportance | Definintion of an operator passed to the Grid structure, to order cells by importance |
   KPIECE1 | Kinematic Planning by Interior-Exterior Cell Exploration |
    Motion | Representation of a motion for this algorithm |
   LBKPIECE1 | Lazy Bi-directional KPIECE with one level of discretization |
    Motion | Representation of a motion for this algorithm |
   KStrategy | |
   KStarStrategy | Make the minimal number of connections required to ensure asymptotic optimality |
   PRM | Probabilistic RoadMap planner |
    vertex_state_t | |
    vertex_successful_connection_attempts_t | |
    vertex_total_connection_attempts_t | |
   LazyRRT | Lazy RRT |
    Motion | Representation of a motion |
   pRRT | Parallel RRT |
    Motion | |
    SolutionInfo | |
   RRT | Rapidly-exploring Random Trees |
    Motion | Representation of a motion |
   RRTConnect | RRT-Connect (RRTConnect) |
    Motion | Representation of a motion |
    TreeGrowingInfo | Information attached to growing a tree of motions (used internally) |
   pSBL | Parallel Single-query Bi-directional Lazy collision checking planner |
    Motion | |
    MotionInfo | A struct containing an array of motions and a corresponding PDF element |
    MotionsToBeRemoved | |
    PendingRemoveMotion | |
    SolutionInfo | |
    TreeData | |
   SBL | Single-Query Bi-Directional Probabilistic Roadmap Planner with Lazy Collision Checking |
    Motion | Representation of a motion |
    MotionInfo | A struct containing an array of motions and a corresponding PDF element |
    TreeData | Representation of a search tree. Two instances will be used. One for start and one for goal |
   SimpleSetup | Create the set of classes typically needed to solve a geometric problem |
   PathHybridizationPtr | A boost shared pointer wrapper for ompl::geometric::PathHybridization |
   PathSimplifierPtr | A boost shared pointer wrapper for ompl::geometric::PathSimplifier |
   SimpleSetupPtr | A boost shared pointer wrapper for ompl::geometric::SimpleSetup |
  machine | This namespace contains routines that read specifications of the machine in use |
  magic | This namespace includes magic constants used in various places in OMPL |
  msg | Message namespace. This contains classes needed to output error messages (or logging) from within the library. Message logging can be performed with logging macros |
   OutputHandler | Generic class to handle output from a piece of code |
   OutputHandlerSTD | Default implementation of OutputHandler. This sends the information to the console |
   OutputHandlerFile | Implementation of OutputHandler that saves messages in a file |
  time | Namespace containing time datatypes and time operations |
  tools | Includes various tools such as self config, benchmarking, etc |
   Benchmark | Benchmark a set of planners on a problem instance |
    CompleteExperiment | This structure holds experimental data for a set of planners |
    PlannerExperiment | The data collected after running a planner multiple times |
    Request | Representation of a benchmark request |
    Status | This structure contains information about the activity of a benchmark instance. If the instance is running, it is possible to find out information such as which planner is currently being tested or how much |
   SelfConfig | This class contains methods that automatically configure various parameters for motion planning. If expensive computation is performed, the results are cached |
   Profiler | This is a simple thread-safe tool for counting time spent in various chunks of code. This is different from external profiling tools in that it allows the user to count time spent in various bits of code (sub-function granularity) or count how many times certain pieces of code are executed |
    ScopedBlock | This instance will call Profiler::begin() when constructed and Profiler::end() when it goes out of scope |
    ScopedStart | This instance will call Profiler::start() when constructed and Profiler::stop() when it goes out of scope. If the profiler was already started, this block's constructor and destructor take no action |
   OptimizePlan | Run one or more motion planners repeatedly (using a specified number of threads), and hybridize solutions, trying to optimize solutions |
   ParallelPlan | This is a utility that allows executing multiple planners in parallel, until one or more find a solution. Optionally, the results are automatically hybridized using ompl::geometric::PathHybridization. Between calls to solve(), the set of known solutions (maintained by ompl::base::Goal) are not cleared, and neither is the hybridization datastructure |
  BinaryHeap | This class provides an implementation of an updatable min-heap. Using it is a bit cumbersome, as it requires keeping track of the BinaryHeap::Element* type, however, it should be as fast as it gets with an updatable heap |
   Element | When an element is added to the heap, an instance of Element* is created. This instance contains the data that was added and internal information about the position of the data in the heap's internal storage |
  GreedyKCenters | An instance of this class can be used to greedily select a given number of representatives from a set of data points that are all far apart from each other |
  Grid | Representation of a simple grid |
   Cell | Definition of a cell in this grid |
   EqualCoordPtr | Equality operator for coordinate pointers |
   HashFunCoordPtr | Hash function for coordinates |
   SortComponents | Helper to sort components by size |
  GridB | This class defines a grid that keeps track of its boundary: it distinguishes between interior and exterior cells |
   LessThanExternalCell | Define order for external cells |
   LessThanInternalCell | Define order for internal cells |
  GridN | Representation of a grid where cells keep track of how many neighbors they have |
   Cell | Definition of a cell in this grid |
  NearestNeighbors | Abstract representation of a container that can perform nearest neighbors queries |
  NearestNeighborsGNAT | Geometric Near-neighbor Access Tree (GNAT), a data structure for nearest neighbor search |
   Node | The class used internally to define the GNAT |
  NearestNeighborsLinear | A nearest neighbors datastructure that uses linear search |
  NearestNeighborsSqrtApprox | A nearest neighbors datastructure that uses linear search. The linear search is done over sqrt(n) elements only. (Every sqrt(n) elements are skipped) |
  PDF | A container that supports probabilistic sampling over weighted data |
   Element | A class that will hold data contained in the PDF |
  Exception | The exception type for ompl |
  RNG | Random number generation. An instance of this class cannot be used by multiple threads at once (member functions are not const). However, the constructor is thread safe and different instances can be used safely in any number of threads. It is also guaranteed that all created instances will have a different random seed |