From 74cb2c6f131434a8ea5b8084413e2f07ac32c797 Mon Sep 17 00:00:00 2001 From: Justin Carpentier <jcarpent@laas.fr> Date: Mon, 9 Oct 2017 18:58:49 +0200 Subject: [PATCH] [wip/pinocchio] Fix bug related to Eigen 3.3.x --- pinocchio/Makefile | 1 + pinocchio/distinfo | 1 + pinocchio/patches/patch-aa | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 pinocchio/patches/patch-aa diff --git a/pinocchio/Makefile b/pinocchio/Makefile index 7acad18f..c4a97d6e 100644 --- a/pinocchio/Makefile +++ b/pinocchio/Makefile @@ -12,6 +12,7 @@ MAINTAINER= gepetto@laas.fr CATEGORIES= math COMMENT= Efficient rigid body dynamics LICENSE= gnu-lgpl-v3 +PKGREVISION= 1 # parallel builds would consume all memory because of the g++ process size MAKE_JOBS_SAFE= no diff --git a/pinocchio/distinfo b/pinocchio/distinfo index e9510147..55a53a00 100644 --- a/pinocchio/distinfo +++ b/pinocchio/distinfo @@ -1,3 +1,4 @@ SHA1 (pinocchio-1.2.5.tar.gz) = 4a3e45b3154bf703c8822d2c3c49e32b92edf90e RMD160 (pinocchio-1.2.5.tar.gz) = b03d35e0f0abd1564ba8f44bb08b029dccc4dd1c Size (pinocchio-1.2.5.tar.gz) = 9003067 bytes +SHA1 (patch-aa) = d122db98550c7615572a07454e5801508f2c3a77 diff --git a/pinocchio/patches/patch-aa b/pinocchio/patches/patch-aa new file mode 100644 index 00000000..7ccbba25 --- /dev/null +++ b/pinocchio/patches/patch-aa @@ -0,0 +1,22 @@ +diff --git src/spatial/inertia.hpp src/spatial/inertia.hpp +index 809e1c2..7b33c7b 100644 +--- src/spatial/inertia.hpp ++++ src/spatial/inertia.hpp +@@ -238,7 +238,7 @@ namespace se3 + M.template block<3,3>(LINEAR, LINEAR ).diagonal ().fill (m); + M.template block<3,3>(ANGULAR,LINEAR ) = alphaSkew(m,c); + M.template block<3,3>(LINEAR, ANGULAR) = -M.template block<3,3> (ANGULAR, LINEAR); +- M.template block<3,3>(ANGULAR,ANGULAR) = (typename Symmetric3::Matrix3)(I - AlphaSkewSquare(m,c)); ++ M.template block<3,3>(ANGULAR,ANGULAR) = (I - AlphaSkewSquare(m,c)).matrix(); + + return M; + } +@@ -320,7 +320,7 @@ namespace se3 + res.template block<3,3>(ANGULAR,ANGULAR) = res.template block<3,3>(LINEAR,LINEAR) - res.template block<3,3>(LINEAR,LINEAR).transpose(); + res.template block<3,3>(ANGULAR,ANGULAR) = -skewSquare(mv.linear(),c) - skewSquare(c,mv.linear()); + +- res.template block<3,3>(LINEAR,LINEAR) = (typename Symmetric3::Matrix3)(I - AlphaSkewSquare(m,c)); ++ res.template block<3,3>(LINEAR,LINEAR) = (typename Symmetric3::Matrix3)(I - AlphaSkewSquare(m,c)).matrix(); + + res.template block<3,3>(ANGULAR,ANGULAR) -= res.template block<3,3>(LINEAR,LINEAR) * skew(v.angular()); + res.template block<3,3>(ANGULAR,ANGULAR) += cross(v.angular(),res.template block<3,3>(LINEAR,LINEAR)); -- GitLab