#include <avoidance_resolution.h>
|
void | addCollision (const uint32_t robot) |
|
void | avoid (Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential) |
|
void | avoidGoal (Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential) |
|
void | avoidStart (Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential) |
|
bool | expandSegment (const Vertex &cSeg, Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential) |
|
void | moveSegment (Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential) |
|
void | trackBack (Vertex &_current, Vertex &_next, const int32_t _collision, const float _freePotential) |
|
Definition at line 39 of file avoidance_resolution.h.
multi_robot_router::AvoidanceResolution::AvoidanceResolution |
( |
uint32_t |
_timeoverlap | ) |
|
constructor
- Parameters
-
_timeoverlap | the 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 avoidance_resolution.cpp.
multi_robot_router::AvoidanceResolution::AvoidanceResolution |
( |
| ) |
|
void multi_robot_router::AvoidanceResolution::addCollision |
( |
const uint32_t |
robot | ) |
|
|
private |
void multi_robot_router::AvoidanceResolution::avoid |
( |
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
const int32_t |
_collision, |
|
|
const float |
_freePotential |
|
) |
| |
|
private |
void multi_robot_router::AvoidanceResolution::avoidGoal |
( |
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
const int32_t |
_collision, |
|
|
const float |
_freePotential |
|
) |
| |
|
private |
void multi_robot_router::AvoidanceResolution::avoidStart |
( |
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
const int32_t |
_collision, |
|
|
const float |
_freePotential |
|
) |
| |
|
private |
bool multi_robot_router::AvoidanceResolution::expandSegment |
( |
const Vertex & |
cSeg, |
|
|
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
const int32_t |
_collision, |
|
|
const float |
_freePotential |
|
) |
| |
|
private |
const std::vector< uint32_t > & multi_robot_router::AvoidanceResolution::getRobotCollisions |
( |
| ) |
const |
|
virtual |
void multi_robot_router::AvoidanceResolution::moveSegment |
( |
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
const int32_t |
_collision, |
|
|
const float |
_freePotential |
|
) |
| |
|
private |
resets the session (setting the new route querry and potential calculator)
- Parameters
-
_route_querry | the route coordinator to coordinate paths |
_pCalc | the potential calculator for assigning potential to expanded Vertices |
_robot_radius | the radius of the current robot |
Implements multi_robot_router::CollisionResolution.
Definition at line 43 of file avoidance_resolution.cpp.
std::vector< std::reference_wrapper< Vertex > > multi_robot_router::AvoidanceResolution::resolve |
( |
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
int32_t |
_collision |
|
) |
| |
|
virtual |
resolves a found collision between two robots.
- Parameters
-
_current | the last expanded vertex |
_next | the vertex to expand to |
_collision | the 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 avoidance_resolution.cpp.
void multi_robot_router::AvoidanceResolution::saveCollision |
( |
const uint32_t |
_coll | ) |
|
|
virtual |
void multi_robot_router::AvoidanceResolution::trackBack |
( |
Vertex & |
_current, |
|
|
Vertex & |
_next, |
|
|
const int32_t |
_collision, |
|
|
const float |
_freePotential |
|
) |
| |
|
private |
bool multi_robot_router::AvoidanceResolution::avoidStartPredecessorDone_ = false |
|
private |
bool multi_robot_router::AvoidanceResolution::avoidStartSuccessorDone_ = false |
|
private |
std::vector<uint32_t> multi_robot_router::AvoidanceResolution::encounteredCollisions_ |
|
private |
std::vector<std::reference_wrapper<Vertex> > multi_robot_router::AvoidanceResolution::foundSolutions_ |
|
private |
std::vector<std::vector<std::unique_ptr<Vertex> > > multi_robot_router::AvoidanceResolution::generatedSubgraphs_ |
|
private |
std::queue<queueElement> multi_robot_router::AvoidanceResolution::queue_ |
|
private |
uint32_t multi_robot_router::AvoidanceResolution::resolutionAttemp_ = 0 |
|
private |
uint32_t multi_robot_router::AvoidanceResolution::robotDiameter_ |
|
private |
uint32_t multi_robot_router::AvoidanceResolution::timeoverlap_ |
|
private |
The documentation for this class was generated from the following files: