55 MultiRobotRouter(
const uint32_t _nr_robots,
const std::vector<uint32_t> &_robotDiameter);
65 virtual void setRobotNr(
const uint32_t _nr_robots);
80 virtual bool getRoutingTable(
const std::vector<Segment> &_graph,
const std::vector<uint32_t> &_startSegments,
const std::vector<uint32_t> &_goalSegments, std::vector<std::vector<Checkpoint>> &_routingTable,
const float &_timeLimit);
108 bool planPaths(
const std::vector<uint32_t> &_priorityList,
const std::vector<float> &_speedList,
const std::vector<uint32_t> &_startSegments,
const std::vector<uint32_t> &_goalSegments,
const uint32_t _firstSchedule, std::vector<std::vector<RouteVertex>> &_routeCandidates, uint32_t &_robot);
uint32_t speedScheduleAttempts_
uint32_t maxIterationsSingleRobot_
standard multi robot router without multi threading (Works best in practice)
PriorityScheduler priority_scheduler_
std::vector< uint32_t > robotDiameter_
bool usePriorityRescheduler_
virtual const uint32_t getPriorityScheduleAttempts() const
returns the number of attemps to reschedul the priorities taken
bool planPaths(const std::vector< uint32_t > &_priorityList, const std::vector< float > &_speedList, const std::vector< uint32_t > &_startSegments, const std::vector< uint32_t > &_goalSegments, const uint32_t _firstSchedule, std::vector< std::vector< RouteVertex >> &_routeCandidates, uint32_t &_robot)
SpeedScheduler speed_scheduler_
MultiRobotRouter(const uint32_t _nr_robots, const std::vector< uint32_t > &_robotDiameter)
constructor
virtual void setSpeedRescheduling(const bool _status)
enables or disables speed rescheduling
RouteCoordinatorTimed rct_
virtual void setCollisionResolver(const SegmentExpander::CollisionResolverType cRes)
sets the CollisionResolverType used to resolve occured robot collisions
SegmentExpander::CollisionResolverType cResType_
std::vector< std::vector< uint32_t > > robotCollisions_
virtual void setRobotDiameter(const std::vector< uint32_t > &_diameter)
sets the robot diameter for every robot
bool useSpeedRescheduler_
void resetAttempt(const std::vector< Segment > &_graph)
virtual bool getRoutingTable(const std::vector< Segment > &_graph, const std::vector< uint32_t > &_startSegments, const std::vector< uint32_t > &_goalSegments, std::vector< std::vector< Checkpoint >> &_routingTable, const float &_timeLimit)
computes the routing table according to the given start and goal _goalSegments
uint32_t priorityScheduleAttempts_
RouteCoordinator * route_coordinator_
virtual void setPriorityRescheduling(const bool _status)
enables or disables priority rescheduling
virtual const uint32_t getSpeedScheduleAttempts() const
returns the number of attemps to limit the maximum speed of a robot taken
virtual void setRobotNr(const uint32_t _nr_robots)
sets the number of robots used