ompl::control::ODEAdaptiveSolver< Solver > Class Template Reference

Adaptive step size solver for ordinary differential equations of the type q' = f(q, u), where q is the current state of the system and u is a control applied to the system. The maximum integration error is bounded in this approach. Solver is the numerical integration method used to solve the equations, and must implement the error stepper concept from boost::numeric::odeint. The default is a fifth order Runge-Kutta Cash-Karp method with a fourth order error bound. More...

#include <ompl/control/ODESolver.h>

Inheritance diagram for ompl::control::ODEAdaptiveSolver< Solver >:

List of all members.

Public Member Functions

 ODEAdaptiveSolver (const SpaceInformationPtr &si, const ODESolver::ODE &ode, double intStep=1e-2)
 Parameterized constructor. Takes a reference to the SpaceInformation, an ODE to solve, and an optional integration step size - default is 0.01.
double getMaximumError () const
 Retrieve the total error allowed during numerical integration.
void setMaximumError (double error)
 Set the total error allowed during numerical integration.
double getMaximumEpsilonError () const
 Retrieve the error tolerance during one step of numerical integration (local truncation error)
void setMaximumEpsilonError (double error)
 Set the error tolerance during one step of numerical integration (local truncation error)

Protected Member Functions

virtual void solve (StateType &state, const Control *control, const double duration) const
 Solve the ordinary differential equation given the input state of the system, a control to apply to the system, and the duration to apply the control. The value of state will contain the final values for the system after integration.

Protected Attributes

double maxError_
 The maximum error allowed when performing numerical integration.
double maxEpsilonError_
 The maximum error allowed during one step of numerical integration.

Detailed Description

template<class Solver = odeint::runge_kutta_cash_karp54<ODESolver::StateType>>
class ompl::control::ODEAdaptiveSolver< Solver >

Adaptive step size solver for ordinary differential equations of the type q' = f(q, u), where q is the current state of the system and u is a control applied to the system. The maximum integration error is bounded in this approach. Solver is the numerical integration method used to solve the equations, and must implement the error stepper concept from boost::numeric::odeint. The default is a fifth order Runge-Kutta Cash-Karp method with a fourth order error bound.

Definition at line 272 of file ODESolver.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines