diff --git a/src/multibody/joint/joint-free-flyer.hpp b/src/multibody/joint/joint-free-flyer.hpp index 2476462b86817ba41e211882cff5f7a614e07544..01e493cb3daff2973fc876851b338d7a5d418fe2 100644 --- a/src/multibody/joint/joint-free-flyer.hpp +++ b/src/multibody/joint/joint-free-flyer.hpp @@ -339,8 +339,8 @@ namespace se3 TangentVector_t difference_impl(const Eigen::VectorXd & q0, const Eigen::VectorXd & q1) const { - Transformation_t M0(Transformation_t::Identity()); forwardKinematics(M0, q0); - Transformation_t M1(Transformation_t::Identity()); forwardKinematics(M1, q1); + Transformation_t M0(Transformation_t::Identity()); forwardKinematics(M0, q0.segment<NQ> (idx_q ())); + Transformation_t M1(Transformation_t::Identity()); forwardKinematics(M1, q1.segment<NQ> (idx_q ())); return se3::log6(M0.inverse()*M1); } diff --git a/src/multibody/joint/joint-spherical.hpp b/src/multibody/joint/joint-spherical.hpp index 8773e695de7570281f213a8e47539f3eb8d895dd..59bd5f65b34d2a47a0b961a96ef382697d42e5f2 100644 --- a/src/multibody/joint/joint-spherical.hpp +++ b/src/multibody/joint/joint-spherical.hpp @@ -386,8 +386,8 @@ namespace se3 TangentVector_t difference_impl(const Eigen::VectorXd & q0,const Eigen::VectorXd & q1) const { - Transformation_t M0; forwardKinematics(M0, q0); - Transformation_t M1; forwardKinematics(M1, q1); + Transformation_t M0; forwardKinematics(M0, q0.segment<NQ>(idx_q())); + Transformation_t M1; forwardKinematics(M1, q1.segment<NQ>(idx_q())); return se3::log3((M0.rotation().transpose()*M1.rotation()).eval());