Chica

From ISRWiki
Jump to navigation Jump to search

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:

Hard disk partitioning
size mountpoint filesystem
27GB / ext4
1.2GB swap

Show boot menu

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 and yarprun) 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

iCub CMake configuration