ICub coding basics

From ISRWiki
Jump to navigation Jump to search

Refer to RobotCub software to learn how to install, compile and update RobotCub software with Subversion (SVN). Below we will link to tutorials that are useful for people starting up with iCub and YARP coding.

General guides

Highly recommended:

Specific tutorials

Resource Finder

YARP ports

Examples of modules

The following are good examples of modules from the iCub repository that are generally compliant with iCub configuration guidelines (RFModule class), coding standards and documentation standards.

myModule

A simple example to illustrate a module that is compliant with iCub Software Standards, addressing:

  • configuration
  • graceful shut-down
  • thread-based execution
  • run-time user interaction
  • documentation and coding standards

Functionally, the module just converts an input image to a binary image based on a supplied threshold.

Auto-Associative (Episodic) Memory

The Auto-Associative Memory (AAM) module, also known as Episodic Memory, effects the following functionality:

  • when an image is presented to the memory, it attempts to recall that image;
  • if a previously-stored image matches the presented image sufficiently well, the stored image is recalled;
  • if no previously-stored image matches sufficiently well, the presented image is saved.

For details and source, see:

crossPowerSpectrumVergence

Compute histogram of disparity values and select the local maximum value which corresponds to the regions closest to the cameras to control vergence.

logPolarTransform

rectification

See also