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.);
127 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
128 typename ConstraintMatrixType,
typename DriftVectorType>
133 const Eigen::MatrixBase<ConfigVectorType> & q,
134 const Eigen::MatrixBase<TangentVectorType1> & v,
135 const Eigen::MatrixBase<TangentVectorType2> & tau,
136 const Eigen::MatrixBase<ConstraintMatrixType> & J,
137 const Eigen::MatrixBase<DriftVectorType> & gamma,
138 const Scalar inv_damping,
139 const bool updateKinematics)
158 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
159 typename ConstraintMatrixType,
typename KKTMatrixType>
161 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
162 const Eigen::MatrixBase<ConstraintMatrixType> & J,
163 const Eigen::MatrixBase<KKTMatrixType> & MJtJ_inv);
188 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType,
typename ConstraintMatrixType>
190 impulseDynamics(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
191 DataTpl<Scalar,Options,JointCollectionTpl> & data,
192 const Eigen::MatrixBase<ConfigVectorType> & q,
193 const Eigen::MatrixBase<TangentVectorType> & v_before,
194 const Eigen::MatrixBase<ConstraintMatrixType> & J,
195 const Scalar r_coeff = 0.,
196 const Scalar inv_damping = 0.);
220 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType,
typename ConstraintMatrixType>
222 impulseDynamics(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
223 DataTpl<Scalar,Options,JointCollectionTpl> & data,
224 const Eigen::MatrixBase<TangentVectorType> & v_before,
225 const Eigen::MatrixBase<ConstraintMatrixType> & J,
226 const Scalar r_coeff = 0.,
227 const Scalar inv_damping = 0.);
256 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType,
typename ConstraintMatrixType>
261 const Eigen::MatrixBase<ConfigVectorType> & q,
262 const Eigen::MatrixBase<TangentVectorType> & v_before,
263 const Eigen::MatrixBase<ConstraintMatrixType> & J,
264 const Scalar r_coeff,
265 const bool updateKinematics)
275 #include "pinocchio/algorithm/contact-dynamics.hxx"
277 #endif // ifndef __pinocchio_contact_dynamics_hpp__