diff --git a/pinocchio/Makefile b/pinocchio/Makefile
index ae6a19a66f933fdc2d230309b39de9a036e847aa..1a50e8a19ff876bac234713cc9c60b0635a4a9da 100644
--- a/pinocchio/Makefile
+++ b/pinocchio/Makefile
@@ -30,12 +30,12 @@ CMAKE_ARGS+=		BUILD_UNIT_TESTS=ON
 CMAKE_ARGS+=		BUILD_UTILS=OFF
 CMAKE_ARGS+=		BUILD_TESTS_WITH_HPP=OFF
 CMAKE_ARGS+=		BUILD_PYTHON_INTERFACE=ON
+CMAKE_ARGS+=    -DCMAKE_INSTALL_LIBDIR=lib
 
 USE_BOOST_LIBS=		python system filesystem unit_test_framework
 
 include ../../devel/boost-headers/depend.mk
 include ../../devel/boost-libs/depend.mk
-include ../../graphics/assimp/depend.mk
 include ../../graphics/urdfdom/depend.mk
 include ../../math/eigen3/depend.mk
 include ../../path/hpp-fcl/depend.mk
diff --git a/pinocchio/PLIST b/pinocchio/PLIST
index 4f33f954bc78d3844acb1ecc0aab40a6ab41f9b0..d61bfc2ebf5000ec6e7be218d2e516e9ff8e335e 100644
--- a/pinocchio/PLIST
+++ b/pinocchio/PLIST
@@ -1,41 +1,92 @@
-@comment Wed Jun 1 16:41:11 CEST 2016
+@comment Wed Sep 28 15:08:13 CEST 2016
+include/pinocchio/SUBPATH/algorithms.hpp
+include/pinocchio/SUBPATH/data.hpp
+include/pinocchio/SUBPATH/eigen_container.hpp
+include/pinocchio/SUBPATH/explog.hpp
+include/pinocchio/SUBPATH/force.hpp
+include/pinocchio/SUBPATH/frame.hpp
+include/pinocchio/SUBPATH/geometry-data.hpp
+include/pinocchio/SUBPATH/geometry-model.hpp
+include/pinocchio/SUBPATH/geometry-object.hpp
+include/pinocchio/SUBPATH/handler.hpp
+include/pinocchio/SUBPATH/inertia.hpp
+include/pinocchio/SUBPATH/joint-derived.hpp
+include/pinocchio/SUBPATH/joint.hpp
+include/pinocchio/SUBPATH/joints-models.hpp
+include/pinocchio/SUBPATH/joints-variant.hpp
+include/pinocchio/SUBPATH/model.hpp
+include/pinocchio/SUBPATH/motion.hpp
+include/pinocchio/SUBPATH/parsers.hpp
+include/pinocchio/SUBPATH/python.hpp
+include/pinocchio/SUBPATH/se3.hpp
 include/pinocchio/algorithm/aba.hpp
 include/pinocchio/algorithm/aba.hxx
 include/pinocchio/algorithm/center-of-mass.hpp
 include/pinocchio/algorithm/center-of-mass.hxx
+include/pinocchio/algorithm/check.hpp
+include/pinocchio/algorithm/check.hxx
 include/pinocchio/algorithm/cholesky.hpp
 include/pinocchio/algorithm/cholesky.hxx
-include/pinocchio/algorithm/collisions.hpp
 include/pinocchio/algorithm/compute-all-terms.hpp
+include/pinocchio/algorithm/copy.hpp
 include/pinocchio/algorithm/crba.hpp
 include/pinocchio/algorithm/crba.hxx
+include/pinocchio/algorithm/default-check.hpp
 include/pinocchio/algorithm/dynamics.hpp
 include/pinocchio/algorithm/energy.hpp
+include/pinocchio/algorithm/finite-differences.hpp
+include/pinocchio/algorithm/finite-differences.hxx
+include/pinocchio/algorithm/frames.hpp
+include/pinocchio/algorithm/geometry.hpp
+include/pinocchio/algorithm/geometry.hxx
 include/pinocchio/algorithm/jacobian.hpp
 include/pinocchio/algorithm/jacobian.hxx
 include/pinocchio/algorithm/joint-configuration.hpp
 include/pinocchio/algorithm/kinematics.hpp
 include/pinocchio/algorithm/kinematics.hxx
-include/pinocchio/algorithm/operational-frames.hpp
 include/pinocchio/algorithm/rnea.hpp
 include/pinocchio/algorithm/rnea.hxx
 include/pinocchio/assert.hpp
