Pinocchio Notes
Main features
- Spatial algebra
- SE3
- Motion
- Force
- Inertia
-
Model & Data
algorithm(model, data, arg1, arg2, ...)
- A model can be created using the C++ API or loaded from an external file, which can be either URDF, Lua (following the RBDL standard) or Python.
- Supported kinematic models
- Revolute
- Prismatic
- Spherical
- Translation
- Planar
- Free-floating
- Composite
- Dealing with Lie group geometry
- Geometric models & FCL library
- Main algorithms
- Forward kinematics
- Kinematic Jacobian
- Inverse dynamics (RNEA): The algorithm first performs a forward pass (equivalent to second-order kinematics). It then performs a backward pass, computing the wrenches transmitted along the structure and extracting the joint torques needed to obtain the computed link motions.
- Joint space inertia matrix (CRBA)
- Forward dynamics (ABA)
- Constrained forward dynamics
- Impulse dynamics
- Inverse of the joint space inertia
- Centroidal dynamics
- Analytical derivatives
- Automatic differentiation
- ADOL-C
- CasADi
- CppAD
- Source code generation
- CppADCodeGen
Rigid Bodies
Using quaternions for an $SO(3)$.
Joint dynamics
computeAllTerms
pinocchio::forwardKinematics
pinocchio::crba
pinocchio::nonLinearEffects
pinocchio::computeJointJacobians
pinocchio::centerOfMass
pinocchio::jacobianCenterOfMass
pinocchio::ccrba
pinocchio::computeKineticEnergy
pinocchio::computePotentialEnergy
pinocchio::computeGeneralizedGravity