Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
icub:icub_pc104 [2012/11/12 18:39] – [2) Get iCub makefiles] ramirezkicub:icub_pc104 [2012/11/13 14:41] (current) – [3) Compile iCub] ramirezk
Line 1: Line 1:
 +====== ICUB installation on PC104 ======
  
 +Please follow the below steps carefully.
 +
 +===== 1) Getting the iCub repositories: =====
 +
 +Open a shell on the laptop (icubsrv)
 +  cd /exports/code-pc104
 +  
 +And make sure the is not a folder named iCub, if there is, please move away the folder:
 +  mv iCub iCub.cvs
 +  
 +Get the yarp source code from the repositories
 +  cd /exports/code-pc104
 +  svn co https://robotcub.svn.sourceforge.net/svnroot/robotcub/trunk/iCub
 +  
 +**IMPORTANT:** At this point you __**do not**__ have to complie
 +
 +__**Note:**__ double check that the environment variable ICUB_ROBOTNAME 
 +exists and matches the name of our robot (e.g. iCubMunich01). If not add the following line
 +in /home/icub/.bashcrc
 +  
 +  export ICUB_ROBOTNAME=iCubMunich01
 +  
 +  
 +===== 2) Get iCub makefiles =====
 +Create the $ICUB_DIR directory that should point to /usr/local/src/robot/iCub/main/build
 +  mkdir $ICUB_DIR
 +  cd $ICUB_DIR
 +  
 +If you are upgrading the iCub repository, clean the cahe before generating the makefiles:
 +  rm CMakeCache.txt  
 +  
 +Generate the makefiles
 +  ccmake ../
 +  
 +Hit 'c' to configure and enable the following flags:
 +  CMAKE_BUILD_TYPE, set to, Release 
 +  
 +Hit 'c' to configure. And a long list of devices (in the form of ENABLE_icubmod_*) will appear.
 +You need to enabled the following:
 +  ENABLE_icubmod_canmotioncontrol
 +  ENABLE_icubmod_dragonfly2
 +  ENABLE_icubmod_logpolarclient
 +  ENABLE_icubmod_logpolargrabber
 +  ENABLE_icubmod_xsensmtx
 +  ENABLE_icubmod_icubarmcalibrator
 +  ENABLE_icubmod_icubheadcalibrator
 +  ENABLE_icubmod_icublegscalibrator
 +  ENABLE_icubmod_icubarmcalibratorj8
 +  ENABLE_icubmod_icubhandcalibrator
 +  
 +Hit 'c' to configure, and enable the following:
 +  ENABLE_icubmod_cartesiancontrollerclient
 +  ENABLE_icubmod_cartesiancontrollerserver
 +  
 +For our previous iCub, Version iCub 1.0 (before 12/Nov/2012), we needed to enable the following
 +  ENABLE_icubmod_pcan: iCub 1.0 
 +
 +For the new iCub, version ??? if iCub>iCub 1.1.1
 +  ENABLE_icubmod_cfw2can
 +  ENABLE_icubmod_skinprototype
 +and if iCub >  iCub 1.x.2 enable (very unlikely, since the neck is not getting upgrade, please verify)
 +  ENABLE_icubmod_icubheadcalibratorV2
 +
 +Hit 'c' to configure
 +
 +===== 3) Compile iCub =====
 +
 +  cd $ICUB_DIR
 +  make
 +  make install_applications
 +  
 +__**DO NOT**__ run "sudo make install", the current instructions assume that the binaries are not installed in system directories.
 +
 +It may be a good idea to update the firmware, please check this page: [[http://eris.liralab.it/wiki/Firmware| Firmware upgrade]]
 +===== Verify the iCub installation =====
 +
 +To verify the procedure type:
 +
 +  icubmoddev --list
 +among the others the list should contains also the new devices:
 +
 + Device "dragonfly2", C++ class DragonflyDeviceDriver2, wrapped by "grabber"
 + Device "pcan", C++ class PlxCan, has no network wrapper
 + ...
 +===== Possible Errors during compilation or generation of makefiles: =====
 +
 +**CMake Possible errors:**
 +
 +pcan/ecan fails to detect API(s): check that you have unpacked plxCanApi/esdCanApi 
 +in /usr/local/src/robot/drivers. cmake uses the environment variables 
 +PLXCANAPI_DIR/ESDCANAPI_DIR to locate these libraries. If you the pc104 has a Debian 
 +Live image >= 1.4 these should be already set, otherwise you have to do it manually.
 +Add the following to your bashrc file in /home/icub
 +  cd
 +  gedit .bashrc 
 +and add the following variables:   
 +  ESDCANAPI_DIR=/usr/local/src/robot/drivers/esdCanApi
 +  PLXCANAPI_DIR=/usr/local/src/robot/drivers/plxCanApi
 +  CWF2CANAPI_DIR=/usr/local/src/robot/drivers/cfw002
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki