smp::extender_single_integrator< typeparams, NUM_DIMENSIONS > Class Template Reference

Extender function with single integrator dynamics. More...

#include <single_integrator.h>

Inheritance diagram for smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >:
smp::extender_base< typeparams >

List of all members.

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.

Detailed Description

template<class typeparams, int NUM_DIMENSIONS>
class smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >

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.

Examples:

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.


Member Function Documentation

template<class typeparams , int NUM_DIMENSIONS>
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.

Parameters:
edge_inA pointer to deleted edge.
Returns:
Return 1 for success, a non-positive value to indiacate error.

Implements smp::extender_base< typeparams >.

template<class typeparams , int NUM_DIMENSIONS>
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.

Parameters:
vertex_inA pointer to deleted vertex.
Returns:
Return 1 if success, a non-positive value to indiacate error.

Implements smp::extender_base< typeparams >.

template<class typeparams , int NUM_DIMENSIONS>
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.

Parameters:
edge_inA pointer to the new edge.
Returns:
Return 1 for success, a non-positive value to indiacate error.

Implements smp::extender_base< typeparams >.

template<class typeparams , int NUM_DIMENSIONS>
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.

Parameters:
vertex_inA pointer to the new vertex.
Returns:
Return 1 if success, a non-positive value to indiacate error.

Implements smp::extender_base< typeparams >.

template<class typeparams , int NUM_DIMENSIONS>
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.

Parameters:
state_from_inThe state that the new trajectory starts from.
state_towards_inThe state that the new trajectory is shooted towards.
exact_connection_outSet to one if the connection is exact, otherwise this variable is set to zero by this function.
trajectory_outThe output variable that contians the resulting trajectory.
intermediate_vertices_outThe list of states that will be individual vertices.
Returns:
Returns 1 for success, a non-positive number to indicate error.

Implements smp::extender_base< typeparams >.

template<class typeparams , int NUM_DIMENSIONS>
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.

Parameters:
max_length_inMaximum length of a trajectory.
Returns:
Returns 1 for success, and a non-positive number to indicate error.

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