RRT* algorithm. More...
#include <rrtstar.h>
Public Member Functions | |
rrtstar (sampler_t &sampler_in, distance_evaluator_t &distance_evaluator_in, extender_t &extender_in, collision_checker_t &collision_checker_in, model_checker_t &model_checker_in, cost_evaluator_t &cost_evaluator_in) | |
A constructor that initializes all components. | |
int | initialize (state_t *initial_state_in=0) |
A function call to initialize the incremental sampling-based planner. | |
double | get_ball_radius_last () |
Returns the radius of the ball that the connections are sought within. | |
int | iteration () |
Initiate one iteration of the RRT* algorithm. | |
Component initializer functions | |
int | init_cost_evaluator (cost_evaluator_t &cost_evaluator_in) |
Initializes the cost evaluator component. | |
Public Attributes | |
parameters_t | parameters |
Algorithm parameters. | |
Protected Member Functions | |
int | propagate_cost (vertex_t *vertex_in, double total_cost_new) |
A function call the propagate the new cost down the edges of the tree structure. | |
Protected Attributes | |
Components | |
cost_evaluator_t & | cost_evaluator |
A pointer to the cost evaluator component. |
RRT* algorithm.
Provides an implementation of the RRT* algorithm. Inherits from the generic incremental sampling-based motion planner, overriding the iteration function.
libbot_rrtstar_double_integrator.cpp, libbot_rrtstar_dubins_car.cpp, libbot_rrtstar_dubins_double_integrator_airplane.cpp, libbot_rrtstar_single_integrator.cpp, libbot_rrtstar_single_integrator_halton.cpp, libbot_rrtstar_single_integrator_trajectory_biasing.cpp, libbot_rrtstar_single_integrator_trajectory_biasing_and_bnb.cpp, standalone_rrtstar_double_integrator.cpp, standalone_rrtstar_dubins_car.cpp, standalone_rrtstar_dubins_double_integrator_airplane.cpp, standalone_rrtstar_single_integrator.cpp, standalone_rrtstar_single_integrator_halton.cpp, standalone_rrtstar_single_integrator_trajectory_biasing.cpp, and standalone_rrtstar_single_integrator_trajectory_biasing_and_bnb.cpp.
smp::rrtstar< typeparams >::rrtstar | ( | sampler_t & | sampler_in, |
distance_evaluator_t & | distance_evaluator_in, | ||
extender_t & | extender_in, | ||
collision_checker_t & | collision_checker_in, | ||
model_checker_t & | model_checker_in, | ||
cost_evaluator_t & | cost_evaluator_in | ||
) |
A constructor that initializes all components.
This is the recommended constructor that initializes all components all at once. It calls the corresponding constructor of the base class planner_incremental<typeparams> with its first five arguments. The last argument, i.e., cost_evaluator_in, is the new cost evaluator component, a reference to which is stored in this class (not the base class planner_incremental<typeparams>).
sampler_in | New sampler component. |
distance_evaluator_in | New distance evaluator component. |
extender_in | New extension function component. |
collision_checker_in | New collision checker component. |
model_checker_in | New model checker component. |
cost_evaluator_in | New cost evaluator component. |
double smp::rrtstar< typeparams >::get_ball_radius_last | ( | ) | [inline] |
Returns the radius of the ball that the connections are sought within.
int smp::rrtstar< typeparams >::init_cost_evaluator | ( | cost_evaluator_t & | cost_evaluator_in | ) |
Initializes the cost evaluator component.
cost_evaluator_in | The cost evalutor component. |
int smp::rrtstar< typeparams >::initialize | ( | state_t * | initial_state_in = 0 | ) |
A function call to initialize the incremental sampling-based planner.
First it calls the planner_incremental::itinialize function, which deletes the current graph stored by the planner, and If the initial_state_in argument is non-NULL, creates a new vertex that with the state stored in the initial_state_in argument. x *
initial_state_in | The state that the root_vertex will include. If this argument is NULL, then no root vertex is created (But, the graph stored in the planner is deleted. |
Reimplemented from smp::planner_incremental< typeparams >.
int smp::rrtstar< typeparams >::iteration | ( | ) | [virtual] |
Initiate one iteration of the RRT* algorithm.
Runs one iteration of the RRT* algorithm which includes the following steps:
Implements smp::planner_incremental< typeparams >.
int smp::rrtstar< typeparams >::propagate_cost | ( | vertex_t * | vertex_in, |
double | total_cost_new | ||
) | [protected] |
A function call the propagate the new cost down the edges of the tree structure.
Modifies the cost of the vertex stored in the vertex_in argument to the cost stored in the total_cost_new argument. And propagates the new cost along the outgoing edges of vertex_in.
vertex_in | The vertex the cost of which will be modified. |
total_cost_new | The new cost of the vertex_in variable. |
cost_evaluator_t& smp::rrtstar< typeparams >::cost_evaluator [protected] |
A pointer to the cost evaluator component.
The cost evaluator component evaluates the cost of a given trajectory.
parameters_t smp::rrtstar< typeparams >::parameters |
Algorithm parameters.
This class stores the parameters used by the algorithm. These parameters can be modified by the user using the methods provided by the class planner_parameters.