ICub machines configuration
In this page we will list configurations that are common to all machines used at Vislab, particularly Linux machines that work with the iCub robot.
Operating system installation
Nothing fancy here - follow Ubuntu defaults and partitioning. For servers, use LTS releases.
Operations after first boot
- choose Main server (rather than Portugal server, which is not always reliable) as the software repository:
- on desktop machines, System -> Administration -> Synaptic Package Manager -> Settings -> Repositories -> Download from: Main server
- on server machines, remove all the "pt." strings from /etc/apt/sources.list with the following command:
sudo sed -i 's/pt.//g' sources.list
- update packages:
- either with Ubuntu graphical frontends
- or from a Terminal:
sudo apt-get update
;sudo apt-get upgrade
- add icub user if not done already:
- desktops: (to be completed)
- servers:
sudo adduser icub
followed bysudo usermod -aG admin icub
to give it sudo privileges
Other operations
Network configuration
- manually configuree the internet connection (
/etc/network/interfaces
):
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.10.x.y # put your IP here netmask 255.255.255.0 network 10.10.1.0 broadcast 10.10.1.255 gateway 10.10.1.254
- optionally, we can customize the
/etc/hosts
file like we did on Chico3; this would allow us to quickly access other machines, as in:ping cortex1
. Alternatively, we can do nothing and just useping cortex1.visnet
(i.e., attach the.visnet
part after a machine name, see VisLab network for details).
Additional packages and environment variables
- Install some required packages:
sudo apt-get install gcc g++ make subversion ssh libace-dev libgsl0-dev libncurses5-dev gfortran cmake cmake-curses-gui
- Create a file called ~/.bash_env (used by both interactive and non-interactive sessions, such as commands launched via
yarprun
from another machine) like this one:
export YARP_ROOT=/home/icub/yarp2 export YARP_DIR=$YARP_ROOT/build export ICUB_ROOT=/home/icub/iCub export ICUB_DIR=$ICUB_ROOT/main/build export PATH=$PATH:$YARP_DIR/bin:$ICUB_DIR/bin export ICUB_ROBOTNAME=iCubLisboa01 export IPOPT_DIR=/home/icub/Ipopt-3.10.0 source $YARP_ROOT/scripts/yarp_completion
- Then, before the following line of /etc/bash.bashrc
[ -z "$PS1" ] && return
add this:
# per-user environment variables (non-interactive and interactive mode) source $HOME/.bash_env
Subversion
For security, set the following parameter in /etc/subversion/config
:
store-passwords = no
This implies that SVN will ask you for your password every time you do a commit, as opposed to storing it in plain text on the system. (Don't worry about changing your personal ~/.subversion/config
file: the parameter is not actually set there, so the global /etc
setting is used.)
Additional software
OpenCV
sudo apt-get install libcv-dev libhighgui-dev libcvaux-dev
YARP and iCub
Follow the instructions on the RobotCub software article. For compilation on servers, do not use sudo make install
but simply make
(we have configured the PATH variable to find the latest compiled binaries, and we do not want two copies of the same thing on the system).
- usual yarp2 CMake flags
CMAKE_BUILD_TYPE Release CREATE_LIB_MATH
- usual iCub CMake flags
CMAKE_BUILD_TYPE Release