Pinocchio 3.0.0
What's Changed
Added
Automatic differentiation
- Full support of Casadi in the main library by @jcarpent and @ManifoldFR
- Full support of Casadi for Python bindings by @jcarpent
- Full support of Boost.Multiprecision in the main library by @jcarpent
- Full support of Boost.Multiprecision for Python bindings by @jcarpent
- Full support of CppAD and CppADCodeGen in the main library by @jcarpent
- Full support of CppAD and CppADCodeGen for Python bindings by @jcarpent and @proyan
Core features
- Full support of constrained dynamical systems by @jcarpent
- Full support of derivatives of constrained dynamical systems by @jcarpent and @proyan
- Extended algorithms for constrained dynamics: constrained ABA, PV solvers, etc. by @jcarpent and @AjSat
- Add frictional contact solvers (PGS, ADMM) by @jcarpent
- Add contact inverse dynamics by @quentinll
- Full support of broadphase algorithms in Pinocchio by @jcarpent
- New joint supports (Helicoidal, Universal) by @fabinsch and @MegMll
- Add new algorithms for supporting Delassus factorizations for sparse, dense and tree-based systems by @jcarpent
- Add full OpenMP support for many algorithms (ABA, RNEA, collision detection, etc.) by @jcarpent
- Full support of GeometryModel, GeometryObject serialization by @jcarpent
- Extended support of Meshcat by @jcarpent, @ManifoldFR and @jorisv
- Extended testing and support of Lie groups operations by @jcarpent and @ManifoldFR
- Full support of AVX512 and AVX2 vectorization for Python bindings by @jcarpent
- Full support of the robot armature in RNEA, CRBA and ABA
- Extended formulation of CRBA and ABA using WORLD convention for reduced computational burden in the derivative algorithms
Parsers
Packaging
- Full support of template instantiation by @fabinsch and @jorisv
- Enhance support for Windows-based systems by @jorisv
- Splitting of the Pinocchio into sub-library for isolation by @jorisv
Compatibility
- Add
PINOCCHIO_ENABLE_COMPATIBILITY_WITH_VERSION_2
define to activate compatibility with Pinocchio 2 API
Changed
C++
- Change minimum required version of C++ to C++11. Check for compatibility here: https://en.cppreference.com/w/cpp/compiler_support/11
- Replace
pinocchio::BiasZeroTpl
bypinocchio::MotionZeroTpl
- Replace
pinocchio::fusion::JointVisitorBase
bypinocchio::fusion::JointUnaryVisitorBase
- Replace
pinocchio::fusion::push_front
bypinocchio::fusion::append
- Replace
pinocchio::regressor::computeStaticRegressor
bypinocchio::computeStaticRegressor
- Replace
pinocchio::jointJacobian
bypinocchio::computeJointJacobian
- Replace
pinocchio::frameJacobian
bypinocchio::computeFrameJacobian
- Replace
pinocchio::framesForwardKinematics
bypinocchio::updateFramePlacements
- Replace
pinocchio::kineticEnergy
bypinocchio::computeKineticEnergy
- Replace
pinocchio::potentialEnergy
bypinocchio::computePotentialEnergy
- Replace
pinocchio::computeCentroidalDynamics
bypinocchio::computeCentroidalMomentum
andpinocchio::computeCentroidalMomentumTimeVariation
- Replace
pinocchio::centerOfMass(const ModelTpl&, DataTpl&, int, bool)
bypinocchio::centerOfMass(const ModelTpl&, DataTpl&, KinematicLevel, bool)
- Replace
pinocchio::copy(const ModelTpl&, const DataTpl&, DataTpl&, int)
bypinocchio::copy(const ModelTpl&, const DataTpl&, DataTpl&, KinematicLevel)
- Replace
pinocchio/algorithm/dynamics.hpp
bypinocchio/algorithm/constrained-dynamics.hpp
- Change the order of arguments in some of
pinocchio::GeometryObject
's constructors - Deprecate
pinocchio/algorithm/parallel/geometry.hpp
moved atpinocchio/collision/parallel/geometry.hpp
- Deprecate
pinocchio/spatial/fcl-pinocchio-conversions.hpp
moved atpinocchio/collision/fcl-pinocchio-conversions.hpp
- Deprecate
pinocchio/parsers/sample-models.hpp
moved atpinocchio/multibody/sample-models.hpp
- Deprecate
pinocchio/math/cppad.hpp
moved atpinocchio/autodiff/cppad.hpp
- Deprecate
pinocchio/math/cppadcg.hpp
moved atpinocchio/autodiff/cppadcg.hpp
- Deprecate
pinocchio/math/casadi.hpp
moved atpinocchio/autodiff/casadi.hpp
- Deprecate
pinocchio::FrameTpl::parent
replaced bypinocchio::FrameTpl::parentJoint
- Deprecate
pinocchio::FrameTpl::previousFrame
replaced bypinocchio::FrameTpl::parentFrame
- Deprecate
pinocchio/algorithm/contact-dynamics.hpp
algorithms replaced bypinocchio/algorithm/constrained-dynamics.hpp
Python
- Replace
pinocchio.utils.skew
bypinocchio.skew
- Replace
pinocchio.utils.se3ToXYZQUAT
bypinocchio.SE3ToXYZQUATtuple
- Replace
pinocchio.utils.XYZQUATToSe3
bypinocchio.XYZQUATToSE3
- Replace
pinocchio.robot_wrapper.RobotWrapper.frameClassicAcceleration
bypinocchio.robot_wrapper.RobotWrapper.frameClassicalAcceleration
- Replace
pinocchio.robot_wrapper.RobotWrapper.jointJacobian
bypinocchio.robot_wrapper.RobotWrapper.computeJointJacobian
- Replace
pinocchio.robot_wrapper.RobotWrapper.frameJacobian
bypinocchio.robot_wrapper.RobotWrapper.computeFrameJacobian
- Replace
pinocchio.robot_wrapper.RobotWrapper.initDisplay
bypinocchio.robot_wrapper.RobotWrapper.initViewer
- Replace
pinocchio.robot_wrapper.RobotWrapper.loadDisplayModel
bypinocchio.robot_wrapper.RobotWrapper.loadViewerModel
- Replace
pinocchio.deprecated.se3ToXYZQUATtuple
bypinocchio.SE3ToXYZQUATtuple
- Replace
pinocchio.deprecated.se3ToXYZQUAT
bypinocchio.SE3ToXYZQUAT
- Replace
pinocchio.deprecated.XYZQUATToSe3
bypinocchio.XYZQUATToSE3
- Replace
pinocchio.deprecated.buildGeomFromUrdf(model, filename, [str])
bypinocchio.buildGeomFromUrdf(model, filename, type, package_dirs, mesh_loader)
- Replace
pinocchio.rpy.npToTTuple
bypinocchio.utils.npToTTuple
- Replace
pinocchio.rpy.npToTuple
bypinocchio.utils.npToTuple
- Replace
pinocchio.jacobianSubtreeCoMJacobian
bypinocchio.jacobianSubtreeCenterOfMass
Removed
C++
- Remove
pinocchio::setGeometryMeshScales
- Remove some
pinocchio::forwardDynamics
signatures - Remove some
pinocchio::impulseDynamics
signatures
Python
- Remove
pinocchio.utils.cross
- Remove
pinocchio.robot_wrapper.RobotWrapper.initMeshcatDisplay
- Remove
pinocchio.deprecated.setGeometryMeshScales
bypinocchio
Full Changelog: v2.7.1...v3.0.0