Chico3: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
mNo edit summary
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
The black 17" Tsunami laptop, dubbed '''chico3''', is used as an interface to control to the iCub robot and to launch '''demos'''.
The black 17" Tsunami laptop, dubbed '''chico3''', was used as an interface to control to the iCub robot and to launch demos during 2009-2014. '''Go to the [[iCub laptop]] page for information on the new Toshiba laptop.'''


''Old information can be consulted at [[Chico3 laptop machine configuration/Archive]].''
Older information can be consulted at [[Chico3/Archive]].


= Specifications =
= Specifications =
Line 8: Line 8:
* memory: 3GB
* memory: 3GB
* graphics card: Nvidia GeForce 9600M GT with 512MB of memory
* graphics card: Nvidia GeForce 9600M GT with 512MB of memory
 
* network card: RTL8168c/8111c, gigabit (1000baseT-FD)
For full systems specifications, check http://www.tsunami.pt/ .
 
= Setup =
 
chico3 currently runs Ubuntu 10.04 LTS Desktop 'Lucid Lynx', 64-bit.
 
= Operating system installation =
 
In general, follow the guidelines at [[VisLab machines configuration]]. Below are some special notes.
 
== Network ==
 
* configure the internet connection with the following parameters (see [[VisLab machines configuration#Network_configuration]] if in doubt) :
{| class="wikitable" border="1"
|+
! Address !! Netmask !! Gateway !! DNS Servers !! notes
|-
|10.10.1.53 || 255.255.255.0 || 10.10.1.254 || 10.0.0.1, 10.0.0.2 || for when we connect to the iCub switch
|-
|10.0.3.88 || 255.255.0.0 || 10.0.0.254 || 10.0.0.1, 10.0.0.2 || for when we connect to the rest of ISR
|-
|}
 
* added the following lines to <code>/etc/hosts</code>, to enable running commands like: <code>ping cortex1</code> (if we don't make this change, we can still easily access other machines, but with <code>.visnet</code> attached at the end of their names, see [[VisLab network]] for details)
  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.6 cortex6
  10.10.1.41 icubbrain1
  10.10.1.42 icubbrain2
 
* TODO: disable wifi (wlan0 and wmaster000 interfaces), for security and power consumption reasons
 
= Additional software =
 
In general, stick to the guidelines at [[VisLab machines configuration]] for essential packages and environment variables. In addition, install the software listed below.
 
  sudo apt-get install libncurses5-dev libgtk2.0-dev libgtkmm-2.4-dev libglademm-2.4-dev python-tk libqt3-mt-dev vlc
 
== Nvidia graphics card ==
 
Enable the Nvidia proprietary drivers to obtain a decent screen resolution.
 
In order to have multi-screen external monitor support for beamers,
  sudo apt-get install nvidia-settings
  sudo nvidia-settings
In the 'X Server Display Configuration' menu, select the 'Separate X screen' configuration. Then, edit <code>/etc/X11/xorg.conf</code> (make a backup first) by doing the following under Section 'ServerLayout': switch the <code>Screen 0</code> with the <code>Screen 1</code> strings.
Restart the xserver and enter nvidia-settings again, you will get some errors in the terminal because of the manual change, furthermore you will now see the correct screen numbering. To resolve the error in the configuration press "save X configuration file". Restart xserver, everything should be ok.
 
== 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
  COMPILE_NEW_YARPVIEW
  CREATE_DEVICE_LIBRARY_MODULES
  CREATE_GUIS
  CREATE_LIB_MATH
 
  ENABLE_yarpmod_opencv_grabber
 
* Custom iCub configuration
 
  BUILD_IN_DIR
  CREATE_GUIS_GTK
  CREATE_GUIS_GTKMM
  CREATE_GUIS_QT
  ENABLE_icubmod_cartesiancontrollerclient # for Cartesian robotMotorGui
  ENABLE_icubmod_gazecontrollerclient
 
= Customization =
 
== Passwordless connection to other machines ==
 
* set up passwordless log-in to the [[Cortex]] computers:
 
  # type the following commands on chico3:
  #
  # generate public and private keys. enter empty strings when prompted for various answers.
  ssh-keygen 
  #copy the public key you just generated to cortex1, on the user account you want to use there (e.g. icub).
  scp /home/icub/.ssh/id_rsa.pub icub@cortex1:  ''<-- be sure to write the colon ":" at the end''
  #
  # log in as 'icub' to cortex1 and type the following commands there:
  ssh cortex1
  #add the public key to the authorized ones
  cat id_rsa.pub  >> ~/.ssh/authorized_keys 
  #remove the id_rsa.pub file and log out
  rm id_rsa.pub
  exit
  exit
  #log in again to each cortex computer, to check that the process worked and they don't prompt for a password.
  #as of Oct. 2011, cortex[1-5] share the same disk; cortex6 is independent
 
* set up passwordless log-in to the [[iCubBrain server configuration]] computers: as above.
 
* set up passwordless log-in to pc104
 
pc104 boots from a read-only medium, so you cannot modify permanently its authorized_keys file.
pc104, though, mounts a part of icubsrv's hard-disk and then runs some scripts from there (see the [[pc104]] page for reference).
  #copy the usual public key to the icubsrv (laptop)
  scp id_rsa.pub icub@10.10.1.51:
  #ssh to icubsrv
  ssh icub@10.10.1.51
  #add the key to the authorized ones
  cat id_rsa.pub >> /exports/code-pc104/pc104/hooks/keys/authorized_keys
  #rm the id_rsa.pub file
  rm id_rsa.pub
 
=== PC104 authentication caveat ===
 
For pc104 it might be necessary to add a [http://www.securityfocus.com/infocus/1806 StrictHostKeyChecking=no] option argument to ssh (because there are different incompatible keys depending on the pc104 hardware setup, i.e., with or without pen):
  gnome-terminal --window-with-profile=pc104 -e "ssh -o StrictHostKeyChecking=no icub@10.10.1.50 -X"
 
== Customization of GNOME ==
 
Add buttons to the panel/bar at the top of the screen, to conveniently open terminals and file managers on remote machines. The top bar should look something like this when you're done:
[[image:Top_bar.png]]
 
Pick the images you like and turn them into 48x48pixel GIF images with GIMP or a similar program.
 
Example for the button to open the gnome-terminal on cortex1:
  right click on the panel and select "add to panel"
  select "custom application launcher"
  click on the icon and select the directory where your icons are, typically ~/Pictures/
  click on open, then select the picture for this particular button
  write in the field "command": gnome-terminal --window-with-profile=cortex -e "ssh icub@cortex1 -X" # or icub@10.10.1.1, or icub@cortex1.visnet
  set the name to something like: ssh icub@cortex1
 
The profile specified (--window-with-profile=cortex) does not exist by default, you need to create it. These profiles are used to give terminals on different machines different colors (e.g. all terminals running in a cortex computer will be blue, terminals local to chico3 will be white, etc.). In order to create the "cortex" profile:
  open a terminal on, say, cortex1
  click on File, select "new profile" and name it "cortex". choose the colors. cortex windows usually are blue with white text, while pc104 windows are yellow with black text.
 
== Adding a new terminal button ==
 
Example for the button to open the gnome-terminal on cortex1:
* right click on the panel and select "add to panel"
* select "custom application launcher"
* click on the icon and select the directory where your icons are, typically ~/Pictures/
* click on open, then select the picture for this particular button
* write this in the "command" field:
  gnome-terminal --window-with-profile=cortex -e "ssh icub@10.10.1.1 -X"
* set the name to something like: ssh icub@cortex1
 
Note about gnome-terminal profiles: the profile we have specified specified (--window-with-profile='''cortex''') does not exist by default, we need to create it. These profiles are used to give terminals on different machines different colors (e.g., all terminals running in a cortex computer will be blue, terminals local to chico2 will be white, etc.). To create the "cortex" profile do this:
* open a terminal on, say, cortex1
* click on File, select "new profile" and name it "cortex", then choose the colors
* cortex windows usually are blue background with white text, while pc104 windows are yellow with black text.
 
== Nautilus buttons ==
 
For the buttons that start the file manager Nautilus on pc104 and on cortex (once again, all cortex computers share the same disk, so you need only one button for them) you should use these lines of code:
  nautilus sftp://icub@10.10.1.50/home/icub/
  nautilus sftp://icub@10.10.1.1/home/icub
 
After you are done browsing a remote machine disk with Nautilus, don't forget to unmount the volume (right-click the relevant icon on the desktop).
 
== Desktop background ==
 
Last but not least, you can change the default Ubuntu desktop background to something fancier:
[[Image:chico3_background.png|thumb|left]]
 
[[Category:Vislab]]

Latest revision as of 18:13, 14 November 2014

The black 17" Tsunami laptop, dubbed chico3, was used as an interface to control to the iCub robot and to launch demos during 2009-2014. Go to the iCub laptop page for information on the new Toshiba laptop.

Older information can be consulted at Chico3/Archive.

Specifications

  • processor: Intel Core 2 Duo (2 x P8600 @ 2.40 GHz)
  • memory: 3GB
  • graphics card: Nvidia GeForce 9600M GT with 512MB of memory
  • network card: RTL8168c/8111c, gigabit (1000baseT-FD)