Main MRPT website > C++ reference for MRPT 1.3.2
List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes
mrpt::nav::PlannerRRT_SE2_TPS Class Reference

Detailed Description

TP Space-based RRT path planning for SE(2) (planar) robots.

This planner algorithm is described in the paper:

Typical usage:

// Set or load planner parameters:
//planner.loadConfig( mrpt::utils::CConfigFile("config_file.cfg") );
//planner.params.... // See TAlgorithmParams
// Set RRT end criteria (when to stop searching for a solution)
//planner.end_criteria.... // See TEndCriteria
planner.initialize(); // Initialize after setting the algorithm parameters
// Set up planning problem:
PlannerRRT_SE2_TPS::TPlannerResult planner_result;
PlannerRRT_SE2_TPS::TPlannerInput planner_input;
// Start & goal:
planner_input.start_pose = mrpt::math::TPose2D(XXX,XXX,XXX);
planner_input.goal_pose = mrpt::math::TPose2D(XXX,XXX,XXX);
// Set obtacles: (...)
// planner_input.obstacles_points ...
// Set workspace bounding box for picking random poses in the RRT algorithm:
planner_input.world_bbox_min = mrpt::math::TPoint2D(XX,YY);
planner_input.world_bbox_max = mrpt::math::TPoint2D(XX,YY);
// Do path planning:
planner.solve( planner_input, planner_result);
// Analyze contents of planner_result...
Todo:
Factorize into more generic path planner classes! //template <class POSE, class MOTIONS>...

Definition at line 69 of file PlannerRRT_SE2_TPS.h.

#include <mrpt/nav/planners/PlannerRRT_SE2_TPS.h>

Classes

struct  TAlgorithmParams
 
struct  TEndCriteria
 
struct  TPlannerInput
 
struct  TPlannerResult
 
struct  TRenderPlannedPathOptions
 Options for renderMoveTree() More...
 

Public Types

typedef mrpt::math::TPose2D node_pose_t
 The type of poses at nodes. More...
 

Public Member Functions

 PlannerRRT_SE2_TPS ()
 Constructor. More...
 
void loadConfig (const mrpt::utils::CConfigFileBase &cfgSource, const std::string &sSectionName=std::string("PTG_CONFIG"))
 Load all params from a config file source. More...
 
void initialize ()
 Must be called after setting all params (see loadConfig()) and before calling solve() More...
 
void solve (const TPlannerInput &pi, TPlannerResult &result)
 The main API entry point: tries to find a planned path from 'goal' to 'target'. More...
 
void renderMoveTree (mrpt::opengl::COpenGLScene &scene, const TPlannerInput &pi, const TPlannerResult &result, const TRenderPlannedPathOptions &options)
 
void setRenderTreeVisualization ()
 
mrpt::utils::CTimeLoggergetProfiler ()
 
const mrpt::nav::TListPTGPtrgetPTGs () const
 

Public Attributes

TEndCriteria end_criteria
 
TAlgorithmParams params
 Parameters specific to this path solver algorithm. More...
 

Protected Member Functions

void spaceTransformer (const mrpt::maps::CSimplePointsMap &in_obstacles, const mrpt::nav::CParameterizedTrajectoryGenerator *in_PTG, const double MAX_DIST, std::vector< float > &out_TPObstacles)
 

Static Protected Member Functions

static void transformPointcloudWithSquareClipping (const mrpt::maps::CPointsMap &in_map, mrpt::maps::CPointsMap &out_map, const mrpt::poses::CPose2D &asSeenFrom, const double MAX_DIST_XY)
 

Protected Attributes

mrpt::utils::CTimeLogger m_timelogger
 
bool m_initialized
 
mrpt::nav::TListPTGPtr m_PTGs
 
mrpt::maps::CSimplePointsMap m_local_obs
 

Member Typedef Documentation

The type of poses at nodes.

Definition at line 72 of file PlannerRRT_SE2_TPS.h.

Constructor & Destructor Documentation

mrpt::nav::PlannerRRT_SE2_TPS::PlannerRRT_SE2_TPS ( )

Constructor.

Member Function Documentation

mrpt::utils::CTimeLogger& mrpt::nav::PlannerRRT_SE2_TPS::getProfiler ( )
inline

Definition at line 259 of file PlannerRRT_SE2_TPS.h.

const mrpt::nav::TListPTGPtr& mrpt::nav::PlannerRRT_SE2_TPS::getPTGs ( ) const
inline

Definition at line 260 of file PlannerRRT_SE2_TPS.h.

void mrpt::nav::PlannerRRT_SE2_TPS::initialize ( )

Must be called after setting all params (see loadConfig()) and before calling solve()

void mrpt::nav::PlannerRRT_SE2_TPS::loadConfig ( const mrpt::utils::CConfigFileBase cfgSource,
const std::string &  sSectionName = std::string("PTG_CONFIG") 
)

Load all params from a config file source.

void mrpt::nav::PlannerRRT_SE2_TPS::renderMoveTree ( mrpt::opengl::COpenGLScene scene,
const TPlannerInput pi,
const TPlannerResult result,
const TRenderPlannedPathOptions options 
)
void mrpt::nav::PlannerRRT_SE2_TPS::setRenderTreeVisualization ( )
void mrpt::nav::PlannerRRT_SE2_TPS::solve ( const TPlannerInput pi,
TPlannerResult result 
)

The main API entry point: tries to find a planned path from 'goal' to 'target'.

void mrpt::nav::PlannerRRT_SE2_TPS::spaceTransformer ( const mrpt::maps::CSimplePointsMap in_obstacles,
const mrpt::nav::CParameterizedTrajectoryGenerator in_PTG,
const double  MAX_DIST,
std::vector< float > &  out_TPObstacles 
)
protected
static void mrpt::nav::PlannerRRT_SE2_TPS::transformPointcloudWithSquareClipping ( const mrpt::maps::CPointsMap in_map,
mrpt::maps::CPointsMap out_map,
const mrpt::poses::CPose2D asSeenFrom,
const double  MAX_DIST_XY 
)
staticprotected

Member Data Documentation

TEndCriteria mrpt::nav::PlannerRRT_SE2_TPS::end_criteria

Definition at line 90 of file PlannerRRT_SE2_TPS.h.

bool mrpt::nav::PlannerRRT_SE2_TPS::m_initialized
protected

Definition at line 264 of file PlannerRRT_SE2_TPS.h.

mrpt::maps::CSimplePointsMap mrpt::nav::PlannerRRT_SE2_TPS::m_local_obs
protected

Definition at line 266 of file PlannerRRT_SE2_TPS.h.

mrpt::nav::TListPTGPtr mrpt::nav::PlannerRRT_SE2_TPS::m_PTGs
protected

Definition at line 265 of file PlannerRRT_SE2_TPS.h.

mrpt::utils::CTimeLogger mrpt::nav::PlannerRRT_SE2_TPS::m_timelogger
protected

Definition at line 263 of file PlannerRRT_SE2_TPS.h.

TAlgorithmParams mrpt::nav::PlannerRRT_SE2_TPS::params

Parameters specific to this path solver algorithm.

Definition at line 124 of file PlannerRRT_SE2_TPS.h.




Page generated by Doxygen 1.8.9.1 for MRPT 1.3.2 SVN:Unversioned directory at Thu Dec 10 00:07:55 UTC 2015