Public Member Functions | List of all members
multi_robot_router::RouteCoordinator Class Referenceabstract

#include <route_coordinator.h>

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

Public Member Functions

virtual bool addRoute (const std::vector< RouteVertex > &_path, const uint32_t _diameterPixel, const uint32_t _robotId)=0
 checks if a robot can enter a segment at a specific time More...
 
virtual bool checkSegment (const Vertex &_next, const uint32_t _startTime, const int32_t _endTime, const uint32_t _diameterPixel, int32_t &_collisionRobot, const uint32_t _robotId, bool _ignoreGoal=false) const =0
 updates the goal segments of the planning attempt More...
 
virtual int32_t findPotentialUntilRobotOnSegment (const uint32_t _robot, const uint32_t _segId) const =0
 returns the time point, when a robot leaves a vertex More...
 
virtual int32_t findSegNr (const uint32_t _robot, const uint32_t _potential) const =0
 returns the segment id at which the robot is at timepoint _potential More...
 
virtual const uint32_t getEnd (const uint32_t _robotId) const =0
 returns the Goal of a robot More...
 
virtual std::vector< std::pair< uint32_t, float > > getListOfRobotsHigherPrioritizedRobots (const uint32_t _robot, const uint32_t _segId, const int32_t _potential) const =0
 returns all robots which pass the segment before the given robot and a given time More...
 
virtual const uint32_t getStart (const uint32_t _robotId) const =0
 returns the start of a robot More...
 
virtual bool isGoal (const Vertex &_seg, const uint32_t _robotId) const =0
 returns if a Vertex is the goal vertex for a robot More...
 
virtual void removeRobot (const uint32_t _robot)=0
 removes a Robot from the Routing Table More...
 
virtual void reset (const std::vector< Segment > &_graph, const uint32_t _nrRobots)=0
 resets the planning session of multiple robots More...
 
virtual bool setGoalSegments (const std::vector< uint32_t > &_goalSegments)=0
 updates the goal segments of the planning attempt More...
 
virtual bool setStartSegments (const std::vector< uint32_t > &_startSegments)=0
 updates the start segments of the planning attempt More...
 

Detailed Description

Definition at line 39 of file route_coordinator.h.

Member Function Documentation

virtual bool multi_robot_router::RouteCoordinator::addRoute ( const std::vector< RouteVertex > &  _path,
const uint32_t  _diameterPixel,
const uint32_t  _robotId 
)
pure virtual

checks if a robot can enter a segment at a specific time

Parameters
_nextthe segment to check
_startTimethe time the current robot enters the segment
_endTimethe time the current robot leaves the segment
_diameterPixelthe diameter of the robot
_collisionRobotreturns the robot wich causes a collision (if no collision -1)
_robotIdthe id of the robot to check
_ignoreGoalif the segment is a goal it is not handled as goal if this param is true. (Used if a robot is pushed away from its goal and has to move back)
Returns
if the vertex is free for the given timespan

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual bool multi_robot_router::RouteCoordinator::checkSegment ( const Vertex _next,
const uint32_t  _startTime,
const int32_t  _endTime,
const uint32_t  _diameterPixel,
int32_t &  _collisionRobot,
const uint32_t  _robotId,
bool  _ignoreGoal = false 
) const
pure virtual

updates the goal segments of the planning attempt

Parameters
_goalSegmentsthe goal Segments with length nr_robots
Returns
if the goal segments are valid

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual int32_t multi_robot_router::RouteCoordinator::findPotentialUntilRobotOnSegment ( const uint32_t  _robot,
const uint32_t  _segId 
) const
pure virtual

returns the time point, when a robot leaves a vertex

Parameters
_robotthe robotId
_segIdthe segmentId where the time is searched
Returns
the time the robot leaves the segment (-1 means it is a goal Vertex and is occupied forever)

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual int32_t multi_robot_router::RouteCoordinator::findSegNr ( const uint32_t  _robot,
const uint32_t  _potential 
) const
pure virtual

returns the segment id at which the robot is at timepoint _potential

Parameters
_robotthe robot id
_potentialthe timepoint on the robots path execution
Returns
the segment where the robot is located at time _potential

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual const uint32_t multi_robot_router::RouteCoordinator::getEnd ( const uint32_t  _robotId) const
pure virtual

returns the Goal of a robot

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual std::vector<std::pair<uint32_t, float> > multi_robot_router::RouteCoordinator::getListOfRobotsHigherPrioritizedRobots ( const uint32_t  _robot,
const uint32_t  _segId,
const int32_t  _potential 
) const
pure virtual

returns all robots which pass the segment before the given robot and a given time

Parameters
_robotthe robotId
_segIdthe Vertex to check
_potentialthe maximum potential
Returns
all robots which pass the vertex befor _robot and before _potential

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual const uint32_t multi_robot_router::RouteCoordinator::getStart ( const uint32_t  _robotId) const
pure virtual

returns the start of a robot

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual bool multi_robot_router::RouteCoordinator::isGoal ( const Vertex _seg,
const uint32_t  _robotId 
) const
pure virtual

returns if a Vertex is the goal vertex for a robot

Parameters
_segthe segment to check
_robotIdthe robot tocheck
Returns
if the vertex is a goal for robot robotId

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual void multi_robot_router::RouteCoordinator::removeRobot ( const uint32_t  _robot)
pure virtual

removes a Robot from the Routing Table

Parameters
_robotthe robot to remove

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual void multi_robot_router::RouteCoordinator::reset ( const std::vector< Segment > &  _graph,
const uint32_t  _nrRobots 
)
pure virtual

resets the planning session of multiple robots

Parameters
_graphthe graph
_nrRobotsthe nr of robots to plan

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual bool multi_robot_router::RouteCoordinator::setGoalSegments ( const std::vector< uint32_t > &  _goalSegments)
pure virtual

updates the goal segments of the planning attempt

Parameters
_goalSegmentsthe goal Segments with length nr_robots
Returns
if the goal segments are valid

Implemented in multi_robot_router::RouteCoordinatorTimed.

virtual bool multi_robot_router::RouteCoordinator::setStartSegments ( const std::vector< uint32_t > &  _startSegments)
pure virtual

updates the start segments of the planning attempt

Parameters
_startSegmentsthe start Segments with length nr_robots
Returns
if the start segments are valid

Implemented in multi_robot_router::RouteCoordinatorTimed.


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


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