ICub coding basics: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
m (Added a few lines to Auto Associative Memory example)
m (moved RobotCub coding basics to ICub coding basics: RobotCub -> iCub)
 
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
Refer to [[iCub software]] to learn how to install, compile and update iCub software. Below we will link to tutorials that are useful for people starting up with iCub and YARP coding.


= General guides =
= General guides =
* http://eris.liralab.it/wiki/Summary_of_iCub_Software_Development_Guidelines
* http://eris.liralab.it/wiki/ICub_Documentation_Guidelines
* http://eris.liralab.it/wiki/ICub_File_Organization_Guidelines


= Basic image processing tutorial =
Highly recommended:
http://eris.liralab.it/iCub/dox/html/icub_basic_image_processing.html
* http://wiki.icub.org/wiki/Summary_of_iCub_Software_Development_Guidelines
* http://wiki.icub.org/wiki/ICub_Documentation_Guidelines
* http://wiki.icub.org/wiki/ICub_File_Organization_Guidelines


= Resource Finder =
= Specific tutorials =
http://eris.liralab.it/wiki/Resource_finder_overview


= RFModule class =
* Tutorials on motor commands and basic image processing: http://wiki.icub.org/wiki/ICub_Tutorials
* http://eris.liralab.it/yarpdoc/d9/d26/classyarp_1_1os_1_1RFModule.html
* http://eris.liralab.it/iCub/dox/html/icub_tutorial_module.html


= Port Tutorials =
== Resource Finder ==
* Basic: http://eris.liralab.it/yarpdoc/note_ports.html
* http://wiki.icub.org/wiki/Resource_finder_overview
* Advanced: http://eris.liralab.it/yarpdoc/port_expert.html
* RFModule class documentation (new version of Module class): http://eris.liralab.it/yarpdoc/d9/d26/classyarp_1_1os_1_1RFModule.html
* Using the RFModule helper class to write a program: http://wiki.icub.org/iCub/main/dox/html/icub_resource_finder_basic.html and http://wiki.icub.org/iCub/dox/main/html/icub_resource_finder_advanced.html


Do read about the Bottle class also [http://eris.liralab.it/yarpdoc/d3/d3e/classyarp_1_1os_1_1Bottle.html#_details]
== YARP ports ==
* basic: http://wiki.icub.org/yarpdoc/df/d05/note_ports.html
* advanced: http://wiki.icub.org/yarpdoc/db/dfb/port_expert.html
* Bottle class, useful for exchanging data among modules: http://wiki.icub.org/yarpdoc/d3/d3e/classyarp_1_1os_1_1Bottle.html#_details


= Examples =
= Examples of modules =


== Auto Associative Memory ==
The following are good examples of modules from the iCub repository that are generally compliant with iCub configuration guidelines (RFModule class), coding standards (configuration, graceful shut-down, thread-based execution, run-time user interaction) and documentation standards:
A small YARP+OpenCV project is the Auto-Associative (Episodic) Memory. It is well documented and adheres to good coding and documentation standards. Available here:
http://robotcub.svn.sf.net/viewvc/robotcub/trunk/iCub/src/autoAssociativeMemory/


== Cross Power Spectrum Vergence ==
* [http://robotcub.svn.sf.net/viewvc/robotcub/trunk/iCub/main/src/examples/demoModule/ demoModule]
* http://wiki.icub.org/wiki/The_myModule_Example (referred to at the bottom of the [http://wiki.icub.org/wiki/Summary_of_iCub_Software_Development_Guidelines Summary of iCub Software Development Guidelines])


Another application that is RFModule-compliant is
= See also =
http://robotcub.svn.sf.net/viewvc/robotcub/trunk/iCub/src/crossPowerSpectrumVergence/
 
* [http://wiki.icub.org/wiki/How_to_write_a_module How to write a module]
* [http://wiki.icub.org/wiki/Software_interface:_standard_port_names_for_hardware_devices Software interface: standard port names for hardware devices]


[[Category:Vislab]]
[[Category:Vislab]]
[[Category:C++]]
[[Category:C++]]
[[Category:YARP]]
[[Category:YARP]]

Latest revision as of 10:31, 7 April 2014

Refer to iCub software to learn how to install, compile and update iCub software. 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 (configuration, graceful shut-down, thread-based execution, run-time user interaction) and documentation standards:

See also