Aikido
|
SingleProblemPlanner is a base class for any concrete planner that are not a CompositePlanner. More...
#include <aikido/planner/SingleProblemPlanner.hpp>
Public Types | |
using | SolvableProblem = ProblemT |
Public Member Functions | |
SingleProblemPlanner (statespace::ConstStateSpacePtr stateSpace, common::RNG *rng=nullptr) | |
Constructs from a state space. More... | |
bool | canSolve (const Problem &problem) const final override |
Returns true if this planner can solve problem . More... | |
trajectory::TrajectoryPtr | plan (const Problem &problem, Result *result=nullptr) final override |
Solves problem returning the result to result . More... | |
![]() | |
Planner (statespace::ConstStateSpacePtr stateSpace, common::RNG *rng=nullptr) | |
Constructs from a state space. More... | |
virtual | ~Planner ()=default |
Default destructor. More... | |
statespace::ConstStateSpacePtr | getStateSpace () const |
Returns const state space. More... | |
common::RNG * | getRng () |
Returns RNG. More... | |
Additional Inherited Members | |
![]() | |
statespace::ConstStateSpacePtr | mStateSpace |
State space associated with this planner. More... | |
std::unique_ptr< common::RNG > | mRng |
RNG the planner uses. More... | |
SingleProblemPlanner is a base class for any concrete planner that are not a CompositePlanner.
This is a curiously recurring template pattern implementation to avoid the same implementation of canSolve() and plan() across concrete planners. By inheriting this class the concrete planner doesn't need to implement those virtual functions.
Derived | Concrete planner type. |
ProblemT | Problem type the concrete planner is associated with. |
using aikido::planner::SingleProblemPlanner< Derived, ProblemT >::SolvableProblem = ProblemT |
|
explicit |
Constructs from a state space.
[in] | stateSpace | State space that this planner associated with. |
[in] | rng | RNG that planner uses. If nullptr, a default is created. |
|
finaloverridevirtual |
Returns true if this planner can solve problem
.
Implements aikido::planner::Planner.
|
finaloverridevirtual |
Solves problem
returning the result to result
.
[in] | problem | Planning problem to be solved by the planner. |
[out] | result | Result of planning procedure. |
Implements aikido::planner::Planner.