--- id: libpinocchio version: "4.1.0" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # libpinocchio — A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives License: permissive · Maintenance: active · Downloads: 589.5K/mo ## What it is and what it does libpinocchio is a Python-wrapped C++ library for computing rigid body dynamics efficiently. It implements state-of-the-art algorithms for forward and inverse kinematics, forward and inverse dynamics, centroidal dynamics, and their analytical derivatives. The library handles complex scenarios like closed-loop mechanisms and frictional contact problems, making it suitable for robot control, trajectory optimization, and physics-based simulation. The package is built on Eigen for linear algebra and coal for collision detection. It supports multiple robot model formats (URDF, SDF, MJCF, SRDF) and can be used across robotics, biomechanics, computer graphics, and vision applications. Analytical derivatives enable gradient-based optimization and learning. The library is actively developed and powers several robotics frameworks. Use it for: - Compute forward and inverse kinematics for robot manipulators to plan and execute motion. - Solve trajectory optimization problems for robot control using analytical derivatives of dynamics. - Simulate contact-rich manipulation tasks with frictional contact solvers. - Perform system identification and parameter estimation using kinematic and dynamic regressors. - Prototype robot learning algorithms in Python before deploying to production systems. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. libpinocchio provides efficient rigid body dynamics algorithms and their analytical derivatives for robotics, biomechanics, and physics simulation, with support for closed-loop mechanisms, contact solving, and multiple model formats. Yes, with conditions. libpinocchio is actively maintained, permissively licensed (BSD-3-Clause), and widely used in robotics research. Install if you need rigid body dynamics computation for robotics or physics simulation. Caveat: medium install friction from compiled dependencies; on non-Linux, use conda instead of pip. No known security vulnerabilities. ## Install pip install libpinocchio uv add libpinocchio poetry add libpinocchio ## Installing libpinocchio Before you install: Medium install friction due to compiled C++ dependencies (cmeel, cmeel-boost, cmeel-urdfdom, libcoal). Pre-built wheels available for macOS (Intel and ARM) and Linux x86_64/aarch64. Actively maintained with recent releases. License in practice: BSD-3-Clause permissive license allows use in commercial and proprietary projects with minimal restrictions, requiring only license and copyright notice retention. Quickstart: pip install libpinocchio import libpinocchio model = buildModelFromUrdf('robot.urdf') data = model.createData() forwardKinematics(model, data, q) Requires Python >=3.9. On non-Linux platforms, installation via conda is recommended; pip currently supports Linux only. Verify before relying: - Whether the Python interface fully exposes all C++ algorithms mentioned in the description or if some features require direct C++ usage. - Performance characteristics and scalability limits for systems with many degrees of freedom. - Availability and maturity of automatic differentiation support via CppAD or CasADi integration. - Exact API and usage patterns for the Python interface to libpinocchio. ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 589.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags rigid body dynamics algorithms, robot kinematics and dynamics, physics simulation library, robotics control computation, forward and inverse dynamics, contact dynamics solver, URDF model loader, robotics, physics-simulation, dynamics-computation [View on SkillFed](https://skillfed.io/packages/libpinocchio) · [View on PyPI](https://pypi.org/project/libpinocchio/)