iCub-main
iCub modules
Collaboration diagram for iCub modules:

## Modules

exampleModule
Place here a short description of the module, this will appear in the list of the modules.

actionsRenderingEngine
A module combining multiple libraries and modules from the iCub repository that allows to execute some basic and complex actions on objects placed on a table in front of the robot.

camCalib
Camera image calibration module.

cartesianInterfaceControl

constantTimePositionService

gravityCompensator
Estimates the gravitational contribute to motors based on estimation of the robot dynamics.

iKinCartesianSolver

iKinGazeCtrl

objectsPropertiesCollector
Provides a on-line yarp-oriented database to collect properties of objects that are of interest for your specific application.

skinManager
This module reads the raw tactile sensor values, compensates for the (thermal) drift of the sensors (basically it is a high pass filter) and writes the compensated values on output ports. The module can manage many input ports at the same time (see parameter "inputPorts"). For each input port the compensated tactile data are written on the corresponding output port (see parameter "outputPorts"). Optionally, the module also can apply a smoothing filter (low pass filter) and/or a binarization filter to the data. The icub_skinManagerGui can be used to control and monitor an instance of the skinManager module. If the 3d position of the tactile sensors is provided, then this module computes the skinContacts (see library skinDynLib), which can be used by wholeBodyDynamics to compute the contact forces.

Template Tracking with Particle Filter

velocityControl
Perform position control using a velocity control loop.

velocityObserver
Estimates the first and second derivatives of incoming data vector through a least-squares algorithm based on an adpative window.

wholeBodyDynamics
Estimates the external forces and torques acting at the end effector through a model based estimation of the robot dynamics.

iCubSimulation
This module is the physics simulator of the iCub robot.

motionCUT
Independent Motion Detector Version:1.0.

## Detailed Description

This is the list of iCub modules, i.e. executables in the icub-main/src directory. To add your own module to this list, just add a comment like the following anywhere in your source code (replacing "your_module_name" with the name of your module):

  /**
*
* \defgroup icub_your_module_name your_module_name
* @ingroup icub_module
*
*/


For convenience, try to keep the module name the same as the directory it is placed in. If you've a good reason to do something different, of course you can do that too.