PSfrag replacements l d l p l b p p0 f g h a b ¢x ¢y (pt;pt) x y (qt;qt) x y (qt¡1;qt¡1) x y q rx q ry v rx v ry v e rx rx v e rx ry v e ry rx v e ry ry ¢r ¢` r ¢ r ~a Tt he Incremental Development of a ~u t+1 w~ Stynthetic Multi-Agent System: The s 1 s U2 vA Trilearn 2001 Robotic Soccer c w~ t+1 Simulation Team ~a t+1 ~u t+2 ~q p~ t p~ t+1 Remco de Boer & Jelle Kok p~ t+2 ~o t ~o t+1 ~o February 28, 2002 t+2 h p~ ~z m ~o0 ~s d 1 d 2 d 3 ~z 1 ~z 2 ~z 3 e 1 e 2 ~s 1 ~s 2 ~c g y l y r 3(cid:190)(d) ¡ d r d l s l s r 3(cid:190)(d ) l 3(cid:190)(d ) r 20 meters PSfrag replacements l d l p l b p p0 f g h a b ¢x ¢y (pt;pt) x y (qt;qt) x y (qt¡1;qt¡1) x y q rx q ry v rx v ry v e rx rx v e rx ry v e ry rx v e ry ry ¢r ¢` r ¢ r ~a t ~u t+1 w~ t s 1 s 2 c w~ Master’s thesis for Artiflt+c1ial Intelligence and Computer Science ~a t+1 ~u t+2 ~q p~ t p~ t+1 p~ t+2 ~o t ~o t+1 ~o t+2 h p~ ~z m ~o0 ~s d 1 d 2 d 3 ~z 1 ~z 2 ~z 3 e 1 e 2 ~s 1 ~s 2 ~c g y l y r 3(cid:190)(d) ¡ d r d l s l s r 3(cid:190)(d ) l 3(cid:190)(d ) r 20 meters Faculty of Science University of Amsterdam Abstract This thesis describes the incremental development and main features of a synthetic multi-agent system called UvA Trilearn 2001. UvA Trilearn 2001 is a robotic soccer simulation team that consists of eleven autonomous software agents. Itoperatesinaphysicalsoccersimulation systemcalledsoccerserverwhich enablesteamsofautonomoussoftwareagentstoplayagameofsocceragainsteachother. Thesoccerserver provides a fully distributed and real-time multi-agent environment in which teammates have to cooperate to achieve their common goal of winning the game. The simulation models many real-world complexities such as noise in object movement, noisy sensors and actuators, limited physical abilities and restricted communication. This thesis addresses the various components that make up the UvA Trilearn 2001 roboticsoccersimulationteamandprovidesaninsightintothewayinwhichthesecomponentshavebeen (incrementally)developed. Ourmaincontributionsincludeamulti-threadedthree-layeragentarchitecture, a(cid:176)exibleagent-environmentsynchronizationscheme,accuratemethodsforobjectlocalizationandvelocity estimationusingparticlefllters, alayeredskillshierarchy, ascoringpolicyforsimulatedsocceragentsand an efiective team strategy. Ultimately, the thesis can be regarded as a handbook for the development of a complete robotic soccer simulation team which also contains an introduction to robotic soccer in general as well as a survey of prior research in soccer simulation. As such it provides a solid framework which can serve as a basis for future research in the fleld of simulated robotic soccer. Throughout the project UvA Trilearn 2001 has participated in two international robotic soccer competitions: the team reached 5th place at the German Open 2001 and 4th place at the o–cial RoboCup-2001 world championship. i ii Acknowledgements First of all the authors would like to thank each other for making their master’s graduation project a successful and enjoyable experience. Our cooperation has always been very pleasant (even under stressful circumstances or after an inevitable setback) and has enabled us to achieve the best of our abilities. The research that is described in this thesis has truly been a team efiort and without either one of us the resultwouldcertainlynothavebeenthesame. Furthermore,wethankourdirectsupervisorNikosVlassis for his comments and suggestions regarding our research and for helping us with some of the di–cult problems. Here we need to mention that Nikos also deserves credit for proofreading our thesis and for helping us on the right track towards flnding a solution to the optimal scoring problem. Especially our dicussion at the top of Seattle’s Space Needle proved to be very valuable in this respect. Special thanks also go out to our professor Frans Groen for assigning us to the project and for guiding us through its initial stages and to Elsevier Science for sponsoring our trip to Seattle. We would also like to thank the followingpeoplefortheirfriendshipandsupportduringouryearsasmaster’sstudentsattheUniversityof Amsterdam: Eugene Tuinstra, Eelco Schatborn, Tijs v.d. Storm, Mart de Graaf, Mans Scholten, Martin Goede, Casper Kaandorp, Matthijs Spaan, Barry Koopen, Manuel de Vries and Claudius Blokker. Your continuing presence during lectures and practical sessions and the many enjoyable hours that you have given us away from the faculty have made our efiort of graduating worthwhile. Outside the university we also owe thanks to our many close friends and relatives who have supported us throughout. Although we cannot mention all of them, the flrst author (RdB) would especially like to thank his mother Elly Tjoa for checking the spelling of parts of this thesis and most of all for her incredible support throughout the entire efiort. Equally special thanks go out to his girlfriend Tessa Dirks who has gone through the entire graduation experience with him and who has been very understanding and supportive at all times. Without you two this thesis would surely never have happened! The second author (JK) would also like to thank his parents Jan and Henny, girlfriend Barbara, little brother Sam, sister Laura and close friends Rose, Meryam and Matthijs for their equal support and encouragement. Without a doubt all of you deserve credit for our graduation. iii iv Contents Abstract i Acknowledgements iii 1 Introduction 1 1.1 The Robot World Cup Initiative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Robotic Soccer from a Multi-Agent Perspective . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Main Objectives and Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Guide to the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 A Survey of Related Work 9 2.1 Prior Research within the Simulated Robotic Soccer Domain . . . . . . . . . . . . . . . . 9 2.1.1 CMUnited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Essex Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.3 FC Portugal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.4 Cyberoos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.5 Karlsruhe Brainstormers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.6 Magma Freiburg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.7 AT Humboldt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.8 Windmill Wanderers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.9 Mainz Rolling Brains. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.10 YowAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.11 Other Teams: Footux, RoboLog, Gemini . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 The RoboCup Soccer Server 17 3.1 Overview of the Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 Sensor Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.1 Visual Sensor Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.2 Aural Sensor Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.3 Body Sensor Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Movement Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 Action Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.1 Kick Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.2 Dash and Stamina Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4.3 Turn Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4.4 Say Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.5 Turn Neck Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 v 3.4.6 Catch Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.7 Move Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.8 Change View Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.9 Actions Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.5 Heterogeneous Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.6 Referee Model and Play Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.7 Coach Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.8 Summary of Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4 Agent Architecture 43 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 Functional Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3 System Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.4 Flow of Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5 Synchronization 57 5.1 Introduction to the Problem of Synchronization . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2 Timing of Incoming Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.3 A Number of Synchronization Alternatives. . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.3.1 Method 1: External Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.3.2 Method 2: Internal Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3.3 Method 3: Fixed External Windowing . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.3.4 Method 4: Flexible External Windowing . . . . . . . . . . . . . . . . . . . . . . . . 67 5.4 An Experimental Setup for Comparing the Alternatives . . . . . . . . . . . . . . . . . . . 69 5.5 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6 Agent World Model 75 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.2 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.2.1 Environmental Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.2.2 Match Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.2.3 Object Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.2.4 Action Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.3 Retrieval Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.4 Update Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.4.1 Update from Body Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.4.2 Update from Visual Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.4.2.1 Agent Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.4.2.2 Agent Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.4.2.3 Dynamic Object Information . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4.3 Update from Aural Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.5 Prediction Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.6 High-Level Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7 Player Skills 109 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.2 Low-level Player Skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2.1 Aligning the Neck with the Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2.2 Turning the Body towards a Point . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2.3 Turning the Back towards a Point . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 vi