6#ifdef ALIGATOR_WITH_PINOCCHIO
10#include <pinocchio/multibody/model.hpp>
11#include <pinocchio/multibody/data.hpp>
31template <
typename _Scalar>
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
41 using Model = pinocchio::ModelTpl<Scalar>;
58 const Manifold &state,
const Model &model,
const Vector3s &gravity,
59 const std::vector<bool> &contact_states,
60 const std::vector<pinocchio::FrameIndex> &contact_ids,
61 const int force_size);
63 void forward(
const ConstVectorRef &x,
const ConstVectorRef &u,
65 void dForward(
const ConstVectorRef &x,
const ConstVectorRef &u,
71template <
typename Scalar>
74 using PinData = pinocchio::DataTpl<Scalar>;
96 Eigen::PartialPivLU<Eigen::Matrix<Scalar, 6, 6>>
PivLU_;
101#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
Namespace for modelling system dynamics.
Defines a class representing ODEs.
The tangent bundle of a multibody configuration group.
Data struct for ContinuousDynamicsAbstractTpl.
ContinuousDynamicsDataTpl(const int ndx, const int nu)
typename math_types< Scalar >::Matrix6Xs Matrix6Xs
Eigen::Matrix< Scalar, 6, 1 > Vector6s
Eigen::Matrix< Scalar, 3, 3 > Matrix3s
KinodynamicsFwdDataTpl(const KinodynamicsFwdDynamicsTpl< Scalar > *model)
typename math_types< Scalar >::VectorXs VectorXs
pinocchio::DataTpl< Scalar > PinData
Eigen::PartialPivLU< Eigen::Matrix< Scalar, 6, 6 > > PivLU_
typename math_types< Scalar >::Matrix3Xs Matrix3Xs
Eigen::Matrix< Scalar, 6, 6 > Matrix6s
ContinuousDynamicsDataTpl< Scalar > Base
Nonlinear centroidal and full kinematics forward dynamics.
ContinuousDynamicsDataTpl< Scalar > BaseData
const Manifold & space() const
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the vector field Jacobians.
std::vector< pinocchio::FrameIndex > contact_ids_
KinodynamicsFwdDynamicsTpl(const Manifold &state, const Model &model, const Vector3s &gravity, const std::vector< bool > &contact_states, const std::vector< pinocchio::FrameIndex > &contact_ids, const int force_size)
KinodynamicsFwdDataTpl< Scalar > Data
pinocchio::ModelTpl< Scalar > Model
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
ContinuousDynamicsDataTpl< Scalar > ContDataAbstract
MultibodyPhaseSpace< Scalar > Manifold
void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
Evaluate the ODE vector field: this returns the value of .
Eigen::Matrix< Scalar, 3, 3 > Matrix3s
shared_ptr< ContDataAbstract > createData() const
Create a data holder instance.
ODEAbstractTpl< Scalar > Base
std::vector< bool > contact_states_
Base class for ODE dynamics .
Typedefs for math (Eigen vectors, matrices) depending on scalar type.