11template <
typename Scalar>
struct IntegratorSemiImplDataTpl;
16template <
typename _Scalar>
20 using Base = ExplicitIntegratorAbstractTpl<Scalar>;
21 using BaseData = ExplicitDynamicsDataTpl<Scalar>;
22 using Data = IntegratorSemiImplDataTpl<Scalar>;
32 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
35 void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
38 shared_ptr<StageFunctionDataTpl<Scalar>>
createData()
const {
39 return std::make_shared<Data>(
this);
43template <
typename Scalar>
46 using Base = ExplicitIntegratorDataTpl<Scalar>;
53 const IntegratorSemiImplEulerTpl<Scalar> *integrator);
65#include "aligator/modelling/dynamics/integrator-semi-euler.hxx"
Base definitions for explicit integrators.
ManifoldPtr space_next_
State space for the output of this dynamics model.
VectorXs dx_
Difference vector between current state x and xnext_.
MatrixXs Jtmp_xnext
Jacobian.
VectorXs xnext_
Model next state.
MatrixRef Jx_
Jacobian with respect to .
MatrixRef Ju_
Jacobian with respect to .
IntegratorSemiImplDataTpl(const IntegratorSemiImplEulerTpl< Scalar > *integrator)
ODEDataTpl< Scalar > ODEData
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
Semi-implicit Euler integrator .
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
IntegratorSemiImplDataTpl< Scalar > Data
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Compute the Jacobians of the forward dynamics.
IntegratorSemiImplEulerTpl(const shared_ptr< ODEType > &cont_dynamics, const Scalar timestep)
void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the forward discrete dynamics.
Scalar timestep_
Integration time step .
shared_ptr< StageFunctionDataTpl< Scalar > > createData() const
Instantiate a Data object.
ODEAbstractTpl< Scalar > ODEType