8template <
typename Scalar>
struct IntegratorRK2DataTpl;
18template <
typename _Scalar>
22 using Base = ExplicitIntegratorAbstractTpl<Scalar>;
23 using BaseData = ExplicitDynamicsDataTpl<Scalar>;
24 using Data = IntegratorRK2DataTpl<Scalar>;
32 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
34 void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
37 shared_ptr<StageFunctionDataTpl<Scalar>>
createData()
const {
38 return std::make_shared<Data>(
this);
45template <
typename Scalar>
48 using Base = ExplicitIntegratorDataTpl<Scalar>;
67#include "aligator/modelling/dynamics/integrator-rk2.hxx"
69#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
70#include "aligator/modelling/dynamics/integrator-rk2.txx"
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 .
ODEAbstractTpl< Scalar > ODEType
ODEDataTpl< Scalar > ODEData
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< ODEData > continuous_data2
IntegratorRK2DataTpl(const IntegratorRK2Tpl< Scalar > *integrator)
Second-order Runge-Kutta integrator.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< StageFunctionDataTpl< Scalar > > createData() const
Instantiate a Data object.
IntegratorRK2Tpl(const shared_ptr< ODEType > &cont_dynamics, const Scalar timestep)
IntegratorRK2DataTpl< Scalar > Data
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Compute the Jacobians of the forward dynamics.
void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the forward discrete dynamics.
typename Base::ODEType ODEType