5 #ifndef __pinocchio_algorithm_aba_derivatives_hpp__
6 #define __pinocchio_algorithm_aba_derivatives_hpp__
11 #include <type_traits>
45 template<
typename,
int>
46 class JointCollectionTpl,
47 typename ConfigVectorType,
48 typename TangentVectorType1,
49 typename TangentVectorType2,
54 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
55 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
56 const Eigen::MatrixBase<ConfigVectorType> &
q,
57 const Eigen::MatrixBase<TangentVectorType1> &
v,
58 const Eigen::MatrixBase<TangentVectorType2> &
tau,
59 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
60 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
61 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
93 template<
typename,
int>
94 class JointCollectionTpl,
95 typename ConfigVectorType,
96 typename TangentVectorType1,
97 typename TangentVectorType2,
100 typename MatrixType3>
102 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
103 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
104 const Eigen::MatrixBase<ConfigVectorType> &
q,
105 const Eigen::MatrixBase<TangentVectorType1> &
v,
106 const Eigen::MatrixBase<TangentVectorType2> &
tau,
108 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
109 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
110 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
137 template<
typename,
int>
138 class JointCollectionTpl,
139 typename ConfigVectorType,
140 typename TangentVectorType1,
141 typename TangentVectorType2>
142 typename std::enable_if<
143 ConfigVectorType::IsVectorAtCompileTime || TangentVectorType1::IsVectorAtCompileTime
144 || TangentVectorType2::IsVectorAtCompileTime,
147 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
148 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
149 const Eigen::MatrixBase<ConfigVectorType> &
q,
150 const Eigen::MatrixBase<TangentVectorType1> &
v,
151 const Eigen::MatrixBase<TangentVectorType2> &
tau);
180 template<
typename,
int>
181 class JointCollectionTpl,
182 typename ConfigVectorType,
183 typename TangentVectorType1,
184 typename TangentVectorType2>
186 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
187 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
188 const Eigen::MatrixBase<ConfigVectorType> &
q,
189 const Eigen::MatrixBase<TangentVectorType1> &
v,
190 const Eigen::MatrixBase<TangentVectorType2> &
tau,
219 template<
typename,
int>
220 class JointCollectionTpl,
221 typename MatrixType1,
222 typename MatrixType2,
223 typename MatrixType3>
224 typename std::enable_if<
225 !(MatrixType1::IsVectorAtCompileTime || MatrixType2::IsVectorAtCompileTime
226 || MatrixType3::IsVectorAtCompileTime),
229 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
230 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
231 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
232 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
233 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
247 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
249 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
250 DataTpl<Scalar, Options, JointCollectionTpl> &
data);
279 template<
typename,
int>
280 class JointCollectionTpl,
281 typename MatrixType1,
282 typename MatrixType2,
283 typename MatrixType3>
285 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
286 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
288 const Eigen::MatrixBase<MatrixType1> & aba_partial_dq,
289 const Eigen::MatrixBase<MatrixType2> & aba_partial_dv,
290 const Eigen::MatrixBase<MatrixType3> & aba_partial_dtau);
309 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
311 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
312 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
318 #include "pinocchio/algorithm/aba-derivatives.hxx"
320 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
321 #include "pinocchio/algorithm/aba-derivatives.txx"
322 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
324 #endif // ifndef __pinocchio_algorithm_aba_derivatives_hpp__