KrisLibrary  1.0.0
Public Types | Public Member Functions | Public Attributes | List of all members
ESTKinodynamicPlanner Class Reference

The EST planner for kinodynamic systems. More...

#include <KinodynamicMotionPlanner.h>

Inheritance diagram for ESTKinodynamicPlanner:
KinodynamicPlannerBase CostSpaceESTPlanner

Public Types

typedef KinodynamicTree::Node Node
 

Public Member Functions

 ESTKinodynamicPlanner (KinodynamicSpace *s)
 
void EnableExtensionCaching (int cacheSize=100)
 
void SetDensityEstimatorResolution (Real res)
 
void SetDensityEstimatorResolution (const Vector &res)
 
virtual void Init (const State &xinit, CSet *goalSet)
 
virtual bool Plan (int maxIters)
 
virtual bool Done () const
 
virtual bool GetPath (KinodynamicMilestonePath &path)
 
virtual bool FilterExtension (Node *n, const KinodynamicMilestonePath &path)
 Subclasses can overload this to eliminate certain extensions of the tree.
 
virtual void GetStats (PropertyMap &stats) const
 
void RebuildDensityEstimator ()
 
- Public Member Functions inherited from KinodynamicPlannerBase
 KinodynamicPlannerBase (KinodynamicSpace *s)
 
virtual void Init (const State &xinit, const State &xgoal, Real goalRadius)
 

Public Attributes

KinodynamicTree tree
 
std::shared_ptr< DensityEstimatorBasedensityEstimator
 
int extensionCacheSize
 
std::vector< Node * > extensionCache
 
std::vector< double > extensionWeights
 
NodegoalNode
 
int numIters
 
int numFilteredExtensions
 
int numSuccessfulExtensions
 
Real sampleTime
 
Real simulateTime
 
Real visibleTime
 
Real overheadTime
 
- Public Attributes inherited from KinodynamicPlannerBase
KinodynamicSpacespace
 
CSetgoalSet
 

Detailed Description

The EST planner for kinodynamic systems.

Node selection is performed by a density-weighted sampling from a grid-based density estimator. (MultiGridDensityEstimator)

This has an implementation of a semi-lazy method in that it maintains a difference between "official" and "unofficial" contributions to the tree. If extensionCacheSize > 0 (0 by default), then the extension cache contains several candidate extensions, and at each iteration tries making one official by sampling one candidate inversely proportional to their density, and then checking collisions.

Member Data Documentation

std::vector<Node*> ESTKinodynamicPlanner::extensionCache

These are a list of nodes that have been added to the tree but not checked for collision nor added to the density estimator.


The documentation for this class was generated from the following files: