Pc104

From ISRWiki
Revision as of 14:16, 7 October 2016 by Giovanni Saponaro (talk | contribs) (→‎Software: icub-main settings updates)
Jump to navigation Jump to search

See pc104/Archive for information about previous setups.

The pc104 CPU board is located into the iCub's head and it runs a full (read/write) Debian distribution that boots from a USB pen drive.

Booting and mounting

After booting, the pc104 mounts a remote disk from the iCub laptop using NFS. The mounted volume contains the yarp and iCub repositories, both code and binaries. The binaries are located in the respective build-pc104 subdirectories.

Software

  • Dependencies for 640x480@30Hz images with Bayer encoding
sudo apt-get install libraw1394-dev libdc1394-22-dev
  • yarp CMake configuration
CMAKE_BUILD_TYPE Release
CREATE_DEVICE_LIBRARY_MODULES ON
CREATE_LIB_MATH ON
ENABLE_yarpmod_portaudio ON
ENABLE_yarpmod_serial ON
ENABLE_yarpmod_serialport ON
CREATE_OPTIONAL_CARRIERS
ENABLE_yarpcar_bayer_carrier
  • icub-main CMake configuration using yarprobotinterface
CMAKE_BUILD_TYPE Release
ENABLE_icubmod_canBusAnalogSensor ON
ENABLE_icubmod_canBusSkin ON
ENABLE_icubmod_canBusVirtualAnalogSensor ON
ENABLE_icubmod_canmotioncontrol ON
ENABLE_icubmod_cartesiancontrollerclient ON
ENABLE_icubmod_cartesiancontrollerserver ON
ENABLE_icubmod_cfw2can ON
ENABLE_icubmod_dragonfly2 ON
ENABLE_icubmod_dragonfly2raw ON
ENABLE_icubmod_gazecontrollerclient ON
ENABLE_icubmod_icubarmcalibrator ON
ENABLE_icubmod_icubhandcalibrator ON
ENABLE_icubmod_icublegscalibrator ON
ENABLE_icubmod_parametricCalibrator ON
ENABLE_icubmod_sharedcan ON
ENABLE_icubmod_skinWrapper ON
ENABLE_icubmod_xsensmtx ON

Optionally:

ENABLE_icubmod_logpolarclient ON
ENABLE_icubmod_logpolargrabber ON
  • yarp configuration
  1. yarp namespace /icub
  2. yarp conf 10.10.1.53 10000 (yarpserver runs on iCub laptop)

The last command writes the information of the YARP server located on iCub laptop into the file specified by yarp conf, which is typically /home/icub/.config/yarp/_icub.conf. Warning: that command overwrites previous content.

  • tuning and optimization
  1. make sure that CMAKE_BUILD_TYPE=Release for both yarp and icub-main
  2. cat /proc/sys/net/core/rmem_max // should return 8388608

Updating

In addition to yarp and icub-main, icub-firmware-shared must also be updated (these are scripts, not the firmware itself). In order to update the firmware, use the binaries in icub-firmware-build and follow the official iCub manual.

See also