ICubBrain: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
m (simplify page)
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:SYS-6015TW-INFB.jpg|frame|right|caption|Front and rear view of iCubBrain rack.]]
[[File:SYS-6015TW-INFB.jpg|frame|right|caption|Front and rear view of iCubBrain rack.]]


iCubBrain is a cluster of 2 machines used by VisLab to run stable '''demos''' (the other cluster, [[Cortex]], is used for development).
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 server configuration/Archive]].''
''Old information can be consulted at [[iCubBrain/Archive]].''


= Specifications =
= Specifications =


We purchased iCubBrain 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.
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.


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


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
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).


= Current setup =
= Setup =


{| class="wikitable" border="1"
Ubuntu LTS Server, 64-bit. Computer names: '''icubbrain1''' and '''icubbrain2'''. Administrator account: '''vislab''', demo account: '''icub'''.
|-
!  machine
!  location
!  operating system
!  notes
|-
'''icubbrain1'''
|  left half of chassis
|  Ubuntu 10.04 LTS '''64bit'''
|  administrator account: vislab; demo account: icub
|-
'''icubbrain2'''
|  right half of chassis
|  Ubuntu 10.04 LTS '''64bit'''
|  administrator account: vislab; demo account: icub
|}


= Operating system installation =
= Operating system installation =


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 (unless otherwise noted, see above table), with the last octet of the IP address being 42 instead of 41.
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 ==


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


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


== Network interface ==
== Network interface ==


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.
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.


== Partitions ==
== Network configuration ==


We chose the 'Guided - use entire disk' option, which yielded the following:
* manually configure the internet connection (<code>/etc/network/interfaces</code>):
 
  auto lo
{| class="wikitable"  border="1"
  iface lo inet loopback
|+ Hard disk partitioning
! size !! mountpoint !! filesystem
|-
|133GB || / || ext3
|-
|5GB || || swap
|-
|}
 
= Other operations performed =
 
== 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
 
* YARP and iCub require CMake version >= 2.6: <code>cmake cmake-curses-gui</code>
 
* Create a file called ~/.bash_env (used by both interactive and non-interactive sessions, such as commands launched via <code>yarprun</code> 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 ==
 
We have set the following parameter in <code>/etc/subversion/config</code>:
  store-passwords = no
This implies that SVN will ask you for your password every time you do a commit. (Don't worry about changing your personal <code>~/.subversion/config</code> file: the parameter is not actually set there, so the global <code>/etc</code> 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, do '''not''' use <code>sudo make install</code> but simply <code>make</code> (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).
    
    
* Custom yarp2 configuration
  auto eth0
  CMAKE_BUILD_TYPE Release
  iface eth0 inet static
  CREATE_LIB_MATH
  address 10.10.1.41
 
  netmask 255.255.255.0
* Custom iCub configuration: first compile IPOPT according to the official RobotCub wiki guide (http://eris.liralab.it/wiki/Installing_IPOPT), then proceed to configuring the actual iCub repository:
  network 10.10.1.0
  CMAKE_BUILD_TYPE Release
  broadcast 10.10.1.255
  ENABLE_icubmod_cartesiancontrollerclient ON
   gateway 10.10.1.254
  ENABLE_icubmod_gazecontrollerclient ON
 
* iCub compilation
  make
  make install_applications
 
* Final configuration
   yarp namespace /icub


[[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