+include/pinocchio/bindings/python/algorithm/algorithms.hpp
+include/pinocchio/bindings/python/data.hpp
+include/pinocchio/bindings/python/eigen_container.hpp
+include/pinocchio/bindings/python/explog.hpp
+include/pinocchio/bindings/python/force.hpp
+include/pinocchio/bindings/python/frame.hpp
+include/pinocchio/bindings/python/geometry-data.hpp
+include/pinocchio/bindings/python/geometry-model.hpp
+include/pinocchio/bindings/python/geometry-object.hpp
+include/pinocchio/bindings/python/handler.hpp
+include/pinocchio/bindings/python/inertia.hpp
+include/pinocchio/bindings/python/joint-derived.hpp
+include/pinocchio/bindings/python/joint.hpp
+include/pinocchio/bindings/python/joints-models.hpp
+include/pinocchio/bindings/python/joints-variant.hpp
+include/pinocchio/bindings/python/model.hpp
+include/pinocchio/bindings/python/motion.hpp
+include/pinocchio/bindings/python/parsers.hpp
+include/pinocchio/bindings/python/python.hpp
+include/pinocchio/bindings/python/se3.hpp
 include/pinocchio/config.hh
 include/pinocchio/deprecated.hh
 include/pinocchio/exception.hpp
 include/pinocchio/math/fwd.hpp
+include/pinocchio/math/matrix.hpp
 include/pinocchio/math/quaternion.hpp
 include/pinocchio/math/sincos.hpp
 include/pinocchio/multibody/constraint.hpp
+include/pinocchio/multibody/fcl.hpp
+include/pinocchio/multibody/fcl.hxx
 include/pinocchio/multibody/force-set.hpp
+include/pinocchio/multibody/frame.hpp
 include/pinocchio/multibody/fwd.hpp
 include/pinocchio/multibody/geometry.hpp
 include/pinocchio/multibody/geometry.hxx
-include/pinocchio/multibody/joint.hpp
-include/pinocchio/multibody/joint/joint-accessor.hpp
+include/pinocchio/multibody/joint/fwd.hpp
 include/pinocchio/multibody/joint/joint-base.hpp
 include/pinocchio/multibody/joint/joint-basic-visitors.hpp
 include/pinocchio/multibody/joint/joint-basic-visitors.hxx
+include/pinocchio/multibody/joint/joint-composite.hpp
 include/pinocchio/multibody/joint/joint-dense.hpp
 include/pinocchio/multibody/joint/joint-free-flyer.hpp
 include/pinocchio/multibody/joint/joint-generic.hpp
@@ -43,46 +94,28 @@ include/pinocchio/multibody/joint/joint-planar.hpp
 include/pinocchio/multibody/joint/joint-prismatic-unaligned.hpp
 include/pinocchio/multibody/joint/joint-prismatic.hpp
 include/pinocchio/multibody/joint/joint-revolute-unaligned.hpp
+include/pinocchio/multibody/joint/joint-revolute-unbounded.hpp
 include/pinocchio/multibody/joint/joint-revolute.hpp
 include/pinocchio/multibody/joint/joint-spherical-ZYX.hpp
 include/pinocchio/multibody/joint/joint-spherical.hpp
 include/pinocchio/multibody/joint/joint-translation.hpp
 include/pinocchio/multibody/joint/joint-variant.hpp
+include/pinocchio/multibody/joint/joint.hpp
 include/pinocchio/multibody/model.hpp
 include/pinocchio/multibody/model.hxx
-include/pinocchio/multibody/parser/from-collada-to-fcl.hpp
-include/pinocchio/multibody/parser/sample-models.hpp
-include/pinocchio/multibody/parser/srdf.hpp
-include/pinocchio/multibody/parser/urdf-with-geometry.hpp
-include/pinocchio/multibody/parser/urdf-with-geometry.hxx
-include/pinocchio/multibody/parser/urdf.hpp
-include/pinocchio/multibody/parser/urdf.hxx
-include/pinocchio/multibody/parser/utils.hpp
 include/pinocchio/multibody/visitor.hpp
