5 #ifndef __pinocchio_autodiff_cppad_algorithm_aba_hpp__ 6 #define __pinocchio_autodiff_cppad_algorithm_aba_hpp__ 14 template<
typename _Scalar>
struct SE3actOn;
17 template<
typename _Scalar>
18 struct SE3actOn<
CppAD::AD<_Scalar> >
20 typedef CppAD::AD<_Scalar> Scalar;
22 template<
int Options,
typename Matrix6Type>
23 static typename PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix6Type)
24 run(
const SE3Tpl<Scalar,Options> & M,
25 const Eigen::MatrixBase<Matrix6Type> & I)
27 typedef SE3Tpl<Scalar,Options> SE3;
29 typedef typename PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix6Type) ReturnType;
31 typename SE3::ActionMatrixType dual_action_matrix(M.toDualActionMatrix());
32 typename SE3::ActionMatrixType action_matrix(M.toActionMatrixInverse());
33 ReturnType intermediate_result = dual_action_matrix*I;
34 ReturnType res = intermediate_result*action_matrix;
41 #endif // __pinocchio_autodiff_cppad_algorithm_aba_hpp__
Main pinocchio namespace.