5 #ifndef __pinocchio_algorithm_aba_derivatives_hpp__
6 #define __pinocchio_algorithm_aba_derivatives_hpp__
11 #include <type_traits>
45 template<
typename,
int>
class JointCollectionTpl,
46 typename ConfigVectorType,
47 typename TangentVectorType1,
48 typename TangentVectorType2,
53 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
54 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
55 const Eigen::MatrixBase<ConfigVectorType> &
q,
56 const Eigen::MatrixBase<TangentVectorType1> &
v,
57 const Eigen::MatrixBase<TangentVectorType2> &
tau,
58 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
59 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
60 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
92 template<
typename,
int>
class JointCollectionTpl,
93 typename ConfigVectorType,
94 typename TangentVectorType1,
95 typename TangentVectorType2,
100 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
101 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
102 const Eigen::MatrixBase<ConfigVectorType> &
q,
103 const Eigen::MatrixBase<TangentVectorType1> &
v,
104 const Eigen::MatrixBase<TangentVectorType2> &
tau,
106 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
107 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
108 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
135 template<
typename,
int>
class JointCollectionTpl,
136 typename ConfigVectorType,
137 typename TangentVectorType1,
138 typename TangentVectorType2>
139 typename std::enable_if<
140 ConfigVectorType::IsVectorAtCompileTime || TangentVectorType1::IsVectorAtCompileTime
141 || TangentVectorType2::IsVectorAtCompileTime,
144 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
145 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
146 const Eigen::MatrixBase<ConfigVectorType> &
q,
147 const Eigen::MatrixBase<TangentVectorType1> &
v,
148 const Eigen::MatrixBase<TangentVectorType2> &
tau);
177 template<
typename,
int>
class JointCollectionTpl,
178 typename ConfigVectorType,
179 typename TangentVectorType1,
180 typename TangentVectorType2>
182 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
183 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
184 const Eigen::MatrixBase<ConfigVectorType> &
q,
185 const Eigen::MatrixBase<TangentVectorType1> &
v,
186 const Eigen::MatrixBase<TangentVectorType2> &
tau,
215 template<
typename,
int>
class JointCollectionTpl,
216 typename MatrixType1,
217 typename MatrixType2,
218 typename MatrixType3>
219 typename std::enable_if<
220 !(MatrixType1::IsVectorAtCompileTime || MatrixType2::IsVectorAtCompileTime
221 || MatrixType3::IsVectorAtCompileTime),
224 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
225 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
226 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
227 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
228 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
242 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
244 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
245 DataTpl<Scalar, Options, JointCollectionTpl> &
data);
274 template<
typename,
int>
class JointCollectionTpl,
275 typename MatrixType1,
276 typename MatrixType2,
277 typename MatrixType3>
279 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
280 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
282 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
283 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
284 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
303 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
305 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
306 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
312 #include "pinocchio/algorithm/aba-derivatives.hxx"
314 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
315 #include "pinocchio/algorithm/aba-derivatives.txx"
316 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
318 #endif // ifndef __pinocchio_algorithm_aba_derivatives_hpp__