5#ifndef __pinocchio_autodiff_cppad_algorithm_aba_hpp__
6#define __pinocchio_autodiff_cppad_algorithm_aba_hpp__
14 template<
typename _Scalar>
18 template<
typename _Scalar>
19 struct SE3actOn<CppAD::AD<_Scalar>>
21 typedef CppAD::AD<_Scalar> Scalar;
23 template<
int Options,
typename Matrix6Type>
24 static typename PINOCCHIO_EIGEN_PLAIN_TYPE(Matrix6Type)
25 run(
const SE3Tpl<Scalar, Options> & M,
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;
Main pinocchio namespace.