Public Member Functions | Private Member Functions | Private Attributes | List of all members
multi_robot_router::MultiRobotRouterThreadedSrr Class Reference

#include <multi_robot_router_threaded_srr.h>

Inheritance diagram for multi_robot_router::MultiRobotRouterThreadedSrr:
Inheritance graph
[legend]

Public Member Functions

virtual const uint32_t getPriorityScheduleAttempts () const
 returns the number of attemps to reschedul the priorities taken More...
 
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 More...
 
virtual const uint32_t getSpeedScheduleAttempts () const
 returns the number of attemps to limit the maximum speed of a robot taken More...
 
 MultiRobotRouterThreadedSrr (const uint32_t _nr_robots, const std::vector< uint32_t > &_robotDiameter, const uint32_t _threads)
 constructor More...
 
 MultiRobotRouterThreadedSrr (const uint32_t _nr_robots, const uint32_t _threads)
 constructor More...
 
virtual void setCollisionResolver (const SegmentExpander::CollisionResolverType cRes)
 sets the CollisionResolverType used to resolve occured robot collisions More...
 
virtual void setPriorityRescheduling (const bool _status)
 enables or disables priority rescheduling More...
 
virtual void setRobotDiameter (const std::vector< uint32_t > &_diameter)
 sets the robot diameter for every robot More...
 
virtual void setRobotNr (const uint32_t _nr_robots)
 sets the number of robots used More...
 
virtual void setSpeedRescheduling (const bool _status)
 enables or disables speed rescheduling More...
 
virtual void setThreads (const uint32_t _threads)
 sets the number of threads More...
 
- Public Member Functions inherited from multi_robot_router::MultiRobotRouter
 MultiRobotRouter (const uint32_t _nr_robots, const std::vector< uint32_t > &_robotDiameter)
 constructor More...
 
 MultiRobotRouter (const uint32_t _nr_robots)
 constructor More...
 

Private Member Functions

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)
 
void resetAttempt (const std::vector< Segment > &_graph)
 

Private Attributes

SegmentExpander::CollisionResolverType cResType_
 
uint32_t maxIterationsSingleRobot_
 
uint32_t min_diameter_
 
uint32_t nr_robots_
 
PriorityScheduler priority_scheduler_
 
uint32_t priorityScheduleAttempts_
 
RouteCoordinatorTimed rct_
 
std::vector< std::vector< uint32_t > > robotCollisions_
 
std::vector< uint32_t > robotDiameter_
 
RouteCoordinatorroute_coordinator_
 
SpeedScheduler speed_scheduler_
 
uint32_t speedScheduleAttempts_
 
std::vector< SingleRobotRoutersrr
 
uint32_t threads_ = 10
 
bool usePriorityRescheduler_ = true
 
bool useSpeedRescheduler_ = true
 

Additional Inherited Members

- Protected Member Functions inherited from multi_robot_router::RouteGenerator
std::vector< std::vector< Checkpoint > > generatePath (const std::vector< std::vector< RouteVertex >> &_paths, const RouteCoordinator &routeQuerry_) const
 generates a final Routing Table containing Segment List and Preconditions to other robots More...
 

Detailed Description

Definition at line 43 of file multi_robot_router_threaded_srr.h.

Constructor & Destructor Documentation

multi_robot_router::MultiRobotRouterThreadedSrr::MultiRobotRouterThreadedSrr ( const uint32_t  _nr_robots,
const std::vector< uint32_t > &  _robotDiameter,
const uint32_t  _threads 
)

constructor

Parameters
_nr_robotsthe number of robots to plan
_robotDiametera vector with size _nr_robots which contains every robots diameter

Definition at line 37 of file multi_robot_router_threaded_srr.cpp.

multi_robot_router::MultiRobotRouterThreadedSrr::MultiRobotRouterThreadedSrr ( const uint32_t  _nr_robots,
const uint32_t  _threads 
)

constructor

Parameters
_nr_robotsthe number of robots to plan

Definition at line 52 of file multi_robot_router_threaded_srr.cpp.

Member Function Documentation

const uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::getPriorityScheduleAttempts ( ) const
virtual

returns the number of attemps to reschedul the priorities taken

Returns
the number of attemps to reschedul the priorities taken

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 109 of file multi_robot_router_threaded_srr.cpp.

bool multi_robot_router::MultiRobotRouterThreadedSrr::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 
)
virtual

computes the routing table according to the given start and goal _goalSegments

