Class ODESolver
Defined in File ODESolver.h
Inheritance Relationships
Derived Types
public ompl::control::ODEAdaptiveSolver< Solver >
(Template Class ODEAdaptiveSolver)public ompl::control::ODEBasicSolver< Solver >
(Template Class ODEBasicSolver)public ompl::control::ODEErrorSolver< Solver >
(Template Class ODEErrorSolver)
Class Documentation
-
class ODESolver
Abstract base class for an object that can solve ordinary differential equations (ODE) of the type q’ = f(q,u) using numerical integration. Classes deriving from this must implement the solve method. The user must supply the ODE to solve.
Subclassed by ompl::control::ODEAdaptiveSolver< Solver >, ompl::control::ODEBasicSolver< Solver >, ompl::control::ODEErrorSolver< Solver >
Public Types
-
using StateType = std::vector<double>
Portable data type for the state values.
Public Functions
-
inline ODESolver(SpaceInformationPtr si, ODE ode, double intStep)
Parameterized constructor. Takes a reference to SpaceInformation, an ODE to solve, and the integration step size.
-
virtual ~ODESolver() = default
Destructor.
-
inline double getIntegrationStepSize() const
Return the size of a single numerical integration step.
-
inline void setIntegrationStepSize(double intStep)
Set the size of a single numerical integration step.
-
inline const SpaceInformationPtr &getSpaceInformation() const
Get the current instance of the space information.
Public Static Functions
-
static inline StatePropagatorPtr getStatePropagator(ODESolverPtr solver, const PostPropagationEvent &postEvent = nullptr)
Retrieve a StatePropagator object that solves a system of ordinary differential equations defined by an ODESolver. An optional PostPropagationEvent can also be specified as a callback after numerical integration is finished for further operations on the resulting state.
Protected Functions
Protected Attributes
-
const SpaceInformationPtr si_
The SpaceInformation that this ODESolver operates in.
-
double intStep_
The size of the numerical integration step. Should be small to minimize error.
-
using StateType = std::vector<double>