RobWorkProject  23.9.11-
Public Types | Public Member Functions | Static Public Member Functions | List of all members
RRTPlanner Class Reference

RRT based planners. More...

#include <RRTPlanner.hpp>

Public Types

enum  PlannerType { RRTBasic , RRTConnect , RRTBidirectional , RRTBalancedBidirectional }
 The type of RRT planner to construct. More...
 
typedef rw::core::Ptr< RRTPlannerPtr
 Smart pointer type for a RRTPlanner.
 
typedef rw::core::Ptr< const RRTPlannerCPtr
 Smart pointer type for a const RRTPlanner.
 

Public Member Functions

 RRTPlanner (const RRTPlanner &)=delete
 
RRTPlanneroperator= (const RRTPlanner &)=delete
 

Static Public Member Functions

static rw::pathplanning::QToQPlanner::Ptr makeQToQPlanner (const rw::pathplanning::PlannerConstraint &constraint, const rw::core::Ptr< rw::pathplanning::QSampler > &sampler, const rw::math::QMetric::CPtr &metric, double extend, PlannerType type=RRTBalancedBidirectional)
 RRT based point-to-point planner. More...
 
static rw::pathplanning::QToQPlanner::Ptr makeQToQPlanner (const rw::pathplanning::PlannerConstraint &constraint, const rw::core::Ptr< rw::models::Device > &device, PlannerType type=RRTBalancedBidirectional)
 RRT based point-to-point planner. More...
 

Detailed Description

RRT based planners.

Member Enumeration Documentation

◆ PlannerType

The type of RRT planner to construct.

Enumerator
RRTBasic 

Simple non-greedy, bidirectional RRT.

See BasicPlanner(), page 109 of James J. Kuffner, "Autonomous Agensts for Real-Time Animation", 1999.

RRTConnect 

RRT-Connect planner.

See James J. Kuffner and Steven M. LaValle, "RRT-Connect: An Efficient Approach to Single-Query Path Planning", ICRA, 2000.

RRTBidirectional 

Bidirectional RRT.

The algorithm of the planner is in the style of RDT_BALANCED_BIDIRECTIONAL(), page 195 of Steven M. Lavalle, "Planning Algorithms", 2006, except this planner is the non-balanced version.

RRTBalancedBidirectional 

Balanced, bidirectional RRT.

The algorithm of the planner is in the style of RDT_BALANCED_BIDIRECTIONAL(), page 195 of Steven M. Lavalle, "Planning Algorithms", 2006.

Member Function Documentation

◆ makeQToQPlanner() [1/2]

static rw::pathplanning::QToQPlanner::Ptr makeQToQPlanner ( const rw::pathplanning::PlannerConstraint constraint,
const rw::core::Ptr< rw::models::Device > &  device,
PlannerType  type = RRTBalancedBidirectional 
)
static

RRT based point-to-point planner.

Default configuration space sampling strategy (rw::pathplanning::QSampler) and distance metrics (rw:math::QMetric) are chosen based on device.

Parameters
constraint[in] Constraint for configurations and edges.
device[in] Device for which the path is planned.
type[in] The particular variation the RRT planner algorithm.

◆ makeQToQPlanner() [2/2]

static rw::pathplanning::QToQPlanner::Ptr makeQToQPlanner ( const rw::pathplanning::PlannerConstraint constraint,
const rw::core::Ptr< rw::pathplanning::QSampler > &  sampler,
const rw::math::QMetric::CPtr metric,
double  extend,
PlannerType  type = RRTBalancedBidirectional 
)
static

RRT based point-to-point planner.

Parameters
constraint[in] Constraint for configurations and edges.
sampler[in] Sampler of the configuration space.
metric[in] Metric for nearest neighbor search.
extend[in] Distance measured by metric by which to extend the tree towards an attractor configuration.
type[in] The particular variation the RRT planner algorithm.

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