ICubBrain: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
m (simplify page)
 
(134 intermediate revisions by 4 users not shown)
Line 1: Line 1:
In June 2009, we installed Ubuntu 8.04 LTS Server ('Hardy Heron') '''64bit''' on the "1U Twin" server that is to be used as '''iCub Brain''' (hence the name). It includes a SC808T-980 1U chassis and two twin X7DWT serverboards. Each of the two boards hosts an Intel Xeon 8-core processor.
[[File:SYS-6015TW-INFB.jpg|frame|right|caption|Front and rear view of iCubBrain rack.]]


For full system specifications, go [http://www.supermicro.com/products/launch/Intel/files/seaburg/6015TW-T_6015TW-INF.pdf here (PDF)] or on [http://www.tsunami.pt/produtodescricao.aspx?idtipo=6&idlinha=18&idgama=62&idproduto=389 the entry] on tsunami.pt
iCubBrain is a cluster of 2 machines used by VisLab to run the computation behind stable robot '''demos'''.


== Operating system installation ==
''Old information can be consulted at [[iCubBrain/Archive]].''


The chassis contains two separate machines, each one having two hard disk drive drawers. Next, we will explain how we configured the left part of the server, called '''icubbrain1'''. The settings for icubbrain2 will be just about the same, with the last octet of the IP address being 42 instead of 41.
= Specifications =


=== Boot ===
This twin server was purchased from Tetragon in June 2009. The box includes a SC808T-980 1U chassis (1U Twin size) with two twin X7DWT serverboards. Each of the two boards hosts an Intel Xeon 8-core processor (8 x [http://ark.intel.com/products/33079/Intel-Xeon-Processor-E5405-(12M-Cache-2_00-GHz-1333-MHz-FSB) E5405] @ 2.00 GHz). Each machine is an independent computer, having two hard disk drive drawers and its own power and reset buttons.


We booted the Ubuntu Server CD from an external USB CD drive without problems. We then had to manually confirm the usage of a 'cdrom' module within the installation (following all the default selections).
Memory: 4GB for each machine (<code>sudo dmidecode --type 17</code> to see RAM speed and type).


=== Network interface ===
For full system specifications, go [http://www.supermicro.com/products/launch/Intel/files/seaburg/6015TW-T_6015TW-INF.pdf here (PDF)] or on [http://web.archive.org/web/20100609080705/http://www.tsunami.pt/produtodescricao.aspx?idtipo=6&idlinha=18&idgama=62&idproduto=389] on tsunami.pt (archived page).


icubbrain1 has two Gbit interfaces. First we plugged an Ethernet cable into the first one (which turns on the "'''1'''" led in the chassis front). Then, when Ubuntu asked us to choose between eth0 and eth1, we picked up eth0.
= Setup =


=== Partitions ===
Ubuntu LTS Server, 64-bit. Computer names: '''icubbrain1''' and '''icubbrain2'''. Administrator account: '''vislab''', demo account: '''icub'''.


We chose the 'Guided - use entire disk' option.
= Operating system installation =


=== Ubuntu installation parameters ===
Next, we will explain how to configure the left part of the server, called '''icubbrain1'''. The settings for icubbrain2 will be just about the same, with the last octet of the IP address being 42 instead of 41. In general, we follow the guidelines at [[iCub machines configuration]].


* machine name: icubbrain1
== Boot ==
* user name: icub
* software selection: OpenSSH


=== Operations after first boot ===
Boot the Ubuntu Server CD from an external USB CD drive. Press the 'Del' key if you need to access the BIOS boot order.


* choose Main server (rather than Portugal server, which is incomplete) as the software repository. We do this by removing all the "pt." strings from /etc/apt/sources.list
Sometimes, you have to manually confirm the usage of a 'cdrom' module within the installation (following all the default selections).
* sudo apt-get update; sudo apt-get upgrade


== Other operations performed ==
== Network interface ==


=== Network configuration ===
icubbrain1 has two Gbit interfaces. First we plug an Ethernet cable into the first one (which turns on the "'''1'''" led in the chassis front). Then, when Ubuntu asks to choose between eth0 and eth1, we pick up eth0.


* manually configured the internet connection (/etc/network/interfaces):
== Network configuration ==
 
* manually configure the internet connection (<code>/etc/network/interfaces</code>):
   auto lo
   auto lo
   iface lo inet loopback
   iface lo inet loopback
Line 45: Line 44:
   broadcast 10.10.1.255
   broadcast 10.10.1.255
   gateway 10.10.1.254
   gateway 10.10.1.254
* added the following lines to /etc/hosts, to enable running commands like: ping cortex1.
  10.10.1.50 pc104
  10.10.1.51 icubsrv
  10.10.1.52 chico2
  10.10.1.53 chico3
  10.10.1.1 cortex1
  10.10.1.2 cortex2
  10.10.1.3 cortex3
  10.10.1.4 cortex4
  10.10.1.5 cortex5
  10.10.1.41 icubbrain1
  10.10.1.42 icubbrain2
=== Additional packages and environment variables ===
* Install some required packages:
  sudo apt-get install gcc g++ make cmake cvs subversion ssh libace-dev libgsl0-dev
* Create a file called ~/.bash_env (used by non-interactive sessions, namely commands launched via yarprun from another machine) 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 ICUB_ROBOTNAME=iCubLisboa01
* Copy all that stuff at the bottom of ~/.bashrc, too:
  cat ~/.bash_env >> ~/.bashrc
* 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
== Additional RobotCub software ==
=== OpenCV ===
Ubuntu prepackaged version 1.0.0-4:
  sudo apt-get install libcv1 libcvaux1 libcvaux-dev libcv-dev libhighgui1 libhighgui-dev opencv-doc python-opencv
=== iCub: downloading the repository ===
In /home/icub, do:
  cvs -d vislab@cvs.robotcub.org:/cvsroot/robotcub co iCub
For now, don't compile iCub but start installing YARP instead. ''(This is the most general approach which always works. However, since this machine does not have special iCub hardware to be found by YARP, like in the case of the PC104, then in this case we could've probably compiled straight ahead.)''
=== YARP ===
* Type this from the homedir (/home/icub):
  cvs -d:pserver:anonymous@yarp0.cvs.sourceforge.net:/cvsroot/yarp0 login
  cvs -z3 -d:pserver:anonymous@yarp0.cvs.sourceforge.net:/cvsroot/yarp0 co -P yarp2
  cd yarp2
* Proceed with the configuration and compilation:
  ccmake .
Click 'c' when CMake starts, then enable:
  CREATE_DEVICE_LIBRARY_MODULES
  CREATE_LIB_MATH
Click 'c' again, then choose
  ENABLE_yarpmod_opencv_grabber
Click 'c' a couple of times more, until nothing happens when you do it. Now hit 'g': generate and quit.
  make
  make test
  sudo make install
=== iCub: compiling and installing ===


[[Category:Vislab]]
[[Category:Vislab]]

Latest revision as of 14:40, 23 October 2017

Front and rear view of iCubBrain rack.

iCubBrain is a cluster of 2 machines used by VisLab to run the computation behind stable robot demos.

Old information can be consulted at iCubBrain/Archive.

Specifications

This twin server was purchased from Tetragon in June 2009. The box includes a SC808T-980 1U chassis (1U Twin size) with two twin X7DWT serverboards. Each of the two boards hosts an Intel Xeon 8-core processor (8 x E5405 @ 2.00 GHz). Each machine is an independent computer, having two hard disk drive drawers and its own power and reset buttons.

Memory: 4GB for each machine (sudo dmidecode --type 17 to see RAM speed and type).

For full system specifications, go here (PDF) or on [1] on tsunami.pt (archived page).

Setup

Ubuntu LTS Server, 64-bit. Computer names: icubbrain1 and icubbrain2. Administrator account: vislab, demo account: icub.

Operating system installation

Next, we will explain how to configure the left part of the server, called icubbrain1. The settings for icubbrain2 will be just about the same, with the last octet of the IP address being 42 instead of 41. In general, we follow the guidelines at iCub machines configuration.

Boot

Boot the Ubuntu Server CD from an external USB CD drive. Press the 'Del' key if you need to access the BIOS boot order.

Sometimes, you have to manually confirm the usage of a 'cdrom' module within the installation (following all the default selections).

Network interface

icubbrain1 has two Gbit interfaces. First we plug an Ethernet cable into the first one (which turns on the "1" led in the chassis front). Then, when Ubuntu asks to choose between eth0 and eth1, we pick up eth0.

Network configuration

  • manually configure the internet connection (/etc/network/interfaces):
  auto lo
  iface lo inet loopback
  
  auto eth0
  iface eth0 inet static
  address 10.10.1.41
  netmask 255.255.255.0
  network 10.10.1.0
  broadcast 10.10.1.255
  gateway 10.10.1.254