ROBOMON v0.16 by Antonio Cisternino cisterni@di.unipi.it Multimedia Laboratory (http://medialab.di.unipi.it), Department of Computer Science, University of Pisa (C)1998, 1999 This distribution of RoboMon for Java is incomplete and setup the software it is not trivial. For the moment the source code it is not include because I want to upgrade the code and make it compatible with the SoccerServer logs. This document contains the following sections: 1. Introduction to RoboMon 2. The 2D interface 3. The 3D interface 4. Software and hardware needed by RoboMon 5. Install and try the demo 6. Licence 7. Acknowledgments 1. Introduction to RoboMon RoboMon is a Monitor for the Soccer Server, the software used in the Robocup initiative (http://www.robocup.org). The monitor has been my project for the exam of graphic interfaces. RoboMon try to achieve two goals: make available a monitor 2D written in Java and write a new version of the monitor with 3D visualization features reusing part of the code written for the 2D version. The 3D monitor has been implemented using Java and VRML. Java implements the network connection and keeps track of the state and controls the VRML engine via the External Access Interface (EAI). I have choosed Java and VRML because the real goal of the project was to use standard web technologies to define a monitor for RoboCup. The main problem that I've encountered (and that have suspended the development of the code for a lot of time) is that both Netscape and InternetExplorer does not allow UDP sockets from a Java applet. This is a big problem because the Soccer Server sends the state of the game via UDP. To continue the project for my exam I've implemented a little server that sends via TCP socket the UDP packets sent from the Soccer Server and dumped to a file. My idea was to solve the problem of UDP and Java applet later but for the moment no solution is available. Now I will work to build a 2D/3D monitor that works as a log player to use through the Web. This distribution has been built to distribute the software to some people but IT IS NOT A FINAL VERSION!!!! 2. The 2D interface RoboMon offers a 2D interface like the original provided withe the Soccer Server. The main difference between the two software is that RoboMon 2D is writtein in Java and has been tested on Windows, Solaris and Linux and run without problems. The features are the same of the Unixe version, the only big difference is that the soccer window is resizable dinamically without any 'magnify' parameter. The 2D version has been developed as an intermediate software to concentrate my efforts on the protocol with the server. However the user interface uses a 3D look. Some feature must be added in order to make this monitorr fully compliant and the dimensions of objects are fixed and does not agree with those provided with monitor.conf in the sserver distribution. For the moment I've added some parameter to configure the monitor passed as an applet parameter. 3. The 3D interface The 3D interface of RoboMon is an interesting experiment of software interaction between a VRML 3D engine and Java using the External Access Interface (EAI). There are various problems in writing a 3D interface for the Soccer Server: the most relevant is that Soccer Server provides 2D information! For the moment the RoboMon reflects directly the 2D in the 3D and the interface is not interesting as can be. One of my goals is to define a policy to generate the third dimension data dinamically in a way that the entire animation results very realistic. My idea is that it is possible to create a buffer of game states and use these informations to calculate which data over the third dimension are acceptable. For the moment the communication support with the server is affected by the same limitations of the 2D version. The system has been developed and tested on Windows and works with Internet Explorer and Netscape. I suppose that Netscape with the VRML plugin that supports the EAI interface can play the game also on other platforms. The 3D version offers different cameras to follow the game: some camera are fixes but there are also camera that follows the ball. The VRML browser offers some mechanism to switch among the different cameras. The player movements can be improved but for the moment it is acceptable. 4. Software and hardware needed by RoboMon The platform on which the software has been tested is Windows (95 OSR2 and 98). A 16 bit graphics adapter is recommended (3D accelerator is optional). I have a Pentium MMX 200MHz and the VRML engine slow down when three players are availables. The RAM *must* be at least 32Mb but I suggest 64Mb because the swapping make the software sllllllllooooooowwwww.... ;) The software that I suggest is Netscape 4.06 or later with Cosmo 2.0. Internet Explorer also works with the VRML browser distributed with Windows 98. 5. Install and try the demo If you are reading this readme you have successfully unpacked the distribution file. To make the software working I recommend the following steps: 1. Check your hardware and software (see section 4) 2. Try the EAI support opening with the browser the file EAI-Checker/EAI-Checker.html 3. If the interface is supported you'll see Checking the browser... This browser supports the EAI... Error linking the VRML browser! Ignore the last message: the software works! 4. OK, now you can start the browser. If you are using Netscape I suggest to open the Java Console *before* loading the page with the monitor. There are a lot of bugs in Netscape! 5. If you open the file with Netscape (before the 4.5) or Internet Explorer you'll need a WebServer like the personal WebServer because when an applet requests a resource from the the local disk a security exception is raised even when the entire applet is loaded from the disk. Netscape 4.5 have solved the problem. You can also put all files on your home page. 6. To see the 2D version of the monitor use the file RoboMon.html, the 3D version is started with the file VRMLRoboMon.html. 6. Licence Copyright (C) 1998, 1999 Antonio Cisternino. Permission to use, copy, and modify this software and its documentation is hereby granted only under the following terms and conditions. Both the above copyright notice and this permission notice must appear in all copies of the software, derivative works or modified versions, and any portions thereof, and both notices must appear in supporting documentation. Users of this software agree to the terms and conditions set forth herein, and agree to license at no charge to all parties under these terms and conditions any derivative works or modified versions of this software. This software may be distributed (but not offered for sale or transferred for compensation) to third parties, provided such third parties agree to abide by the terms and conditions of this notice. The software is provided "as is" and the copyright holders disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the copyright holders be liable for any special, direct, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. 7. Acknowledgments The monitor was born from a suggest of Kitano and a great encouragement of my Professor Giuseppe Attardi. Many people have contributed with comments to the monitor, all the people of the Multemedia Laboratory in the CS department of Pisa. Lucio Torre has contributed with a big change in the HTML that starts the monitor.