constrained-dynamics-derivatives.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020-2022 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_algorithm_constrained_dynamics_derivatives_hpp__
6 #define __pinocchio_algorithm_constrained_dynamics_derivatives_hpp__
7 
10 
11 namespace pinocchio
12 {
13 
14  template<
15  typename Scalar,
16  int Options,
17  template<typename, int>
18  class JointCollectionTpl,
19  class ConstraintModelAllocator,
20  class ConstraintDataAllocator,
21  typename MatrixType1,
22  typename MatrixType2,
23  typename MatrixType3,
24  typename MatrixType4,
25  typename MatrixType5,
26  typename MatrixType6>
27  PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
29  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
30  DataTpl<Scalar, Options, JointCollectionTpl> & data,
31  const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
33  std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
34  const ProximalSettingsTpl<Scalar> & settings,
35  const Eigen::MatrixBase<MatrixType1> & ddq_partial_dq,
36  const Eigen::MatrixBase<MatrixType2> & ddq_partial_dv,
37  const Eigen::MatrixBase<MatrixType3> & ddq_partial_dtau,
38  const Eigen::MatrixBase<MatrixType4> & lambda_partial_dq,
39  const Eigen::MatrixBase<MatrixType5> & lambda_partial_dv,
40  const Eigen::MatrixBase<MatrixType6> & lambda_partial_dtau);
41 
42  template<
43  typename Scalar,
44  int Options,
45  template<typename, int>
46  class JointCollectionTpl,
47  class ConstraintModelAllocator,
48  class ConstraintDataAllocator,
49  typename MatrixType1,
50  typename MatrixType2,
51  typename MatrixType3,
52  typename MatrixType4,
53  typename MatrixType5,
54  typename MatrixType6>
55  PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
57  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
58  DataTpl<Scalar, Options, JointCollectionTpl> & data,
59  const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
61  std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
62  const Eigen::MatrixBase<MatrixType1> & ddq_partial_dq,
63  const Eigen::MatrixBase<MatrixType2> & ddq_partial_dv,
64  const Eigen::MatrixBase<MatrixType3> & ddq_partial_dtau,
65  const Eigen::MatrixBase<MatrixType4> & lambda_partial_dq,
66  const Eigen::MatrixBase<MatrixType5> & lambda_partial_dv,
67  const Eigen::MatrixBase<MatrixType6> & lambda_partial_dtau)
68  {
71  model, data, contact_models, contact_data, settings, ddq_partial_dq.const_cast_derived(),
72  ddq_partial_dv.const_cast_derived(), ddq_partial_dtau.const_cast_derived(),
73  lambda_partial_dq.const_cast_derived(), lambda_partial_dv.const_cast_derived(),
74  lambda_partial_dtau.const_cast_derived());
75  }
76 
77  template<
78  typename Scalar,
79  int Options,
80  template<typename, int>
81  class JointCollectionTpl,
82  class ConstraintModelAllocator,
83  class ConstraintDataAllocator>
84  PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
86  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
87  DataTpl<Scalar, Options, JointCollectionTpl> & data,
88  const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
90  std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
91  const ProximalSettingsTpl<Scalar> & settings)
92  {
94  model, data, contact_models, contact_data, settings, data.ddq_dq, data.ddq_dv, data.ddq_dtau,
95  data.dlambda_dq, data.dlambda_dv, data.dlambda_dtau);
96  };
97 
98  template<
99  typename Scalar,
100  int Options,
101  template<typename, int>
102  class JointCollectionTpl,
103  class ConstraintModelAllocator,
104  class ConstraintDataAllocator>
105  PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
107  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
108  DataTpl<Scalar, Options, JointCollectionTpl> & data,
109  const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
111  std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data)
112  {
115  };
116 
117 } // namespace pinocchio
118 
119 #include "pinocchio/algorithm/constrained-dynamics-derivatives.hxx"
120 
121 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
122  #include "pinocchio/algorithm/constrained-dynamics-derivatives.txx"
123 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
124 
125 #endif // ifndef __pinocchio_algorithm_constrained_dynamics_derivatives_hpp__
Eigen
pinocchio::DataTpl
Definition: context/generic.hpp:25
pinocchio::computeConstraintDynamicsDerivatives
void computeConstraintDynamicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ConstraintModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, ConstraintDataAllocator > &contact_data, const ProximalSettingsTpl< Scalar > &settings, const Eigen::MatrixBase< MatrixType1 > &ddq_partial_dq, const Eigen::MatrixBase< MatrixType2 > &ddq_partial_dv, const Eigen::MatrixBase< MatrixType3 > &ddq_partial_dtau, const Eigen::MatrixBase< MatrixType4 > &lambda_partial_dq, const Eigen::MatrixBase< MatrixType5 > &lambda_partial_dv, const Eigen::MatrixBase< MatrixType6 > &lambda_partial_dtau)
pinocchio::Options
Options
Definition: joint-configuration.hpp:1116
contact-cholesky.contact_data
list contact_data
Definition: contact-cholesky.py:36
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::PINOCCHIO_UNSUPPORTED_MESSAGE
struct PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility") ContactCholeskyDecompositionTpl
Contact Cholesky decomposition structure. This structure allows to compute in a efficient and parsimo...
Definition: algorithm/contact-cholesky.hpp:55
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
proximal.hpp
pinocchio::ProximalSettingsTpl
Structure containing all the settings paramters for the proximal algorithms.
Definition: algorithm/fwd.hpp:13
pinocchio::RigidConstraintModelTpl
Definition: algorithm/constraints/fwd.hpp:14
pinocchio::RigidConstraintDataTpl
Definition: algorithm/constraints/fwd.hpp:16
std
Definition: autodiff/casadi/utils/static-if.hpp:64
contact-cholesky.contact_models
list contact_models
Definition: contact-cholesky.py:25
contact-info.hpp
pinocchio::ModelTpl
Definition: context/generic.hpp:20
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:1116
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:45