smp::extender_dubins_double_integrator< typeparams > Class Template Reference

Extender function with dubins double integrator airplane dynamics. More...

#include <dubins_double_integrator.h>

Inheritance diagram for smp::extender_dubins_double_integrator< typeparams >:
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.

Detailed Description

template<class typeparams>
class smp::extender_dubins_double_integrator< typeparams >

Extender function with dubins double integrator airplane dynamics.

This class implements an extender with a combined dubins car and double integrator dynamics.

Examples:

libbot_rrg_dubins_double_integrator_airplane.cpp, libbot_rrt_dubins_double_integrator_airplane.cpp, libbot_rrtstar_dubins_double_integrator_airplane.cpp, standalone_rrg_dubins_double_integrator_airplane.cpp, standalone_rrt_dubins_double_integrator_airplane.cpp, and standalone_rrtstar_dubins_double_integrator_airplane.cpp.


Member Function Documentation

template<class typeparams >
int smp::extender_dubins_double_integrator< typeparams >::ex_update_delete_edge ( edge_t edge_in) [inline, 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 smp::extender_dubins_double_integrator< typeparams >::ex_update_delete_vertex ( vertex_t vertex_in) [inline, 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 smp::extender_dubins_double_integrator< typeparams >::ex_update_insert_edge ( edge_t edge_in) [inline, 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 smp::extender_dubins_double_integrator< typeparams >::ex_update_insert_vertex ( vertex_t vertex_in) [inline, 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 smp::extender_dubins_double_integrator< typeparams >::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 >.


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