-include/pinocchio/python/algorithms.hpp
-include/pinocchio/python/data.hpp
-include/pinocchio/python/eigen_container.hpp
-include/pinocchio/python/explog.hpp
-include/pinocchio/python/force.hpp
-include/pinocchio/python/frame.hpp
-include/pinocchio/python/geometry-data.hpp
-include/pinocchio/python/geometry-model.hpp
-include/pinocchio/python/geometry-object.hpp
-include/pinocchio/python/handler.hpp
-include/pinocchio/python/inertia.hpp
-include/pinocchio/python/joint-dense.hpp
-include/pinocchio/python/joints-models.hpp
-include/pinocchio/python/joints-variant.hpp
-include/pinocchio/python/model.hpp
-include/pinocchio/python/motion.hpp
-include/pinocchio/python/parsers.hpp
-include/pinocchio/python/python.hpp
-include/pinocchio/python/se3.hpp
+include/pinocchio/parsers/lua.hpp
+include/pinocchio/parsers/lua/lua_tables.hpp
+include/pinocchio/parsers/python.hpp
+include/pinocchio/parsers/sample-models.hpp
+include/pinocchio/parsers/srdf.hpp
+include/pinocchio/parsers/urdf.hpp
+include/pinocchio/parsers/urdf/utils.hpp
+include/pinocchio/parsers/utils.hpp
 include/pinocchio/spatial/act-on-set.hpp
 include/pinocchio/spatial/explog.hpp
 include/pinocchio/spatial/fcl-pinocchio-conversions.hpp
 include/pinocchio/spatial/force.hpp
-include/pinocchio/spatial/frame.hpp
 include/pinocchio/spatial/fwd.hpp
 include/pinocchio/spatial/inertia.hpp
 include/pinocchio/spatial/motion.hpp
@@ -95,10 +128,17 @@ include/pinocchio/tools/timer.hpp
 include/pinocchio/warning.hh
 lib/libpinocchio.so
 lib/pkgconfig/pinocchio.pc
+lib/pkgconfig/pinocchiopy.pc
+${PYTHON_SITELIB}/pinocchio/libpinocchio_pywrap.so
 ${PYTHON_SITELIB}/pinocchio/__init__.py
 ${PYTHON_SITELIB}/pinocchio/explog.py
-${PYTHON_SITELIB}/pinocchio/libpinocchio_pywrap.so
 ${PYTHON_SITELIB}/pinocchio/robot_wrapper.py
 ${PYTHON_SITELIB}/pinocchio/romeo_wrapper.py
 ${PYTHON_SITELIB}/pinocchio/rpy.py
 ${PYTHON_SITELIB}/pinocchio/utils.py
