Parameters for the RRG and the RRT* algorithms. More...
#include <planner_parameters.h>
Public Member Functions | |
Algorithm parameter handlers | |
int | set_phase (int phase_in) |
Sets the phase parameter of the algorithm. | |
int | get_phase () |
Returns the current phase parameter of the algorithm. | |
int | set_gamma (double gamma_in) |
Sets the gamma parameter used in the Near node computation of the algorithm. | |
double | get_gamma () |
Returns the current gamma number of the algorithm. | |
int | set_dimension (int dimension_in) |
Sets the dimension parameter used in the Near node computation of the algorithm. | |
int | get_dimension () |
Returns the current dimension parameter of the algorithm. | |
int | set_max_radius (double max_radius_in) |
Sets the maximum radius used in the Near node computation of the algorithm. | |
double | get_max_radius () |
Returns the current maximum radius parameter of the algorithm. | |
int | set_fixed_radius (double fixed_radius_in) |
Sets (or resets) the use of fixed radius parameter, and sets the fixed radius parameter to the value given by the argument. | |
void | reset_fixed_radius () |
Resets the use of fixed radius parameter. | |
double | get_fixed_radius () |
Returns the current radius parameter of the algorithm. |
Parameters for the RRG and the RRT* algorithms.
The RRG and RRT* algorithms share a certain set of common parameters, which can be handled using this class. The class provides user functions for easy and correct handling of the parameters.
int smp::planner_parameters::get_dimension | ( | ) | [inline] |
Returns the current dimension parameter of the algorithm.
This function returns the current dimension parameter of the algorithm. For a detailed explanation of the dimension parameter, see the documentation for the rrtstar<typeparams>::set_dimension function.
double smp::planner_parameters::get_fixed_radius | ( | ) | [inline] |
Returns the current radius parameter of the algorithm.
This function returns the current fixed_radius parameter of the algorithm. If the algorithm is not using the fixed radius parameter, but instead is computing the radius of the ball itself, then this function call will return the value -1.0.
double smp::planner_parameters::get_gamma | ( | ) | [inline] |
Returns the current gamma number of the algorithm.
This function returns the current value of the gamma parameter of the algorithm. For a detailed explanation of the gamma number, see the documentation for the rrtstar<typeparams>::set_gamma function.
double smp::planner_parameters::get_max_radius | ( | ) | [inline] |
Returns the current maximum radius parameter of the algorithm.
This function returns the current maximum radius parameter of the algorithm. For a detailed explanation of the maximum radius parameter, see the documentation for the rrtstar<typeparams>::set_max_radius function.
int smp::planner_parameters::get_phase | ( | ) | [inline] |
Returns the current phase parameter of the algorithm.
This function returns the current phase parameter of the algorithm. For a detailed explanation of the phase parameter, see the documentation for the rrtstar<typeparams>::set_phase function.
void smp::planner_parameters::reset_fixed_radius | ( | ) | [inline] |
Resets the use of fixed radius parameter.
The fixed radius feature provided by this class is explained in the documentation of the rrtstar<typeparams>::set_radius function, which can disable this feature when called with a non-positive argument. This function provides a direct call for this purpose.
int smp::planner_parameters::set_dimension | ( | int | dimension_in | ) |
Sets the dimension parameter used in the Near node computation of the algorithm.
The dimension parameter is the dimensionality of the Euclidean space that the states of the system lie in. The calculation of the volume of the ball that is used in computation of the near nodes requires the knowledge of the dimensionality of the Euclidean space that the vertices lie in.
dimension_in | The new dimensionality parameter. |
int smp::planner_parameters::set_fixed_radius | ( | double | fixed_radius_in | ) |
Sets (or resets) the use of fixed radius parameter, and sets the fixed radius parameter to the value given by the argument.
The computation of the near nodes is carried out by computing the set of all nodes within a certain radius. In certain applications, the user may want to preset this parameter to some value. This parameter can be fixed over the iterations or it can be modified (by the user) before each iteration. This function will set the radius to a fixed value given as an argument. Whenever this function is called with an argument that is a positive real number, the RRT* algorithm will fix the size of the ball to that particular value. If the function is called with a non-positive argument, then the radius of the ball is computed by the RRT* algorithm itself according to the scaling rule provided in the paper (Karaman and Frazzoli, IJRR'11).
fixed_radius_in | The new fixed radius parameter, if the argument is positive. Disables the fixed radius feature, otherwise. |
int smp::planner_parameters::set_gamma | ( | double | gamma_in | ) |
Sets the gamma parameter used in the Near node computation of the algorithm.
The gamma parameter is a fixed number that can be computed from environment variables. The exact value of gamma for a given environment is given in the paper (Karaman and Frazzoli, IJRR'11). This function directly takes the computed number and uses in the computation of the near nodes.
gamma_in | The new gamma number. |
int smp::planner_parameters::set_max_radius | ( | double | max_radius_in | ) |
Sets the maximum radius used in the Near node computation of the algorithm.
Computation of the near nodes is carried out by considering all the nodes that lie within a ball of certain radius, an upper bound for which is set using this function. This upper bound can be used for practical purposes, e.g., when the extension function returns trajectories that have length bounded by a certain number.
max_radius_in | The new dimensionality parameter. |
int smp::planner_parameters::set_phase | ( | int | phase_in | ) |
Sets the phase parameter of the algorithm.
The RRT* phase parameter tells the algorithm exactly which phases it should execute. Possible values are 0, 1, and 2. If the phase parameter is set to 0, then the RRT* will behave exactly like an RRT. If the phase parameter is set to 1, then the RRT* will find the minimum-cost parent for the newly added vertex in additition to the steps performed in phase 1. If the phase parameter is set to 2, then the RRT* will perform the rewiring operation as well in addition to the operations performed in phase 1. By default, the phase parameter is set to 2.
phase_in | The new phase parameter. |