From: galk@isi.edu (Gal A. Kaminka) Newsgroups: comp.ai,comp.robotics.research,comp.robotics.research,comp.answers,sci.answers,sci.virutal-worlds Subject: The RoboCup FAQ Followup-To: comp.ai,comp.robotics.research,comp.robotics.research,comp.answers,sci.answers,sci.virutal-worlds Summary: This FAQ provides an introduction to the RoboCup International Initiative Archive-name: comp.ai/robocup-faq Posting-Frequency: Monthly Last Modified: June 23, 1998 Version: 0.7 URL: http://www.isi.edu/soar/galk/RoboCup/ Copyright (c) 1998 Gal A. Kaminka Maintainer: Gal A. Kaminka The RoboCup FAQ The latest version of this FAQ can always be found at: Table of Contents 1. What is the RoboCup initiative? 1.1. Are you serious? Isn't this a little ambitious? 1.2. What technological fields are involved? 1.3. How is RoboCup different than other grand challenges and robot competitions? 1.4. So it isn't just a competition? 1.5. What does the general media have to say? 2. How can I participate? 2.1. How can I participate in RoboCup research? 2.2. How do I participate in the competition? 2.3. What about educational activities? 2.4. What if I'm not interested in AI, Robotics, or Education? 2.5. Can I get support (financial and otherwise) to do RoboCup research? 2.6. Can I contribute support (financial and otherwise) to do RoboCup research? 3. What is the RoboCup Simulator? 3.1. What platforms does the simulation run on? 3.2. What platforms can I build players for? 3.3. How challenging is it? 3.4. How realistic is it? 3.5. Can I run a game across the internet? 3.6. I think some feature is not realistic/right, where should I complain? 3.7. I think I found a bug, where should I report it to? 3.8. Should I report bugs/features? Will anybody listen? 3.9. What's all this stuff about "Gentlemen's' Agreement"? 3.10. What areas of research are being investigated? 3.11. What is the evaluation protocol for simulator teams? 3.12. I want to build a client, where do I begin? 3.13. I want to improve the simulation/virtual environment - who do I talk to? 4. What are RoboCup robots like? 4.1. How big are the small/medium robots? 4.2. What kind of vision systems are used? 4.3. Do poor amateurs stand a chance? 5. Where can I find out more information? 5.1. General Resources and Contacts 5.2. Simulation-Related Resources and Contacts 5.3. Robots Resources and Contacts 5.4. Education Resources 1. What is the RoboCup initiative? The Robot World Cup Initiative (RoboCup) is an attempt to foster research in various technological fields by providing a standard problem where wide range of technologies can be integrated and examined. For this purpose, RoboCup chose to use soccer game, and organize RoboCup: The Robot World Cup Soccer Games and Conferences. The idea is to build increasingly advances physical and synthetic agents that can play soccer at increasing level. Our landmark goal is to have a humanoid robot team play against the best human soccer team under official FIFA rules sometime around the middle of next century. The RoboCup Federation is an international non-profit organization, registered in Bern, which was established in 1997 for the purposes of encouraging, promoting and strengthening RoboCup research. This initiative is currently being pursued by approximately 1500 researchers in over 20 different countries. For more information and details, consult the General Resources section below. In particular, check out the robocup web page at: for more details and the full manifesto. 1.1. Are you serious? Isn't this a little ambitious? Yes we are, and yes it is. This long term goal is what sets RoboCup apart from many other grand challenges and robot competitions. We intend for RoboCup to be a landmark project, following the high-successful model of the Apollo mission. Putting a man on the moon is an awesome achievement, but the real economic benefits from it lie in the technology that was developed in order to carry out this task. Similarly, we believe the technological and economic spill-overs from building a team of soccer-playing humanoid robots are staggering. The technology required to fully carry out the challenge does not yet exist. However, current technology is sufficiently advanced to start serious research into making it possible. It took the aviation industry a long time to get from the Wright Brothers airplane to good, working knowledge of how to build airplanes. Our view is that we are currently at the "Wright-Brothers" stage of robot-building. 1.2. What technological fields are involved? At first glance, RoboCup seems to deal only with issues from the field of Robotics. However, the RoboCup challenge actually touches on many fields. Here's a partial list: In Artificial Intelligence and Robotics: Multi-agent environments, collaborative and individual planning and execution, opponent modeling, distributed and individual learning (both off- line and on-line), adaptation, strategy planning, sensor fusion, knowledge acquisition, real- time reasoning, visions, natural language processing (both for synthetic commentators, and for the players, which need to interact with a human referee), crowd behavior, teleoperation, and more. In electrical engineering, it touches on fault-tolerant hardware, real-time support, robust storage devices (imagine a hard disk being thrown to the ground due to a tackle...), sensors, control, etc. In Virtual Environments and Distributed Simulations, it touches on real-time multi-cast protocols (for running simulated games on the internet - see more on this later in this FAQ), real-time 3D visualization, multi-player protocols, teleoperation, etc. In addition, there's need for light-weight but tough materials (otherwise the robots will be too heavy, or become dented with every fall), and for batteries/power-sources that actually power a human-size robot for 90 minutes or more. There's need for robust, fault-tolerant joints and gears that can stand some bumps, etc. ... and the list goes on and on. The challenge is not limited to soccer-playing robots. Far from it we would like to see more and more applications grow from this domain into other fields. For example, there's already some work on a multi-agent commentator team, in which different synthetic experts work together to produce commentary on the game, much like the human teams seen so often on TV. Some people are considering modeling the fans, and their influence on the team, to examine issues in crowd behavior. Other still are looking into robot coaches, and so on. 1.3. How is RoboCup different than other grand challenges and robot competitions? RoboCup is very unique: o First, it is long-term initiative. We're aiming for 50+ years from now! o Second, it is not just a competition. Although annual competitions are an important and fun part of the RoboCup initiative, the real essence of RoboCup lies in the scientific conferences in which research results can be presented. o Third, RoboCup is also about education. Several Robotics and AI courses have been and are being taught using RoboCup as a domain of application and experimentation. Most importantly, RoboCup researchers are strongly encouraged to explore techniques, methods, and algorithms which generalize across domains and applications. RoboCup is about technological transfer -- if we have an optimal soccer player but cannot take any lessons from it for other applications, than it is less valuable than a less-than-optimal technique that works well in many different application domains. We are thus not aiming for the ultimate soccer-playing robot, but instead for the most generally useful one. Every formal RoboCup event (and in particular, the annual workshop) hosts not only a competition (for fun) but a formal evaluation section, in which research teams are evaluated based on the validity and quality of their research in particular fields (for instance, on-line learning and adaptation, teamwork, opponent modeling, etc.), rather than their performance in a competition. Every league/agent-class has a different evaluation protocol -- see next sections and resources for details. 1.4. So it isn't just a competition? No. Far from it. Although the competitions make up an important and fun part of RoboCup, they serve more as a fun form of generic evaluation, and as a focusing event. (see above). 1.5. What does the general media have to say? They love it! RoboCup-97 in Nagoya, Japan was a big hit with local and global media. RoboCup researchers have been interviewed for Radio, TV and newspapers all across the globe. There have been articles in Science, the Sunday Times, Newsweek , Der Spiegel, Le Monde, Le Figaro, and many more. See General Resources below for information packets and/or contacts. 2. How can I participate? You can participate in many ways: You can build robots, you can build software-agents, you can build simulation environments, you can teach or otherwise use RoboCup for education, etc. Currently, most work on RoboCup is concentrated around the preparation of robots and synthetic agents (software agents) that actually play soccer (or simulated soccer). However, there are already some groups working on natural language research, visualization, simulation, etc. 2.1. How can I participate in RoboCup research? Whatever your research area is, chances are that you can find a connection to RoboCup. The RoboCup Federation organizes a number of conferences/workshops and competitions annually, usually co- located with major conferences and/or sports events (such as the Human World Cup, Olympics, etc.). These workshops are where RoboCup researchers get together to exchange ideas. The proceedings from the main annual RoboCup workshop are published in a special series of Springer-Verlag Publishing. In addition, many researchers publish their work in journals and conferences in their respective fields. The RoboCup web page (see General Resources below) may point to a list of papers appearing in non-RoboCup publications. Currently, work is carried out in the following areas: autonomous agents, robotics, multi-agent collaboration and coordination, off- line and on-line learning, 3D visualization, distributed simulations, real-time natural language generation, vision, mechanical design, and more. In general, RoboCup researchers are strongly encouraged to demonstrate the generality of their technique across domains and applications other than robotic soccer (see [1.3] above). Check out the schedule on the main robocup web page (see General Resources below) for a list of up-coming events. As for participation in the competitions: See next question. 2.2. How do I participate in the competition? Any and all teams, whether research-oriented or not, are welcome to participate in the competitions. Some teams just participate for the fun of it (especially in the Simulator League), some are serious research-oriented teams that also publish the results of their research. See below for more details. Currently, RoboCup competitions have the following leagues. Specific information on each league can be found in the sections describing each league and in the resources section: Simulator League for Synthetic (Software) Agents Small Robot League (5 robots per team) Full Set Small Robot League (11 robots per team) Middle Size Robot League The followings are currently leagues for exhibition games and demonstrations: Legged Robot League Expert Robot League Humanoid League 2.3. What about educational activities? There have been several successful hands-on courses taught using RoboCup as an application domain. These were undergraduate- and graduate-level Artificial Intelligence courses. Some teaching materials for those can be found in the list of resources. 2.4. What if I'm not interested in AI, Robotics, or Education? Well, we'd still like to know about your research related to the vision of the RoboCup Initiative. For instance, if you think you can build better simulation environments, mechanically robust robots, or a new type of battery that may be useful, we would welcome hearing about your work. In particular, we are actively looking for people in the Virtual Environments and Distributed Simulations communities who may be interested in picking up the simulation environment(s) (soccer and others) as a research application domain. Faster-than-real- time simulation, internet-distributed simulations, virtual environment modeling and simulation are all things that we care about very much. See the Simulation Resources section below for contacts. 2.5. Can I get support (financial and otherwise) to do RoboCup research? In principle, yes. Government agencies in the U.S., for example, are already partially funding RoboCup research, although mostly as a secondary domain. There is a European RoboCup committee which is attempting to get funds for European researchers. National committees in different countries may also be able to provide information on funding. A number of corporate sponsors are already providing limited funding and facilities for RoboCup research, mostly through the RoboCup Federation. At this point, however, the RoboCup Federation is not in a position to provide research grants. They will be able, however, to provide you with plenty of information needed to convince your own funding sources that this is a worthwhile cause. 2.6. Can I contribute support (financial and otherwise) to do RoboCup research? Yes. You can choose to support the RoboCup Federation directly, or by providing support to a specific regional committee or a specific research group. The support can take the form of a research grant or direct financial support, contributed facilities (computer and robot hardware), web-page maintenance, marketing, software (for example, we're looking for virtual environment modeling and distributed simulation engines), etc. Please see the Resources and Contacts section for contact information. 3. What is the RoboCup Simulator? The RoboCup simulator is a soccer physical simulation system which allows virtual soccer players to compete in a dynamic, complex, uncertain multi-agent environment. The soccer server attempts to provide a challenging environment for AI research, by allowing researchers to concentrate on designing brains for the simulated bodies of the players. The simulation system is run as a client/server system, with a central simulator server communicating with 22 player clients. Each client receives sensory data--visual, auditory, internal-- about its own local view of the world (from its own position), and can send command such as move, run (with power), turn, kick, etc. 3.1. What platforms does the simulation run on? The simulator is written in C and C++, and can compile out-of-the- box on many flavors of unix, including SunOS, Solaris, Linux, and others. It may also be made to run on Windows, but we don't know of any attempts to do so, successful or otherwise. 3.2. What platforms can I build players for? The server communicates with player clients via UDP sockets. You can build your clients on any platform you with, as long as they can communicate with the server. Some use Unix, some use Windows. Implementation languages include C, C++, Lisp, Soar (rule-based language), and Java. 3.3. How challenging is it? Very challenging. In some sense, it is really like building a real soccer team together: It is quite easy to build a team that works, sort-of. But it is hard to build a team that really does well. 3.4. How realistic is it? Hmmm. It is realistic, to some degree. The answer depends more on the particular aspect in question. First, the simulated games last about 10 minutes, so obviously they are faster-than-real- time. Sensors report noisy, continuous data at the object level ("a player at distance X, angle Y"), but actions are discrete (these will be replaced by continuous actions with durations in the near future). The world is 2D. One thing to keep is mind is that the simulator platform is changing and will keep changing. We want to make sure the environment will continue to challenge the research community to provide better and better solutions. In the next few months, we expect the simulation steering committee to announce a rough schedule of changes for the next few years which will give an idea of where things are going. 3.5. Can I run a game across the internet? At this point, it depends on the latency times in your particular situation. In general, the server and client need to communicate approximately every 100ms, which means in many cases, internet gaming is impractical. This problem is being investigated in other applications by the networking and distributed simulation community, which is why we hope we can convince them to join in the research of RoboCup. 3.6. I think some feature is not realistic/right, where should I complain? The simulation mailing list (see resources below). 3.7. I think I found a bug, where should I report it to? The simulation mailing list (see resources below). 3.8. Should I report bugs/features? Will anybody listen? Yes. In fact, we have so far enjoyed a very short response time from the developers with respect to corrections. 3.9. What's all this stuff about "Gentlemen's' Agreement"? The simulated environment is very challenging, but like many software systems it has bugs and loopholes. For instance, players are only supposed to communicate with each other via the simulation by using simulated shouts. There is nothing, however, that prevents client programs from using private inter-process communications to bypass the server. However, we expect teams not to use this even though it may practically be feasible, since it works against the aims of the initiative. The RoboCup Simulation Steering Committee will be releasing ethical guidelines which explain this further. In the meantime, the RoboCup-98 has released a preliminary set of guidelines. You can find these out on the simulation mailing list. 3.10. What areas of research are being investigated? On- and off-line learning, agent and team modeling, teamwork and collaboration. See the challenge paper for details. 3.11. What is the evaluation protocol for simulator teams? This will be announced shortly. 3.12. I want to build a client, where do I begin? Check the list of simulation resources below to find out about the mailing list, available code libraries, where to get the rules, etc. 3.13. I want to improve the simulation/virtual environment - who do I talk to? The simulation steering committee (see below). 4. What are RoboCup robots like? There are currently two main types of RoboCup competition robots (Small and Medium), and several other classes either exist (but only play exhibition games) or are in the works. 4.1. How big are the small/medium robots? The small robots should be no more than 18cm in length, and play on a field the size of a ping-pong table. The Medium robots should be no more than 45cm in length, and play on a field the size of 9 ping-pong tables (3x3). 4.2. What kind of vision systems are used? The Small robot leagues allow a global vision system that monitors the field from above. In addition, they allow for a global distributed vision system. The Medium robots league prohibits the use of a global vision system -- the cameras must be mounted on the robots themselves. 4.3. Do poor amateurs stand a chance? Yes. In fact the world co-champions for 1997 were an unfunded group of graduate students and a professor from the University of Southern California/Information Sciences Institute which built their own team from spare parts, radio-controlled trucks, and on- board Pcs running linux, all for less than $1000 per robot. And while they were certainly professionals, they also were poor.... (It remains an open question whether rich amateurs stand a chance. :-) ) 5. Where can I find out more information? There are many available resources and contacts for taking active role in this challenging initiative. Most of these are listed on the RoboCup web page at . A partial list, however, is included below. 5.1. General Resources and Contacts The RoboCup Web Page: The RoboCup General Mailing List: send a subscribe command to majordomo@csl.sony.co.jp with "subscribe robocup" in the body of the message. National and Regional Committees: Pointers to these can be found on the robocup web page above. Many many resources are list off the robocup web page given above. 5.2. Simulation-Related Resources and Contacts RoboCup Simulator RoboCup Simulation Mailing List: To Join, send a "subscribe robocup-sim-l" request to Or, visit: RoboCup Simulation Code Archives: Contain code samples, libraries, etc. The RoboCup Simulation Steering Committee (Long-term steering of RoboCup simulation issues): Contact the chair: Ituski Noda, at or, to address the committee in general, send mail to Neo Say-Poh has written a short FAQ for beginner simulation client developers. This FAQ can be found at: 5.3. Robots Resources and Contacts Companies Manufacturing Robot Kits for RoboCup (Medium and Small): Can be found off the robocup web page (see above). Mailing Lists: (for each league) To join, send "subscribe " to majordomo@csl.sony.co.jp, where of course for the following: For Small robots: robocup-small For Medium robots: robocup-mid 5.4. Education Resources RoboCup Education Mailing List: To join, send "subscribe robocup-edu" to majordomo@csl.sony.co.jp Teaching Materials: