ICub software/Archive

From ISRWiki
Revision as of 14:18, 2 August 2014 by Giovanni Saponaro (talk | contribs) (→‎YARP: archive)
Jump to navigation Jump to search

This is just an archive of old notes, kept for reference. Go back to iCub software.

Environment variables

Windows environment variables

Typical choices are:

  • YARP_ROOT = C:/yarp
  • YARP_DIR = C:/yarp/build
  • ICUB_ROOT = C:/icub-main
  • ICUB_DIR = C:/icub-main/build

YARP

Installing yarp in Windows

Note: all environment variables should have '/' and NOT '\' (except in the PATH enviroment variable). The directories do not need to be the same as the ones presented here, just be sure to alter the environment variables correctly.

  1. Download ACE and GSL from http://eris.liralab.it/iCub/downloads/packages/windows/msvc8/ ; unzip them to a directory of your choice and remember it.
  2. If you want GUIs, download GTKMM from http://live.gnome.org/gtkmm/MSWindows and use the installer.
  3. Create the environment variables ACE_ROOT, GTK_BASEPATH, GTKMM_BASEPATH, GSL_DIR as follows:
    • ACE_ROOT is ACE dir (e.g., C:/ace_wrappers).
    • GTK_BASEPATH and GTKMM_BASEPATH is GTKMM dir (C:/gtkmm).
    • GSL_DIR is GSL dir (C:/gsl-1.8).
  4. Add this to the PATH environment variable: %ACE_ROOT%/lib (important: make sure you put it at the beginning of the PATH environment variable, to avoid conflicts with other existing ACE versions on the system)
  5. Make sure that YARP_ROOT and YARP_DIR are correctly set.
  6. Add this to the PATH enviroment variable: %YARP_DIR%/bin/Release (and/or Debug). Note: these directories will be created later
  7. Use CMake to build the YARP SLN files. Point the source code to the yarp dir, and build to the yarp/build dir (which will be created now).
  8. In CMake, check the flags CREATE_DEVICE_LIBRARY_MODULES, CREATE_LIB_MATH and, optionally, CREATE_GUIS (don't uncheck anything!).
  9. Click: Configure, Configure, Generate.
  10. Go to YARP_DIR and open YARP.sln with Visual Studio
  11. Go to Build->Batch Build
  12. Check ALL_BUILD (Release and/or Debug) and Build!

Getting the yarp repository in Linux

To use this repository through SVN, you will have to do a new checkout (checkouts prior to March 2013 are not compatible):

 svn co https://github.com/robotology/yarp/trunk yarp

iCub

Installing iCub in Windows

  1. Make sure that ICUB_ROOT and ICUB_DIR are correctly set.
  2. Install OpenCV (1.0 works, not sure about newer versions), available at http://sourceforge.net/projects/opencvlibrary/files/ . Make sure that the variable OPENCV_DIR was created and add %OPENCV_DIR%/bin to the PATH environment variable.
  3. If you intend to use the iKin kinematics modules (normally you don't - this is only needed on servers), then download IPOPT, unzip it and create the environment variable IPOPT_DIR, e.g. C:\Ipopt-3.7.0-win32-msvc8-yarp
  4. Use CMake to build the iCub SLN files. Point the source code to the icub-main dir, and build to the icub-main/build dir, which will be created now.
  5. In CMake, check YARP_AUTO_LINK (not sure why?) and the modules you might want working (don't uncheck anything).
  6. Click: Configure, Configure, Generate.
  7. Go to ICUB_DIR, open iCub.sln
  8. Go to Build->Batch Build
  9. Check ALL_BUILD (Release and/or Debug) and Build! (sometimes frameGrabberGui2 will not compile correctly)

Compiling the iCub repository in Linux

icub-main

With older versions (YARP < 2.3.23 and iCub < 1.1.13), you needed to define the environment variable ICUB_ROBOTNAME=iCubLisboa01 and type

 make install_applications

iCub Simulator

Committing changes to the repositories

If you are a developer and you need to add/modify files within the repository, talk to one of the main developers and use Github/SourceForge.

With SVN, make sure that your client is configured correctly with regard to auto-props, which is a mechanism that takes care of line endings and MIME filetypes according to wildcards (for example, setting some flags for *.txt files and other flags for *.sh). Here is a better explanation, see also the 'Subversion client flags' subpage (part of the official manual, linked below) for auto-props adopted by iCub developers

To commit an application "APPNAME" (consisting of several modules and connections) in the repository:

  1. commit the source code
  2. commit a .xml.template file in the app directory, containing generic node names like "pwrNode1", "console"
  3. commit a VisLab-specific .xml file in the iCubLisboa01 directory, or in contrib, containing our node names like "icubbrain1", "chico3" etc.