Poseidon Team Description Paper RoboCup 2016, Leipzig, Germany

Similar documents
LegenDary 2012 Soccer 2D Simulation Team Description Paper

Problem Solving as Search - I

Agent Based Urban Models The Notting Hill Carnival Model

CYRUS 2D simulation team description paper 2014

A comprehensive evaluation of the methods for evolving a cooperative team

CS 4649/7649 Robot Intelligence: Planning

CS 4649/7649 Robot Intelligence: Planning

Application of Dijkstra s Algorithm in the Evacuation System Utilizing Exit Signs

MEETPLANNER DESIGN DOCUMENT IDENTIFICATION OVERVIEW. Project Name: MeetPlanner. Project Manager: Peter Grabowski

#19 MONITORING AND PREDICTING PEDESTRIAN BEHAVIOR USING TRAFFIC CAMERAS

Cyrus Soccer 2D Simulation

Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department

FURY 2D Simulation Team Description Paper 2016

Phoenix Soccer 2D Simulation Team Description Paper 2015

Open Research Online The Open University s repository of research publications and other research outputs

Optimization and Search. Jim Tørresen Optimization and Search

CAM Final Report John Scheele Advisor: Paul Ohmann I. Introduction

Opleiding Informatica

Adaptation of Formation According to Opponent Analysis

beestanbul RoboCup 3D Simulation League Team Description Paper 2012

DEVELOPMENT OF TSUNAMI REFUGE PETRI-NET SIMULATION SYSTEM UTILIZABLE IN INDEPENDENCE DISASTER PREVENTION ORGANIZATION

Combined impacts of configurational and compositional properties of street network on vehicular flow

Introduction. AI and Searching. Simple Example. Simple Example. Now a Bit Harder. From Hammersmith to King s Cross

AKATSUKI Soccer 2D Simulation Team Description Paper 2011

Neural Nets Using Backpropagation. Chris Marriott Ryan Shirley CJ Baker Thomas Tannahill

ROSE-HULMAN INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering. Mini-project 3 Tennis ball launcher

Problem Solving Agents

A statistical model of Boy Scout disc golf skills by Steve West December 17, 2006

Evaluating and Classifying NBA Free Agents

Sensitivity of Equilibrium Flows to Changes in Key Transportation Network Parameters

GOLOMB Compression Technique For FPGA Configuration

Spider Search: An Efficient and Non-Frontier-Based Real-Time Search Algorithm

CS 351 Design of Large Programs Zombie House

B-Human 2017 Team Tactics and Robot Skills in the Standard Platform League

Rules of Soccer Simulation League 2D

Genetic Algorithm Optimized Gravity Based RoboCup Soccer Team

Representation. Representation. Representation. Representation. 8 puzzle.

Proposal for a System of Mutual Support Among Passengers Trapped Inside a Train

Ocean Fishing Fleet Scheduling Path Optimization Model Research. Based On Improved Ant Colony Algorithm

CENG 466 Artificial Intelligence. Lecture 4 Solving Problems by Searching (II)

SCHEDULES OF TRAFFIC CALMING IN THE CZECH REPUBLIC

Analysis and realization of synchronized swimming in URWPGSim2D

PSM I PROFESSIONAL SCRUM MASTER

UNDERGRADUATE THESIS School of Engineering and Applied Science University of Virginia. Finding a Give-And-Go In a Simulated Soccer Environment

Wilson County Emergency Management Agency 110 Oak Street Lebanon, Tennessee 37087

PREDICTING the outcomes of sporting events

CS 4649/7649 Robot Intelligence: Planning

GUIDELINES FOR MOUNTAIN RESCUE TEAMS IN SCOTLAND

Neural Network in Computer Vision for RoboCup Middle Size League

Decision Trees. Nicholas Ruozzi University of Texas at Dallas. Based on the slides of Vibhav Gogate and David Sontag

RoboCup-99 Simulation League: Team KU-Sakura2

A Cost Effective and Efficient Way to Assess Trail Conditions: A New Sampling Approach

"ACCIDENT INVESTIGATION"

The Incremental Evolution of Gaits for Hexapod Robots

Township of Cumru Fire Department 03/12/2008 Standard Operating Guidelines Page: 1 of 8 Section 15.05

ORF 201 Computer Methods in Problem Solving. Final Project: Dynamic Programming Optimal Sailing Strategies

Traffic circles. February 9, 2009

MarliK 2016 Team Description Paper

A Novel Approach to Predicting the Results of NBA Matches

/435 Artificial Intelligence Fall 2015

The Project The project involved developing a simulation model that determines outcome probabilities in professional golf tournaments.

RESEARCH OPPURTINITIES ON AIRCRAFT EMERGENCY EVACUATION. Presented by: Dr. Minesh POUDEL

EVOLVING HEXAPOD GAITS USING A CYCLIC GENETIC ALGORITHM

UNITED STATES MARINE CORPS FIELD MEDICAL TRAINING BATTALION Camp Lejeune, NC

Chapter 1 Test B. 4. What are two advantages of using simulation techniques instead of actual situations?

CSE 3402: Intro to Artificial Intelligence Uninformed Search II

ROSEMARY 2D Simulation Team Description Paper

Decision Trees. an Introduction

Collision Avoidance System using Common Maritime Information Environment.

COMP219: Artificial Intelligence. Lecture 8: Combining Search Strategies and Speeding Up

Search I. Tuomas Sandholm Carnegie Mellon University Computer Science Department. [Read Russell & Norvig Chapter 3]

ITAndroids 2D Soccer Simulation Team Description 2016

Chapter 23 Traffic Simulation of Kobe-City

CS472 Foundations of Artificial Intelligence. Final Exam December 19, :30pm

8.G Bird and Dog Race

Line Following with RobotC Page 1

AN INNOVATIVE APPROACH TO OPTIMIZE REVERSE OSMOSIS MEMBRANE PERFORMANCE

DATA MINING ON CRICKET DATA SET FOR PREDICTING THE RESULTS. Sushant Murdeshwar

CMSC131. Introduction to Computational Thinking. (with links to some external Scratch exercises) How do you accomplish a task?

Geometric Task Decomposition in a Multi-Agent Environment

CSU_Yunlu 2D Soccer Simulation Team Description Paper 2015

PHYS Tutorial 7: Random Walks & Monte Carlo Integration

Identify the letter of the choice that best completes the statement or answers the question.\

Planning and Acting in Partially Observable Stochastic Domains

A Game-Theoretic Intelligent Agent for the Board Game Football Strategy

CSE 3401: Intro to AI & LP Uninformed Search II

Evacuation Time Minimization Model using Traffic Simulation and GIS Technology

Numerical Simulation for the Internal Flow Analysis of the Linear Compressor with Improved Muffler

CS 4649/7649 Robot Intelligence: Planning

Examples of Carter Corrected DBDB-V Applied to Acoustic Propagation Modeling

GUIDE TO RUNNING A BIKE SHARE. h o w t o p l a n a n d o p e r a t e a s u c c e s s f u l b i k e s h a r e p r o g r a m

DISASTER MANAGEMENT PLAN

Smart Gas Governor. Also consumers having one cylinder need to monitor consumed quantity to be able to place order for a refill.

Building System Dynamics Models

AUTOMATIC DREDGING PROFILE AND CONTOUR CONTROL

Traffic and Pollution in Torino

LEE COUNTY WOMEN S TENNIS LEAGUE

PSY201: Chapter 5: The Normal Curve and Standard Scores

Master s Project in Computer Science April Development of a High Level Language Based on Rules for the RoboCup Soccer Simulator

Agile project management with scrum

Transcription:

Poseidon Team Description Paper RoboCup 2016, Leipzig, Germany Yasamin Alipour 1, Melina Farshbaf Nadi 1, Kiana Jahedi 2, Kimia Javadi 1, Pooria Kaviani 3, Seyedeh Behin Mousavi Madani 1, Rozhina Pourmoghaddam 4, Yekta Sarkamari 1, Fatemeh Zeinabadi 1 1 Farzanegan High School, Robotics Research Group, No. 56, Shahid Sarparast St., Taleghani Ave., Tehran, Iran 2 Amirkabir University of Technology, No. 424, Hafez Ave.,Tehran, Iran 3 Sharif University of Technology, Department of Computer Science, Azadi Ave., Tehran, Iran 4 Tehran University, Enghelab Ave., Tehran, Iran {yasamin.alipour, melinafn15, kiana.j9, kima.javadi, pooria.kaviani, behin.mousavi, rozhina.pourmoghaddam, ysarkamari, 2000negar1215}@gmail.com Abstract. This manuscript describes the algorithms and contribution of Poseidon 2016 to acquire the optimum and most efficient solutions for rescue agent simulation problems. New ideas in World Modeling structure and the agents' decisions were implemented. Each section explains new algorithms of this year's implementation in detail. This version of the Poseidon team is based on the sample code of the server with extensive changes in the structure of the agents and World Model. In Poseidon 2016, computational geometry and artificial intelligence algorithms have been used for solving the problems of rescue agent simulation. 1 Introduction The purpose of the Rescue Simulation League is to decrease casualties and financial loss caused by natural disasters such as earthquakes, floods, etc. In order to achieve this goal, a large urban disaster is simulated which indicates each agent s actions in this situation. This simulation matches real world limits and problems as accurately as possible. Rescue simulation agents include ambulance team agents, police force agents and fire brigade agents. The principal task of the police force is to open the closed roads. The main duty of the ambulance team is to save lives. Extinguishing the fire is the main task of the fire brigade agents. In addition, all the agents are responsible for facilitating the other agents tasks. The Poseidon team is trying to find solutions and improve available algorithms to solve the agents problems. [1] 2. World Modeling and Communications

2.1 Rapidly Exploring Random Tree Agents get stuck in blockades. They remain stuck until a police force agent rescues them. This will slow down the team s overall process. In order to limit the waste of time, every time each agent gets stuck, it uses rapidly exploring random tree (RRT) algorithm to get unstuck. Rapidly exploring random tree (RRT) algorithm is used to efficiently search non convex, high dimensional spaces by randomly building a space filling tree. [2] If an agent gets stuck, it starts to create random coordinates in the area in which it s stuck. [Fig 1] Fig 1. Random coordinates in the area of the stuck agent Afterwards it randomly creates paths with the given coordinates. The path that doesn t have intersections with the blockades is chosen. As the paths are created randomly and aren t optimized, we will remove the coordinates that aren t essential for getting out of the blockades and have short distance from each other. [Fig 2] 2.2 Send Civilians Information Fig 2. Selected coordinates Speaking in channels and sharing information is very important for

synchronizing all of the agents. Therefore, we have to reduce saying unimportant information in the radar, so that we can share more essential data with other agents. One of the things that we say on the radar is civilians IDs, positions, death time s and buriednesses. So that everyone can become aware of their condition. However, the IDs are large numbers and take a lot of space of the bandwidth (up to 32 bytes) which is too massive in limited maps. Creating fake IDs for each of the civilians decreases the length of what is sent through radar up to 5 bytes. What we need to hear to create fake IDs are civilian s position and its recognizer. A civilian s recognizer is the remainder of that civilian s ID which is divided by a specific number. This specific number differs in different maps depending on the bandwidth of the channels (The maximum is 32, and the minimum is 8). By hearing this information we can generate fake IDs for civilians and use them as real ones. Here is an example of generating a fake ID: 2 1 0 0 5 6 4 3 0 8 The first part is a code that shows this ID is fake. It depends on the map and the number of the included areas. The second part is the civilian s position. We use this feature in generating the fake ID because there might be the same civilian recognizers in the whole map and we don t want to possess the same IDs for different civilians. At last we must have a fake ID with same civilian recognizer as the real ID because the ambulance center s task system depends on it and we don t want to deviate the task managing system, so we add up the fake ID with a number that the final civilian s fake ID recognizer equals the civilian s real ID recognizer. Ultimately, we add this heard civilian with its fake ID to the model and save more space for other sayings. 3. Ambulance Team Agent The ambulance agents directly follow the main goal, which would be saving the civilians' lives. Ambulance agents find civilians, remove their buriedness, and carry them into refuges. To follow this procedure, we need a coherent strategy that contains: 1. A systematic search to find civilians 2. A prioritized filter for recognizing more injured civilians by exact estimation of the time that civilians die

3.1 Death Time 3.1.1 Accuracy The cycle that a civilian dies in is called death time. This year, we have devised a new method for estimating death time more precisely by influencing more exact factors that define death time, such as Health Point (HP) and damage. With an accurate death time estimation we will have an optimized schedule that provides better choices for saving civilians. The problem is that we don t receive the HP accurately, so we will have an accuracy with determined span. At the time that the data (HP) changes, we know that the real data is about the border of the span. As a result, if we get a mean between last data (HP) and new data (HP), we would have more exact estimation about HP. 3.1.2 Death Time Estimating For Civilians Near Fire The other new strategy that we follow is to avoid rescuing civilians that are near the fire by considering this factor in death time. The point is that rescuing a civilian is time consuming, due to the limitations in removing buriedness, during this process, near areas may catch fire as well. Ambulance agents can't stay in a building which is on fire because the civilian will die soon after ignition. Moreover, the ambulances themselves will be damaged, so spending time to reach and rescue an unsuitable civilian that we predict will die before rescuing ends, is just wasting time. In the end, if the fire is put out, ambulance agents can rescue the civilian again. For this purpose, we assume some layers in maps with specific radiuses that depend on the types of the maps. The time that it takes for fire to spread out from one side of the layer to another side, is a definite time. We calculate the distance between the target building and the nearest building which is on fire. By dividing the distance by radius of the layers we can understand how far the fire is from target and when fire will reach. This death time is compared with another death time that is calculated by damage, buriedness, etc, without influencing the effect of fire. The one which happens sooner, will be chosen as an ultimate death time. [Fig 3]

Fig 3. Layers between civilian s building (pink) and nearest building that has fire (green) 4. Police Force Agent The main duty of police force agents is clearing the roads and opening the way for other agents. Therefore, it has significant effects on the other agents operations. 4.1 Clear There are two parameters in clearing that we should focus on. First, it must be performed a s fast as possible in order to make the buildings in the map accessible for fire brigades, ambulance agents and civilians to reach their target. Second, clearing should be done smoothly. One of the problems of our previous clearing method was that police force agents cleared the roads, but left some blockades with sharp edges in the road. [Fig 4] The road was not filled with blockades, but because of the server s bug, the agents had trouble passing the road. To prevent this problem, police force agents try to clear just on the Clear Lines. The Algorithm of Clearing is described below: 1. Connecting the midpoints of agent s position s entrances to the entrance of agent's target (The neighbor of agent's Area which it s path contains it) 2. Selecting the nearest line to the center of agent's position s area as the ClearLine 3. Moving to the nearest point on ClearLine if the distance gets more than securedist (The distance which is close enough to the ClearLine) 4. Defining the clear rectangle on the ClearLine 5. Detecting the blockades in agent s clear rectangle 6. Calculating the cost of clearing the blockades

7. Sending Clear if it costs more than securecost (The cost of the maximum blockades that can be cleared each cycle) In this method there will be less sharp edges that cause problems for other agents. [Fig 5] Fig 4. Previous clear Fig 5. New clear 4.2 Task Specific Agents Since clearing around a fire zone and making the fire accessible for fire brigades is a critical task for police forces, one third of all the police forces are allocated to fire tasking in their defined zones. They don't receive tasks from center and their only duty is finding and clearing fire zones in their zones. If their zone doesn t have any known ignited buildings, they will search in it until they find one. In conclusion, the risk of not being informed of the fire is getting less and the act of fire tasking is done faster. 4.3 Clearing around the fire For bringing fire under control, fire brigade agents need to have access to buildings which are on fire. so we have to open their way as fast as possible. In new method we only clear the way to the buildings which have three features. First, being among around buildings [3] which are on fire. Second, having high probability of ignition. third, having high spread of fire. We identify them by calculate average of how far fire would spread by buildings, then we choose buildings which they can spread fire equal or more than average. These are buildings with high priority and buildings around them are those which have high probability of ignition.

When these buildings are identified, last step is clearing the roads around them. With this method we save more time and fire brigade agents will have more control over the fire and can extinguish more ignited buildings. 5. Fire Brigade Agent Fire Brigade agents' main duty is to control the fire in the critical situation to decrease the Losses of the fire. 5.2 Extinguishing unreachable buildings If a building around the fire zone catches fire we must attempt to extinguish it. However, when a fire brigade agent doesn't have any access to that building, things will get more complicated. If we know a building is on fire but it isn't reachable, the agent will find the nearest area which the building can be extinguished from (distance from these areas is equal or less than our extinguish range). Then the agent will move to that place and start to extinguish the target for a fixed time until more buildings become reachable. 6. Search and Zoning Having a good search algorithm results in more rescued civilians and more extinguished buildings; therefore, it is important to have a sufficient search algorithm to visit buildings faster. 6.1 K means Clustering K means is one of the simplest algorithms that solve the well known clustering problem. The procedure follows a simple and easy way to classify a given data set through k clusters. The main idea is to define k centers, one for each cluster. These centers should be chosen efficiently because different locations result in different outcomes. A better choice, in order to equalize the size of the clusters, is to place them as far from each other as possible. The next step is to associate each building with the nearest center, until no point is left without a cluster. At this point we need to re calculate k new centroids as barycenter of the clusters resulting from the previous step. After we have these k new centroids, we have to reassign the buildings and the nearest new center. We repeat this step until the k centers don t change their location. We are using this algorithm to divide our map into k clusters where k is the number of agents. [Fig 6] Afterwards, each cluster is assigned to an agent using the Hungarian Algorithm.

Fig 6. K means Clustering in VC and Berlin 6.2 Greedy Search A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum. [4] Furthermore, agents use the greedy algorithm to search each cluster. Important factors for selecting a building depends on the distance of the building from the agent, the temperature of the building and the last time which the building was seen. Distance has higher priority than the other factors. Each agent will choose a set of buildings which are the buildings in its cluster whose information haven t been updated recently. Afterwards, it will choose a building in the mentioned set of buildings which is closer to it. 7. References 1. Farshbaf Nadi M., Farzan M., Gohargani M., Kaviani P., Mahdavian Sh., Pourmoghaddam R.: Poseidon Team Description Paper, 2015 2. LaValle, Steven M. "Rapidly exploring random trees: A new tool for path planning". 3. Abadi R., Behazin B., Eslami M., Ghasemi Zavie Sadat F., Moradi Dadkhah B., Pourmoghaddam R., Ramezanian M., Rezayat Z., Seyed Majid N.i, Shirvani Mahdavi N., Vartanian A., Kaviani P.: Poseidon Team Description Paper, 2011 4. Black, Paul E. "Greedy Algorithm". Dictionary of Algorithms and Data Structures.