icub-client
|
Authors: Uriel Martinez, Daniel Camilleri, Andreas Damianou, Luke Boorman email: d.cam ille ri@sh effi eld.a c.uk
A Synthetic Autobiographical Memory for the iCub robot. This module contains the core, which implements the high-level functionality, and the drivers which act as middleware between the perceptual system and the core.
Pre-trained Action Recognition model and data can be downloaded here.
samSupervisor
can manage multiple models with great flexibility in training and interacting with models.trainSAMModel
allows for the training of multiple, single or temporal models by simply changing the value in the config.ini of the particular model and automates testing of the different types of models.interactionSAMModel
also allows for great flexibility in the method of data collection. 3 Methods are currently supported.continuous
: Data is continuously classified by the driver with a buffer of classifications being kept. Each time a classification is queried, the classification buffer decreases in size until it reaches 0 and returns Nonebuffered
: In this case, a buffer of the latest n data points are kept and when the classification command is sent, these data points are sent to the driver for classification which is returned immediately.future_buffered
: In this case, when a classification request is sent, the future n data points are collected, classified and a classification returned.Setting a model to any one of these data collection methods and also specifying the buffer lengths is done within sensory_level_config.ini
Everything is accessed via samSupervisor which is installed to ICUBCLIENT_DIR.
Connect with samSupervisor via /sam/rpc:i
and issue help
for a list of all possible commands
check_all
: Check data and config.ini availabilities for that model, as well as current status (Training or Loaded) and check if model is curently up to datecheck <modelName>
: Check the same points as above but for a single modelclose <modelName>
: Terminates a currently loaded interaction process for the particular modeldelete <modelName>
: Physically deletes the trained model for <modelName>
help
: Provides a list of available commandsload <modelName>
: Launches an interaction process for the corresponding model. If model already present, reloads model from diskoptimise <modelName>
: Optimises the parameters of the model via Bayesian Optimisation to achieve the best result. Require GPyOpt to be installedquit
: Terminates samSupervisortrain <modelName>
: Launches a training process for the corresponding modellist_callSigns
: Compiles a list of currently active callSigns. Where callSigns are the messages that loaded models respond toWhen a model is loaded, to retrieve a classification of a generation from the model, issue the respective command in the list_callSigns list. There is a timeout of 10 seconds for the response so as not to block the operation of samSupervisor
A folder, <FolderName>
which has the following folder structure:
<FolderName>
:
Data:
<model1Name>
<model2Name>
<model3Name>
<model3SubModelName1>
<model3SubModelName2>
<model3SubModelNameN>
<modelMName>
Models:
Where <model1Name>
and <model2Name>
will be modelled as a single model while <model3Name>
will have multiple models depending on the number of subfolders in <model3Name>
.
<modelXname>
folder must contain data as well as a config.ini
which specifies the parameters for training the data found in that folder.<modelXName>
folder.<modelXName>
<FolderName>/Models
is left empty and is used by samSupervisor to store trained models.<FolderName>
from here which contains data and config.ini for Faces and Actions and pre-trained models for Actionsdefault.ini
in samSupervisor context to point to your <FolderName>
and comment out models within sensory_level_conf.ini
also found in the samSupervisor context which you do not require to run automatically when launching samSupervisordefault.ini
has 3 options.sensory_level_conf.ini
specifies which models should be loaded as sections, the names of their respective input/output ports as well as the callsigns which will trigger recall or recognition of that particular modelCopyright (C) 2015 WYSIWYD Consortium, European Commission FP7 Project ICT-612139 website: http://wysiwyd.upf.edu/ Permission is granted to copy, distribute, and/or modify this program under the terms of the GNU General Public License, version 2 or any later version published by the Free Software Foundation.
A copy of the license can be found at icub-client/LICENSE
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details