65 std::vector<RouteVertex> reversedPath;
75 for (std::vector<RouteVertex>::const_iterator rit = reversedPath.cend(); rit != reversedPath.cbegin();)
78 _path.emplace_back(*rit);
94 v->predecessor_ = NULL;
107 for (
const Segment &seg : _graph)
114 v->initNeighbours(searchGraph_, minSegmentWidth_);
CollisionResolverType getCollisionResolver() const
gets the currently used collision resolver
bool getRouteCandidate(const uint32_t _start, const uint32_t _goal, const RouteCoordinatorWrapper &path_coordinator, const uint32_t _robotDiameter, const float &_robotSpeed, std::vector< RouteVertex > &path, const uint32_t _maxIterations)
calculates a route candidate coordinated with other robots by the given route Coordinated ...
virtual bool getPath(const Vertex &_startSeg, const Vertex &_endSeg, std::vector< RouteVertex > &_path) const
traces back the graph to find the shortest route of the graph
SegmentExpander segment_expander_
bool getLastResult()
returns the result of the last planning attempt
SingleRobotRouter()
constructor
std::vector< std::unique_ptr< Vertex > > searchGraph_
void initSearchGraph(const std::vector< Segment > &_graph, const uint32_t minSegmentWidth_=0)
generates the search graph out of the given graph (and optimizes it)
void setCollisionResolver(const CollisionResolverType cRes)
sets the desired collision resolver
const std::vector< uint32_t > & getRobotCollisions() const
returns the found robot collisions while planning
void setSpeed(const float &_speed)
Sets the multiplier to reduce a robots speed (pCalc...)
void setCollisionResolver(const SegmentExpander::CollisionResolverType cRes)
sets the collisionResolver used
void reset()
resets the session
bool calculatePotentials(const RouteCoordinatorWrapper *_p, Vertex &_start, Vertex &_end, const uint32_t _maxIterations, const uint32_t _radius)
assigns all Vertices in the Search graph with a potential according to the distance to the start ...
SegmentExpander::CollisionResolverType getCollisionResolverType() const
returns the CollisionResolverType
const std::vector< uint32_t > & getRobotCollisions() const
returns the found robotCollisions while planning