Class Planner::Result¶
Defined in File Planner.hpp
Nested Relationships¶
This class is a nested type of Class Planner.
Class Documentation¶
-
class
rmf_traffic::agv::Planner
::
Result
Public Functions
-
bool
success
() const True if a plan was found and this Result can be dereferenced to obtain a plan.
-
bool
disconnected
() const True if there is no feasible path that connects the start to the goal. In this case, a plan will never be found.
-
operator bool
() const Implicitly cast the result to a boolean. It will return true if a plan was found, otherwise it will return false.
-
Result
replan
(const Start &new_start) const Replan to the same goal from a new start location using the same options as before.
- Parameters
[in] new_start
: The starting conditions that should be used for replanning.
-
Result
replan
(const Start &new_start, Options new_options) const Replan to the same goal from a new start location using a new set of options.
- Parameters
[in] new_start
: The starting conditions that should be used for replanning.[in] new_options
: The options that should be used for replanning.
-
Result
replan
(const StartSet &new_starts) const Replan to the same goal from a new set of start locations using the same options.
- Parameters
[in] new_starts
: The set of starting conditions that should be used for replanning.
-
Result
replan
(const StartSet &new_starts, Options new_options) const Replan to the same goal from a new set of start locations using a new set of options.
- Parameters
[in] new_starts
: The set of starting conditions that should be used for replanning.[in] new_options
: The options that should be used for replanning.
-
Result
setup
(const Start &new_start) const Set up a new planning job to the same goal, but do not start iterating.
- See
replan(const Start&)
-
Result
setup
(const Start &new_start, Options new_options) const Set up a new planning job to the same goal, but do not start iterating.
- See
replan(const Start&, Options)
-
Result
setup
(const StartSet &new_starts) const Set up a new planning job to the same goal, but do not start iterating.
- See
replan(const StartSet&)
-
Result
setup
(const StartSet &new_starts, Options new_options) const Set up a new planning job to the same goal, but do not start iterating.
- See
replan(const StartSet&, Options)
-
bool
resume
() Resume planning if the planner was paused.
- Return
true if a plan has been found, false otherwise.
Resume planning if the planner was paused.
- Return
true if a plan has been found, false otherwise.
- Parameters
[in] interrupt_flag
: A new interrupt flag to listen to while planning.
-
Options &
options
() Get a mutable reference to the options that will be used by this planning task.
-
const Options &
options
() const Get the options that will be used by this planning task.
-
std::optional<double>
cost_estimate
() const Get the best cost estimate of the current state of this planner result. This is the value of the lowest f(n)=g(n)+h(n) in the planner’s queue. If the node queue of this planner result is empty, this will return a nullopt.
-
double
initial_cost_estimate
() const Get the cost estimate that was initially computed for this plan. If no valid starts were provided, then this will return infinity.
-
std::optional<double>
ideal_cost
() const Get the cost that this plan would have if there is no traffic. If the plan is impossible (e.g. the starts are disconnected from the goal) this will return a nullopt.
-
const std::vector<Start> &
get_starts
() const Get the start conditions that were given for this planning task.
-
const Goal &
get_goal
() const Get the goal for this planning task.
-
const Configuration &
get_configuration
() const If this Plan is valid, this will return the Planner::Configuration that was used to produce it.
If replan() is called, this Planner::Configuration will be used to produce the new Plan.
-
bool
interrupted
() const This will return true if the planning failed because it was interrupted. Otherwise it will return false.
-
bool
saturated
() const This will return true if the planner has reached its saturation limit.
-
std::vector<schedule::ParticipantId>
blockers
() const This is a list of schedule Participants who blocked the planning effort. Blockers do not necessarily prevent a solution from being found, but they do prevent the optimal solution from being available.
-
bool