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

Branch and bound with the Euclidean distance admissible heuristic (not considering obstacles). More...

#include <branch_and_bound_euclidean.h>

Inheritance diagram for smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >:
smp::branch_and_bound_base< typeparams >

List of all members.

Public Member Functions

int run_branch_and_bound ()
 Runs the branch and bound algorithm.
int set_goal_region (region_t region_goal_in)
 Sets the goal region to which the Euclidean distance will be computed.
int set_root_vertex (vertex_t *root_vertex_in)
 Sets the root vertex of the planner.

Detailed Description

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

Branch and bound with the Euclidean distance admissible heuristic (not considering obstacles).

Currently, the heuristic is not computing the exact distance. The current heuristic is not even admissible. It should be employed with care.

Examples:

libbot_rrtstar_single_integrator_trajectory_biasing_and_bnb.cpp, and standalone_rrtstar_single_integrator_trajectory_biasing_and_bnb.cpp.


Member Function Documentation

template<class typeparams , int NUM_DIMENSIONS>
int smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >::run_branch_and_bound ( ) [virtual]

Runs the branch and bound algorithm.

Once this function is called, the branch and bound algorithm goes through all the vertices in the graph and deletes those that can not lead to (or unlikely to lead to) an optimal solution.

Returns:
Returns 1 for success, and a non-positive value to indicate failure.

Implements smp::branch_and_bound_base< typeparams >.

template<class typeparams , int NUM_DIMENSIONS>
int smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >::set_goal_region ( region_t  region_goal_in)

Sets the goal region to which the Euclidean distance will be computed.

The branch and bound with the Euclidean distance heuristic considers the Euclidean distance neglegting the obstacles. It is assumed that the goal region is a box, which can be set or modified using this function.

Parameters:
region_goal_inNew goal region.
Returns:
Returns 1 for success, and a non-positive value to indicate error.
template<class typeparams , int NUM_DIMENSIONS>
int smp::branch_and_bound_euclidean< typeparams, NUM_DIMENSIONS >::set_root_vertex ( vertex_t root_vertex_in)

Sets the root vertex of the planner.

This function can be used to provide the heuristic with the knowledge of the root vertex. Since the heuristic is not admissible, it has the danger of deleting the root vertex, which can be avoided if a pointer to the root vertex is provided to the heuristic using this function.

Parameters:
root_vertex_inA pointer to the root vertex of the incremental planner.
Returns:
Returns 1 for success, and a non-positive value to indicate error.

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