This section describes how to port your code from the Pinocchio 3 to Pinocchio 4.
C++ changes
All Pinocchio 3 deprecated headers had been removed:
All Pinocchio 3 deprecated functions had been removed:
- Replace FrameTpl::parent by FrameTpl::parentJoint
- Replace FrameTpl::previousFrame by FrameTpl::parentFrame
- Replace GeometryObject constructor argument order has changed
Remove use of Eigen::aligned_allocator:
Eigen 3.4 is now the required minimum version of Eigen:
- Remove PINOCCHIO_WITH_EIGEN_TENSOR_MODULE define
HPP-FCL has been replaced by coal:
Constraints API changes:
- Add std::vector<ConstraintData, ConstraintDataAllocator> contact_datas in initConstraintDynamics method
- Change BaumgarteCorrectorParametersTpl constructor: scalars are used for the gains instead of vectors
RigidConstraintModel internal API has changed:
- Remove colwise_joint1_sparsity
- Remove colwise_joint2_sparsity
- Remove joint1_span_indexes
- Remove joint2_span_indexes
Deprecate ContactCholeskyDecompositionTpl, replaced by ConstraintCholeskyDecompositionTpl
- Deprecate DelassusCholeskyExpressionTpl, replaced by DelassusOperatorCholeskyExpressionTpl
ConstraintCholeskyDecompositionTpl changes :
- Deprecate ConstraintCholeskyDecompositionTpl::allocate replaced by ConstraintCholeskyDecompositionTpl::rebuild
- Add std::vector<ConstraintModel, ConstraintModelAllocator>
- Add std::vector<ConstraintData, ConstraintDataAllocator>
- ConstraintCholeskyDecompositionTpl constructor :
- Add DataTpl<S1, O1, JointCollectionTpl>
- Add std::vector<ConstraintData, ConstraintDataAllocator>
Utility API changes:
- Remove gettimeofday definition on Windows
- Remove operator-(timeval, timeval) definition
- Remove deprecated-macros.hpp and deprecated-namespaces.hpp
- Remove pinocchio/deprecation.hpp replaced by pinocchio/deprecated.hpp
Python bindings API changes:
Python changes
HPP-FCL has been replaced by coal:
- Deprecate pinocchio.WITH_HPP_FCL and pinocchio.WITH_HPP_FCL_BINDINGS replaced by pinocchio.WITH_COLLISION
- Deprecate pinocchio.hppfcl replaced by pinocchio.coal
- Deprecate buildModelFromMJCF(filename, root_joint, root_joint_name) replaced by buildModelFromMJCFAndRootJoint and buildModelAndLegacyConstraintsFromMJCF
- Deprecate buildModelFromSdf replaced by buildModelAndLegacyConstraintsFromSdf
Constraints API changes:
- Add contact_datas in initConstraintDynamics method
- Change BaumgarteCorrectorParameters constructor scalar are used instead of vectors
Deprecate ContactCholeskyDecomposition, replaced by ConstraintCholeskyDecomposition
- Deprecate DelassusCholeskyExpressionTpl, replaced by DelassusOperatorCholeskyExpressionTpl