How stack-of-tasks/pinocchio works
Pinocchio is a rigid-body modeling and dynamics library with C++ algorithms and a Python interface. Its principal workflow is to construct a multibody model, supply a configuration and motion state, then compute kinematics and dynamics results; model-description parsers and collision, visualization, constrained-contact, and differentiation capabilities support that workflow. The README documents these capabilities, while the sampled source does not show an end-to-end caller, so several workflow links are marked unverified.
Main entry points: multibody.hpp Model and Data · kinematics.hpp Forward Kinematics · expose-parsers.cpp Description Parsers · joint-configuration.hpp Configuration Operations
Components 18
Robot Modeling
- Description Parsers
bindings/python/parsers/expose-parsers.cpp - Model and Data
include/pinocchio/multibody.hpp - Configuration Operations
include/pinocchio/algorithm/joint-configuration.hpp
Kinematics and Dynamics
- Forward Kinematics
include/pinocchio/algorithm/kinematics.hpp - Jacobians and Frames
include/pinocchio/algorithm/jacobian.hpp - Inverse Dynamics
include/pinocchio/algorithm/rnea.hpp - Forward Dynamics
include/pinocchio/algorithm/aba.hpp - Mass Matrix
include/pinocchio/algorithm/crba.hpp
Advanced Physics
- Analytical Derivatives
include/pinocchio/algorithm/kinematics-derivatives.hpp - Constrained Contact
include/pinocchio/algorithm/contact-dynamics.hpp - Loop Dynamics
include/pinocchio/algorithm/loop-constrained-aba.hpp - AD and Codegen
include/pinocchio/autodiff/cppad.hpp
Language Interfaces
- Python API
bindings/python/pinocchio/__init__.py - C++ API
include/pinocchio/multibody.hpp
Geometry and Visualization
- Collision Detection
include/pinocchio/collision/broadphase-manager.hpp - Visualization
src/visualizers/base-visualizer.cpp
Other components
- Robot Developer
- coal Library
Connections 19
- Robot Developer → Python API: uses
- Robot Developer → C++ API: uses
- Python API → Description Parsers: exposes parsers
bindings/python/parsers/expose-parsers.cpp - Description Parsers → Model and Data: builds models
- C++ API → Model and Data: provides model types
include/pinocchio/multibody.hpp - Model and Data → Configuration Operations: defines configuration space
include/pinocchio/multibody.hpp - Model and Data → Forward Kinematics: supplies model
include/pinocchio/algorithm/kinematics.hpp - Configuration Operations → Forward Kinematics: provides state
- Forward Kinematics → Jacobians and Frames: updates placements
include/pinocchio/algorithm/jacobian.hpp - Model and Data → Inverse Dynamics: supplies model
include/pinocchio/algorithm/rnea.hpp - Model and Data → Forward Dynamics: supplies model
include/pinocchio/algorithm/aba.hpp - Model and Data → Mass Matrix: supplies model
include/pinocchio/algorithm/crba.hpp - Model and Data → Analytical Derivatives: supports derivatives
- Model and Data → Constrained Contact: supports constraints
- Model and Data → Loop Dynamics: supports closed loops
- Model and Data → AD and Codegen: supports AD
- Model and Data → Collision Detection: provides geometry model
include/pinocchio/collision/broadphase-manager.hpp - Collision Detection → coal Library: uses collision library
include/pinocchio/collision/broadphase-manager.hpp - Forward Kinematics → Visualization: updates placements
src/visualizers/base-visualizer.cpp