Class Planner::Debug¶
Defined in File debug_Planner.hpp
Nested Relationships¶
This class is a nested type of Class Planner.
Nested Types¶
Class Documentation¶
-
class
rmf_traffic::agv::Planner
::
Debug
This class exists only for debugging purposes. It is not to be used in live production, and its API is to be considered unstable at all times. Any minor version increment
Public Types
-
using
ConstNodePtr
= std::shared_ptr<const Node>
Public Functions
-
Debug
(const Planner &planner) Create a debugger for a planner.
Public Static Functions
-
static std::size_t
queue_size
(const Planner::Result &result) Get the current size of the frontier queue of a Planner Result.
-
struct
Node
A Node in the planning search. A final Planning solution will be a chain of these Nodes, aggregated into a Plan data structure.
Public Types
-
using
SearchQueue
= std::priority_queue<ConstNodePtr, std::vector<ConstNodePtr>, Compare>
-
using
Vector
= std::vector<ConstNodePtr>
Public Members
-
ConstNodePtr
parent
The parent of this Node. If this is a nullptr, then this was a starting node.
-
double
remaining_cost_estimate
An estimate of the remaining cost, based on the heuristic.
-
double
current_cost
The actual cost that has accumulated on the way to this Node.
-
rmf_utils::optional<std::size_t>
waypoint
The waypoint that this Node stops on.
-
double
orientation
The orientation that this Node ends with.
-
rmf_utils::optional<std::size_t>
start_set_index
If this is a starting node, then this will be the index.
-
std::size_t
id
A unique ID that sticks with this node for its entire lifetime. This will also (roughly) reflect the order of node creation.
-
struct
Compare
Public Functions
-
inline bool
operator()
(const ConstNodePtr &a, const ConstNodePtr &b)
-
inline bool
-
using
-
class
Progress
Public Functions
-
rmf_utils::optional<Plan>
step
() Step the planner forward one time. This will expand the current highest priority Node in the queue and move it to the back of expanded_nodes. The nodes that result from the expansion will all be added to the queue.
-
inline
operator bool
() const Implicitly cast the Progress instance to a boolean. The value will be true if the plan can keep expanding, and it will be false if it cannot expand any further.
After finding a solution, it may be possible to continue expanding, but there is no point because the first solution returned is guaranteed to be the optimal one.
-
const Node::SearchQueue &
queue
() const A priority queue of unexpanded Nodes. They are sorted based on g(n)+h(n) in ascending order (see Node::Compare).
-
rmf_utils::optional<Plan>
-
using