The purpose of action selection is to effect the development of the iCub and specifically to increase its predictive capability. More...
The purpose of action selection is to effect the development of the iCub and specifically to increase its predictive capability.
In the current context, this means the selection of the iCub's mode of exploration. At present, only two basic motives drive this iCub development, curiousity and experimentation, both of them exploratory. The third main motive, social interaction, has not yet been addressed. Consequently, the present implementation of action selection is based on a very simple (trivial) function of the levels of curiousity and experimentation. Specifically, the learning mode is selected if the curiosity level is higher than the experimentation level; otherwise the prediction mode is selected.
The actionSelection module has one inputs: an affective state vector containing four numbers
This is typically input from the affectiveState module.
The actionSelection module has one outputs: mode vector containing a single value denoting the mode of operation
YARP.
Command-line Parameters
The following key-value pairs can be specified as command-line parameters by prefixing -- to the key (e.g. --from file.ini ). The value part can be changed to suit your needs; the default values are shown below.
from actionSelection.ini context actionSelection/conf $ICUB_ROOT/icub/app to the configuration filename actionSelection Module Configuration File Parameters
The following key-value pairs can be specified as parameters in the configuration file e.g. actionSelection.ini (they can also be specified as command-line parameters if you so wish). The value part can be changed to suit your needs; the default values are shown below.
stateInPort /state:i modeOutPort /mode:o mode 0 Input ports
/actionSelection help
quit set mode <n> ... set the mode (where <n> is an integer number in the range 1-3)
Note that the name of this port mirrors whatever is provided by the --name parameter value The port is attached to the terminal so that you can type in commands and receive replies. The port can be used by other modules but also interactively by a user through the yarp rpc directive, viz.: yarp rpc /rectification This opens a connection from a terminal to the port and allows the user to then type in commands and receive replies.
/actionSelection/state:iOutput ports
/actionSelection /actionSelection/mode:oPort types
The functional specification only names the ports to be used to communicate with the module but doesn't say anything about the data transmitted on the ports. This is defined by the following code.
BufferedPort<VectorOf<double> > stateInPort; // state BufferedPort<VectorOf<double> > modeOutPort; // mode None
None
actionSelection.ini in $ICUB_ROOT/app/actionSelection/conf
Windows Linux
actionSelection --name actionSelection --context actionSelection/conf --from actionSelection.ini
David Vernon
Copyright (C) 2010 RobotCub Consortium
CopyPolicy: Released under the terms of the GNU GPL v2.0.
This file can be edited at $ICUB_ROOT/src/actionSelection/include/iCub/actionSelection.h
1.7.1