收集于 2026-04-23

Pinocchio 刚体动力学库

刚体动力学与运动学库,支持解析导数、约束和机器人模型。

Fast Forward Inverse Dynamic for Multibody Systems

Get started now »

Rigid multi-body dynamics in C++ and Python

Pinocchio is a C++ library for dynamic computations focusing on robotic, computer animation and biomechanical applications. It is based on the dynamic multi-body computations formalized by Featherstone in his book. The software comes with a python wrapping and vizualisation tool.

H2020 Memmo

Pinocchio is a central part of the H2020 project on the Memory of Motion. For further informations, please read the project homepage

2018-2021

RoboCom++

Pinocchio includes work funded by the european RoboCom++ project. For further informations, please read the project homepage

2017-2020

ERC Leap

Pinocchio includes work funded by the ERC Starting Grant on the LEarning from our collective visual memory to Analyze its trends and Predict future events.

2014-2019

ERC Actanthrope

Pinocchio is a central part of the ERC Advanced Grant on the Computational Foundations of Anthropomorphic Action. For further informations, please read the project homepage

2014-2018

An ANR-Entracte software

Pinocchio is an integrated software for the national ANR project ENTRACTE. For further informations, please read the project homepage

2013-2017

Library features

The following algorithms are implemented.

  • Recursive Newton-Euler algorithm (RNEA, i.e inverse dynamics)

  • Composite Rigid Body algorithm (CRBA, i.e generalized inertia matrix)

  • Sparse Cholsky decomposition of the inertia matrix (for constrained forward-dynamics resolution)

  • Placement Jacobians (i.e application from configuration velocities to end-effector spatial velocities), along with computation of body placements, velocities and accelerations.

  • Center of mass and its Jacobian The model can be parsed from a URDF format. The following joint models are implemented.

  • Revolute X, Y, Z (optimized) and unaligned with Cartesian directions

  • Prismatic X, Y, Z

  • Sperical (quaternion representation)

  • Free (i.e. no constraint, for mobile robots like humanoids -- using quaternion representation for the rotation) Tutorials are proposed (see the corresponding item in the menu atop the page): generate your first humanoid walk in 20 hours of work, while discovering Python, the Pinocchio interface, inverse kinematics and LQR.