Download presentation
Presentation is loading. Please wait.
Published byAndra Casey Modified over 8 years ago
1
Social Simulation of Rescue Teams' Dynamic Planning João Ulisses, Rosaldo J. F. Rossetti, João E. Almeida, Brígida Mónica Faria, presented by: Luis Paulo Reis – University of Minho LIACC – Artificial Intelligence and Computer Science Laboratory Department of Informatics Engineering Faculty of Engineering, University of Porto Rua Roberto Frias, S/N, 4200-465, Porto, Portugal {jp.ulisses, rossetti, joao.emilio.almeida\}@fe.up.pt, btf@estsp.ipp.pt 1
2
Agenda Problem, Motivation, Related Work Past Work (Unity3D) and Future Integration Current Work (Netlogo) and Dynamic Planning Methodological Approach Results and Conclusions 2
3
Problem: Find best metrics and variables to use/exploit for team rescue emergency scenarios How firefighters adapt to new situations? (new fire or new people in need of help) Burnout (fatigue, stress, emotion disturbance) more common in emergency situations 3
4
Team behaviours - Strategies Firefighters solve the scenario more: Cooperative (working together to save most people) Competitive (countering what other firefighters could get) Egoistic (maximizing their “points” gained) Altruistic (going to the people that needs most help) 4
5
Main Project - Serious game ➢ Understand and teach the best Firefighter strategies and good practices ➢ Create a Serious Game for a Single Firefighter and Team of Firefighters Training ➢ Certificate Firefighters 5
6
Motivation Fire-fighter education is in general very poor in Portugal according to interviews done and visit made to fire-fighter headquarter. Training fire-fighters resorting to fire drills are very expensive 6
7
Related work Pyrosim- Fire simulator Firefighters 2014 - Firefighter simulator serious game Related Work + Future work integration Unity + Netlogo 7
8
What has been done: Indoor Scenario 4 Rooms Player starts in a random room with: ➢ Fix number of firefighters (defined at start) ➢ Fix number of persons (defined at start) Other three rooms will randomly have: One fire each One of these rooms will have: ➢ Fix number of firefighters that need help (defined at start) ➢ Fix number of persons that need help (defined at start)
9
Complex strategic decision making and realistic behaviors through the graphical Behavior Tree editor This can be easily seen through colors and is updated in run time The code can be changed in run time Example: Firefighter behaviour tree Simulation: Behavior Tree (for each agent) 9
11
With raycast algorithms it is possible to simulate what agents can see. ➢ They do not see fires through walls. ➢ They are able to identify if a person needs help. Sight range and angles can be changed in order to simulate a real person view, and only information in that area is gathered. Perception 11
12
➢ With pathfinding algorithms it is possible to simulate physics and dodge obstacles in agents motion. ➢ These algorithms work together with Unity3D game engine, and as result we see firefighters finding a path to move. ➢ Agents are submitted to a simulation of external physics effects, such as a simulation of gravity. Movement 12
13
Methodological Approach - Netlogo Build a scenario for rescue Easy to understand the problem Teach and help Firefighters find new possible solutions Allows to add reasoning to the agents to be better comprehended by humans (with BDI architecture) Reactive/Dynamic Planning to address the changing world issue 13
14
Netlogo, BDI and FIPA ACL Advantages: Agents communication (easier in an agent-oriented syntax) Different interface (Unity was more for player view, Netlogo is more supervisor view which helps seeing decisions and simulation control) BDI/FIPA ACL: More agent reasoning and higher level communication Netlogo has libraries which can speed the implementation process: - (bdi.nls and communication.nls). Random seed: Allows to generate the same scenario and test the simulation easier. The generated scenario will always be the same if the same variables and the seed are the same This will allow us to improve the agent behaviours by comparing different behaviours in the same seed 14
15
Main Goals used on the Simulation No person can be burnt (a person too much time near a fire) Least people in danger or most people rescued Least number of fires or most fires extinguished Shortest amount of time to complete all tasks 15
16
Graph building Generated as the simulation goes Adapts to new situations and is reactive When a turtle (agent) is created, it will link to the nearest ones with some rules, allowing a graph creation 16
17
Graph building - People 4.2 ask peoples with [rescue = true] ;update peoples [ set color yellow set level level + 2 if ((count(turtle-set peoples with [rescue = true]) > 2)) [ create-link-with min-one-of turtle-set(turtle-set other peoples with [rescue = true]) [distance myself] ] if (count fires > 2) [ create-link-with min-one-of fires [distance myself] ] ask fires ;update fire [ set level level + 1 if ((count(turtle-set peoples with [rescue = true] other turtle-set fires) > 2)) [ifelse ( count my-links with [[breed = fires] of other-end] > 3) [ask my-links [die]] [if(count other turtle-set fires > 1) [create-link-with min-one-of other turtle-set fires [distance myself] ] ] ] 17 Graph building - Fires 4.2
18
Parameters Weight Distance and the importance to reach that node. Each line in a graph has a weight that is updated constantly. set weight less-precise (link-length * ([level] of first priority fighter / [level] of end2)) Dynamic lists Created to tell the agents what to do, and they are updated constantly from the world scenario changes. Priority list - priorityfighter is a sorted list of people or fires that have been burning for most time and need most attention. 18
19
Desires - What goals the team of firefighters has to achieve Beliefs - What they know they can do (and how well) Intentions - the goals they are currently committed to archive, a list of knowledge areas Knowledge areas - define sequences of low level actions to achieve specific goals 19 BDI Architecture
20
Firefighter gets in the graph Creates links with everything in a given radius (of 5) ask firefighter whoff [create-links-with turtle-set(turtle-set peoples with [rescue = true] turtle-set fires) in-radius 5] and creates a link with the closest fire or person ask id [set target [firefighterclosest] of id create-link-with target] The radius of 5 may be changed to a more realistic 3D visual perception of the firefighter in Unity3D 20
21
Shortest path let i 0 ask id [ set weighttasks []] repeat (length priorityfighter / 20) + 5 ;count peoples with [rescue = true] + count fires [ ;if (? != 0 AND ? != nobody) ;[ if (i < length priorityfighter) [ ifelse ( item i priorityfighter = nobody) [ ask id [ set weighttasks fput "false" weighttasks] ] [ ask id [ set weighttasks fput nw:weighted-distance-to item i priorityfighter "weight" weighttasks] ] set i i + 1 ] Creates a list with the weight to reach the most important tasks for each firefighter set tasks nw:turtles-on-weighted-path-to item item 0 minof-weighttasks priorityfighter "weight" creates a list of the nodes that the firefighter must go through with minimum weight to reach one of top 5 most important tasks (in the list priorityfighter) 21 Agent Spreading ask ? [ if (any? other firefighters with [(length temptasks > 0) AND last temptasks = last [temptasks] of ?] ) [ set temptasks [] ]
22
Java The simulation can be run on Java This allows to run multiple simulations, and also allows to change input variables Multiple tests and results can be extracted by running multiple simulations in a systematic way and machine learning could be automated 22
23
23
24
24
25
25
26
26
27
27
28
Link: https://38b96b725b90c3698d96649ef236e6ec6cf9e79d. googledrive.com/host/0BwGctfderIYnT0wwdXE2bkg4c2 c/WebGameJPUlisses.html Fire Sensor in a Agent with line of sight (won’t see fire through walls) Demonstration: 28
29
Conclusions Randomness of effects can be controlled by the seed Simulations may be tested and compared Different behaviours were tested and improved Ways to improve behaviours and planning were made by human observation and algorithm optimization 29
30
Future Work Integrate with Unity3D, these behaviours in order to be changed in the simulation in real-time, and with machine learning techniques the agent should be able to self improve himself Simulation will also allow humans to play with other humans and other agents, creating teams Interactions will give important data for the agents on how to behave, either by copy the humans, or by generating similar behaviours and testing them 30
31
Social Simulation of Rescue Teams' Dynamic Planning João Ulisses, Rosaldo J. F. Rossetti, João E. Almeida, Brígida Mónica Faria, presented by: Luis Paulo Reis – University of Minho LIACC – Artificial Intelligence and Computer Science Laboratory Department of Informatics Engineering Faculty of Engineering, University of Porto Rua Roberto Frias, S/N, 4200-465, Porto, Portugal {jp.ulisses, rossetti, joao.emilio.almeida\}@fe.up.pt, btf@estsp.ipp.pt 31
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.