Extender function with single integrator dynamics. More...
#include <single_integrator.h>
Public Member Functions | |
int | ex_update_insert_vertex (vertex_t *vertex_in) |
Update function for vertex insertion. | |
int | ex_update_insert_edge (edge_t *edge_in) |
Update function for edge insertion. | |
int | ex_update_delete_vertex (vertex_t *vertex_in) |
Update function for vertex deletion. | |
int | ex_update_delete_edge (edge_t *edge_in) |
Update function for edge insertion. | |
int | extend (state_t *state_from_in, state_t *state_towards_in, int *exact_connection_out, trajectory_t *trajectory_out, list< state_t * > *intermediate_vertices_out) |
Abstract function that generates a trajectory connecting two given states. | |
int | set_max_length (double max_length_in) |
Sets the maximum length of the trajectory returned by the algorithm. |
Extender function with single integrator dynamics.
This class implements an extender with single integrator dynamics, which can be used for planning in configuration spaces. Note that the set_max_length method of the class of must be called, before any other method can be called. The number of dimensions of the state space is a template argument for the class.
libbot_rrg_single_integrator.cpp, libbot_rrg_single_integrator_mu_calculus.cpp, libbot_rrt_single_integrator.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_rrg_single_integrator.cpp, standalone_rrg_single_integrator_mu_calculus.cpp, standalone_rrt_single_integrator.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.
int smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >::ex_update_delete_edge | ( | edge_t * | edge_in | ) | [virtual] |
Update function for edge insertion.
This function is called by the planner whenever an edge is delete from the graph. A pointer to the edge is given as an argument.
edge_in | A pointer to deleted edge. |
Implements smp::extender_base< typeparams >.
int smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >::ex_update_delete_vertex | ( | vertex_t * | vertex_in | ) | [virtual] |
Update function for vertex deletion.
This function is called by the planner whenever a vertex is deleted from the graph. A pointer to the vertex is given as an argument.
vertex_in | A pointer to deleted vertex. |
Implements smp::extender_base< typeparams >.
int smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >::ex_update_insert_edge | ( | edge_t * | edge_in | ) | [virtual] |
Update function for edge insertion.
This function is called by the planner whenever a new edge is added to the graph. A pointer to the new edge is given as an argument.
edge_in | A pointer to the new edge. |
Implements smp::extender_base< typeparams >.
int smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >::ex_update_insert_vertex | ( | vertex_t * | vertex_in | ) | [virtual] |
Update function for vertex insertion.
This function is called by the planner whenever a new vertex is added to the graph. A pointer to the new vertex is given as an argument.
vertex_in | A pointer to the new vertex. |
Implements smp::extender_base< typeparams >.
int smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >::extend | ( | state_t * | state_from_in, |
state_t * | state_towards_in, | ||
int * | exact_connection_out, | ||
trajectory_t * | trajectory_out, | ||
list< state_t * > * | intermediate_vertices_out | ||
) | [virtual] |
Abstract function that generates a trajectory connecting two given states.
Generates a trajectory, returned in the trajectory_out argument, that connects two given states, provided with the state_from_in and state_towards_in arguments. If the connection is exact, i.e., the trajectory reaches state_towards_in exactly, then the output variable exact_connection_out is set to one. If, on the other hand, the connection is approximate, then the same variable is set to zero.
state_from_in | The state that the new trajectory starts from. |
state_towards_in | The state that the new trajectory is shooted towards. |
exact_connection_out | Set to one if the connection is exact, otherwise this variable is set to zero by this function. |
trajectory_out | The output variable that contians the resulting trajectory. |
intermediate_vertices_out | The list of states that will be individual vertices. |
Implements smp::extender_base< typeparams >.
int smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >::set_max_length | ( | double | max_length_in | ) |
Sets the maximum length of the trajectory returned by the algorithm.
This method sets the length of the longest trajectory returned by the algorithm. If the trajectory connecting two given states is longer than the value specified by the argument of this function then the only the maximum-length prefix of this trajectory is returned. By default, the max_length paramter is set to 1.0.
max_length_in | Maximum length of a trajectory. |