Parameters
_graphthe base graph used to plan a path
_startSegmentsfor each robot the id of the start segment
_goalSegmentsfor each robot the id of the goal segment
_routingTablethe reference to the found routing table
_timeLimitthe (approximate) maximum time the planner is allowed to use
Returns
if a routing table is found

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 119 of file multi_robot_router_threaded_srr.cpp.

const uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::getSpeedScheduleAttempts ( ) const
virtual

returns the number of attemps to limit the maximum speed of a robot taken

Returns
the number of attemps to limit the maximum speed of a robot taken

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 114 of file multi_robot_router_threaded_srr.cpp.

bool multi_robot_router::MultiRobotRouterThreadedSrr::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 
)
private

Definition at line 181 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::resetAttempt ( const std::vector< Segment > &  _graph)
private

Definition at line 98 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::setCollisionResolver ( const SegmentExpander::CollisionResolverType  cRes)
virtual

sets the CollisionResolverType used to resolve occured robot collisions

Parameters
cResthe CollisionResolver typ

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 74 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::setPriorityRescheduling ( const bool  _status)
virtual

enables or disables priority rescheduling

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 283 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::setRobotDiameter ( const std::vector< uint32_t > &  _diameter)
virtual

sets the robot diameter for every robot

Parameters
_diametervector with length _nr_robots to set all robo radii

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 86 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::setRobotNr ( const uint32_t  _nr_robots)
virtual

sets the number of robots used

Parameters
_nr_robotthe number of robots

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 80 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::setSpeedRescheduling ( const bool  _status)
virtual

enables or disables speed rescheduling

Reimplemented from multi_robot_router::MultiRobotRouter.

Definition at line 288 of file multi_robot_router_threaded_srr.cpp.

void multi_robot_router::MultiRobotRouterThreadedSrr::setThreads ( const uint32_t  _threads)
virtual

sets the number of threads

Parameters
_threadsthe number of threads

Definition at line 68 of file multi_robot_router_threaded_srr.cpp.

Member Data Documentation

SegmentExpander::CollisionResolverType multi_robot_router::MultiRobotRouterThreadedSrr::cResType_
private

Definition at line 123 of file multi_robot_router_threaded_srr.h.

uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::maxIterationsSingleRobot_
private

Definition at line 124 of file multi_robot_router_threaded_srr.h.

uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::min_diameter_
private

Definition at line 118 of file multi_robot_router_threaded_srr.h.

uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::nr_robots_
private

Definition at line 117 of file multi_robot_router_threaded_srr.h.

PriorityScheduler multi_robot_router::MultiRobotRouterThreadedSrr::priority_scheduler_
private

Definition at line 110 of file multi_robot_router_threaded_srr.h.

uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::priorityScheduleAttempts_
private

Definition at line 121 of file multi_robot_router_threaded_srr.h.

RouteCoordinatorTimed multi_robot_router::MultiRobotRouterThreadedSrr::rct_
private

Definition at line 113 of file multi_robot_router_threaded_srr.h.

std::vector<std::vector<uint32_t> > multi_robot_router::MultiRobotRouterThreadedSrr::robotCollisions_
private

Definition at line 120 of file multi_robot_router_threaded_srr.h.

std::vector<uint32_t> multi_robot_router::MultiRobotRouterThreadedSrr::robotDiameter_
private

Definition at line 119 of file multi_robot_router_threaded_srr.h.

RouteCoordinator* multi_robot_router::MultiRobotRouterThreadedSrr::route_coordinator_
private

Definition at line 112 of file multi_robot_router_threaded_srr.h.

SpeedScheduler multi_robot_router::MultiRobotRouterThreadedSrr::speed_scheduler_
private

Definition at line 111 of file multi_robot_router_threaded_srr.h.

uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::speedScheduleAttempts_
private

Definition at line 122 of file multi_robot_router_threaded_srr.h.

std::vector<SingleRobotRouter> multi_robot_router::MultiRobotRouterThreadedSrr::srr
private

Definition at line 126 of file multi_robot_router_threaded_srr.h.

uint32_t multi_robot_router::MultiRobotRouterThreadedSrr::threads_ = 10
private

Definition at line 125 of file multi_robot_router_threaded_srr.h.

bool multi_robot_router::MultiRobotRouterThreadedSrr::usePriorityRescheduler_ = true
private

Definition at line 115 of file multi_robot_router_threaded_srr.h.

bool multi_robot_router::MultiRobotRouterThreadedSrr::useSpeedRescheduler_ = true
private

Definition at line 114 of file multi_robot_router_threaded_srr.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