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

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)


_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)

Definition at line 55 of file backtracking_resolution.cpp.

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

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

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 

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

_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 

resolves a found collision between two robots.

_currentthe last expanded vertex
_nextthe vertex to expand to
_collisionthe index of the colliding robot
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)

increases the collision count of one robot

_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 

Definition at line 95 of file backtracking_resolution.cpp.

Member Data Documentation

bool multi_robot_router::BacktrackingResolution::avoidStartPredecessorDone_ = false

Definition at line 91 of file backtracking_resolution.h.

bool multi_robot_router::BacktrackingResolution::avoidStartSuccessorDone_ = false

Definition at line 90 of file backtracking_resolution.h.

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

Definition at line 88 of file backtracking_resolution.h.

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

Definition at line 87 of file backtracking_resolution.h.

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

Definition at line 86 of file backtracking_resolution.h.

const PotentialCalculator* multi_robot_router::BacktrackingResolution::pCalc_

Definition at line 82 of file backtracking_resolution.h.

uint32_t multi_robot_router::BacktrackingResolution::resolutionAttemp_ = 0

Definition at line 89 of file backtracking_resolution.h.

uint32_t multi_robot_router::BacktrackingResolution::robotDiameter_

Definition at line 84 of file backtracking_resolution.h.

const RouteCoordinatorWrapper* multi_robot_router::BacktrackingResolution::route_querry_

Definition at line 81 of file backtracking_resolution.h.

uint32_t multi_robot_router::BacktrackingResolution::timeoverlap_

Definition at line 83 of file backtracking_resolution.h.

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

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