#include <priority_scheduler.h>
Public Member Functions | |
const std::vector< uint32_t > & | getActualSchedule () const |
returns the currently produced speed schedule More... | |
PriorityScheduler (const uint32_t _nrRobots) | |
constructor More... | |
bool | reschedulePriorities (const uint32_t _collidingRobot, std::vector< uint32_t > _collsisions, std::vector< uint32_t > &_newSchedule, uint32_t &_firstRobotToReplan) |
rescedules priorities depending on the ound collisions and allready tried schedules More... | |
void | reset (const uint32_t _nrRobots) |
resets the Priority schedule with an initial priority schedule More... | |
Protected Attributes | |
std::vector< uint32_t > | actualPrioritySchedule_ |
std::vector< std::vector< uint32_t > > | checkedSchedules_ |
Definition at line 36 of file priority_scheduler.h.
multi_robot_router::PriorityScheduler::PriorityScheduler | ( | const uint32_t | _nrRobots | ) |
constructor
_nrRobots | the number of robots |
Definition at line 33 of file priority_scheduler.cpp.
const std::vector< uint32_t > & multi_robot_router::PriorityScheduler::getActualSchedule | ( | ) | const |
returns the currently produced speed schedule
Definition at line 51 of file priority_scheduler.cpp.
bool multi_robot_router::PriorityScheduler::reschedulePriorities | ( | const uint32_t | _collidingRobot, |
std::vector< uint32_t > | _collsisions, | ||
std::vector< uint32_t > & | _newSchedule, | ||
uint32_t & | _firstRobotToReplan | ||
) |
rescedules priorities depending on the ound collisions and allready tried schedules
the priority rescheduler exchanges only two priorities by taking the collidiongRobot and the robot with the most collisions, which produces no equal priority scheme to prior ones. Additionally the highest robot priority which has changed is returned.
_collidingRobot | the robot which has to be exchanged with a higher priority one |
_collisions | the collisions the _collidiongRobot has encounterd with other ones |
_newSchedule | the new priority Schedule |
_firstRobotToReplan | the exchanged robot with the highest robot |
Definition at line 56 of file priority_scheduler.cpp.
void multi_robot_router::PriorityScheduler::reset | ( | const uint32_t | _nrRobots | ) |
resets the Priority schedule with an initial priority schedule
_nrRobots | the number of robots |
Definition at line 38 of file priority_scheduler.cpp.
|
protected |
Definition at line 68 of file priority_scheduler.h.
|
protected |
Definition at line 67 of file priority_scheduler.h.