6#include <proxsuite-nlp/modelling/spaces/multibody.hpp>
7#include <pinocchio/multibody/data.hpp>
9#include <pinocchio/algorithm/proximal.hpp>
19template <
typename _Scalar>
21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
28#pragma GCC diagnostic push
29#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
31 pinocchio::RigidConstraintModelTpl<Scalar>);
33 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData);
34#pragma GCC diagnostic pop
36 using Manifold = proxsuite::nlp::MultibodyPhaseSpace<Scalar>;
47 const Manifold &state,
const MatrixXs &actuation,
51 virtual void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
53 virtual void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
59template <
typename Scalar>
62 using VectorXs =
typename math_types<Scalar>::VectorXs;
63 using MatrixXs =
typename math_types<Scalar>::MatrixXs;
65#pragma GCC diagnostic push
66#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
68#pragma GCC diagnostic pop
76 pinocchio::ProximalSettingsTpl<Scalar>
settings;
86#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
87#include "aligator/modelling/dynamics/multibody-constraint-fwd.txx"
Namespace for modelling system dynamics.
Defines a class representing ODEs.
Data struct for ContinuousDynamicsAbstractTpl.
ContinuousDynamicsDataTpl(const int ndx, const int nu)
typename math_types< Scalar >::MatrixXs MatrixXs
pinocchio::ProximalSettingsTpl< Scalar > settings
PinDataType pin_data_
shared_ptr to the underlying pinocchio::DataTpl object.
pinocchio::RigidConstraintDataTpl< Scalar > RigidConstraintData
RigidConstraintDataVector constraint_datas_
ContinuousDynamicsDataTpl< Scalar > Base
typename math_types< Scalar >::VectorXs VectorXs
pinocchio::DataTpl< Scalar > PinDataType
MultibodyConstraintFwdDataTpl(const MultibodyConstraintFwdDynamicsTpl< Scalar > &cont_dyn)
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintData) RigidConstraintDataVector
Constraint multibody forward dynamics, using Pinocchio.
MultibodyConstraintFwdDynamicsTpl(const Manifold &state, const MatrixXs &actuation, const RigidConstraintModelVector &constraint_models, const ProxSettings &prox_settings)
ODEAbstractTpl< Scalar > Base
ProxSettings prox_settings_
ContinuousDynamicsDataTpl< Scalar > BaseData
shared_ptr< ContDataAbstract > createData() const
Create a data holder instance.
virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the ODE vector field: this returns the value of .
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR( pinocchio::RigidConstraintModelTpl< Scalar >) RigidConstraintModelVector
MultibodyConstraintFwdDataTpl< Scalar > Data
RigidConstraintModelVector constraint_models_
virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the vector field Jacobians.
proxsuite::nlp::MultibodyPhaseSpace< Scalar > Manifold
const Manifold & space() const
ContinuousDynamicsDataTpl< Scalar > ContDataAbstract
pinocchio::ProximalSettingsTpl< Scalar > ProxSettings
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) RigidConstraintDataVector
MatrixXs actuation_matrix_
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
Base class for ODE dynamics .