ICub software: Difference between revisions
(→iCub: recommended CMake flags for iCub) |
m (→See also: remove dead link) |
||
(143 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This article | This article deals with the installation of YARP and iCub software. Word of advice: '''always refer to the official iCub documentation first''': | ||
* http://www.yarp.it | |||
* http://wiki.icub.org/wiki/Manual#Six._Software.2C_Installing_YARP_and_iCub | |||
* http://wiki.icub.org/wiki/ICub_Software_Installation | |||
* Virtual Machine that contains pre-installed software: https://github.com/robotology/vagrant-icub | |||
Below, we list some unofficial additional notes provided by [[Vislab|VisLab]] members. | |||
''See [[iCub software/Archive]] for obsolete information.'' | |||
== Dependencies == | |||
In Linux, refer to [[iCub machines configuration#Dependencies]]. | |||
== Environment variables == | == Environment variables == | ||
The following environment variables must be set. | The following environment variables must be set. | ||
* <code>YARP_ROOT</code>: location of the yarp source code | |||
* <code>YARP_DIR</code>: yarp build directory, usually <code>YARP_ROOT/build</code> | |||
* <code>ICUB_ROOT</code>: location of the icub-main source code | |||
* <code>ICUB_DIR</code>: icub-main build directory, usually <code>ICUB_ROOT/build</code> | |||
In Linux, refer to [[iCub machines configuration#Environment variables]]. | |||
== YARP == | == YARP == | ||
=== Browsing the | === Browsing the yarp repository online === | ||
https://github.com/robotology/yarp | |||
=== Getting the | === Getting the yarp repository in Windows === | ||
Inside | Inside TortoiseGit, use the file manager to browse to the location where you would like to download the code; right click on an empty region of the window and select "checkout" from the contextual menu; type the above address in the "URL of repository" field. No password or username will be required. | ||
No password or username will be required. | |||
Note: if you use Cygwin, refer to Linux instructions instead. | Note: if you use Cygwin, refer to Linux instructions instead. | ||
=== Installing | === Installing yarp in Windows === | ||
Note: all environment variables should have '/' and NOT '\' (except in the <code>PATH</code> enviroment variable) | Note: all environment variables should have '/' and NOT '\' (except in the <code>PATH</code> enviroment variable). | ||
=== Getting the yarp repository in Linux === | |||
Run the following command in a console terminal, typically from the <code>$code</code> directory: | |||
git clone https://github.com/robotology/yarp.git | |||
=== Compiling the yarp repository in Linux === | |||
mkdir $YARP_DIR | |||
cd $YARP_DIR | |||
ccmake $YARP_ROOT | |||
In the CMake interface, set the following | |||
CMAKE_BUILD_TYPE Release | |||
CREATE_LIB_MATH ON | |||
then hit c and g in order to '''generate the project files''', to obtain the Makefile. | |||
Having generated your project file, only the actual compilation remains to be done: | Having generated your project file, only the actual compilation remains to be done: | ||
make | |||
Don't use <strike><code>sudo make install</code></strike>! Rather, add the location of the binaries to the <code>$PATH</code> environment variable (see below). | |||
=== Updating the yarp repository in Linux === | |||
cd $YARP_ROOT | |||
git pull | |||
=== Downloading YARP as a single file === | === Downloading YARP as a single file === | ||
Refer to http://www.yarp.it. Pre-compiled binaries are also available. | |||
== iCub == | == iCub == | ||
Line 115: | Line 74: | ||
=== Browsing the iCub repository online === | === Browsing the iCub repository online === | ||
'''icub-main''' | |||
https://github.com/robotology/icub-main/ | |||
'''iCub Contrib Software''' | |||
These are small repositories in the Robotology organization page, which contain special components and demos, for example the ball tracking and grasping demo is here: | |||
https://github.com/robotology/icub-basic-demos/ | |||
=== Getting the iCub repository in Windows === | === Getting the iCub repository in Windows === | ||
Inside | Inside TortoiseGit, use the file manager to browse to the location where you would like to download the code; right click on an empty region of the window and select "checkout" from the contextual menu; type the repository address in the "URL of repository" entry. | ||
Note: if you use Cygwin, refer to Linux instructions instead. | |||
=== Getting the iCub repository in Linux === | |||
'''icub-main''' | |||
Run the following command in a console terminal, typically from the <code>$code</code> directory: | |||
git clone https://github.com/robotology/icub-main.git | |||
'''contrib software''' | |||
Set up icub-contrib-common (see below), then get the contrib application that you wish to install (for example POETICON++), CMake and build it. | |||
'''firmware''' (only for [[pc104]]) | |||
git clone https://github.com/robotology/icub-firmware-shared | |||
git clone https://github.com/robotology/icub-firmware-build | |||
=== Compiling the iCub repository in Linux === | === Compiling the iCub repository in Linux === | ||
'''icub-main''' | |||
mkdir $ICUB_DIR | |||
cd $ICUB_DIR | |||
ccmake $ICUB_ROOT | |||
In the CMake interface, set the following | |||
CMAKE_BUILD_TYPE Release | |||
ENABLE_icubmod_cartesiancontrollerclient ON | |||
ENABLE_icubmod_cartesiancontrollerserver ON | |||
ENABLE_icubmod_gazecontrollerclient ON | |||
then hit c and g in order to '''generate the project files''', to obtain the Makefile. | |||
Having generated your project file, the actual compilation remains to be done: | |||
make | |||
= | Provided that <code>YARP_ROBOT_NAME=iCubLisboa01</code> is set, robot-specific files will be automatically copied by CMake. | ||
Don't use <strike><code>sudo make install</code></strike>! Rather, add the location of the binaries to the <code>$PATH</code> environment variable (see below). | |||
'''icub-contrib-common metapackage''' (to use contrib modules, i.e., modules outside icub-main) | |||
Follow the official instructions at the bottom of http://wiki.icub.org/wiki/Linux:Installation_from_sources but '''make sure to point CMAKE_INSTALL_PREFIX to the full path corresponding to $ICUBcontrib_DIR''', which is accessible without administrator privileges and whose binaries will be within $PATH. To accomplish this, follow these simple instructions, paying attention to the part in bold. | |||
Verify that your <code>.bashrc_iCub</code> file (or equivalent) contains these environment variables: | |||
export ICUBcontrib_DIR=$code/icub-contrib-common/build | |||
export PATH=$PATH:$YARP_DIR/bin:$ICUB_DIR/bin:$ICUBcontrib_DIR/bin | |||
export YARP_DATA_DIRS=$YARP_DIR/share/yarp:$ICUB_DIR/share/iCub:$ICUBcontrib_DIR/share/ICUBcontrib | |||
= | Set up the ICUBcontrib metapackage: | ||
mkdir $ICUBcontrib_DIR | |||
cd $ICUBcontrib_DIR | |||
'''# the following command sets CMAKE_INSTALL_PREFIX to the path corresponding to $ICUBcontrib_DIR''' | |||
'''# instead of /usr/local''' | |||
'''cmake -DCMAKE_INSTALL_PREFIX=$(echo $ICUBcontrib_DIR) ..''' | |||
ccmake .. | |||
configure, generate, exit | |||
make | |||
make install | |||
Don't use <strike><code>sudo make install</code></strike>! Rather, add the location of the binaries to the <code>$PATH</code> environment variable (see above). | |||
At this point, you can install iCub Contrib applications with <code>make install</code> in their own build subdirectory (again, don't use sudo!). Binaries will be installed in $ICUBcontrib_DIR/bin. For example, to compile the POETICON++ build do the following: | |||
cd $code/poeticon | |||
mkdir build | |||
cd build | |||
cmake .. | |||
configure, generate, exit | |||
make | |||
make install | |||
=== | === Updating the iCub repository in Linux === | ||
cd $ICUB_ROOT | |||
git pull | |||
== | == iCub Simulator == | ||
This component is optional. Refer to the official iCub manual, section 9 (Software), available at http://wiki.icub.org/wiki/Manual#Nine._Software.2C_iCub | |||
== See also == | == See also == | ||
* http:// | * http://wiki.icub.org/wiki/Manual#Six._Software.2C_Installing_YARP_and_iCub - official iCub manual | ||
* | * [[iCub machines configuration]] | ||
[[Category:Vislab]] | [[Category:Vislab]] |
Latest revision as of 17:32, 19 July 2017
This article deals with the installation of YARP and iCub software. Word of advice: always refer to the official iCub documentation first:
- http://www.yarp.it
- http://wiki.icub.org/wiki/Manual#Six._Software.2C_Installing_YARP_and_iCub
- http://wiki.icub.org/wiki/ICub_Software_Installation
- Virtual Machine that contains pre-installed software: https://github.com/robotology/vagrant-icub
Below, we list some unofficial additional notes provided by VisLab members.
See iCub software/Archive for obsolete information.
Dependencies
In Linux, refer to iCub machines configuration#Dependencies.
Environment variables
The following environment variables must be set.
YARP_ROOT
: location of the yarp source codeYARP_DIR
: yarp build directory, usuallyYARP_ROOT/build
ICUB_ROOT
: location of the icub-main source codeICUB_DIR
: icub-main build directory, usuallyICUB_ROOT/build
In Linux, refer to iCub machines configuration#Environment variables.
YARP
Browsing the yarp repository online
https://github.com/robotology/yarp
Getting the yarp repository in Windows
Inside TortoiseGit, use the file manager to browse to the location where you would like to download the code; right click on an empty region of the window and select "checkout" from the contextual menu; type the above address in the "URL of repository" field. No password or username will be required.
Note: if you use Cygwin, refer to Linux instructions instead.
Installing yarp in Windows
Note: all environment variables should have '/' and NOT '\' (except in the PATH
enviroment variable).
Getting the yarp repository in Linux
Run the following command in a console terminal, typically from the $code
directory:
git clone https://github.com/robotology/yarp.git
Compiling the yarp repository in Linux
mkdir $YARP_DIR cd $YARP_DIR ccmake $YARP_ROOT
In the CMake interface, set the following
CMAKE_BUILD_TYPE Release CREATE_LIB_MATH ON
then hit c and g in order to generate the project files, to obtain the Makefile.
Having generated your project file, only the actual compilation remains to be done:
make
Don't use ! Rather, add the location of the binaries to the sudo make install
$PATH
environment variable (see below).
Updating the yarp repository in Linux
cd $YARP_ROOT git pull
Downloading YARP as a single file
Refer to http://www.yarp.it. Pre-compiled binaries are also available.
iCub
Browsing the iCub repository online
icub-main
https://github.com/robotology/icub-main/
iCub Contrib Software
These are small repositories in the Robotology organization page, which contain special components and demos, for example the ball tracking and grasping demo is here: https://github.com/robotology/icub-basic-demos/
Getting the iCub repository in Windows
Inside TortoiseGit, use the file manager to browse to the location where you would like to download the code; right click on an empty region of the window and select "checkout" from the contextual menu; type the repository address in the "URL of repository" entry.
Note: if you use Cygwin, refer to Linux instructions instead.
Getting the iCub repository in Linux
icub-main
Run the following command in a console terminal, typically from the $code
directory:
git clone https://github.com/robotology/icub-main.git
contrib software
Set up icub-contrib-common (see below), then get the contrib application that you wish to install (for example POETICON++), CMake and build it.
firmware (only for pc104)
git clone https://github.com/robotology/icub-firmware-shared git clone https://github.com/robotology/icub-firmware-build
Compiling the iCub repository in Linux
icub-main
mkdir $ICUB_DIR cd $ICUB_DIR ccmake $ICUB_ROOT
In the CMake interface, set the following
CMAKE_BUILD_TYPE Release ENABLE_icubmod_cartesiancontrollerclient ON ENABLE_icubmod_cartesiancontrollerserver ON ENABLE_icubmod_gazecontrollerclient ON
then hit c and g in order to generate the project files, to obtain the Makefile.
Having generated your project file, the actual compilation remains to be done:
make
Provided that YARP_ROBOT_NAME=iCubLisboa01
is set, robot-specific files will be automatically copied by CMake.
Don't use ! Rather, add the location of the binaries to the sudo make install
$PATH
environment variable (see below).
icub-contrib-common metapackage (to use contrib modules, i.e., modules outside icub-main)
Follow the official instructions at the bottom of http://wiki.icub.org/wiki/Linux:Installation_from_sources but make sure to point CMAKE_INSTALL_PREFIX to the full path corresponding to $ICUBcontrib_DIR, which is accessible without administrator privileges and whose binaries will be within $PATH. To accomplish this, follow these simple instructions, paying attention to the part in bold.
Verify that your .bashrc_iCub
file (or equivalent) contains these environment variables:
export ICUBcontrib_DIR=$code/icub-contrib-common/build export PATH=$PATH:$YARP_DIR/bin:$ICUB_DIR/bin:$ICUBcontrib_DIR/bin export YARP_DATA_DIRS=$YARP_DIR/share/yarp:$ICUB_DIR/share/iCub:$ICUBcontrib_DIR/share/ICUBcontrib
Set up the ICUBcontrib metapackage:
mkdir $ICUBcontrib_DIR cd $ICUBcontrib_DIR # the following command sets CMAKE_INSTALL_PREFIX to the path corresponding to $ICUBcontrib_DIR # instead of /usr/local cmake -DCMAKE_INSTALL_PREFIX=$(echo $ICUBcontrib_DIR) .. ccmake .. configure, generate, exit make make install
Don't use ! Rather, add the location of the binaries to the sudo make install
$PATH
environment variable (see above).
At this point, you can install iCub Contrib applications with make install
in their own build subdirectory (again, don't use sudo!). Binaries will be installed in $ICUBcontrib_DIR/bin. For example, to compile the POETICON++ build do the following:
cd $code/poeticon mkdir build cd build cmake .. configure, generate, exit make make install
Updating the iCub repository in Linux
cd $ICUB_ROOT git pull
iCub Simulator
This component is optional. Refer to the official iCub manual, section 9 (Software), available at http://wiki.icub.org/wiki/Manual#Nine._Software.2C_iCub