+${PYTHON_SITELIB}/pinocchio/__init__.pyc
+${PYTHON_SITELIB}/pinocchio/explog.pyc
+${PYTHON_SITELIB}/pinocchio/robot_wrapper.pyc
+${PYTHON_SITELIB}/pinocchio/romeo_wrapper.pyc
+${PYTHON_SITELIB}/pinocchio/rpy.pyc
+${PYTHON_SITELIB}/pinocchio/utils.pyc
diff --git a/pinocchio/distinfo b/pinocchio/distinfo
index 99ce4cf72665d59c3971ad38683e519f1a7c2b94..3a87b40051923d24ba2ce3d1f85d1b14bcb6e3a0 100644
--- a/pinocchio/distinfo
+++ b/pinocchio/distinfo
@@ -1,3 +1,3 @@
-SHA1 (pinocchio-1.2.0.tar.gz) = d5fbd40c2ab0dede896fbd6a981b990a436b815c
-RMD160 (pinocchio-1.2.0.tar.gz) = 3f93a5709200d68f6064fd6a15c7d301ae0cc696
-Size (pinocchio-1.2.0.tar.gz) = 8976212 bytes
+SHA1 (pinocchio-1.2.0.tar.gz) = ddb31544076fd2299bd76bc4a5b83e246e67e37f
+RMD160 (pinocchio-1.2.0.tar.gz) = 9c05dd8bb460a0a83d71787bcd9d8a42cc738e7c
+Size (pinocchio-1.2.0.tar.gz) = 8976171 bytes
diff --git a/pinocchio/patches/patch-aa b/pinocchio/patches/patch-aa
deleted file mode 100644
index bcb9bd3282186ca8a3428edb5b8d7ce9d2e01a96..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-aa
+++ /dev/null
@@ -1,30 +0,0 @@
-Drop unusued optional dependencies, so that they're not found by mistake
-Make other optional dependencies that are used 'required'
-Check assimp version
-
---- CMakeLists.txt~	2016-05-27 14:31:10.000000000 +0200
-+++ CMakeLists.txt	2016-06-01 14:30:28.696448120 +0200
-@@ -63,12 +63,19 @@
- # ----------------------------------------------------
- ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5")
- ADD_OPTIONAL_DEPENDENCY("eigenpy >= 1.3.0")
--ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
--ADD_OPTIONAL_DEPENDENCY("urdfdom >= 0.2.10")
--ADD_OPTIONAL_DEPENDENCY("lua5.1")
-+#ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
-+ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.10")
-+#ADD_OPTIONAL_DEPENDENCY("lua5.1")
- ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 0.4.1")
- IF(HPP_FCL_FOUND AND URDFDOM_FOUND)
--  ADD_REQUIRED_DEPENDENCY("assimp >= 3.0")
-+  ADD_REQUIRED_DEPENDENCY("assimp >= 2.0")
-+if (NOT ${ASSIMP_VERSION} VERSION_LESS "2.0.1150")
-+  add_definitions(-DASSIMP_UNIFIED_HEADER_NAMES)
-+  message(STATUS "Assimp version has unified headers")
-+else()
-+  message(STATUS "Assimp version does not have unified headers")
-+endif()
-+
- ENDIF(HPP_FCL_FOUND AND URDFDOM_FOUND)
- 
- SET(BOOST_COMPONENTS filesystem unit_test_framework system)
diff --git a/pinocchio/patches/patch-ab b/pinocchio/patches/patch-ab
deleted file mode 100644
index 418474245d085f4c056d806f7bc6fbcadbd035f3..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-ab
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix a quoting issue
-
---- cmake/python.cmake~	2016-04-28 11:48:47.000000000 +0200
-+++ cmake/python.cmake	2016-06-01 14:33:51.595727705 +0200
-@@ -48,7 +48,7 @@
- ENDIF (NOT ${PYTHONLIBS_FOUND} STREQUAL TRUE)
- 
- # Find PYTHON_LIBRARY_DIRS
--GET_FILENAME_COMPONENT(PYTHON_LIBRARY_DIRS ${PYTHON_LIBRARIES} PATH)
-+GET_FILENAME_COMPONENT(PYTHON_LIBRARY_DIRS "${PYTHON_LIBRARIES}" PATH)
- 
- # Default Python packages directory
- SET(PYTHON_PACKAGES_DIR site-packages)
diff --git a/pinocchio/patches/patch-ac b/pinocchio/patches/patch-ac
deleted file mode 100644
index 2b4597b5c2d20295491f5ce744d675b5eacf4b1e..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-ac
+++ /dev/null
@@ -1,32 +0,0 @@
-Fix path to assimp-2 headers
-
---- src/multibody/parser/from-collada-to-fcl.hpp~	2016-05-27 14:31:10.000000000 +0200
-+++ src/multibody/parser/from-collada-to-fcl.hpp	2016-06-01 15:13:49.747002604 +0200
-@@ -25,12 +25,21 @@
- #include <boost/foreach.hpp>
- #include <boost/format.hpp>
- 
--#include <assimp/DefaultLogger.hpp>
--#include <assimp/IOStream.hpp>
--#include <assimp/IOSystem.hpp>
--#include <assimp/scene.h>
--#include <assimp/Importer.hpp>
--#include <assimp/postprocess.h>
-+#ifdef ASSIMP_UNIFIED_HEADER_NAMES
-+# include <assimp/DefaultLogger.hpp>
-+# include <assimp/IOStream.hpp>
-+# include <assimp/IOSystem.hpp>
-+# include <assimp/scene.h>
-+# include <assimp/Importer.hpp>
-+# include <assimp/postprocess.h>
-+#else
-+# include <assimp/DefaultLogger.h>
-+# include <assimp/assimp.hpp>
-+# include <assimp/IOStream.h>
-+# include <assimp/IOSystem.h>
-+# include <assimp/aiScene.h>
-+# include <assimp/aiPostProcess.h>
-+#endif
- 
- #include <hpp/fcl/BV/OBBRSS.h>
- #include <hpp/fcl/BVH/BVH_model.h>
diff --git a/pinocchio/patches/patch-ad b/pinocchio/patches/patch-ad
deleted file mode 100644
index 50ae3d254ba28c7c2f9500bed1299ccd5d8efaad..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-ad
+++ /dev/null
@@ -1,10 +0,0 @@
---- unittest/constraint.cpp~	2016-05-27 14:31:10.000000000 +0200
-+++ unittest/constraint.cpp	2016-06-02 10:49:37.831834286 +0200
-@@ -15,6 +15,7 @@
- // Pinocchio If not, see
- // <http://www.gnu.org/licenses/>.
- 
-+#include <cmath>
- #include <iostream>
- 
- #include "pinocchio/spatial/force.hpp"
diff --git a/pinocchio/patches/patch-ae b/pinocchio/patches/patch-ae
deleted file mode 100644
index 69ab4fecb4d28e408499b4dc6778b2aab256706e..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-ae
+++ /dev/null
@@ -1,14 +0,0 @@
-Pinocchio can in fact compiled against urdfdom 0.2.3 
-which is the version of Ubuntu 14.04
-
---- CMakeLists.txt~	2016-06-23 11:29:17.251249164 +0200
-+++ CMakeLists.txt	2016-06-23 11:29:35.467476187 +0200
-@@ -64,7 +64,7 @@
- ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5")
- ADD_OPTIONAL_DEPENDENCY("eigenpy >= 1.3.0")
- #ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
--ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.10")
-+ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.0")
- #ADD_OPTIONAL_DEPENDENCY("lua5.1")
- ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 0.4.1")
- IF(HPP_FCL_FOUND AND URDFDOM_FOUND)
diff --git a/pinocchio/patches/patch-af b/pinocchio/patches/patch-af
deleted file mode 100644
index 15794448a125bb064218486186feb18a2fa15d43..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-af
+++ /dev/null
@@ -1,13 +0,0 @@
-add namespace scope for isnan for BSD support
-
---- unittest/constraint.cpp~	2016-06-23 12:01:14.195163945 +0200
-+++ unittest/constraint.cpp	2016-06-23 12:01:23.967285969 +0200
-@@ -48,7 +48,7 @@
-   ForceSet F2(Eigen::Matrix<double,3,2>::Zero(),Eigen::Matrix<double,3,2>::Zero());
-   F.block(10,2) = F2;
-   BOOST_CHECK_EQUAL(F.matrix().col(10).norm() , 0.0 );
--  BOOST_CHECK(isnan(F.matrix()(0,9)));
-+  BOOST_CHECK(std::isnan(F.matrix()(0,9)));
- 
-   ForceSet F3(Eigen::Matrix<double,3,12>::Random(),Eigen::Matrix<double,3,12>::Random());
-   ForceSet F4 = amb.act(F3);
diff --git a/pinocchio/patches/patch-ag b/pinocchio/patches/patch-ag
deleted file mode 100644
index d06874567dd70d816b219b9f9b12abf6476babc3..0000000000000000000000000000000000000000
--- a/pinocchio/patches/patch-ag
+++ /dev/null
@@ -1,49 +0,0 @@
-Handle the API of urdfdom with version less than 0.3.0
-
---- CMakeLists.txt~	2016-06-23 14:06:07.084967753 +0200
-+++ CMakeLists.txt	2016-06-23 14:05:45.768700958 +0200
-@@ -67,6 +67,14 @@
- ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.0")
- #ADD_OPTIONAL_DEPENDENCY("lua5.1")
- ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 0.4.1")
-+
-+# Special care of urdfdom less than 0.3.0
-+IF(URDFDOM_FOUND)
-+  IF(${URDFDOM_VERSION} VERSION_LESS "0.3.0")
-+    add_definitions(-DURDFDOM_COLLISION_WITH_GROUP_NAME)
-+  ENDIF(${URDFDOM_VERSION} VERSION_LESS "0.3.0")
-+ENDIF(URDFDOM_FOUND)
-+
- IF(HPP_FCL_FOUND AND URDFDOM_FOUND)
-   ADD_REQUIRED_DEPENDENCY("assimp >= 2.0")
- if (NOT ${ASSIMP_VERSION} VERSION_LESS "2.0.1150")
---- src/multibody/parser/urdf-with-geometry.hxx~	2016-05-27 14:31:10.000000000 +0200
-+++ src/multibody/parser/urdf-with-geometry.hxx	2016-06-23 14:05:29.812501233 +0200
-@@ -124,7 +124,13 @@
-         {
-           fcl::CollisionObject collision_object = retrieveCollisionGeometry((*i)->geometry, package_dirs, mesh_path);
-           SE3 geomPlacement = convertFromUrdf((*i)->origin);
-+
-+#ifdef URDFDOM_COLLISION_WITH_GROUP_NAME
-+          std::string collision_object_name = (*i)->group_name ;
-+#else
-           std::string collision_object_name = (*i)->name ;
-+#endif
-+
-           geom_model.addCollisionObject(model.parents[model.getBodyId(link_name)], collision_object, geomPlacement, collision_object_name, mesh_path); 
-           
-         }
-@@ -143,7 +149,13 @@
-         {
-           fcl::CollisionObject visual_object = retrieveCollisionGeometry((*i)->geometry, package_dirs, mesh_path);
-           SE3 geomPlacement = convertFromUrdf((*i)->origin);
-+
-+#ifdef URDFDOM_COLLISION_WITH_GROUP_NAME
-+          std::string visual_object_name = (*i)->group_name ;
-+#else
-           std::string visual_object_name = (*i)->name ;
-+#endif
-+
-           geom_model.addVisualObject(model.parents[model.getBodyId(link_name)], visual_object, geomPlacement, visual_object_name, mesh_path); 
-           
-         }