RobWorkProject  23.9.11-
Static Public Member Functions | Public Attributes | Friends | List of all members
SBLSetup Class Reference

Common parameters for SBL based planners. More...

#include <SBLSetup.hpp>

Static Public Member Functions

static SBLSetup make (rw::pathplanning::QConstraint::Ptr constraint, rw::pathplanning::QEdgeConstraintIncremental::Ptr edgeConstraint, rw::core::Ptr< SBLExpand > expansion, rw::math::QMetric::Ptr metric, double connectRadius)
 Constructor. More...
 
static SBLSetup make (rw::pathplanning::QConstraint::Ptr constraint, rw::pathplanning::QEdgeConstraintIncremental::Ptr edgeConstraint, rw::core::Ptr< rw::models::Device > device, double expandRadius=-1, double connectRadius=-1)
 Constructor. More...
 

Public Attributes

SBLOptions options
 Internal options to use.
 

Friends

class SBLInternal
 

Detailed Description

Common parameters for SBL based planners.

All versions of the SBL planner base verify configurations and paths in the configuration space using a PlannerConstraint object.

In addition, parameters can given to define how expansion around a node of the tree should be done and under what circumstances the two trees should be connected.

A SBLSetup object stores pointers to the shared objects, but can be copied and assigned freely.

Member Function Documentation

◆ make() [1/2]

static SBLSetup make ( rw::pathplanning::QConstraint::Ptr  constraint,
rw::pathplanning::QEdgeConstraintIncremental::Ptr  edgeConstraint,
rw::core::Ptr< rw::models::Device device,
double  expandRadius = -1,
double  connectRadius = -1 
)
static

Constructor.

Simple default expansion and tree connection strategies are chosed based on the device for which the planning is done.

The planner expands uniformly at random with a maximum stepsize of expandRadius relative to the diameter of the configuration space. The step size and the diameter is measured by the infinity metric.

The planner connect a newly created node to the nearest node of the other tree if the distance to the other node (measured by the infinity metric and relative to the diameter of the configuration space) is less than connectRadius.

If expandRadius or connectRadius is negative, a default value is chosen.

Parameters
constraint[in] Planning constraint.
edgeConstraint[in] Planning constraint for edges.
device[in] Device for which planning is done.
expandRadius[in] Node expansion radius.
connectRadius[in] Neighbor connection radius.

◆ make() [2/2]

static SBLSetup make ( rw::pathplanning::QConstraint::Ptr  constraint,
rw::pathplanning::QEdgeConstraintIncremental::Ptr  edgeConstraint,
rw::core::Ptr< SBLExpand expansion,
rw::math::QMetric::Ptr  metric,
double  connectRadius 
)
static

Constructor.

The SBL planner for this setup performs brute force search for the nearest neighbor of the other tree, and attempts to connect the trees if the distance to the neighbor is below a given threshold.

Parameters
constraint[in] Planning constraint.
edgeConstraint[in] Planning constraint for edges.
expansion[in] Expansion strategy for insertion of new nodes. The nodes returned by the expansion strategy must be collision free or empty. If an empty configuration is returned, the planner tries to expand somewhere else.
metric[in] Distance metric for nearest neighbor searching.
connectRadius[in] Attempt connection of the trees if the distance to the nearest neighbor is below this threshold.

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