{"id":13445547,"url":"https://github.com/stack-of-tasks/pinocchio","last_synced_at":"2026-10-18T20:15:21.485Z","repository":{"id":21577721,"uuid":"24897645","full_name":"stack-of-tasks/pinocchio","owner":"stack-of-tasks","description":"A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives","archived":false,"fork":false,"pushed_at":"2026-10-07T07:47:48.000Z","size":43178,"stargazers_count":3785,"open_issues_count":105,"forks_count":583,"subscribers_count":68,"default_branch":"devel","last_synced_at":"2026-10-10T08:21:09.125Z","etag":null,"topics":["analytical-derivatives","automatic-differentiation","c-plus-plus","casadi","code-generation","conda","cppad","dynamics","fcl","kinematics","motion-planning","pinocchio","python","rigid-body-dynamics","robotics","ros","urdf"],"latest_commit_sha":null,"homepage":"http://stack-of-tasks.github.io/pinocchio/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stack-of-tasks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2014-10-07T15:42:51.000Z","updated_at":"2026-10-09T14:54:57.000Z","dependencies_parsed_at":"2026-09-24T17:13:51.500Z","dependency_job_id":"d35fdc0a-5903-4482-8da3-b9fd7b1e8f66","html_url":"https://github.com/stack-of-tasks/pinocchio","commit_stats":{"total_commits":5512,"total_committers":92,"mean_commits":59.91304347826087,"dds":0.5932510885341074,"last_synced_commit":"0caf0ca4d07e63834cdc420c703993662c59e01b"},"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"purl":"pkg:github/stack-of-tasks/pinocchio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Fpinocchio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Fpinocchio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Fpinocchio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Fpinocchio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stack-of-tasks","download_url":"https://codeload.github.com/stack-of-tasks/pinocchio/tar.gz/refs/heads/devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Fpinocchio/sbom","scorecard":{"id":845287,"data":{"date":"2025-08-11","repo":{"name":"github.com/stack-of-tasks/pinocchio","commit":"8d2080fb5224a00ca1704da570895bf8455bf600"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.1,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/check-changelog.yml:1","Warn: no topLevel permission defined: .github/workflows/check_label.yml:1","Warn: no topLevel permission defined: .github/workflows/linux.yml:1","Warn: no topLevel permission defined: .github/workflows/macos-linux-windows-pixi.yml:1","Warn: no topLevel permission defined: .github/workflows/nix.yml:1","Warn: no topLevel permission defined: .github/workflows/ros_ci.yml:1","Warn: no topLevel permission defined: .github/workflows/update-flake-lock.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/update_pixi_lockfile.yml:3","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-changelog.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/check-changelog.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check_label.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/check_label.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check_label.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/check_label.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/linux.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/linux.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:227: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/linux.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos-linux-windows-pixi.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/macos-linux-windows-pixi.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos-linux-windows-pixi.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/macos-linux-windows-pixi.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos-linux-windows-pixi.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/macos-linux-windows-pixi.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos-linux-windows-pixi.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/macos-linux-windows-pixi.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos-linux-windows-pixi.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/macos-linux-windows-pixi.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nix.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/nix.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nix.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/nix.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nix.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/nix.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nix.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/nix.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ros_ci.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/ros_ci.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ros_ci.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/ros_ci.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-flake-lock.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update-flake-lock.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-flake-lock.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update-flake-lock.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-flake-lock.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update-flake-lock.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update_pixi_lockfile.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update_pixi_lockfile.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update_pixi_lockfile.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update_pixi_lockfile.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update_pixi_lockfile.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update_pixi_lockfile.yml/devel?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update_pixi_lockfile.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/stack-of-tasks/pinocchio/update_pixi_lockfile.yml/devel?enable=pin","Info:   0 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  12 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: pinocchio-3.7.0.tar.gz.sig: https://github.com/stack-of-tasks/pinocchio/releases/tag/v3.7.0","Info: signed release artifact: pinocchio-3.6.0.tar.gz.sig: https://github.com/stack-of-tasks/pinocchio/releases/tag/v3.6.0","Info: signed release artifact: pinocchio-3.5.0.tar.gz.sig: https://github.com/stack-of-tasks/pinocchio/releases/tag/v3.5.0","Info: signed release artifact: pinocchio-3.4.0.tar.gz.sig: https://github.com/stack-of-tasks/pinocchio/releases/tag/v3.4.0","Info: signed release artifact: pinocchio-3.3.1.tar.gz.sig: https://github.com/stack-of-tasks/pinocchio/releases/tag/v3.3.1","Warn: release artifact v3.7.0 does not have provenance: https://api.github.com/repos/stack-of-tasks/pinocchio/releases/220065387","Warn: release artifact v3.6.0 does not have provenance: https://api.github.com/repos/stack-of-tasks/pinocchio/releases/215201616","Warn: release artifact v3.5.0 does not have provenance: https://api.github.com/repos/stack-of-tasks/pinocchio/releases/209892747","Warn: release artifact v3.4.0 does not have provenance: https://api.github.com/repos/stack-of-tasks/pinocchio/releases/199864823","Warn: release artifact v3.3.1 does not have provenance: https://api.github.com/repos/stack-of-tasks/pinocchio/releases/190656001"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T21:16:31.167Z","repository_id":21577721,"created_at":"2025-08-23T21:16:31.167Z","updated_at":"2025-08-23T21:16:31.167Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38341179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytical-derivatives","automatic-differentiation","c-plus-plus","casadi","code-generation","conda","cppad","dynamics","fcl","kinematics","motion-planning","pinocchio","python","rigid-body-dynamics","robotics","ros","urdf"],"created_at":"2024-07-31T05:00:35.839Z","updated_at":"2026-10-18T20:15:21.471Z","avatar_url":"https://github.com/stack-of-tasks.png","language":"C++","funding_links":[],"categories":["6. Planning","Other","Various robotics-tailored cpp utilities to perform signal processing, parameter identification and more","Planning and Control","Libraries \u0026 Frameworks","6 代码与工具","Libraries and Frameworks","Modelling and Simulation 💻","Manipulation","6. The Robotics Software Stack","🦿 Humanoid \u0026 Legged Robots","Learning Source"],"sub_categories":["3.4 High Performance Inference","Scientific Computing","Vector Map","Autopilots","Multibody and Physics Engines :sleeping::arrow_lower_left::apple:","Dynamics \u0026 Control","Kinematics, dynamics \u0026 optimisation libraries","Dev Tools"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/stack-of-tasks/pinocchio/devel/doc/images/pinocchio-logo-large.png\" width=\"800\" alt=\"Pinocchio Logo\" align=\"center\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/BSD-2-Clause\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-BSD%202--Clause-green.svg\" alt=\"License\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://gepetto.github.io/doc/pinocchio/doxygen-html/\"\u003e\u003cimg src=\"https://img.shields.io/badge/docs-online-brightgreen\" alt=\"Documentation\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://deepwiki.com/stack-of-tasks/pinocchio\"\u003e\u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\"/\u003e\u003c/a\u003e\n  \u003ca href=\"http://projects.laas.fr/gepetto/doc/stack-of-tasks/pinocchio/devel/coverage/\"\u003e\u003cimg src=\"https://gepgitlab.laas.fr/stack-of-tasks/pinocchio/badges/devel/coverage.svg?job=doc-coverage\" alt=\"Coverage Report\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://anaconda.org/conda-forge/pinocchio\"\u003e\u003cimg src=\"https://img.shields.io/conda/dn/conda-forge/pinocchio.svg\" alt=\"Conda Downloads\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://anaconda.org/conda-forge/pinocchio\"\u003e\u003cimg src=\"https://img.shields.io/conda/vn/conda-forge/pinocchio.svg\" alt=\"Conda Version\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://badge.fury.io/py/pin\"\u003e\u003cimg src=\"https://badge.fury.io/py/pin.svg\" alt=\"PyPI version\" height=\"20\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://badge.fury.io/py/pin\"\u003e\u003cimg src=\"https://results.pre-commit.ci/badge/github/stack-of-tasks/pinocchio/devel.svg\" alt=\"pre-commit.ci status\" height=\"20\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003c!--\u003ca href=\"https://gitlab.laas.fr/stack-of-tasks/pinocchio\"\u003e\u003cimg src=\"https://gitlab.laas.fr/stack-of-tasks/pinocchio/badges/devel/pipeline.svg\" alt=\"Pipeline Status\"\u003e\u003c/a\u003e--\u003e\n\n\u003c/p\u003e\n\n\u003c!--Pinocchio: a C++ library for efficient Rigid Multi-body Dynamics computations\n===========\n--\u003e\n\n**Pinocchio** is open-source software actively developed by the [Willow](https://www.di.ens.fr/willow/) team at [Inria](https://www.inria.fr/en) in the lovely city of Paris.\n**Pinocchio** instantiates state-of-the-art Rigid Body Algorithms for poly-articulated systems, building upon and revisiting the foundational algorithms introduced by Roy Featherstone.\n\nBeyond traditional rigid-body dynamics formulations, **Pinocchio** delivers cutting-edge algorithmic solutions for modern robotics and physics-based simulation challenges. It efficiently handles closed-loop kinematic mechanisms, solves frictional contact problems, and differentiates physics computations — making it a powerful and versatile library for both research and industrial applications.\n\n**Pinocchio** also provides analytical derivatives of the main Rigid Body Algorithms — such as the Recursive Newton-Euler Algorithm and the Articulated-Body Algorithm — enabling gradient-based optimization, control, and learning in both simulation and real-world settings.\n\n**Pinocchio** was originally designed for robotics applications, but it can be used in other contexts (biomechanics, computer graphics, vision, etc.).\nIt is built upon Eigen for linear algebra and **coal** for collision detection. **Pinocchio** includes a Python interface for fast code prototyping, [directly accessible](https://github.com/conda-forge/pinocchio-feedstock#installing-pinocchio) through [Conda](https://docs.conda.io/en/latest/).\n\n**Pinocchio** is now at the heart of various robotics software as [Aligator](https://github.com/Simple-Robotics/Aligator), [Crocoddyl](https://github.com/loco-3d/crocoddyl), an open-source and efficient Differential Dynamic Programming solver for robotics, the [Stack-of-Tasks](http://stack-of-tasks.github.io), an open-source and versatile hierarchical controller framework, or the [Humanoid Path Planner](https://humanoid-path-planner.github.io/hpp-doc), open-source software for Motion and Manipulation Planning.\n**Pinocchio** is also a primary source of inspiration for the [Kamino](https://disneyresearch.github.io/kamino/) simulator developed by Disney Research, which populates the Newton physics engine.\n\nIf you want to learn more about **Pinocchio** internal behaviors and main features, we invite you to read the related [paper](https://hal-laas.archives-ouvertes.fr/hal-01866228) and the online [documentation](https://gepetto.github.io/doc/pinocchio/doxygen-html/) or [DeepWiki](https://deepwiki.com/stack-of-tasks/pinocchio).\n\nIf you want to dive into **Pinocchio** directly, only one single line is sufficient (assuming you have Conda):\n\n\u003cp align=\"center\"\u003e\n\u003cstrong\u003e conda install pinocchio -c conda-forge \u003c/strong\u003e\n\u003c/p\u003e\n\nor via pip (currently only available on Linux):\n\u003cp align=\"center\"\u003e\n\u003cstrong\u003e pip install pin \u003c/strong\u003e\n\u003c/p\u003e\n\n\n## Table of contents\n\n- [Table of contents](#table-of-contents)\n- [Pinocchio main features](#pinocchio-main-features)\n- [Documentation](#documentation)\n- [Examples](#examples)\n- [Tutorials](#tutorials)\n- [Pinocchio continuous integrations](#pinocchio-continuous-integrations)\n- [Performances](#performances)\n- [Ongoing developments](#ongoing-developments)\n- [Installation](#installation)\n   * [Conda](#conda)\n   * [Docker](#docker)\n   * [ROS](#ros)\n- [Visualization](#visualization)\n- [Citing Pinocchio](#citing-pinocchio)\n- [Citing specific algorithmic contributions](#citing-specific-algorithmic-contributions)\n- [Contribution](#contribution)\n- [Core-dev team](#core-dev-team)\n- [Credits](#credits)\n- [Open-source projects relying on Pinocchio](#open-source-projects-relying-on-pinocchio)\n- [Acknowledgments](#acknowledgments)\n\n## Pinocchio main features\n\n**Pinocchio** is fast:\n\n   - C++ template library,\n   - cache-friendly,\n   - support custom scalar type.\n\n**Pinocchio** is versatile, implementing basic and more advanced rigid body dynamics algorithms:\n\n   - forward kinematics and its analytical derivatives,\n   - forward/inverse dynamics and their analytical derivatives,\n   - centroidal dynamics and its analytical derivatives,\n   - computations of kinematic and dynamic regressors for system identification and more,\n   - full support of closed-loop mechanisms,\n   - [state-of-the-art frictional contact solvers](https://hal.science/hal-04588906v1/file/simplecontacts2024.pdf),\n   - low-complexity constrained articulated body algorithms,\n   - [sparse constrained dynamics](https://laas.hal.science/hal-01790971v2/file/18-rss-analytical-derivatives-carpentier.pdf) and its analytical derivatives,\n   - full support of [multiple-precision floating-point (MPFR)](https://www.mpfr.org/) in Python and C++,\n   - support of modern and open-source Automatic Differentiation frameworks like [CppAD](https://github.com/coin-or/CppAD) or [CasADi](https://web.casadi.org/),\n   - automatic code generation support is available via [CppADCodeGen](https://github.com/joaoleal/CppADCodeGen).\n\n**Pinocchio** can support description formats:\n\n  - URDF format,\n  - SDF format,\n  - MJCF format,\n  - SRDF format,\n  - programmatically.\n\n**Pinocchio** is flexible:\n\n   - header only,\n   - template instantiation,\n   - C++ 17/20/23 compliant.\n\n**Pinocchio** is extensible.\n**Pinocchio** is multi-thread friendly.\n**Pinocchio** is reliable and extensively tested (unit tests, simulations, and real-world robotics applications).\n**Pinocchio** is supported and tested on Windows, Mac OS X, Unix, and Linux ([see build status here](http://robotpkg.openrobots.org/rbulk/robotpkg/math/pinocchio/index.html)).\n\n## Documentation\n\nThe online documentation for the latest release of **Pinocchio** is available [here](https://gepetto.github.io/doc/pinocchio/doxygen-html/). A cheat sheet pdf with the main functions and algorithms can be found [here](https://github.com/stack-of-tasks/pinocchio/blob/devel/doc/pinocchio_cheat_sheet.pdf).\n\n## Examples\n\nIn the [examples](https://github.com/stack-of-tasks/pinocchio/tree/devel/examples) directory, we provide some basic examples of using Pinocchio in Python.\nAdditional examples introducing **Pinocchio** are also available in the [documentation](https://gepetto.github.io/doc/pinocchio/doxygen-html/md_doc_d-practical-exercises_intro.html).\n\n## Tutorials\n\n**Pinocchio** comes with a large set of tutorials that introduce the basic tools for robot control.\nTutorial and training documents are listed [here](https://gepetto.github.io/doc/pinocchio/doxygen-html/index.html#OverviewConclu).\nYou can also consider the interactive Jupyter notebook [set of tutorials](https://github.com/ymontmarin/_tps_robotique) developed by [Nicolas Mansard](https://www.laas.fr/fr/annuaire/223) and [Yann de Mont-Marin](https://github.com/ymontmarin).\n\n## Pinocchio continuous integrations\n\n**Pinocchio** is constantly tested for several platforms and distributions, as reported below:\n\u003cp align=\"center\"\u003e\n  \u003ctable class=\"center\"\u003e\n   \u003c!-- \u003ctr\u003e \u003ctd\u003e Continuous Integration \u003c/td\u003e\u003c/tr\u003e--\u003e\n  \u003ctr\u003e\u003ctd\u003e CI on ROS \u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"https://github.com/stack-of-tasks/pinocchio/actions/workflows/ros_ci.yml\"\u003e\u003cimg alt=\"ROS\" src=\"https://github.com/stack-of-tasks/pinocchio/actions/workflows/ros_ci.yml/badge.svg?branch=devel\" /\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e CI on Linux via APT \u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"https://github.com/stack-of-tasks/pinocchio/actions/workflows/linux.yml\"\u003e\u003cimg alt=\"linux\" src=\"https://github.com/stack-of-tasks/pinocchio/actions/workflows/linux.yml/badge.svg?branch=devel\" /\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e CI on macOS and Windows via Pixi \u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"https://github.com/stack-of-tasks/pinocchio/actions/workflows/macos-linux-windows-pixi.yml\"\u003e\u003cimg alt=\"mac\" src=\"https://github.com/stack-of-tasks/pinocchio/actions/workflows/macos-linux-windows-pixi.yml/badge.svg?branch=devel\" /\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e CI on Linux via Robotpkg \u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://gitlab.laas.fr/stack-of-tasks/pinocchio/badges/devel/pipeline.svg\" alt=\"Pipeline Status\"\u003e\u003c/td\u003e\n   \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/p\u003e\n\n## Performances\n\n**Pinocchio** exploits, at best, the sparsity induced by the kinematic tree of robotics systems. Thanks to modern programming language paradigms, **Pinocchio** can unroll most of the computations directly at compile time, allowing to achieve impressive performances for an extensive range of robots, as illustrated by the plot below, obtained on a standard laptop equipped with an Intel Core i7 CPU @ 2.4 GHz.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/stack-of-tasks/pinocchio/devel/doc/images/pinocchio-performances.png\" width=\"600\" alt=\"Pinocchio Logo\" align=\"center\"/\u003e\n\u003c/p\u003e\n\nFor other benchmarks, and mainly the capacity of Pinocchio to exploit, at best, your CPU capacities using advanced code generation techniques, we refer to the technical [paper](https://hal-laas.archives-ouvertes.fr/hal-01866228).\nIn addition, the [introspection](https://github.com/rbd-benchmarks/rbd-benchmarks) may also help you to understand and compare the performances of the modern rigid body dynamics libraries.\n\n## Ongoing developments\n\nIf you want to follow the current developments, you can refer to the [devel branch](https://github.com/stack-of-tasks/pinocchio/tree/devel).\nThe [devel branch](https://github.com/stack-of-tasks/pinocchio/tree/devel/) only contains the latest release. Any new Pull Request should be submitted on the [devel branch](https://github.com/stack-of-tasks/pinocchio/tree/devel/).\n\n## Installation\n\n**Pinocchio** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Please refer to the [installation procedure](http://stack-of-tasks.github.io/pinocchio/download.html).\n\n### Conda\n\nYou simply need this simple line:\n\n```bash\nconda install pinocchio -c conda-forge\n```\n\n### Docker\n\n```\ndocker run --rm -it ghcr.io/stack-of-tasks/pinocchio:devel\n```\n\n### ROS\n\n**Pinocchio** is also deployed on ROS.\nYou may follow its deployment status below.\n\nIf you're interested in using Pinocchio on systems and/or with packages that integrate with the ROS ecosystem, we recommend the installation of Pinocchio via the binaries distributed via the ROS PPA.\nHere, you can install Pinocchio using:\n\n```\nsudo apt install ros-$ROS_DISTRO-pinocchio\n```\n\nThis installs Pinocchio with Coal support for collision checking and with Python bindings.\nYou can then use Pinocchio in your ROS packages by:\n\n* Depending on Pinocchio in your `package.xml` config (`\u003cdepend\u003epinocchio\u003c/depend\u003e`)\n* Including Pinocchio via CMake (`find_package(pinocchio REQUIRED)`) and linking against Pinocchio (`target_link_libraries(my_library pinocchio::pinocchio)`)\n\nWe include support and hooks to discover the package for ROS build systems.\nA ROS 2 example can be found in [this repository](https://github.com/sea-bass/pinocchio_ros_cpp_example).\n\nPlease note that we always advise including the `pinocchio/fwd.hpp` header as the first include to avoid compilation errors from differing Boost-variant sizes.\n\n| ROS 2 Distro  | Build Status                                                                                                                                                               |\n| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Humble**    | [![](https://build.ros2.org/job/Hbin_uJ64__pinocchio__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Hbin_uJ64__pinocchio__ubuntu_jammy_amd64__binary) |\n| **Jazzy**     | [![](https://build.ros2.org/job/Jbin_uN64__pinocchio__ubuntu_noble_amd64__binary/badge/icon)](https://build.ros2.org/job/Jbin_uN64__pinocchio__ubuntu_noble_amd64__binary) |\n| **Kilted**    | [![](https://build.ros2.org/job/Kbin_uN64__pinocchio__ubuntu_noble_amd64__binary/badge/icon)](https://build.ros2.org/job/Kbin_uN64__pinocchio__ubuntu_noble_amd64__binary) |\n| **Lyrical**   | [![](https://build.ros2.org/job/Lbin_uR64__pinocchio__ubuntu_resolute_amd64__binary/badge/icon)](https://build.ros2.org/job/Lbin_uR64__pinocchio__ubuntu_resolute_amd64__binary) |\n| **Rolling**   | [![](https://build.ros2.org/job/Rbin_uR64__pinocchio__ubuntu_resolute_amd64__binary/badge/icon)](https://build.ros2.org/job/Rbin_uR64__pinocchio__ubuntu_resolute_amd64__binary) |\n\n## Visualization\n\n**Pinocchio** provides support for many open-source and free visualizers:\n\n-   [Gepetto Viewer](https://github.com/Gepetto/gepetto-viewer): a C++ viewer based on [OpenSceneGraph](https://github.com/openscenegraph/OpenSceneGraph) with Python bindings and Blender export. See [here](https://github.com/stack-of-tasks/pinocchio-gepetto-viewer) for a C++ example on mixing **Pinocchio** and **Gepetto Viewer**.\n-   [Meshcat](https://github.com/rdeits/meshcat): supporting visualization in Python and which can be embedded inside any browser.\n-   [Panda3d](https://github.com/ikalevatykh/panda3d_viewer): supporting visualization in Python and which can be embedded inside any browser.\n-   [RViz](https://github.com/ros-visualization/rviz): supporting visualization in Python and which can interact with other ROS packages.\n-   [Viser](https://github.com/nerfstudio-project/viser): supporting browser-based visualization in Python, with support for widgets such as sliders and interactive markers.\n\nMany external viewers can also be integrated. For more information, see the example [here](https://github.com/stack-of-tasks/pinocchio/blob/devel/bindings/python/pinocchio/visualize/base_visualizer.py).\n\n## Citing Pinocchio\n\nTo cite **Pinocchio** in your academic research, please consider citing the [software paper](https://laas.hal.science/hal-01866228v2/file/19-sii-pinocchio.pdf) and use the following BibTeX entry:\n```bibtex\n@inproceedings{carpentier2019pinocchio,\n   title={The Pinocchio C++ library -- A fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives},\n   author={Carpentier, Justin and Saurel, Guilhem and Buondonno, Gabriele and Mirabel, Joseph and Lamiraux, Florent and Stasse, Olivier and Mansard, Nicolas},\n   booktitle={IEEE International Symposium on System Integrations (SII)},\n   year={2019}\n}\n```\nAnd the following one for the link to the GitHub codebase:\n```bibtex\n@misc{pinocchioweb,\n   author = {Justin Carpentier and Florian Valenza and Nicolas Mansard and others},\n   title = {Pinocchio: fast forward and inverse dynamics for poly-articulated systems},\n   howpublished = {https://stack-of-tasks.github.io/pinocchio},\n   year = {2015--2021}\n}\n```\n\n## Citing specific algorithmic contributions\n\n**Pinocchio** goes beyond implementing the standard rigid-body dynamics algorithms and results from active research on simulation, learning, and control.\n**Pinocchio** provides state-of-the-art algorithms for handling constraints, closed-loops mechanisms, differentiating forward and inverse dynamics, etc.\nIf you use these algorithms, please consider citing them in your research articles.\n\n- de Mont-Marin, Y. Montaut, L. Ponce, J. Herbet, M. \u0026 Carpentier, J. (2026). [On the Conic Complementarity of Planar Contacts](https://arxiv.org/pdf/2509.25999). In 2026 International Conference on Robotics and Automation (ICRA).\n- Sathya, A., Montaut, L. de Mont-Marin, Y. \u0026 Carpentier, J. (2026). [Matrix-Free Delassus Operations: Scalable and Memory-Efficient Algorithms](https://hal.science/hal-05457476v1/file/RAL___Matrix_free_Delassus_Computation.pdf). Preprint.\n- Sathya, A. \u0026 Carpentier, J. (2025). [Constrained articulated body algorithms for closed-loop mechanisms](https://hal.science/hal-04895583v2/file/main.pdf). In Transactions on Robotics.\n- Sathya, A. \u0026 Carpentier, J. (2024). [Constrained Articulated Body Dynamics Algorithms](https://hal.science/hal-04443056v2/file/TRO%20-%20Constrained%20Articulated%20Body%20Dynamics%20Algorithms.pdf). In Transactions on Robotics.\n- Carpentier, J., Le Lidec, Q. \u0026 Montaut, L. (2024, July). [From Compliant to Rigid Contact Simulation: a Unified and Efficient Approach](https://hal.science/hal-04588906). In RSS 2024-Robotics: Science and Systems (RSS 2024).\n- Le Lidec, Q., Jallet, W., Montaut, L., Laptev, I., Schmid, C., \u0026 Carpentier, J. (2024). [Contact models in robotics: a comparative analysis](https://hal.science/hal-04067291/). IEEE Transactions on Robotics.\n- Montaut, L., Le Lidec, Q., Petrik, V., Sivic, J., \u0026 Carpentier, J. (2024). [GJK++: Leveraging Acceleration Methods for Faster Collision Detection](https://hal.science/hal-04070039/). IEEE Transactions on Robotics.\n- Sathya, A., \u0026 Carpentier, J. (2024). [Constrained Articulated Body Dynamics Algorithms](https://hal.science/hal-04443056/). IEEE Transactions on Robotics.\n- Montaut, L., Le Lidec, Q., Bambade, A., Petrik, V., Sivic, J., \u0026 Carpentier, J. (2023, May). [Differentiable collision detection: a randomized smoothing approach](https://hal.science/hal-03780482/). In 2023 IEEE International Conference on Robotics and Automation (ICRA).\n- Montaut, L., Le Lidec, Q., Petrik, V., Sivic, J., \u0026 Carpentier, J. (2022, June). [Collision Detection Accelerated: An Optimization Perspective](https://hal.science/hal-03662157/). In Robotics: Science and Systems (RSS 2022).\n- Carpentier, J., Budhiraja, R., \u0026 Mansard, N. (2021, July). [Proximal and sparse resolution of constrained dynamic equations](https://hal.science/hal-03271811/). In Robotics: Science and Systems (RSS 2021).\n- Carpentier, J., \u0026 Mansard, N. (2018, June). [Analytical derivatives of rigid body dynamics algorithms](https://hal.science/hal-01790971/). In Robotics: Science and Systems (RSS 2018).\n\n## Contribution\n\nIf you want to ask a question, report a bug, request a new feature or contributing with a pull requests please, follow the [contribution guideline](./CONTRIBUTING.md).\n\n## Core-dev team\n\nThe currently active core developers of **Pinocchio** are:\n\n-   [Justin Carpentier](https://jcarpent.github.io) (Inria): main developer and manager of the project\n-   [Guilhem Saurel](https://www.laas.fr/fr/annuaire/gsaurel) (LAAS-CNRS): CI/CD, packaging\n-   [Etienne Arlaud](https://github.com/EtienneAr) (Inria): core developer\n-   [Wilson Jallet](https://github.com/ManifoldFR) (Inria): extension of Python bindings, C++ visualization API\n-   [Fabian Schramm](https://github.com/fabinsch) (Inria): core developper\n-   [Joris Vaillant](https://github.com/jorisv) (Inria): core developer and project manager\n-   [Ajay Sathya](https://www.ajaysathya.com/) (Inria): core developer\n-   [Louis Montaut](https://lmontaut.github.io/) (Inria): core developer\n-   [Quentin Le Lidec](https://quentinll.github.io/) (NYU/formerly Inria): core developer\n-   [Yann de Mont-Marin](https://ymontmarin.github.io/) (Inria): core developer\n-   [Jeanne Matheron](https://www.linkedin.com/in/jeanne-matheron/) (Inria): core developer\n\n## Credits\n\nIn addition to the core dev team, the following people have also been involved in the development of **Pinocchio** and are warmly thanked for their contributions:\n\n-   [Nicolas Mansard](http://projects.laas.fr/gepetto/index.php/Members/NicolasMansard) (LAAS-CNRS): initial project instructor\n-   [Joseph Mirabel](http://jmirabel.github.io/) (Eureka Robotics): Lie groups and hpp-fcl support\n-   [Antonio El Khoury](https://www.linkedin.com/in/antonioelkhoury) (Wandercraft): bug fixes\n-   [Gabriele Buondono](http://projects.laas.fr/gepetto/index.php/Members/GabrieleBuondonno) (LAAS-CNRS): features extension, bug fixes, and Python bindings\n-   [Florian Valenza](https://fr.linkedin.com/in/florian-valenza-1b274082) (Astek): core developments and hpp-fcl support\n-   [Wolfgang Merkt](http://www.wolfgangmerkt.com/) (University of Oxford): ROS integration and support\n-   [Rohan Budhiraja](https://scholar.google.com/citations?user=NW9Io9AAAAAJ) (Inria/LAAS-CNRS): features extension\n-   [Loïc Estève](https://github.com/lesteve) (Inria): Conda integration and support\n-   [Igor Kalevatykh](https://github.com/ikalevatykh) (Inria): Panda3d viewer support\n-   [Matthieu Vigne](https://github.com/matthieuvigne) (Wandercraft): MeshCat viewer support\n-   [Robin Strudel](https://www.di.ens.fr/robin.strudel/) (Inria): features extension\n-   [François Keith](https://scholar.google.fr/citations?user=cxSxXiQAAAAJ\u0026hl=en) (CEA): Windows support\n-   [Sarah El Kazdadi](https://github.com/sarah-ek) (Inria): multi-precision arithmetic support\n-   [Nicolas Torres Alberto](https://scholar.google.com/citations?user=gYNLhEIAAAAJ\u0026hl=en) (Inria): features extension\n-   [Shubham Singh](https://github.com/shubhamsingh91) (UT Austin): second-order inverse dynamics derivatives\n-   [Sebastian Castro](https://roboticseabass.com): Viser visualizer and MeshCat visualizer feature extension\n-   [Lev Kozlov](https://github.com/lvjonok): Kinetic and potential energy regressors\n-   [Simeon Nedelchev](https://github.com/simeon-ned): Pseudo inertia and Log-Cholesky parametrization\n-   [Alexy Legrand](https://www.linkedin.com/in/alexy-legrand-125889232/): Viser color bug fixes\n-   [Pierre Puchaud](https://github.com/ipuch): Ellipsoid Joint\n-   [Lucas Joseph](https://github.com/LucasJoseph): Ellipsoid Joint\n-   [Megane Millan](https://github.com/MegMll): core developer (MJCF, joint mimic, etc.)\n-   [Tingfan Wu](https://github.com/tingfan): Viser visualizer mesh-scale bug fix\n-   [Kazuki Sugihara](https://github.com/sugikazu75): addFrame bug fix\n-   [Sergi Martinez](https://github.com/Sergim96): scalar-generic Python bindings\n-   [tandede](https://github.com/tandede): GCC 10 compatibility for aligned matrix map comparisons\n-   [Amane Inoue](https://github.com/isaka1022): MJCF parser bug fixes\n-   [Benjamin Delpech](https://github.com/benjiiDELPECH): collisionPairMapping bug fix\n-   [Beichen Zhuo](https://github.com/BeichenZhuo): quaternion Log map sign flip bug fix\n\nIf you have participated in the development of **Pinocchio**, please add your name and contribution to this list.\n\n## Open-source projects relying on Pinocchio\n\n-   [Crocoddyl](https://github.com/loco-3d/crocoddyl): A software to realize model predictive control for complex robotics platforms.\n-   [TSID](https://github.com/stack-of-tasks/tsid/): A software that implements a Task Space Inverse Dynamics QP.\n-   [HPP](https://humanoid-path-planner.github.io/hpp-doc/): A SDK that implements motion planners for humanoids and other robots.\n-   [Jiminy](https://github.com/duburcqa/jiminy): A simulator based on Pinocchio.\n-   [ocs2](https://github.com/leggedrobotics/ocs2): A toolbox for Optimal Control for Switched Systems (OCS2)\n-   [TriFingerSimulation](https://github.com/open-dynamic-robot-initiative/trifinger_simulation): TriFinger Robot Simulation (a Robot to perform RL on manipulation).\n-   [Casadi_Kin_Dyn](https://github.com/ADVRHumanoids/casadi_kin_dyn): IIT Package for generation of symbolic (SX) expressions of robot kinematics and dynamics.\n-   [PyRoboPlan](https://github.com/sea-bass/pyroboplan): An educational Python library for manipulator motion planning using the Pinocchio Python bindings.\n-   [RoboPlan](https://github.com/open-planning/roboplan): A modern robot motion planning library based on Pinocchio, built in C++ with Python bindings (successor to PyRoboPlan).\n-   [ProxSuite-NLP](https://github.com/Simple-Robotics/proxsuite-nlp): A primal-dual augmented Lagrangian solver for nonlinear programming on manifolds.\n-   [Aligator](https://github.com/Simple-Robotics/aligator): A versatile and efficient framework for constrained trajectory optimization.\n-   [Simple](https://github.com/Simple-Robotics/Simple): The Simple Simulator: Simulation Made Simple.\n-   [LoIK](https://github.com/Simple-Robotics/LoIK): Low-Complexity Inverse Kinematics.\n-   [PlaCo](https://github.com/Rhoban/placo): Rhoban's planning and control library, featuring task-space inverse kinematics and dynamics high-level API for whole-body control tasks.\n-   [CRISP controllers](https://github.com/utiasDSL/crisp_controllers): Collection of real-time, C++ controllers for compliant torque-based control for manipulators compatible with `ros2_control`.\n\n## Acknowledgments\n\nThe development of **Pinocchio** is actively led by the [Willow team](https://www.di.ens.fr/willow/) [@INRIA](http://www.inria.fr), with the support of the [Gepetto team](http://projects.laas.fr/gepetto/) [@LAAS-CNRS](http://www.laas.fr).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstack-of-tasks%2Fpinocchio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstack-of-tasks%2Fpinocchio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstack-of-tasks%2Fpinocchio/lists"}