mags, a multi-agent geosimulation platform and its application...
TRANSCRIPT
MAGS,MAGS, a Multia Multi--Agent Geosimulation Agent Geosimulation Platform and its Application to the Platform and its Application to the
Simulation of Crowd Behavior, Fire Simulation of Crowd Behavior, Fire and Gaz Propagation and Road Traffic and Gaz Propagation and Road Traffic
Dr. Bernard Moulin Dr. Bernard Moulin
Cognitive Informatics GroupComputer Science Department and Centre for Research in Geomatics
Laval University, Québec, Canada
December 2004
2
This project is currently financed by Geoide, the Canadian Network of Centers of Excellence in Geomatics and RDDC Valcartier (Team: Y. Van Chestein, D. Gouin, M. Pigeon, D. Thibault + M. Bélanger)
Other partners:Alberta Sustainable Resource and Development, Quebec SOPFEU, Center for Spatial Analysis (Mc Master Univ.), CRAD (Univ. Laval), Ville de Québec (Service de police), Sûreté du Québec, Ministère des transports du Québec
3
OverviewOverviewProject history, objective & requirements (1999-2004)Key concepts and techniques– MAGS Main Components– Creation of a Virtual World and Outputs– Agent’s Perception, Memory and Navigation– Agent’s Needs, Goals and Bahaviors– Groups of Agents– The smoke simulator– The scenario editor– The traffic simulator
Other Projects related to MAGSThe MUSCAMAGS Project (2005 -2009)Conclusion
4
The MAGS ProjectThe MAGS Project
Project History, Project History, Objective,Objective,
RequirementsRequirementsand and
Application DomainsApplication Domains
5
Project Project historyhistory1999-2001: development of PADI, a tool for the design of parks and the simulation of their usage
(financed by GEOIDE Project DEC 30)2001: Feasibility study for the extension of PADI to simulate crowd behaviors in urban environments
(financed by CRDV)2002-2004: Development of MAGS as a general geosimulation platform based on agents. Application to the simulation of crowd in urban areas and consumer behaviors in shopping malls (financed by GEOIDE and RDDC Valcartier + other sources)
6
The MAGS Team The MAGS Team (Laval Univ. Computer Science Department)(Laval Univ. Computer Science Department)
Bernard Moulin (Project Leader)Walid Ali (PhD Jan 2006)Nabil Sahli (PhD Jan 2006)Walid Chaker (Research Assistant 2002-2003, PhD in Progress)Jimmy Perron (MSc 2003, Research Assistant 2003-2004)Jimmy Hogan (Research Assistant 2003-2004)Patrick Pelletier (MSc 2003)Fouad Belafkir (MSc 2004)Azzedine Kabli (MSc 2005)Mondher Bouden (MSc 2004)Frédérick Legault (MSc 2003)
7
The MAGS team (July 2003)
8
The The MAGS ProjectMAGS Project
MAGS : Multi-Agent Geo-SimulationGeneral Objective: To develop a software platform that allows the creation of virtual geographic spaces (in 2D and 3D) in which several thousands agents can navigate for different purposesMAGS is written in C++ and runs on Windows platforms
9
Requirements Requirements for MAGS (1/2)for MAGS (1/2)We need to create a virtual geographic environment (VGE) in 2D (and possibly 3D) from reliable sources (GIS)We need to create agents of various types, each agent instance being individualizedAn agent must be able to perceive its environment and to communicate with other agentsAn agent needs a memory capability in order to organize its knowledge about the VGE gained from past experience An agent must be able to navigate autonomously and to react to changes occurring in the VGEThe agents’ characteristics must reflect various possible states (static, dynamic, possession, etc.)
10
Requirements Requirements for MAGS (2/2)for MAGS (2/2)
The agents’ behaviors must offer efficient planning capabilities (reactive planning based on objectives)Agents must be able to display group behaviors Agents must be able to react to smoke and dense gaz Scenarios must be specified in an easy way, including the initialization of agents and objects, the introduction of specific events that influence the simulationDifferent functions (such as trace functions) must be provided in order to analyze the results of the simulationsThe system must be optimized and allow simulations involving several thousands agents
11
Some Application DomainsSome Application DomainsSimulation of crowd behavior in urban environmentsSimulation of emergency plans involving a large number of agents in urban areas, buildings, etc.Simulation of customer behaviors in shopping mallsand in large storesSimulation of smoke and dense gaz and the reaction of a crowdSimulation of the interactions of different groups of agents (police & demonstrators, pedestrians & cars)Scenario building (course of actions) and simulation
based assessment using MAGSMulti-agent coordination and planning in dynamic
geographic environments (ex. Fire fighters)
12
MAGS can simulate the movements of MAGS can simulate the movements of thousands agents in a 3D virtual spacethousands agents in a 3D virtual space
13
Interaction of Pedestrians and VehiclesInteraction of Pedestrians and Vehicles
14
Simulation of customer Simulation of customer behaviorbehavior in in shopping mallsshopping malls
15
Crowd and Crowd and SmokeSmoke
16
Key ConceptsKey Conceptsand and
Techniques Techniques used used
in MAGSin MAGS
17
MAGSMAGS’’ main components main components VGE Preparation Suite and VGE files
(2D and 3D environments)The 3D Characters Preparation SuiteThe agent knowledge basesThe agent knowledge bases management systemThe multi-agent simulator The scenario editorThe traffic simulatorThe smoke simulator
18
???
MAGS
ThreadManager
Environment
GraphicEngine
Interface
AgentsBehaviourPerceptionMemory
Navigation
Traffic control
Network
???
Initialisation files
???
Preparation suite
Scenarioeditor
VGEPreparation suite
3DCharactersPreparation
suite
Agents’Knowledge Bases
managementDesigner
3D specialist
Agent’sKnowledge
Bases
Scenariofiles
VGE files
3D charactersfiles
User
Particle System
AIMSUN
19
Creation Creation of a of a virtual virtual world world Data sourcesData sources
Geographic Database (GIS)– Use of GeoMedia programming utilities– Most of GIS formats are supported– Possibility to combine data from different sources
GIS Data of Quebec city in GeoMedia (ArcView format)
20
Creation Creation of a of a virtual virtual world: outputs (1/3)world: outputs (1/3)The Height Map is required by the navigation and perception modules
Higher elevation
point
Lower elevation
point
Ariadne Map (Streets and paths are colored in red. They are used to facilitate the agent’s navigation)
These maps are automatically generated from the GIS data
21
Creation Creation of a of a virtual virtual world: outputs (2/3)world: outputs (2/3)
Building Map associates points to objects and (combined with the properties file) provides additionnal information about the environment
Properties File
Id : 79
Type : House
Position : (403,203)
Height : 8 meters
…
22
Creation Creation of a of a virtual virtual world: outputs (3/3)world: outputs (3/3)
Zone Map (Zones defined in GIS & automatically generated)Properties File
Id : 81
Type : District Ste-foy
Position : (603,302)
Properties : …
…
Visualization maps
2D Model 3D Model
23
AgentAgent’’ss main main characteristicscharacteristicsStates (Static, Dynamic, Communication, Possession) Profile and rolesBasic behaviors (navigation in the VGE and perception)Needs and objectives (sub-objectives)Behaviors related to the achievement of objectives (actions with activation rules and completion rules)Management of the objectives’ priorities and temporal constraints
24
AgentAgent’’ss perceptionperception3D perception of the environmentVision field (ex. 90 degrees)– Computation of the lines of sight using the Height map
0 0 0 15 20 25 30 ...
h=10
h=20 h=
15
5
A
Height Map
Building height
Perception approximation method
25
Modification of the agent’s perception cone when crossing a road
26
AgentAgent’’s Memory s Memory
Retention
Rehearsal and
Retention
Update
lost
Recall
Filter
Perception
Environment
Perceptual Memory
Working Memory
Long Term Memory
Lost
27
Agent navigation (1/2)Agent navigation (1/2)Basic notions– Use of the Height Map to represent the navigational
constraints : obstacles, slopes, etc. The Height Map provides difficulty degrees for the agent’s movements
– Use of the Ariadne Map to represent paths and trails in order to optimize the navigation and make it more realistic
– Use of a Location map to represent the positions of all the fixed and mobile agents
– To compute its next displacement the agent only uses the information accessible in its visual field
28
Agent navigation (2/2)Agent navigation (2/2)Illustration : ray tracing function
1 23
4
5
Ok
Obstacle
Agent’s current Position
C : « obstacle avoidance »
“Ariane Thread”
B : from « following a path » to “obstacle avoidance”
Destination
A : « following a path »
1
3
42
5
1
29
Behavior Behavior managementmanagement
NeedsElementary actionsObjectivesComplex actionsPriority management
30
NeedsNeedsAn agent has a set of needs related to its profile(s)Needs are dynamic variable (value change over time)Each need is associated with a priority which is different from one profile to anotherAn objective is related to a need : this is how we determine the base priority of an objective
Elementary actions trigger routines modifying an agent’s state or an objective’s statusFor example: increase its speed; set the destination target; decrease the agent’s hunger while it eats, etc.
Elementary Elementary actionsactions
31
ObjectivesObjectivesObjectives are organized in a tree structure – Node : Composite objective– Leaf : Elementary objective (contains actions)
The tree structure does not constrain the execution order of the objectivesA tree defines a plan for an agentActivation rulesCompletion rulesPriority of objectives
32MAGS 2002 version: Example of buskersMAGS 2002 version: Example of buskers
33
Complete structure of an objectiveComplete structure of an objectiveComposite objective 1.0 :
To have performed astreet play
Activation Rule : If the need formoney is greater than a threshold
Completion Rule : If theobjective 1.4 is completed with
success, then the objective 1.0 iscompleted with success
Elementary objective 1.1 :To have found apresentation spot
Activation Rule : There is noprecondition, the objective will be
active when its super-objectivebecomes active
Action : Search a zone for apresentation spot
Completion Rule : If a presentationspot is perceived and this presentation
spot is free, then make the spot notfree, move around the spot and the
objective 1.1 is completed with successElementary objective 1.2 :
To have attracted acrowd of spectators
Activation Rule : If the objective 1.1 iscompleted with success and the objective 1.3
isn't active, ongoing or completed withsuccess
Action : Send message to gather spectatorsCompletion Rule 1 : If there are enough(5) spectators around, then the objective
1.2 is completed with successCompletion Rule 2 : If there are not
enough spectators around, then theobjective 1.2 is completed without success
Elementary objective 1.3 :To have performed a show
Activation Rule : If the objective 1.2is completed with successAction : Perform a show
Completion Rule : If the show wasperformed for its predefined duration
time, then the objective 1.3 iscompleted with success
Elementary objective 1.4 :To have collected money
Activation Rule : If the objective1.3 is completed with successAction : Send message to askspectators to pay for the show
Completion Rule : If there is nospectator around, then the need for
money is reduced, make thepresentation spot free and the
objective 1.4 is completed withsuccess
34
Groups of agentsGroups of agentsSocial group– Group of agents sharing one or many common
characteristics (i.e. : police officers, students,…) – A group is considered as an agent and can have its
own behavior (for example : an objective can be used to manage the group members)
Cohesive groups (Clusters)– Group of agents occupying a restricted closed or open
area (flocks, queues, herds, …)– Clusters are created dynamically– A cluster can have its own behavior (for example : an
objective of a queue cluster can manage the movements of the agents in the queue)
35
Modeling Modeling agents in 3Dagents in 3DUse of 3D Studio Max and character libraries
Individual agents– Different models can be
applied on agents– Agents are basically animated
Cameras– We can have a first person
camera for each agent in the simulation as well as a third person camera
36
Simulation of Simulation of smoke and gassmoke and gasWe simulate smoke (or a dense gas) in a 3D model of space and to integrate these phenomena in MAGS and to make it possible for MAGS’ agents to react to themWe use an approach based on particle systems
Wind
37
38
ScenarioScenario editoreditorThe scenario editor allows users to assemble scenarios
to carry out different simulations, it supports five main stages for scenario specification :
- Specification of the environment- Creation of the agents and the objects- Specification of the population of the scenario- Description of the scenario- Creation of agent prototypes
The current version of the Scenario Editor implemented in Visual Basic
A new version is developed in C++
39
Specification of the environmentSpecification of the environment
- The system loads agents included in the environment(buildings, trees, etc. ) which are provided by the GIS with all their properties (position, type, etc.)
40
Population SpecificationPopulation Specification
- Instantiate agents based on 4 types of agents: Agent, Object, Group, Cohesive Group (cluster)
- Assign behaviors to agents using pre-defined prototypes- Initialize agents’ static and dynamic states
41
Scenario SpecificationScenario Specification
- Specify when and where agents will appear - Assign specific goals to agents depending on specific conditions- Specify events that can occur during the simulation under
certain conditions
42
Virtual Environment Virtual Environment ModificationModification
43
Modifying the Virtual Enviroment Modifying the Virtual Enviroment
During the simulation it is possible to add, modify and delete any object which is recorded with the .X format (DirectX)Application: the user can modify the environment and observe how agents react to the changesSee next slide
Example : Trees planted during the simulation
44
A B
C
D
E
F
G
ADDING A FENCE IN THE ENVIRONMENT
A – A pedestrian group avoided the fence
B – A group of pedestrians blocked by the fence
C – A group of pedestrians try to go around the fence
D – The fence (obstacle) has been added during the simulation.
E – Point that the crowd attempts to reach
F – Group of pedestrians who reached the goal
G – General direction of movement of the crowd (peace walk setting)
45
Vehicle TrafficVehicle TrafficSimulation Simulation
and and MAGSMAGS
46
Simulation of vehicle movementsSimulation of vehicle movements
We aim at integrating in the MAGS environment other types of mobile agents (Vehicles, etc.) and to study the spatial interactions between different mobile agents (ex. vehicles and pedestrians)We use a library to simulate vehicles’ micro displacements: the GETRAM platform3 main components : – TEDI: used to draw roads in a 2D environment– AIMSUN: the simulation engine to simulate vehicle
displacements – GETRAM extension: API used to access the simulation engine
47
AIMSUN AIMSUN
Simulation based on data created using TEDIManagement of displacements for each vehicle:– lane change, gap with respect to other vehicles, – collision avoidance, management of traffic lights
- Real-time simulation (using time steps)
- taking into account terrain geometry
48
Adaptation of MAGS to use AIMSUN Adaptation of MAGS to use AIMSUN
-Automatic generation of road segments using TEDI’s data
- Addition of vector data (nodes, road segments)
- Creation of vehicle agents (with a drive state which is used to update the vehicle position in MAGS) - MAGS and AIMSUN can be on the same or different machines- MAGS’ agents can generate incidents which are transmitted to AIMSUN and can influence car behaviors
(ex. pedestrian crossing a lane)
49
AIMSUN MAGS
50
Interactions between Cars and Pedestrians
51
Other ProjectsOther Projects
related to MAGS related to MAGS
52
Sumo simulation of traffic flow in Quebec citySumo simulation of traffic flow in Quebec city
A Network composed of 28 960 EdgesThousands of vehicles
53
Wild Fire Simulation Wild Fire Simulation using the Prometheus Library from ASRDusing the Prometheus Library from ASRD
((Alberta Sustainable Resource and Development)Alberta Sustainable Resource and Development)
54
FIRE-MAGS (current implementation)
55
Fire Fire Propagation Propagation
in MAGSin MAGS
56
A New Project: Critiquing System & MAGS A New Project: Critiquing System & MAGS
Critiquing systems (TIF Project, M. Bélanger)Project Objective: to develop a multi-agent geosimulation system (MAGS) component to support: 1) the course of action (COA) specification / modification, 2) the critiquing system; 3) the exploration and comparison of various scenarios
- The MAGS component would be able to get accurate data about terrain, resources, environmental conditions, etc. from GIS and other data bases
- Domain specialists (DS) could specify different scenarios (COA) and specify intermediate and final goals (states)
- For each scenario, the MAGS component would launch a simulationthat the DS would observe
- The outcomes of the simulations would be used to assess the strengths and weaknesses of the proposed scenarios
57
The Future of MAGS:The Future of MAGS:
The MUSCAMAGS The MUSCAMAGS ProjectProject
2005 2005 -- 20092009
58
The MUSCAMAGS Project The MUSCAMAGS Project Multi-Scale MAGSA project submitted to GEOIDE (Accepted in December 2003): duration: April 2005- March 20096 researchers – Laval Univ.: Bédard, Moulin, Thériault, – Wilfried Laurier Univ.: Doherty, McMaster Univ.: Scott,– Queens Univ: Harrap.
Current partners: RDDC Valcartier, Alberta Sustainable Resource and Development, Quebec SOPFEU, Center for Spatial Analysis (Mc Master Univ.), CRAD (Univ. Laval), Ville de Québec (Service de police), Sureté du Québec, Ministère des transports du Québec
59
MultiMulti--Actor Dynamic Spatial Situations Actor Dynamic Spatial Situations MADSSs involve a large number of actors of different types (human, animal, etc.) acting in geographic spaces of various extentsMADSSs need to be monitored to insure :– human security and equipment preservation (flood,
earthquake, wildfire, oil slicks), – the respect of public order (population evacuation,
crowd monitoring and control, peace-keeping, etc.)– the adequate use of infrastructures (monitoring of
people and households transportation and shopping habits in a urban area to better plan transportation infrastructures, location of services’ and retailers, etc.)
– Impact of emergency response plans
60
MADSS (continued) MADSS (continued) Certain MADSSs occur on a regular basis (ex. daily traffic patterns in a urban area) whereas other MADSSs can evolve rapidly as a consequence of the occurrence of particular events and/or changes in individual behaviors (often in crisis situations)Certain MADSSs may occur within the context of another MADSS of larger extentDecision makers need an overall understanding of the situation to monitor its evolution, to develop strategies to adequately intervene, to develop and compare alternative intervention scenarios and to anticipate the consequences of these interventions
61
Several issues must be tackled at once : – construction of multi-resolution world models with
reliable physical terrain models and contextual semantic attribution
– population data and physical data (ex. fire spreading)– monitoring of the situation evolution – assessment of different courses of actions– anticipation of the reactions of the actors involved in
the situation
To develop a methodology and a software platform to create multi-scale multi-agent geo-simulations to support operational decison support systems for MADSSs
MUSCAMAGS Global Objective MUSCAMAGS Global Objective
62
63
Application domains Application domains
RDDC Valcartier and Service de Police de Québec and Sûreté du Québec: Simulation of crowd movements and impact on different activities (ex. impact on emergency evacuation of people)
CRAD and associated researchers in Toronto area: Simulation of the travel, shopping and leisure behaviors of people in large urban areas
Alberta SRD and SOPFEU: simulation of different strategies when fighting a wild fire (teams of firemen, use of the Prometheus library)
Other domains (Shopping malls, environmental health …)
64
Questions and Discussion