Public Member Functions | Private Member Functions | Private Attributes | List of all members
multi_robot_router::BacktrackingResolution Class Reference

#include <backtracking_resolution.h>

Inheritance diagram for multi_robot_router::BacktrackingResolution:
Inheritance graph
[legend]

Public Member Functions

 BacktrackingResolution (uint32_t _timeoverlap)
 constructor More...
 
 BacktrackingResolution ()
 
const std::vector< uint32_t > & getRobotCollisions () const
 returns amount of robot collisions found in each resolve try after resetSession More...
 
void resetSession (const RouteCoordinatorWrapper *_route_querry, const PotentialCalculator *_pCalc, const uint32_t _robot_radius)
 resets the session (setting the new route querry and potential calculator) More...
 
std::vector< std::reference_wrapper< Vertex > > resolve (Vertex &_current, Vertex &_next, int32_t _collision)
 resolves a found collision between two robots. More...
 
void saveCollision (const uint32_t _coll)
 increases the collision count of one robot More...
 

Private Member Functions

void addCollision (const uint32_t robot)
 
void trackBack (Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential)
 

Private Attributes

bool avoidStartPredecessorDone_ = false
 
bool avoidStartSuccessorDone_ = false
 
std::vector< uint32_t > encounteredCollisions_
 
std::vector< std::reference_wrapper< Vertex > > foundSolutions_
 
std::vector< std::vector< std::unique_ptr< Vertex > > > generatedSubgraphs_
 
const PotentialCalculatorpCalc_
 
uint32_t resolutionAttemp_ = 0
 
uint32_t robotDiameter_
 
const RouteCoordinatorWrapperroute_querry_
 
uint32_t timeoverlap_
 

Detailed Description

Definition at line 38 of file backtracking_resolution.h.

Constructor & Destructor Documentation

multi_robot_router::BacktrackingResolution::BacktrackingResolution ( uint32_t  _timeoverlap)

constructor

Parameters
_timeoverlapthe timeoverlap used for assigning new vertices (e.g. Vertex _current form 0 to 10 + timeoverlap Vertex _nex from 10 - timeoverlap to 20 + timeoverlap)

Definition at line 35 of file backtracking_resolution.cpp.

multi_robot_router::BacktrackingResolution::BacktrackingResolution ( )

Definition at line 39 of file backtracking_resolution.cpp.

Member Function Documentation

void multi_robot_router::BacktrackingResolution::addCollision ( const uint32_t  robot)
private

Definition at line 55 of file backtracking_resolution.cpp.

const std::vector< uint32_t > & multi_robot_router::BacktrackingResolution::getRobotCollisions ( ) const
virtual

returns amount of robot collisions found in each resolve try after resetSession

Returns
a std::vector where the index is the robot index and the value the number of collisions with this robot

Implements multi_robot_router::CollisionResolution.

Definition at line 68 of file backtracking_resolution.cpp.

void multi_robot_router::BacktrackingResolution::resetSession ( const RouteCoordinatorWrapper _route_querry,
const PotentialCalculator _pCalc,
const uint32_t  _robot_radius 
)
virtual

resets the session (setting the new route querry and potential calculator)

Parameters
_route_querrythe route coordinator to coordinate paths
_pCalcthe potential calculator for assigning potential to expanded Vertices
_robot_radiusthe radius of the current robot

Implements multi_robot_router::CollisionResolution.

Definition at line 43 of file backtracking_resolution.cpp.

std::vector< std::reference_wrapper< Vertex > > multi_robot_router::BacktrackingResolution::resolve ( Vertex _current,
Vertex _next,
int32_t  _collision 
)
virtual

resolves a found collision between two robots.

Parameters
_currentthe last expanded vertex
_nextthe vertex to expand to
_collisionthe index of the colliding robot
Returns
a vector of references to Vertices where the Potential Expander can continue expanding

Implements multi_robot_router::CollisionResolution.

Definition at line 73 of file backtracking_resolution.cpp.

void multi_robot_router::BacktrackingResolution::saveCollision ( const uint32_t  _coll)
virtual

increases the collision count of one robot

Parameters
_collthe robot elected for increasing its collisions

Implements multi_robot_router::CollisionResolution.

Definition at line 63 of file backtracking_resolution.cpp.

void multi_robot_router::BacktrackingResolution::trackBack ( Vertex _current,
Vertex _next,
const int32_t  _collision,
const float  _freePotential 
)
private

Definition at line 95 of file backtracking_resolution.cpp.

Member Data Documentation

bool multi_robot_router::BacktrackingResolution::avoidStartPredecessorDone_ = false
private

Definition at line 91 of file backtracking_resolution.h.

bool multi_robot_router::BacktrackingResolution::avoidStartSuccessorDone_ = false
private

Definition at line 90 of file backtracking_resolution.h.

std::vector<uint32_t> multi_robot_router::BacktrackingResolution::encounteredCollisions_
private

Definition at line 88 of file backtracking_resolution.h.

std::vector<std::reference_wrapper<Vertex> > multi_robot_router::BacktrackingResolution::foundSolutions_
private

Definition at line 87 of file backtracking_resolution.h.

std::vector<std::vector<std::unique_ptr<Vertex> > > multi_robot_router::BacktrackingResolution::generatedSubgraphs_
private

Definition at line 86 of file backtracking_resolution.h.

const PotentialCalculator* multi_robot_router::BacktrackingResolution::pCalc_
private

Definition at line 82 of file backtracking_resolution.h.

uint32_t multi_robot_router::BacktrackingResolution::resolutionAttemp_ = 0
private

Definition at line 89 of file backtracking_resolution.h.

uint32_t multi_robot_router::BacktrackingResolution::robotDiameter_
private

Definition at line 84 of file backtracking_resolution.h.

const RouteCoordinatorWrapper* multi_robot_router::BacktrackingResolution::route_querry_
private

Definition at line 81 of file backtracking_resolution.h.

uint32_t multi_robot_router::BacktrackingResolution::timeoverlap_
private

Definition at line 83 of file backtracking_resolution.h.


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


tuw_multi_robot_router
Author(s): Benjamin Binder
autogenerated on Mon Jun 10 2019 15:42:49