Public Types |
Public Member Functions |
Static Public Member Functions |
Protected Member Functions |
Protected Attributes |
List of all members

ompl::control::ODESolver Class Referenceabstract

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. More...

`#include <ompl/control/ODESolver.h>`

Inheritance diagram for ompl::control::ODESolver:

## Public Types | |

typedef std::vector< double > | StateType |

Portable data type for the state values. | |

typedef std::function< void(const StateType &, const Control *, StateType &)> | ODE |

Callback function that defines the ODE. Accepts the current state, input control, and output state. | |

typedef std::function< void(const base::State *, const Control *, double, base::State *)> | PostPropagationEvent |

Callback function to perform an event at the end of numerical integration. This functionality is optional. | |

## Public Member Functions | |

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. | |

void | setODE (const ODE &ode) |

Set the ODE to solve. | |

double | getIntegrationStepSize () const |

Return the size of a single numerical integration step. | |

void | setIntegrationStepSize (double intStep) |

Set the size of a single numerical integration step. | |

const SpaceInformationPtr & | getSpaceInformation () const |

Get the current instance of the space information. | |

## Static Public Member Functions | |

static 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 Member Functions | |

virtual void | solve (StateType &state, const Control *control, double duration) const =0 |

Solve the ODE given the initial state, and a control to apply for some duration. | |

## Protected Attributes | |

const SpaceInformationPtr | si_ |

The SpaceInformation that this ODESolver operates in. | |

ODE | ode_ |

Definition of the ODE to find solutions for. | |

double | intStep_ |

The size of the numerical integration step. Should be small to minimize error. | |

## Detailed Description

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.

Definition at line 74 of file ODESolver.h.

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

- ompl/control/ODESolver.h