Main MRPT website > C++ reference for MRPT 1.4.0
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:
// 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...
TP Space-based RRT path planning for SE(2) (planar) robots.
void initialize()
Must be called after setting all params (see loadConfig()) and before calling solve()
void solve(const TPlannerInput &pi, TPlannerResult &result)
The main API entry point: tries to find a planned path from 'goal' to 'target'.
Lightweight 2D point.
Lightweight 2D pose.
mrpt::math::TPose2D world_bbox_max
Bounding box of the world, used to draw uniform random pose samples.
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.
 

Public Member Functions

 PlannerRRT_SE2_TPS ()
 Constructor.
 
void loadConfig (const mrpt::utils::CConfigFileBase &cfgSource, const std::string &sSectionName=std::string("PTG_CONFIG"))
 Load all params from a config file source.
 
void initialize ()
 Must be called after setting all params (see loadConfig()) and before calling solve()
 
void solve (const TPlannerInput &pi, TPlannerResult &result)
 The main API entry point: tries to find a planned path from 'goal' to 'target'.
 
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.
 

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

◆ node_pose_t

The type of poses at nodes.

Definition at line 72 of file PlannerRRT_SE2_TPS.h.

Constructor & Destructor Documentation

◆ PlannerRRT_SE2_TPS()

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

Constructor.

Member Function Documentation

◆ getProfiler()

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

Definition at line 261 of file PlannerRRT_SE2_TPS.h.

◆ getPTGs()

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

Definition at line 262 of file PlannerRRT_SE2_TPS.h.

◆ initialize()

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

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

◆ loadConfig()

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.

◆ renderMoveTree()

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

◆ setRenderTreeVisualization()

void mrpt::nav::PlannerRRT_SE2_TPS::setRenderTreeVisualization ( )

◆ solve()

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'.

◆ spaceTransformer()

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

◆ transformPointcloudWithSquareClipping()

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

◆ end_criteria

TEndCriteria mrpt::nav::PlannerRRT_SE2_TPS::end_criteria

Definition at line 90 of file PlannerRRT_SE2_TPS.h.

◆ m_initialized

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

Definition at line 266 of file PlannerRRT_SE2_TPS.h.

◆ m_local_obs

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

Definition at line 268 of file PlannerRRT_SE2_TPS.h.

◆ m_PTGs

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

Definition at line 267 of file PlannerRRT_SE2_TPS.h.

◆ m_timelogger

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

Definition at line 265 of file PlannerRRT_SE2_TPS.h.

◆ params

TAlgorithmParams mrpt::nav::PlannerRRT_SE2_TPS::params

Parameters specific to this path solver algorithm.

Definition at line 126 of file PlannerRRT_SE2_TPS.h.




Page generated by Doxygen 1.9.7 for MRPT 1.4.0 SVN: at Tue Jun 13 13:45:58 UTC 2023