ICubInterface

From Wiki for iCub and Friends
Jump to: navigation, search
The correct title of this article is iCubInterface. The initial letter is shown capitalized due to technical restrictions.

Note: This module is now obsolete, please check iCubInterface2

Author: Lorenzo Natale and Giorgio Metta


This module acts as a server and provides a network interface to the iCub (at the moment only to devices on the can bus). It internally stores instances of head, arm ... inertial sensor devices and exports their interfaces to network ports (YARP ports). There is only one instance of iCubInterface running on the computer which has the usb-can interface (i.e. the linux pc104 on the icub head). Since, for the purpose most application development, we are assuming the iCub has been 'booted', you should assume that iCubInterface has been launched and that there is no need for an application programmer to do it again.

Back to iCub YARP module specifications


Compiler & Linker Dependencies

Include files

ace/OS.h
ace/Log_Msg.h
yarp/os/Network.h
yarp/os/Port.h
yarp/os/Bottle.h
yarp/os/Time.h
yarp/os/Terminator.h
yarp/String.h

yarp/os/Property.h
yarp/dev/ControlBoardInterfaces.h
yarp/dev/GenericSensorInterfaces.h
yarp/dev/PolyDriver.h

Libraries

YARP libs

Run-time Dependencies

YARP libs

Module arguments

--file <filename> // see #Input data files

Ports accessed

Ports that are assumed to exist prior to instantiation of the module (i.e. some other module must create them)

None

Ports created

Ports that are instantiated by the module and are then available for other modules to use (using yarp connect)

/icub/left_arm/command:i
/icub/left_arm/rpc:i        
/icub/left_arm/state:0   

/icub/right_arm/command:i
/icub/right_arm/rpc:i        
/icub/right_arm/state:0      

/icub/head/command:i
/icub/head/rpc:i        
/icub/head/state:o      

Input data files

ICUB_ROOT/conf/icub.ini or an equivalent robot descriptor

In turn icub.ini parses a list of files to instantiate and configure the devices, for example:

icub_head.ini
icub_arm.ini
icub_inertial.ini

Sample icub.ini:

[GENERAL]
name            icub

[HEAD]
file            icub_head.ini
device          controlboard
subdevice       esd
calibrator	icubheadcalibrator

[INERTIAL]
file            icub_inertial.ini
device          inertial
subdevice       xsensemtx

[ARM]
file            icub_arm.ini
device          controlboard
subdevice       esd
calibrator      icubarmcalibrator

[ENDINI] // do not remove this line!

Output data files

None


Configuration files

ICUB_ROOT/conf/icub.ini ... see #Input data files.


User interface mechanism

Run-time modification of module parameters

None


OS on which the module was developed

Windows


OS on which the module was tested

Windows


Operating system dependencies

The module instantiates devices that interface to the hardware; as such it requires that appropriate device drivers are available on the operating system.


Example instantiation of the module

Run & port connection commands

controller_v1 --file icub.ini


iCub Capabilities

iCub capability code

This module is required to move the robot so it involves all capabilities.

Other Yarp modules required to effect this capability

None.

Example instantiation

None.


Back to iCub YARP module specifications