standard multi robot router without multi threading (Works best in practice)
More...
#include <multi_robot_router.h>
|
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) |
|
standard multi robot router without multi threading (Works best in practice)
Definition at line 47 of file multi_robot_router.h.
◆ MultiRobotRouter() [1/2]
multi_robot_router::MultiRobotRouter::MultiRobotRouter |
( |
const uint32_t |
_nr_robots, |
|
|
const std::vector< uint32_t > & |
_robotDiameter |
|
) |
| |
constructor
- Parameters
-
_nr_robots | the number of robots to plan |
_robotDiameter | a vector with size _nr_robots which contains every robots diameter |
Definition at line 38 of file multi_robot_router.cpp.
◆ MultiRobotRouter() [2/2]
multi_robot_router::MultiRobotRouter::MultiRobotRouter |
( |
const uint32_t |
_nr_robots | ) |
|
◆ getPriorityScheduleAttempts()
const uint32_t multi_robot_router::MultiRobotRouter::getPriorityScheduleAttempts |
( |
| ) |
const |
|
virtual |
◆ getRoutingTable()
bool multi_robot_router::MultiRobotRouter::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
-
_graph | the base graph used to plan a path |
_startSegments | for each robot the id of the start segment |
_goalSegments | for each robot the id of the goal segment |
_routingTable | the reference to the found routing table |
_timeLimit | the (approximate) maximum time the planner is allowed to use |
- Returns
- if a routing table is found
Reimplemented in multi_robot_router::MultiRobotRouterThreadedSrr.
Definition at line 99 of file multi_robot_router.cpp.
◆ getSpeedScheduleAttempts()
const uint32_t multi_robot_router::MultiRobotRouter::getSpeedScheduleAttempts |
( |
| ) |
const |
|
virtual |
◆ planPaths()
bool multi_robot_router::MultiRobotRouter::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 |
◆ resetAttempt()
void multi_robot_router::MultiRobotRouter::resetAttempt |
( |
const std::vector< Segment > & |
_graph | ) |
|
|
private |
◆ setCollisionResolver()
◆ setPriorityRescheduling()
void multi_robot_router::MultiRobotRouter::setPriorityRescheduling |
( |
const bool |
_status | ) |
|
|
virtual |
◆ setRobotDiameter()
void multi_robot_router::MultiRobotRouter::setRobotDiameter |
( |
const std::vector< uint32_t > & |
_diameter | ) |
|
|
virtual |
◆ setRobotNr()
void multi_robot_router::MultiRobotRouter::setRobotNr |
( |
const uint32_t |
_nr_robots | ) |
|
|
virtual |
◆ setSpeedRescheduling()
void multi_robot_router::MultiRobotRouter::setSpeedRescheduling |
( |
const bool |
_status | ) |
|
|
virtual |
◆ cResType_
◆ maxIterationsSingleRobot_
uint32_t multi_robot_router::MultiRobotRouter::maxIterationsSingleRobot_ |
|
private |
◆ min_diameter_
uint32_t multi_robot_router::MultiRobotRouter::min_diameter_ |
|
private |
◆ nr_robots_
uint32_t multi_robot_router::MultiRobotRouter::nr_robots_ |
|
private |
◆ priority_scheduler_
◆ priorityScheduleAttempts_
uint32_t multi_robot_router::MultiRobotRouter::priorityScheduleAttempts_ |
|
private |
◆ rct_
◆ robotCollisions_
std::vector<std::vector<uint32_t> > multi_robot_router::MultiRobotRouter::robotCollisions_ |
|
private |
◆ robotDiameter_
std::vector<uint32_t> multi_robot_router::MultiRobotRouter::robotDiameter_ |
|
private |
◆ route_coordinator_
◆ speed_scheduler_
◆ speedScheduleAttempts_
uint32_t multi_robot_router::MultiRobotRouter::speedScheduleAttempts_ |
|
private |
◆ srr
◆ usePriorityRescheduler_
bool multi_robot_router::MultiRobotRouter::usePriorityRescheduler_ = true |
|
private |
◆ useSpeedRescheduler_
bool multi_robot_router::MultiRobotRouter::useSpeedRescheduler_ = true |
|
private |
The documentation for this class was generated from the following files: