5 #ifndef __pinocchio_algorithm_kinematics_derivatives_hpp__
6 #define __pinocchio_algorithm_kinematics_derivatives_hpp__
39 template<
typename,
int>
class JointCollectionTpl,
40 typename ConfigVectorType,
41 typename TangentVectorType1,
42 typename TangentVectorType2>
44 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
45 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
46 const Eigen::MatrixBase<ConfigVectorType> &
q,
47 const Eigen::MatrixBase<TangentVectorType1> &
v,
48 const Eigen::MatrixBase<TangentVectorType2> &
a);
69 template<
typename,
int>
class JointCollectionTpl,
70 typename Matrix6xOut1,
71 typename Matrix6xOut2>
73 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
74 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
77 const Eigen::MatrixBase<Matrix6xOut1> & v_partial_dq,
78 const Eigen::MatrixBase<Matrix6xOut2> & v_partial_dv);
109 template<
typename,
int>
class JointCollectionTpl,
110 typename Matrix6xOut1,
111 typename Matrix6xOut2,
112 typename Matrix6xOut3,
113 typename Matrix6xOut4>
115 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
116 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
119 const Eigen::MatrixBase<Matrix6xOut1> & v_partial_dq,
120 const Eigen::MatrixBase<Matrix6xOut2> & a_partial_dq,
121 const Eigen::MatrixBase<Matrix6xOut3> & a_partial_dv,
122 const Eigen::MatrixBase<Matrix6xOut4> & a_partial_da);
155 template<
typename,
int>
class JointCollectionTpl,
156 typename Matrix6xOut1,
157 typename Matrix6xOut2,
158 typename Matrix6xOut3,
159 typename Matrix6xOut4,
160 typename Matrix6xOut5>
162 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
163 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
166 const Eigen::MatrixBase<Matrix6xOut1> & v_partial_dq,
167 const Eigen::MatrixBase<Matrix6xOut2> & v_partial_dv,
168 const Eigen::MatrixBase<Matrix6xOut3> & a_partial_dq,
169 const Eigen::MatrixBase<Matrix6xOut4> & a_partial_dv,
170 const Eigen::MatrixBase<Matrix6xOut5> & a_partial_da);
194 template<
typename,
int>
class JointCollectionTpl,
195 typename Matrix3xOut1,
196 typename Matrix3xOut2>
198 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
199 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
201 const SE3Tpl<Scalar, Options> &
placement,
203 const Eigen::MatrixBase<Matrix3xOut1> & v_point_partial_dq,
204 const Eigen::MatrixBase<Matrix3xOut2> & v_point_partial_dv);
237 template<
typename,
int>
class JointCollectionTpl,
238 typename Matrix3xOut1,
239 typename Matrix3xOut2,
240 typename Matrix3xOut3,
241 typename Matrix3xOut4>
243 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
244 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
246 const SE3Tpl<Scalar, Options> &
placement,
248 const Eigen::MatrixBase<Matrix3xOut1> & v_point_partial_dq,
249 const Eigen::MatrixBase<Matrix3xOut2> & a_point_partial_dq,
250 const Eigen::MatrixBase<Matrix3xOut3> & a_point_partial_dv,
251 const Eigen::MatrixBase<Matrix3xOut4> & a_point_partial_da);
285 template<
typename,
int>
class JointCollectionTpl,
286 typename Matrix3xOut1,
287 typename Matrix3xOut2,
288 typename Matrix3xOut3,
289 typename Matrix3xOut4,
290 typename Matrix3xOut5>
292 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
293 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
295 const SE3Tpl<Scalar, Options> &
placement,
297 const Eigen::MatrixBase<Matrix3xOut1> & v_point_partial_dq,
298 const Eigen::MatrixBase<Matrix3xOut2> & v_point_partial_dv,
299 const Eigen::MatrixBase<Matrix3xOut3> & a_point_partial_dq,
300 const Eigen::MatrixBase<Matrix3xOut4> & a_point_partial_dv,
301 const Eigen::MatrixBase<Matrix3xOut5> & a_point_partial_da);
318 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
320 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
321 DataTpl<Scalar, Options, JointCollectionTpl> &
data);
342 template<
typename,
int>
class JointCollectionTpl,
343 typename ConfigVectorType>
347 const Eigen::MatrixBase<ConfigVectorType> &
q)
379 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
381 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
382 const DataTpl<Scalar, Options, JointCollectionTpl> &
data,
385 Tensor<Scalar, 3, Options> & kinematic_hessian);
415 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
431 #include "pinocchio/algorithm/kinematics-derivatives.hxx"
433 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
434 #include "pinocchio/algorithm/kinematics-derivatives.txx"
435 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
437 #endif // ifndef __pinocchio_algorithm_kinematics_derivatives_hpp__