5 #ifndef __pinocchio_algorithm_kinematics_derivatives_hpp__
6 #define __pinocchio_algorithm_kinematics_derivatives_hpp__
39 template<
typename,
int>
40 class JointCollectionTpl,
41 typename ConfigVectorType,
42 typename TangentVectorType1,
43 typename TangentVectorType2>
45 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
46 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
47 const Eigen::MatrixBase<ConfigVectorType> &
q,
48 const Eigen::MatrixBase<TangentVectorType1> &
v,
49 const Eigen::MatrixBase<TangentVectorType2> &
a);
70 template<
typename,
int>
71 class JointCollectionTpl,
72 typename Matrix6xOut1,
73 typename Matrix6xOut2>
75 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
76 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
79 const Eigen::MatrixBase<Matrix6xOut1> & v_partial_dq,
80 const Eigen::MatrixBase<Matrix6xOut2> & v_partial_dv);
111 template<
typename,
int>
112 class JointCollectionTpl,
113 typename Matrix6xOut1,
114 typename Matrix6xOut2,
115 typename Matrix6xOut3,
116 typename Matrix6xOut4>
118 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
119 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
122 const Eigen::MatrixBase<Matrix6xOut1> & v_partial_dq,
123 const Eigen::MatrixBase<Matrix6xOut2> & a_partial_dq,
124 const Eigen::MatrixBase<Matrix6xOut3> & a_partial_dv,
125 const Eigen::MatrixBase<Matrix6xOut4> & a_partial_da);
158 template<
typename,
int>
159 class JointCollectionTpl,
160 typename Matrix6xOut1,
161 typename Matrix6xOut2,
162 typename Matrix6xOut3,
163 typename Matrix6xOut4,
164 typename Matrix6xOut5>
166 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
167 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
170 const Eigen::MatrixBase<Matrix6xOut1> & v_partial_dq,
171 const Eigen::MatrixBase<Matrix6xOut2> & v_partial_dv,
172 const Eigen::MatrixBase<Matrix6xOut3> & a_partial_dq,
173 const Eigen::MatrixBase<Matrix6xOut4> & a_partial_dv,
174 const Eigen::MatrixBase<Matrix6xOut5> & a_partial_da);
198 template<
typename,
int>
199 class JointCollectionTpl,
200 typename Matrix3xOut1,
201 typename Matrix3xOut2>
203 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
204 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
206 const SE3Tpl<Scalar, Options> &
placement,
208 const Eigen::MatrixBase<Matrix3xOut1> & v_point_partial_dq,
209 const Eigen::MatrixBase<Matrix3xOut2> & v_point_partial_dv);
242 template<
typename,
int>
243 class JointCollectionTpl,
244 typename Matrix3xOut1,
245 typename Matrix3xOut2,
246 typename Matrix3xOut3,
247 typename Matrix3xOut4>
249 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
250 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
252 const SE3Tpl<Scalar, Options> &
placement,
254 const Eigen::MatrixBase<Matrix3xOut1> & v_point_partial_dq,
255 const Eigen::MatrixBase<Matrix3xOut2> & a_point_partial_dq,
256 const Eigen::MatrixBase<Matrix3xOut3> & a_point_partial_dv,
257 const Eigen::MatrixBase<Matrix3xOut4> & a_point_partial_da);
291 template<
typename,
int>
292 class JointCollectionTpl,
293 typename Matrix3xOut1,
294 typename Matrix3xOut2,
295 typename Matrix3xOut3,
296 typename Matrix3xOut4,
297 typename Matrix3xOut5>
299 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
300 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
302 const SE3Tpl<Scalar, Options> &
placement,
304 const Eigen::MatrixBase<Matrix3xOut1> & v_point_partial_dq,
305 const Eigen::MatrixBase<Matrix3xOut2> & v_point_partial_dv,
306 const Eigen::MatrixBase<Matrix3xOut3> & a_point_partial_dq,
307 const Eigen::MatrixBase<Matrix3xOut4> & a_point_partial_dv,
308 const Eigen::MatrixBase<Matrix3xOut5> & a_point_partial_da);
325 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
327 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
328 DataTpl<Scalar, Options, JointCollectionTpl> &
data);
349 template<
typename,
int>
350 class JointCollectionTpl,
351 typename ConfigVectorType>
355 const Eigen::MatrixBase<ConfigVectorType> &
q)
387 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
389 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
390 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
393 Tensor<Scalar, 3, Options> & kinematic_hessian);
423 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
439 #include "pinocchio/algorithm/kinematics-derivatives.hxx"
441 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
442 #include "pinocchio/algorithm/kinematics-derivatives.txx"
443 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
445 #endif // ifndef __pinocchio_algorithm_kinematics_derivatives_hpp__