Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange

Package symbol

pinocchio package from pinocchio repo

pinocchio

Package Summary

Tags No category tags.
Version 3.7.0
License BSD-2
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/stack-of-tasks/pinocchio.git
VCS Type git
VCS Version devel
Last Updated 2025-06-09
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Additional Links

Maintainers

  • Justin Carpentier
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Pinocchio Logo

License Documentation Coverage Report Conda Downloads Conda Version PyPI version pre-commit.ci status

Pinocchio instantiates the state-of-the-art Rigid Body Algorithms for poly-articulated systems based on revisited Roy Featherstone’s algorithms. Besides, Pinocchio provides the analytical derivatives of the main Rigid-Body Algorithms, such as the Recursive Newton-Euler Algorithm or the Articulated-Body Algorithm.

Pinocchio was first tailored for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.). It is built upon Eigen for linear algebra and FCL for collision detection. Pinocchio comes with a Python interface for fast code prototyping, directly accessible through Conda.

Pinocchio is now at the heart of various robotics software as Crocoddyl, an open-source and efficient Differential Dynamic Programming solver for robotics, the Stack-of-Tasks, an open-source and versatile hierarchical controller framework or the Humanoid Path Planner, open-source software for Motion and Manipulation Planning.

If you want to learn more about Pinocchio internal behaviors and main features, we invite you to read the related paper and the online documentation.

If you want to dive into Pinocchio directly, only one single line is sufficient (assuming you have Conda):

conda install pinocchio -c conda-forge

or via pip (currently only available on Linux):

pip install pin

Table of contents

Pinocchio main features

Pinocchio is fast:

  • C++ template library,
  • cache friendly,
  • support custom scalar type.

Pinocchio is versatile, implementing basic and more advanced rigid body dynamics algorithms:

  • forward kinematics and its analytical derivatives,
  • forward/inverse dynamics and their analytical derivatives,
  • centroidal dynamics and its analytical derivatives,
  • computations of kinematic and dynamic regressors for system identification and more,
  • full support of closed-loop mechanisms,
  • state-of-the-art frictional contact solvers,
  • low-complexity constrained articulated body algorithms,
  • sparse constrained dynamics and its analytical derivatives,
  • full support of multiple-precision floating-point (MPFR) in Python and C++,
  • support of modern and open-source Automatic Differentiation frameworks like CppAD or CasADi,
  • automatic code generation support is available via CppADCodeGen.

Pinocchio can create Multi-body system from:

  • URDF file,
  • SDF file,
  • MJCF file,
  • SRDF file to add frame and contact.

Pinocchio is flexible:

  • header only,
  • C++ 11/14/17/20 compliant.

Pinocchio is extensible. Pinocchio is multi-thread friendly. Pinocchio is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Fixed

  • Check row dimensions of input Jacobians when computing kinematics Jacobian (#2684)

Changed

  • Disable coal/hpp-fcl warnings when building Pinocchio (#2686)

[3.7.0] - 2025-05-21

Changed

  • Change the default branch to devel (#2666)
  • Implement captureImage for Panda3D visualizer for video recording (#2668)
  • Drop Ubuntu 20.04 support (#2680)

[3.6.0] - 2025-04-28

Fixed

  • Fix getters for models and data in VisualizerPythonVisitor (#2647)
  • Fix pinocchio::cholesky::Mv build with CppAd scalar (#2659)
  • Fix pinocchio::contactABA build with casadi scalar (#2659)

Added

  • Add explicit template instantiation for constraint algorithms for casadi, CppAD and CppADCodeGen scalar (#2659)
  • Add casadi bindings for pinocchio.initConstraintDynamics and pinocchio.constraintDynamics (#2659)

[3.5.0] - 2025-04-02

Added

  • Added C++ visualization API, pinocchio::pinocchio_visualizers target (#2574)
  • Added forward declaration for class SE3Tpl, and typedef pinocchio::context::SE3 (#2574)
  • Add macros PINOCCHIO_COMMON_TYPEDEF and PINOCCHIO_OPTIONS_DEFAULT (#2574)
  • Add mimic joint support to the following algorithms: (#2441)
    • Forward kinematics
    • Jacobians and frames
    • Centroid algorithms (ccrba)
    • RNEA
    • CRBA
    • Reachable workspace
  • Add mimic argument in pinocchio::urdf::buildModel to parse URDF mimic field (default to false) (#2441)
  • Add pinocchio::transformJointIntoMimic to turn a joint into a mimic joint and buildMimicModel to transform multiple joints into mimic joints (#2441)
  • Add JointModelBase methods: (#2441)
    • nvExtended to get the DoF of the extended model
    • idx_vExtended to get the joint index in the extended vector of velocity
    • jointExtendedModel{Cols,Rows,Block} to get joint columns/rows/block in extended model matrix
    • JointMapped{Config,Velocity}Selector to get mimicked joint configuration/velocity from the mimicking joint
  • Add precomputed members in DataTpl to accelerate algorithms on mimic: (#2441)
    • idx_vExtended_to_idx_v_fromRow
    • mimic_subtree_joint
    • mimic_parents_fromRow
    • non_mimic_parents_fromRow
  • Add precomputed members in ModelTpl to accelerate algorithms on mimic: (#2441)
    • nvExtended
    • nvExtendeds
    • idx_vExtendeds
    • mimicking_joints
    • mimicked_joints
    • mimic_joint_supports

Changed

  • Rewrite JointModelMimic and rename it JointModelMimicTpl, since JointModelMimic wasn’t working, we don’t consider it a breaking change (#2441)
  • Stop using context::Scalar for GeometryObject(#2441)
  • Use Google benchmark in benchmarks (#2607)

Fixed

  • Fix ModelTpl::check() link (#2624)
  • Add missing Python examples (#2528)
  • Fix nominal accuracy check for Quaternion based on the scalar type (#2608)

[3.4.0] - 2025-02-12

Added

  • Add parsing meshes with vertices for MJCF format (#2537)

Fixed

  • Fix mjcf Euler angle parsing: use xyz as a default value for eulerseq compiler option (#2526)
  • Fix variable naming in Python (#2530)
  • Fix aba explicit template instantiation (#2541)
  • CMake: fix RPATH on macos (#2546)
  • Fix aba explicit template instantiation (#2541)
  • Fix mjcf parsing of keyframe qpos with newlines (#2535)
  • Fix sites parsing for MJCF format (#2548)
  • Fix register std::shared_ptr<{,Geometry}{Model,Data}> in bindings (#2566)
  • Removed useless uses of PINOCCHIO_WITH_CXX11_SUPPORT (#2564)

[3.3.1] - 2024-12-13

Added

  • Add pinocchio_python_parser target (#2475)

Fixed

  • Fix mjcf parsing of armature and of the default tag in models (#2477)
  • Fix undefined behavior when using the site attribute in mjcf (#2477)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pinocchio at Robotics Stack Exchange