Chapter 2. Installing URBI

Table of Contents

Installing the memorystick for Aibo

We cannot detail in this tutorial how to install URBI for any particular robot type, but the general idea is to have the URBI server program loaded and running on your robot. The process to do so should be described in the INSTALL file of the package you have downloaded. In the ideal situation, URBI is preinstalled on your robot anyway.

Since we will use many Aibo examples in the tutorial, we give here the instructions on how to install URBI on an Aibo robot. We also describe how to install URBILab which is a simple and convenient cross-platform graphical client to replace telnet.

Installing the memorystick for Aibo

First, download the precompiled memorystick for your specific robot. There are two possibilities at the moment:

Quick instructions:

Unzip the archive and put the content of the MS-xxx directory on a blank memorystick, updating the WLANCONF.TXT file with your specific network config.

Detailed instructions:

  1. Untar/Unzip the memorystick archive corresponding to your Aibo. You should get a directory named MS-ERS7 or MS-ERS200. Enter into this directory.

  2. From the MS-ERS7 (or MS-ERS200) directory, go to the OPEN-R/SYSTEM/CONF directory. There should be a WLANCONF.TXT file here (or you must create it), to configure the network properly. There is no official documentation on the how to write the WLANCONF.TXT file, but here is an example that you can customize for your robot:

        HOSTNAME=aibo.mydomain.com
        ETHER_IP=192.168.1.111 # <— your IP here
        #
        # WLAN
        #
        ESSID=0a3902 # <— your SSID here
        WEPENABLE=1 # <— WEP or not
        WEPKEY=0x4B2241785B # <— the key: hexa
        #WEPKEY=ABCDE # <— ASCII with ERS2xx
        APMODE=1
    
        #
        # IP network
        #
        USE_DHCP=0
        SSDP_ENABLE=1
    
        # This part can be omitted
        # Your network config here —>
        ETHER_NETMASK=255.255.255.0
        IP_GATEWAY=192.168.0.3
        DNS_SERVER_1=192.168.1.1
        

    You can use URBI on Aibo without the network if you don't have a wifi access point, by putting your URBI programs in the URBI.INI file.

  3. Copy the content of the MS-ERS7 or MS-ERS200 directory in the root of a blank programmable pink memorystick (a "PMS")[1]. Be careful that this is *not* the Aibo Mind memorystick or one of the blue memorysticks: actually, you must go and buy a specific aibo programming memorystick from Sony, it is unfortunately not included in the Aibo package. Then, put this memorystick in the robot and start it. Your URBI robot is ready.

    You can run telnet[2] on port 54000 of the robot to check if everything is OK:

    telnet aibo.gostai.com 54000

    You should get a URBI Header at start, which looks like this:


[00014373:start] *** **********************************************************
[00014373:start] *** URBI Language specif 1.0 - Copyright 2005-2007 Gostai SAS
[00014373:start] *** URBI Kernel version 1.5 rev.1896
[00014373:start] ***
[00014373:start] ***   URBI Engine version 1.5 rev. 477
[00014373:start] ***      (C) 2006-2007 Gostai SAS
[00014373:start] ***
[00014373:start] *** URBI comes with ABSOLUTELY NO WARRANTY;
[00014373:start] *** This software can be used under certain conditions;
[00014373:start] *** see LICENSE file for details.
[00014373:start] ***
[00014373:start] *** See http://www.urbiforge.com for news and updates.
[00014373:start] *** **********************************************************
[00014373:ident] *** ID: U135515824

One interesting benefit of the client/server architecture of URBI is that you can start right away to send commands to your robot with a simple telnet client. It is of course possible and desirable to interface URBI with a C++, Java or Matlab program, which will be described later with the liburbi (chapter "The liburbi in C++"), but for the moment we will use a simple telnet interface.

However, telnet is a very crude and limited client (which does not always work well under Microsoft Windows[3]), and we have developed a cross-platform graphical alternative called URBI Remote that you are encouraged to use. URBI Remote is free and released under a GNU-GPL License. You can download it here (available mid 2007):

http://www.urbiforge.com/index.php?option=com_content&task=view&id=75&Itemid=136

Other free third-partie graphical interfaces, like "Aibo-Telecommande" can be downloaded right now on urbiforge.com.



[1] MS-ERS7 or MS-ERS200 should not appear on the memorystick, only the content of these directories must be copied in the root of the memorystick

[2] Note for windows users: the command line telnet in windows doesn't work very well and you should use Aibo-Telecommande or URBIRemote instead of telnet. However, telnet works fine with MacOSX or linux.

[3] It works if you use cygwin, otherwise carriage returns are badly interpreted by the native Windows implementation of telnet