29 #ifndef ROUTE_COORDINATOR_H 30 #define ROUTE_COORDINATOR_H 47 virtual void reset(
const std::vector<Segment> &_graph,
const uint32_t _nrRobots) = 0;
59 virtual bool addRoute(
const std::vector<RouteVertex> &_path,
const uint32_t _diameterPixel,
const uint32_t _robotId) = 0;
65 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;
71 virtual bool setGoalSegments(
const std::vector<uint32_t> &_goalSegments) = 0;
77 virtual bool setStartSegments(
const std::vector<uint32_t> &_startSegments) = 0;
84 virtual bool isGoal(
const Vertex &_seg,
const uint32_t _robotId)
const = 0;
88 virtual const uint32_t
getStart(
const uint32_t _robotId)
const = 0;
92 virtual const uint32_t
getEnd(
const uint32_t _robotId)
const = 0;
105 virtual void removeRobot(
const uint32_t _robot) = 0;
112 virtual int32_t
findSegNr(
const uint32_t _robot,
const uint32_t _potential)
const = 0;
133 bool checkSegment(
const Vertex &_next,
const uint32_t _startTime,
const int32_t _endTime,
const uint32_t _diameterPixel, int32_t &_collisionRobot,
bool _ignoreGoal =
false)
const;
145 const uint32_t
getEnd()
const;
153 int32_t
findSegNr(
const uint32_t _robot,
const uint32_t _potential)
const;
164 #endif // PATH_QUERRY_H 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
virtual void removeRobot(const uint32_t _robot)=0
removes a Robot from the Routing Table
virtual bool setGoalSegments(const std::vector< uint32_t > &_goalSegments)=0
updates the goal segments of the planning attempt
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
virtual bool setStartSegments(const std::vector< uint32_t > &_startSegments)=0
updates the start segments of the planning attempt
virtual int32_t findPotentialUntilRobotOnSegment(const uint32_t _robot, const uint32_t _segId) const =0
returns the time point, when a robot leaves a vertex
const RouteCoordinator * routeCoordinator_
virtual const uint32_t getStart(const uint32_t _robotId) const =0
returns the start of a robot
virtual const uint32_t getEnd(const uint32_t _robotId) const =0
returns the Goal of a robot
virtual void reset(const std::vector< Segment > &_graph, const uint32_t _nrRobots)=0
resets the planning session of multiple robots
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 ...
virtual bool isGoal(const Vertex &_seg, const uint32_t _robotId) const =0
returns if a Vertex is the goal vertex for a robot
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