Public Member Functions | Protected Attributes | List of all members
multi_robot_router::PriorityScheduler Class Reference

#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_
 

Detailed Description

Definition at line 36 of file priority_scheduler.h.

Constructor & Destructor Documentation

multi_robot_router::PriorityScheduler::PriorityScheduler ( const uint32_t  _nrRobots)

constructor

Parameters
_nrRobotsthe number of robots

Definition at line 33 of file priority_scheduler.cpp.

Member Function Documentation

const std::vector< uint32_t > & multi_robot_router::PriorityScheduler::getActualSchedule ( ) const

returns the currently produced speed schedule

Returns
the computed 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.

Parameters
_collidingRobotthe robot which has to be exchanged with a higher priority one
_collisionsthe collisions the _collidiongRobot has encounterd with other ones
_newSchedulethe new priority Schedule
_firstRobotToReplanthe exchanged robot with the highest robot
Returns
if a new priority schedule is found

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

Parameters
_nrRobotsthe number of robots

Definition at line 38 of file priority_scheduler.cpp.

Member Data Documentation

std::vector<uint32_t> multi_robot_router::PriorityScheduler::actualPrioritySchedule_
protected

Definition at line 68 of file priority_scheduler.h.

std::vector<std::vector<uint32_t> > multi_robot_router::PriorityScheduler::checkedSchedules_
protected

Definition at line 67 of file priority_scheduler.h.


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


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