#include <route_coordinator_timed.h>
Classes | |
class | Timeline |
Public Member Functions | |
bool | addRoute (const std::vector< RouteVertex > &_path, const uint32_t _diameterPixel, const uint32_t _robotId) |
adds a new route to the Routing table and checks if the Routing Table is valid More... | |
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 |
checks if a robot can enter a segment at a specific time More... | |
int32_t | findPotentialUntilRobotOnSegment (const uint32_t _robot, const uint32_t _segId) const |
returns the time point, when a robot leaves a vertex More... | |
int32_t | findSegNr (const uint32_t _robot, const uint32_t _potential) const |
returns the segment id at which the robot is at timepoint _potential More... | |
const uint32_t | getEnd (const uint32_t _robotId) const |
returns the Goal of a robot More... | |
std::vector< std::pair< uint32_t, float > > | getListOfRobotsHigherPrioritizedRobots (const uint32_t _robot, const uint32_t _segId, const int32_t _potential) const |
returns all robots which pass the segment before the given robot and a given time More... | |
const uint32_t | getStart (const uint32_t _robotId) const |
returns the start of a robot More... | |
bool | isGoal (const Vertex &_seg, const uint32_t _robotId) const |
returns if a Vertex is the goal vertex for a robot More... | |
void | removeRobot (const uint32_t _robot) |
removes a Robot from the Routing Table More... | |
void | reset (const std::vector< Segment > &_graph, const uint32_t _nrRobots) |
resets the planning session of multiple robots More... | |
RouteCoordinatorTimed () | |
constructor More... | |
bool | setGoalSegments (const std::vector< uint32_t > &_goalSegments) |
updates the goal segments of the planning attempt More... | |
bool | setStartSegments (const std::vector< uint32_t > &_startSegments) |
updates the start segments of the planning attempt More... | |
Private Member Functions | |
bool | checkSegmentSingle (const Vertex &_next, const uint32_t _startTime, const int32_t _endTime, const uint32_t _diameterPixel, int32_t &_collisionRobot, const uint32_t _robotId, const bool &_ignoreGoal) const |
Private Attributes | |
std::vector< uint32_t > | goalSegments_ |
std::vector< uint32_t > | robotSize_ |
std::vector< uint32_t > | startSegments_ |
Timeline | timeline_ |
Definition at line 38 of file route_coordinator_timed.h.
multi_robot_router::RouteCoordinatorTimed::RouteCoordinatorTimed | ( | ) |
constructor
Definition at line 38 of file route_coordinator_timed.cpp.
|
virtual |
adds a new route to the Routing table and checks if the Routing Table is valid
_path | the path to add |
_diameterPixel | the diameter of the robot which uses the route |
_robotId | the robotId |
Implements multi_robot_router::RouteCoordinator.
Definition at line 42 of file route_coordinator_timed.cpp.
|
virtual |
checks if a robot can enter a segment at a specific time
_next | the segment to check |
_startTime | the time the current robot enters the segment |
_endTime | the time the current robot leaves the segment |
_diameterPixel | the diameter of the robot |
_collisionRobot | returns the robot wich causes a collision (if no collision -1) |
_robotId | the id of the robot to check |
_ignoreGoal | if 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) |
Implements multi_robot_router::RouteCoordinator.
Definition at line 112 of file route_coordinator_timed.cpp.
|
private |
Definition at line 157 of file route_coordinator_timed.cpp.
|
virtual |
returns the time point, when a robot leaves a vertex
_robot | the robotId |
_segId | the segmentId where the time is searched |
Implements multi_robot_router::RouteCoordinator.
Definition at line 208 of file route_coordinator_timed.cpp.
|
virtual |
returns the segment id at which the robot is at timepoint _potential
_robot | the robot id |
_potential | the timepoint on the robots path execution |
Implements multi_robot_router::RouteCoordinator.
Definition at line 201 of file route_coordinator_timed.cpp.
|
virtual |
returns the Goal of a robot
Implements multi_robot_router::RouteCoordinator.
Definition at line 102 of file route_coordinator_timed.cpp.
|
virtual |
returns all robots which pass the segment before the given robot and a given time
_robot | the robotId |
_segId | the Vertex to check |
_potential | the maximum potential |
Implements multi_robot_router::RouteCoordinator.
Definition at line 213 of file route_coordinator_timed.cpp.
|
virtual |
returns the start of a robot
Implements multi_robot_router::RouteCoordinator.
Definition at line 107 of file route_coordinator_timed.cpp.
|
virtual |
returns if a Vertex is the goal vertex for a robot
_seg | the segment to check |
_robotId | the robot tocheck |
Implements multi_robot_router::RouteCoordinator.
Definition at line 97 of file route_coordinator_timed.cpp.
|
virtual |
removes a Robot from the Routing Table
_robot | the robot to remove |
Implements multi_robot_router::RouteCoordinator.
Definition at line 218 of file route_coordinator_timed.cpp.
|
virtual |
resets the planning session of multiple robots
_graph | the graph |
_nrRobots | the nr of robots to plan |
Implements multi_robot_router::RouteCoordinator.
Definition at line 169 of file route_coordinator_timed.cpp.
|
virtual |
updates the goal segments of the planning attempt
_goalSegments | the goal Segments with length nr_robots |
Implements multi_robot_router::RouteCoordinator.
Definition at line 177 of file route_coordinator_timed.cpp.
|
virtual |
updates the start segments of the planning attempt
_startSegments | the start Segments with length nr_robots |
Implements multi_robot_router::RouteCoordinator.
Definition at line 189 of file route_coordinator_timed.cpp.
|
private |
Definition at line 245 of file route_coordinator_timed.h.
|
private |
Definition at line 243 of file route_coordinator_timed.h.
|
private |
Definition at line 246 of file route_coordinator_timed.h.
|
private |
Definition at line 244 of file route_coordinator_timed.h.