ompl::geometric::PathSimplifier Class Reference

This class contains routines that attempt to simplify geometric paths. More...

#include <PathSimplifier.h>

List of all members.

Public Member Functions

void collapseCloseVertices (PathGeometric &path, unsigned int maxSteps=0, unsigned int maxEmptySteps=0)
 Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states that are close along the path. If the connection is successful, the path is shortened by removing the in-between states.
 PathSimplifier (const base::SpaceInformationPtr &si)
 Create an instance for a specified space information.
void reduceVertices (PathGeometric &path, unsigned int maxSteps=0, unsigned int maxEmptySteps=0, double rangeRatio=0.2)
 Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states along the path. If the connection is successful, the path is shortened by removing the in-between states.
virtual void simplifyMax (PathGeometric &path)
 Given a path, attempt to remove vertices from it while keeping the path valid. Then, try to smooth the path.
void smoothBSpline (PathGeometric &path, unsigned int maxSteps=5, double minChange=std::numeric_limits< double >::epsilon())
 Given a path, attempt to smooth it (the validity of the path is maintained).
virtual ~PathSimplifier (void)

Protected Attributes

msg::Interface msg_
 Interface for console output.
RNG rng_
 Instance of random number generator.
base::SpaceInformationPtr si_
 The space information this path simplifier uses.

Detailed Description

This class contains routines that attempt to simplify geometric paths.

These are in fact routines that shorten the path, and do not necessarily make it smoother.

Definition at line 63 of file PathSimplifier.h.


Constructor & Destructor Documentation

ompl::geometric::PathSimplifier::PathSimplifier ( const base::SpaceInformationPtr si  )  [inline]

Create an instance for a specified space information.

Definition at line 68 of file PathSimplifier.h.

virtual ompl::geometric::PathSimplifier::~PathSimplifier ( void   )  [inline, virtual]

Definition at line 72 of file PathSimplifier.h.


Member Function Documentation

void ompl::geometric::PathSimplifier::collapseCloseVertices ( PathGeometric path,
unsigned int  maxSteps = 0,
unsigned int  maxEmptySteps = 0 
)

Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states that are close along the path. If the connection is successful, the path is shortened by removing the in-between states.

Parameters:
path the path to reduce vertices from
maxSteps the maximum number of attempts to "short-cut" the path. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in path. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in path.
maxEmptySteps not all iterations of this function produce a simplification. If an iteration does not produce a simplification, it is called an empty step. maxEmptySteps denotes the maximum number of consecutive empty steps before the simplification process terminates.
void ompl::geometric::PathSimplifier::reduceVertices ( PathGeometric path,
unsigned int  maxSteps = 0,
unsigned int  maxEmptySteps = 0,
double  rangeRatio = 0.2 
)

Given a path, attempt to remove vertices from it while keeping the path valid. This is an iterative process that attempts to do "short-cutting" on the path. Connection is attempted between non-consecutive states along the path. If the connection is successful, the path is shortened by removing the in-between states.

Parameters:
path the path to reduce vertices from
maxSteps the maximum number of attempts to "short-cut" the path. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in path.
maxEmptySteps not all iterations of this function produce a simplification. If an iteration does not produce a simplification, it is called an empty step. maxEmptySteps denotes the maximum number of consecutive empty steps before the simplification process terminates. If this value is set to 0 (the default), the number of attempts made is equal to the number of states in path.
rangeRatio the maximum distance between states a connection is attempted, as a fraction relative to the total number of states (between 0 and 1).
virtual void ompl::geometric::PathSimplifier::simplifyMax ( PathGeometric path  )  [virtual]

Given a path, attempt to remove vertices from it while keeping the path valid. Then, try to smooth the path.

void ompl::geometric::PathSimplifier::smoothBSpline ( PathGeometric path,
unsigned int  maxSteps = 5,
double  minChange = std::numeric_limits< double >::epsilon() 
)

Given a path, attempt to smooth it (the validity of the path is maintained).

This function applies maxSteps steps of smoothing with B-Splines. Fewer steps are applied if no progress is detected: states are either not updated or their update is smaller than minChange. At each step the path is subdivided and states along it are updated such that the smoothness is improved.

Note:
This function may significantly increase the number of states along the solution path.

Member Data Documentation

Interface for console output.

Definition at line 161 of file PathSimplifier.h.

Instance of random number generator.

Definition at line 158 of file PathSimplifier.h.

The space information this path simplifier uses.

Definition at line 155 of file PathSimplifier.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


ompl
Author(s): Ioan Sucan/isucan@rice.edu, Mark Moll/mmoll@rice.edu, Lydia Kavraki/kavraki@rice.edu
autogenerated on Fri Jan 11 09:34:03 2013