Difference between revisions of "Compilation on the pc104"

From Wiki for iCub and Friends
Jump to navigation Jump to search
 
Line 8: Line 8:


You need the following modules:
You need the following modules:
* serialport: face expressions
* serial and serialport: face expressions
* xsensmtx:
* xsensmtx: inertial sensor
* canmotioncontrol, ecan, pcan: communication with the can bus
* dragonfly2: cameras


ENABLE_yarpmod_serial
and the calibrators:
ENABLE_yarpmod_serialport
* icubarmcalibrator
* icubheadcalibrator
* icublegscalibrator


== Getting the device drivers ==
== Compilation of modules ==


You need the following device drivers:
Some modules are compiled with YARP others, for licensing reasons, are compiled with iCub.


*plxcan: device drivers plx canbus board
=== YARP modules ===
*esdcan: device drivers esd canbus board


  cd $YARP_DIR
  ccmake $YARP_ROOT


Set:


Before doing that you need to get the original code of the APIs that are distributed with the device drivers (not part of the repository).
  CREATE_DEVICE_LIBRARY_MODULES:ON
 
Configure (hit c):
 
Now enable:
 
  ENABLE_yarpmod_serial
  ENABLE_yarpmod_serialport
 
Configure and generate makefiles.
 
Compile YARP:
 
  make
 
=== iCub modules ===
 
The procedure in this case is similar. First you need to get the device drivers for the ecan and pcan modules. We provide precompiled binaries for the pc104:
 
http://eris.liralab.it/iCub/downloads/drivers/
 
Get the version of the precompiled drivers that matches your system, probably: [[pc104etchnhalf-bin-1.0.tgz | http://eris.liralab.it/iCub/downloads/drivers/pc104etchnhalf-bin-1.0.tgz]]
 
Download this in /usr/local/src/robot and unpack:
 
  tar xvf pc104etchnhalf-bin-1.0.tgz
 
this will create a directory called drivers that contains the libraries you need.
 
Now you are ready to compile the new modules.
 
  cd $ICUB_ROOT
  cmake ./
 
In cmake enable:
 
  ENABLE_icubmod_pcan
  ENABLE_icubmod_ecan
  ENABLE_icubmod_canmotioncontrol
 
  ENABLE_icubmod_dragonfly2
  ENABLE_icubmod_logpolarclient
  ENABLE_icubmod_logpolargrabber
  ENABLE_icubmod_xsensmtx
  ENABLE_icubmod_icubarmcalibrator
  ENABLE_icubmod_icubheadcalibrator
  ENABLE_icubmod_icublegscalibrator
 
In iCub 1.1 (equipped with force sensors) remove icubarmcalibrator and select:
  ENABLE_icubmod_icubarmcalibratorj8
  ENABLE_icubmod_icubhandcalibrator
 
compile:
 
  make

Revision as of 19:08, 18 August 2009

The pc104 is a Linux Debian (Live), system.

Compilation on the pc104 follows the same procedure we have seen (see Section 6 of the manual), with some differences.

Modules running on the pc104 require access to the hardware and interface directly with the hardware device drivers. To do this you need to compile some optional modules in both YARP and iCub. Before doing this you need to get the original APIs that are distributed with the device drivers.

List of modules

You need the following modules:

  • serial and serialport: face expressions
  • xsensmtx: inertial sensor
  • canmotioncontrol, ecan, pcan: communication with the can bus
  • dragonfly2: cameras

and the calibrators:

  • icubarmcalibrator
  • icubheadcalibrator
  • icublegscalibrator

Compilation of modules

Some modules are compiled with YARP others, for licensing reasons, are compiled with iCub.

YARP modules

 cd $YARP_DIR
 ccmake $YARP_ROOT

Set:

 CREATE_DEVICE_LIBRARY_MODULES:ON

Configure (hit c):

Now enable:

 ENABLE_yarpmod_serial
 ENABLE_yarpmod_serialport

Configure and generate makefiles.

Compile YARP:

 make

iCub modules

The procedure in this case is similar. First you need to get the device drivers for the ecan and pcan modules. We provide precompiled binaries for the pc104:

http://eris.liralab.it/iCub/downloads/drivers/

Get the version of the precompiled drivers that matches your system, probably: http://eris.liralab.it/iCub/downloads/drivers/pc104etchnhalf-bin-1.0.tgz

Download this in /usr/local/src/robot and unpack:

 tar xvf pc104etchnhalf-bin-1.0.tgz

this will create a directory called drivers that contains the libraries you need.

Now you are ready to compile the new modules.

 cd $ICUB_ROOT
 cmake ./

In cmake enable:

 ENABLE_icubmod_pcan
 ENABLE_icubmod_ecan
 ENABLE_icubmod_canmotioncontrol
 ENABLE_icubmod_dragonfly2
 ENABLE_icubmod_logpolarclient
 ENABLE_icubmod_logpolargrabber
 ENABLE_icubmod_xsensmtx
 ENABLE_icubmod_icubarmcalibrator
 ENABLE_icubmod_icubheadcalibrator
 ENABLE_icubmod_icublegscalibrator

In iCub 1.1 (equipped with force sensors) remove icubarmcalibrator and select:

 ENABLE_icubmod_icubarmcalibratorj8
 ENABLE_icubmod_icubhandcalibrator

compile:

 make