Skip to content
Snippets Groups Projects
Commit e3133f44 authored by jcarpent's avatar jcarpent
Browse files

[Doc] Improve global doc of Pinocchio

parent ba836ea7
Branches
Tags
No related merge requests found
......@@ -27,6 +27,8 @@ SET(PROJECT_NAME pinocchio)
SET(PROJECT_DESCRIPTION "Rigid multi body dynamics algorithms")
SET(PROJECT_URL "http://github.com/stac-of-tasks/pinocchio")
SET(DOXYGEN_USE_MATHJAX YES)
IF(APPLE)
SET(CMAKE_MACOSX_RPATH 1)
ENDIF(APPLE)
......
//
// Copyright (c) 2016 CNRS
// Author: Florent Lamiraux
// Author: Florent Lamiraux, Justin Carpentier
//
// This file is part of Pinocchio
// Pinocchio is free software: you can redistribute it
......@@ -18,9 +18,10 @@
/** \page pinocchio_page_crtp Curiously recurring template pattern
Pinocchio library makes intensive use of the so called CRTP desing
pattern. This patterns is used for performance reasons in the
implementation of static polymorphism.
Like Eigen, Pinocchio library makes intensive use of the so called CRTP design
pattern. This pattern is used for performance reasons in the
implementation of static polymorphism, avoiding dynamic casts and calls to virtual methods.
All in all, CRTP plays a central role in the performance of Pinocchio.
\sa https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
We refer to https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern for further explanations.
*/
//
// Copyright (c) 2016 CNRS
// Author: Florent Lamiraux
// Author: Florent Lamiraux, Justin Carpentier
//
// This file is part of Pinocchio
// Pinocchio is free software: you can redistribute it
......@@ -17,28 +17,40 @@
// <http://www.gnu.org/licenses/>.
/** \mainpage
\section pinocchio_section_introduction Introduction
This package implements efficient forward kinematics algorithms for multi-body
kinematic chains. One of the main features is the separation between models (constant values representing an object) and data (used for intermediate computations).
This is the documentation of Pinocchio, the Eigen-like library for Rigid Body Dynamics computations.
This library implements highly efficient kinematic and dynamic algorithms for multi-body systems making Pinocchio a versatile framework for robotics applications.
\section pinocchio_section_installation Installation
Please refer to the GitHub page of the project for installation details:
https://github.com/stack-of-tasks/pinocchio
The main classes are
\section pinocchio_section_introduction Introduction
One of the main features is the separation between models (constant values representing an object) and data (used for intermediate computations).
The two main classes are:
\li se3::Model that represents a kinematic chain composed of joints that move
links with mass and inertia,
\li se3::Data that stores intermediate data for kinematic computations.
\li se3::Data that stores intermediate data for kinematic and dynamic computations.
\section pinocchio_section_spatial_algebra Spatial Algebra
\section pinocchio_section_kinematics Kinematics
The library provides some classes to represent spatial quantities at the root of kinematic and dynamic computations. This main classes are reported below:
\li se3::SE3Tpl represents a rigid placement, a mathematical representation of \f$ SE(3) \f$.
\li se3::MotionTpl represents a spatial motion (linear and angular velocities), e.g. a spatial velocity or acceleration associated to a frame or a body. The spatial motion is the mathematical representation of \f$ se(3) \f$.
\li se3::ForceTpl represents a spatial force, e.g. a spatial impulse or force associated to a body. The spatial force is the mathematical representation of \f$ se^{*}(3) \f$, the dual of \f$ se(3) \f$.
\li se3::InertiaTpl represents a spatial inertia characterizing a rigid body and expressed in a given frame. This inertia is composed of mass, the position of the center of mass regarding to the frame and a rotational inertia.
The library provides some classes to represent kinematic objects:
\li se3::SE3Tpl represents a rigid-body transformation.
\section pinocchio_section_algos Main Algorithms
\section pinocchio_section_collision_checking Collision Checking
\section pinocchio_section_collision_checking Collision checking and distance computation
Collision checking between bodies of the kinematic chain and external
Collision checking between two bodies of the kinematic chain and external
obstacles is implemented using library hpp-fcl (a modified version of
Flexible Collision Library). The computation of the position of objects in 3D
space for a given configuration is performed by the following classes:
\li se3::GeometryModel that represents a kinematic chain moving objects,
\li se3::GeometryModel that represents the collision objects associated to a joint stored in a se3::Model,
\li se3::GeometryData that stores intermediate data like the position of objects
in a given configuration of the kinematic chain.
**/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment