Exotica
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
exotica::OMPLControlSolver Class Reference

#include <ompl_control_solver.h>

Inheritance diagram for exotica::OMPLControlSolver:
Inheritance graph
Collaboration diagram for exotica::OMPLControlSolver:
Collaboration graph

Public Member Functions

void Solve (Eigen::MatrixXd &solution) override
 Solves the problem. More...
 
void SpecifyProblem (PlanningProblemPtr pointer) override
 Binds the solver to a specific problem which must be pre-initalised. More...
 
- Public Member Functions inherited from exotica::MotionSolver
 MotionSolver ()=default
 
virtual ~MotionSolver ()=default
 
void InstantiateBase (const Initializer &init) override
 
PlanningProblemPtr GetProblem () const
 
std::string Print (const std::string &prepend) const override
 
void SetNumberOfMaxIterations (int max_iter)
 
int GetNumberOfMaxIterations ()
 
double GetPlanningTime ()
 
- Public Member Functions inherited from exotica::Object
 Object ()
 
virtual ~Object ()
 
virtual std::string type () const
 Type Information wrapper: must be virtual so that it is polymorphic... More...
 
std::string GetObjectName ()
 
void InstantiateObject (const Initializer &init)
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
virtual Initializer GetInitializerTemplate ()=0
 
virtual void InstantiateInternal (const Initializer &init)=0
 
virtual std::vector< InitializerGetAllTemplates () const =0
 

Protected Member Functions

void Setup ()
 
bool isStateValid (const oc::SpaceInformationPtr si, const ob::State *state)
 

Static Protected Member Functions

template<typename PlannerType >
static ob::PlannerPtr AllocatePlanner (const oc::SpaceInformationPtr &si)
 

Protected Attributes

DynamicTimeIndexedShootingProblemPtr prob_
 
DynamicsSolverPtr dynamics_solver_
 !< Shared pointer to the planning problem. More...
 
OMPLControlSolverInitializer init_
 !< Shared pointer to the dynamics solver. More...
 
std::unique_ptr< oc::SimpleSetup > setup_
 
std::string algorithm_
 
ConfiguredPlannerAllocator planner_allocator_
 
- Protected Attributes inherited from exotica::MotionSolver
PlanningProblemPtr problem_
 
double planning_time_ = -1
 
int max_iterations_ = 100
 

Additional Inherited Members

- Public Attributes inherited from exotica::Object
std::string ns_
 
std::string object_name_
 
bool debug_
 

Member Function Documentation

◆ AllocatePlanner()

template<typename PlannerType >
static ob::PlannerPtr exotica::OMPLControlSolver::AllocatePlanner ( const oc::SpaceInformationPtr &  si)
inlinestaticprotected

◆ isStateValid()

bool exotica::OMPLControlSolver::isStateValid ( const oc::SpaceInformationPtr  si,
const ob::State *  state 
)
inlineprotected

◆ Setup()

void exotica::OMPLControlSolver::Setup ( )
protected

◆ Solve()

void exotica::OMPLControlSolver::Solve ( Eigen::MatrixXd &  solution)
overridevirtual

Solves the problem.

Parameters
solutionReturned solution trajectory as a vector of joint configurations.

Implements exotica::MotionSolver.

◆ SpecifyProblem()

void exotica::OMPLControlSolver::SpecifyProblem ( PlanningProblemPtr  pointer)
overridevirtual

Binds the solver to a specific problem which must be pre-initalised.

Parameters
pointerShared pointer to the motion planning problem
Returns
Successful if the problem is a valid DynamicTimeIndexedProblem

Reimplemented from exotica::MotionSolver.

Member Data Documentation

◆ algorithm_

std::string exotica::OMPLControlSolver::algorithm_
protected

◆ dynamics_solver_

DynamicsSolverPtr exotica::OMPLControlSolver::dynamics_solver_
protected

!< Shared pointer to the planning problem.

◆ init_

OMPLControlSolverInitializer exotica::OMPLControlSolver::init_
protected

!< Shared pointer to the dynamics solver.

◆ planner_allocator_

ConfiguredPlannerAllocator exotica::OMPLControlSolver::planner_allocator_
protected

◆ prob_

DynamicTimeIndexedShootingProblemPtr exotica::OMPLControlSolver::prob_
protected

◆ setup_

std::unique_ptr<oc::SimpleSetup> exotica::OMPLControlSolver::setup_
protected

The documentation for this class was generated from the following file: