460 likes | 649 Views
An Introduction to RoboCup. June 10, 2007 by Seyed Ehsan Safavieh. Overview of RoboCup. The Robot World Cup Initiative “By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team.” A standard problem for AI research.
E N D
An Introduction to RoboCup June 10, 2007 by Seyed Ehsan Safavieh
Overview of RoboCup • The Robot World Cup Initiative • “By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team.” • A standard problem for AI research
Overview of RoboCup • Started in 1992 as the Robot J-League (Japan) • First games and conferences in 1997 • Workshops, conferences and yearly competitions
RoboCup four-legged • Two teams of four-legged robots (Sony AIBO's) compete against each other. The robots are entirely autonomous and no human intervention is allowed. • The robots use wireless networking to communicate with each other and with the game referee. Challenges include vision, self-localization, planning, and multi-agent coordination.
RoboCup small size • In this league, two teams of small-sized robots compete. This event focuses on the issues of multi-agent cooperation with a hybrid centralized/distributed system.
RoboCup middle size • Two teams of mid-sized robots compete against each other. All sensors are on-board. Robots are entirely autonomous and no human intervention is allowed. Robots can use wireless networking to communicate.
RoboCup Humanoid • In this league, robots with human-like bodies and human-like sensing compete. This league has two subcategories: Kid-size and Teen-size. This league currently consists of penalty kicks and 2-on-2 soccer matches.
RoboCup Simulation • Server • Monitor clients • Player clients (i.e. agents!) • Coach clients
Client Client Client Server Client Client Client Client Client Client Client Client Client Clients and Server • One server • Up to 11 clients per team (plus coach) • Clients/server communicate via UDP/IP
Client Client Client Server Client Client Client Client Client Client Client Client Client • Can be written in any language (C++, Java, Smalltalk, ...) • Can be run on same machine or a network • Clients may talk only to the server... not to each other!
Client Client Client Server Client Client Client Client Client Client Client Client Client Coach Coach Soccer Monitor • Monitor(s) used to visualize the action and/or interrupt the game • Coaches (optional) to give guidance to teams
RoboCup Clients • Autonomous agents • The “brains” of the players • Sensory information received from server, decision made, action command sent back to server • One agent represents one player • One agent designates itself as the goalie
time play mode my body landmarks other players speech coach instructions dash turn turn head kick catch speak Player Agent decision-making strategy Sensory Input Outputs RoboCup Clients
RoboCup Server • Keeps time (typically 6000 simulator cycles, 10 cycles per second) • Receives client messages, updates “world model”, sends back new status information • “Automated Referee” tracks current play mode
Starting a Game • Download and install applications (running the configure and make scripts for the Unix / Linux systems) • Run the Server (default host is localhost and default port is 6000) • Run the Monitor, connecting to the host and port of the Server • Connect the players to the Server host and port • Start the kick-off!
Coaches • Privileged clients used to provide assistance • Receives noise-free view of the whole field • Can only send occasional messages to players (info, advice, freeform, etc.) • Used for opponent modelling, game analysis, giving strategic tips to teammates
Some RoboCup Clients • UvA Trilearn (Amsterdam) (2003 champion) • CMUnited (Carnegie Mellon) • Everest (China) • FC Portugal 2003 (Portugal) • HELIOS (Japan) • Magma Furtwangen (Germany)
Typical Approaches • Hard-coded behaviour • Scripted behaviour (e.g. planning) • Neural Networks • Opponent Modelling • Layered Learning • Behaviour Networks
Example: UvA Trilearn • Coordination Graphs for passing, anticipating passes • Layered skills hierarchy (pass, intercept) • Formations • Behaviour modelling of opponents
Example: FC Portugal • Strategic, ball possession, ball recovery behaviours • “Situation Based Strategic Positioning” • Given game situation, calculated best position and go there
Example: Krislet • Only one strategy: run to the ball and try to kick it! • Surprisingly effective • Written in Java, easy to extend
Client Client Client Server Client Client Client Client Client Client Client Client Client Coach Coach Soccer Simulation Leagues • 2D • 3D • Coach
Other Projects • Soccer Server 3D • 3D Soccer Monitor (Robologvis) • Tools to convert logs into Flash animations • Log analyzers (eg. Team Assistant, Paul Marlow’s Classifier)
Earthquake Disaster • Top 10 earthquakes in the 20th century
RoboCup Rescue Robot • In the Rescue Robot league, robots explore a specially constructed disaster site about the size of a small house. The disaster site includes mannequins with various signs of life, such as waving hands, shouting noises and heat, hidden amongst stairs, platforms and building rubble.
RoboCup Rescue Robot • The robots, some under human control, must find and approach the victims, identify their signs of life and produce a map of the site showing where the victims are located. The aim is to provide human rescuers with enough information to safely perform a rescue. Each team is scored based on the quality of its maps, the accuracy of the victim information and the number of victims found.
RoboCup Rescue Simulation • Disaster environment is simulated in computer • Aims to simulate large urban areas • 2D simulation (Although simulation is in 2D, 3D viewer is now available)
RoboCup Rescue Simulation • Multi-agent approach, heterogeneous agents, rescue strategies are tested • Seven different types of agent • Ambulance, fire fighter, police agents and control center agents for each of them, and civilians • Cooperation is needed among agents • Communication is limited
RoboJunior Dance • This is the oldest RoboCupJunior event. One or more robots come together with music, dressed in costume and moving in creative harmony.
RoboJunior Soccer • In this event, 2-on-2 teams of autonomous mobile robots play in a highly dynamic environment, tracking a special light-emitting ball in an enclosed, landmarked field.
RoboJunior Rescue • In this event, robots identify victims within re-created disaster scenarios, varying in complexity from line-following on a flat surface to negotiating paths through obstacles on uneven terrain,
References • www.robocup.org • www.robocup-us.org • www.robocup2006.org • Most of the information about RoboCup itself was taken using from the RoboCup Soccer Server manual. • For the latest manuals and code, visit the RoboCup project website at: • http://sourceforge.net/projects/sserver