4#include <proxsuite-nlp/modelling/spaces/vector-space.hpp>
11template <
typename _Scalar>
19 using Base = ExplicitDynamicsModelTpl<Scalar>;
21 using Data = ExplicitDynamicsDataTpl<Scalar>;
23 proxsuite::nlp::VectorSpaceTpl<Scalar, Eigen::Dynamic>;
31 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
33 data.xnext_ =
A_ * x +
B_ * u +
c_;
36 void dForward(
const ConstVectorRef &,
const ConstVectorRef &,
Data &)
const {}
40 std::make_shared<Data>(this->
ndx1, this->
nu, this->
nx2(), this->
ndx2);
Explicit forward dynamics model .
const int ndx2
Next state dimension.
const int nu
Control dimension.
const int ndx1
Current state dimension.
Discrete explicit linear dynamics.
LinearDiscreteDynamicsTpl(const MatrixXs &A, const MatrixXs &B, const VectorXs &c)
Constructor with state manifold and matrices.
ExplicitDynamicsModelTpl< Scalar > Base
void dForward(const ConstVectorRef &, const ConstVectorRef &, Data &) const
Compute the Jacobians of the forward dynamics.
proxsuite::nlp::VectorSpaceTpl< Scalar, Eigen::Dynamic > VectorSpaceType
shared_ptr< DynData > createData() const
Instantiate a Data object.
DynamicsDataTpl< Scalar > DynData
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const
Evaluate the forward discrete dynamics.