Chica
This article describes the way Chica is configured with regard to operating system and demos.
Note: see Chica/Archive about historical information and alternative setups (broken attempts).
Preliminaries
- the iCub head called Chica has a PC104 and 1GB of RAM
- for operating system and software, we have the following setups
2008 hard disk setup
This 100GB drive mounts an installation of Windows XP. While having old versions of YARP, iCub (controlGaze2) etc., this setup is quite stable and contains working demos.
2010 hard disk setup
This 30GB drive mounts Ubuntu Desktop 9.10 32bit, with username icub.
Partitions
Automated partitioning resulted in:
size | mountpoint | filesystem |
---|---|---|
27GB | / | ext4 |
1.2GB | swap |
We commented this line in /etc/default/grub
:
#GRUB_HIDDEN_TIMEOUT=0
Then we ran sudo update-grub
.
Network
We configured the internet connection in Systems -> Preferences -> Network Connections:
address 10.10.1.60 netmask 255.255.255.0 gateway 10.10.1.254 dns servers: 193.136.128.1
Additional packages
- We installed some required packages:
sudo apt-get install gcc g++ make cmake cmake-curses-gui subversion ssh libace-dev libgsl0-dev libncurses5-dev
- OpenCV 1.0 - guaranteed to works with iCub, recommended choice
sudo apt-get install libcv1 libcvaux1 libcvaux-dev libcv-dev libhighgui1 libhighgui-dev opencv-doc python-opencv
- OpenCV 2.* (fairly recent) from tarball - usually works with iCub
http://sourceforge.net/projects/opencvlibrary/
- OpenCV 2.* (very latest) from SVN - possibly unstable
svn co https://code.ros.org/svn/opencv/trunk cd opencv cmake . make [ sudo make install ]
Environment variables
- We created a file called
~/.bash_env
(used by interactive and non-interactive sessions, including commands launched via graphical demo managers andyarprun
) containing these lines:
export ICUB_DIR=/home/icub/iCub export ICUB_ROOT=$ICUB_DIR export YARP_DIR=/home/icub/yarp2 export YARP_ROOT=$YARP_DIR export PATH=$PATH:$ICUB_DIR/bin export PATH=$PATH:$YARP_DIR/bin export OPENCV_DIR=~/opencv -- for OpenCV 2.0 from SVN
- Before the following line of
/etc/bash.bashrc
[ -z "$PS1" ] && return
we added this:
# per-user environment variables (non-interactive and interactive mode) source $HOME/.bash_env
Subversion security
We have set the following parameter in /etc/subversion/config
:
store-passwords = no
This implies that SVN will not store passwords in plain text on your system: instead, it will ask you for your password every time you do certain operations. (Don't worry about changing icub
's personal ~/.subversion/config
file: the parameter is not actually set there, so the global /etc
setting is used.)
RobotCub software
Following the instructions in article RobotCub software, we installed the yarp2 and iCub repositories with SVN. In the CMake configurations, always set this for performance:
CMAKE_BUILD_TYPE Release
For the actual compilation, use
make
and do not run sudo make install
afterwards.
YARP namespace
We set this:
yarp namespace /chica
YARP CMake configuration
CREATE_LIB_MATH ON CREATE_DEVICE_LIBRARY_MODULES ON ENABLE_yarpmod_opencv_grabber ON