5 #ifndef __pinocchio_contact_dynamics_hpp__
6 #define __pinocchio_contact_dynamics_hpp__
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
43 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
44 typename ConstraintMatrixType,
typename DriftVectorType>
46 forwardDynamics(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
47 DataTpl<Scalar,Options,JointCollectionTpl> & data,
48 const Eigen::MatrixBase<ConfigVectorType> & q,
49 const Eigen::MatrixBase<TangentVectorType1> & v,
50 const Eigen::MatrixBase<TangentVectorType2> & tau,
51 const Eigen::MatrixBase<ConstraintMatrixType> & J,
52 const Eigen::MatrixBase<DriftVectorType> & gamma,
53 const Scalar inv_damping = 0.);
83 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename TangentVectorType,
84 typename ConstraintMatrixType,
typename DriftVectorType>
86 forwardDynamics(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
87 DataTpl<Scalar,Options,JointCollectionTpl> & data,
88 const Eigen::MatrixBase<TangentVectorType> & tau,
89 const Eigen::MatrixBase<ConstraintMatrixType> & J,
90 const Eigen::MatrixBase<DriftVectorType> & gamma,
91 const Scalar inv_damping = 0.);
126 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
127 typename ConstraintMatrixType,
typename DriftVectorType>
132 const Eigen::MatrixBase<ConfigVectorType> & q,
133 const Eigen::MatrixBase<TangentVectorType1> & v,
134 const Eigen::MatrixBase<TangentVectorType2> & tau,
135 const Eigen::MatrixBase<ConstraintMatrixType> & J,
136 const Eigen::MatrixBase<DriftVectorType> & gamma,
137 const Scalar inv_damping,
138 const bool updateKinematics)
157 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
158 typename ConfigVectorType,
typename ConstraintMatrixType,
typename KKTMatrixType>
160 DataTpl<Scalar,Options,JointCollectionTpl> & data,
161 const Eigen::MatrixBase<ConfigVectorType> & q,
162 const Eigen::MatrixBase<ConstraintMatrixType> & J,
163 const Eigen::MatrixBase<KKTMatrixType> & KKTMatrix_inv,
164 const Scalar & inv_damping = 0.);
181 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
182 typename ConstraintMatrixType,
typename KKTMatrixType>
184 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
185 const Eigen::MatrixBase<ConstraintMatrixType> & J,
186 const Eigen::MatrixBase<KKTMatrixType> & KKTMatrix_inv);
211 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType,
typename ConstraintMatrixType>
213 impulseDynamics(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
214 DataTpl<Scalar,Options,JointCollectionTpl> & data,
215 const Eigen::MatrixBase<ConfigVectorType> & q,
216 const Eigen::MatrixBase<TangentVectorType> & v_before,
217 const Eigen::MatrixBase<ConstraintMatrixType> & J,
218 const Scalar r_coeff = 0.,
219 const Scalar inv_damping = 0.);
243 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType,
typename ConstraintMatrixType>
245 impulseDynamics(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
246 DataTpl<Scalar,Options,JointCollectionTpl> & data,
247 const Eigen::MatrixBase<TangentVectorType> & v_before,
248 const Eigen::MatrixBase<ConstraintMatrixType> & J,
249 const Scalar r_coeff = 0.,
250 const Scalar inv_damping = 0.);
279 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType,
typename ConstraintMatrixType>
284 const Eigen::MatrixBase<ConfigVectorType> & q,
285 const Eigen::MatrixBase<TangentVectorType> & v_before,
286 const Eigen::MatrixBase<ConstraintMatrixType> & J,
287 const Scalar r_coeff,
288 const bool updateKinematics)
298 #include "pinocchio/algorithm/contact-dynamics.hxx"
300 #endif // ifndef __pinocchio_contact_dynamics_hpp__