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: