From Wiki for iCub and Friends
Jump to: navigation, search

We report here naming guidelines. Try to follow these guidelines, having common rules in this regards simplifies life to everyone.

Module names

Module names in the iCub repository (and therefore module directory names as well) conform to the convention 'wordOneWordTwo'.

Good example: myModule. Bad examples: my_module, my-module...

Port names

Port names follow the traditional yarp approach. We do not enforce a strict rule, however port names usually start with:


that can be further specified by appending other text.

It is commong practice to append :o or :i at the end of the name to denote an output or input port. This is especially significant for streaming ports (where data flow only in one direction).

A few examples:


The simulator replaces icub with icubSim.

Port names and module parameters

Do not forget to write your modules so that they accept parameters to change the name of the ports they open. In particular this should be controlled by the parameters --robot and --name.

Warning: the naming convention for the --name, --robot, and port name arguments in key-value pairs has changed. The arguments of --name and --robot do not have a leading "/" prefix and port name arguments always have a leading "/" prefix ... exactly the opposite of what was considered acceptable practice in the past.

For example a command-line option of

--name altName

sets the name of the module and will cause the module to use "/altName" as a stem for all port names.