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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Name | Deps |
---|---|
tsid | |
kinematics_interface_pinocchio |
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Name | Deps |
---|---|
kinematics_interface_pinocchio |
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Name | Deps |
---|---|
tsid | |
kinematics_interface_pinocchio |
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Name | Deps |
---|---|
exotica_pinocchio_dynamics_solver |
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged pinocchio at Robotics Stack Exchange
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
Additional Links
Maintainers
- Justin Carpentier
- Wolfgang Merkt
- Guilhem Saurel
Authors
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
- Table of contents
- Pinocchio main features
- Documentation
- Examples
- Tutorials
- Pinocchio continuous integrations
- Performances
- Ongoing developments
- Installation
- Visualization
- Citing Pinocchio
- Questions and Issues
- Core-dev team
- Credits
- Open-source projects relying on Pinocchio
- Acknowledgments
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
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 withCppAd
scalar (#2659) - Fix
pinocchio::contactABA
build withcasadi
scalar (#2659)
Added
- Add explicit template instantiation for constraint algorithms for
casadi
,CppAD
andCppADCodeGen
scalar (#2659) - Add
casadi
bindings forpinocchio.initConstraintDynamics
andpinocchio.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 typedefpinocchio::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 inpinocchio::urdf::buildModel
to parse URDF mimic field (default to false) (#2441) - Add
pinocchio::transformJointIntoMimic
to turn a joint into a mimic joint andbuildMimicModel
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 itJointModelMimicTpl
, sinceJointModelMimic
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