Changes between Version 13 and Version 14 of doc/tec/mas


Ignore:
Timestamp:
Aug 30, 2018 1:34:34 PM (6 years ago)
Author:
sward
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/tec/mas

    v13 v14  
    22
    33With r3159 a Multi Agent System (MAS) has been added to PALM. It can be used to simulate the movement of pedestrians (e.g. in urban areas).\\\\
    4 Click on any icon below to get to the respective part of the documentation.
    5 [[Image(test_button.png,80px,link=browser:palm/trunk/SOURCE/multi_agent_system_mod.f90)]]
    6 * input parameters (on this page),
    7 * example input file
    8 *
     4Click on any icon below to get to the respective part of the documentation.\\\\
     5[[Image(button_vis.png,120px,link=wiki:doc/tec/mas/agent_preprocessing)]]
    96
    107The embedded Multi Agent System (MAS) allows for the modeling of pedestrian movement in complex (urban) terrain. The following text provides an overview of the model's functionality as well as underlying concepts. This will cover the topics of creating a visibility graph, pathfinding, and Social Forces for collision avoidance.  \\\\
     
    1512This section contains information concerning agent navigation. This includes preprocessing and online steps .
    1613
    17 === Visibility graph ===
    18 Prior to a simulation using the MAS navigation information for the agents must be preprocessed. The result is a navigation mesh (visibility graph) that agents can use to find their way around obstacles toward their target.
    1914
    20 '''Concept'''\\\\
    21 For agents to be able to find a path through an area containing obstacles (such as a city) some sort of graph is needed on which pathfinding can be performed. Such a graph consists of nodes that indicate physical locations and connections between these nodes annotated with a cost to travel between the two nodes.\\
    22 The concept used here is called "visibility graph". It hinges on the idea that pedestrians use '''outer corners''' of obstacles to navigate. All spaces that pedestrians will not or cannot cross, such as buildings, trees, certain types of streets, etc are considered obstacles. The agent will walk toward the next visible corner on their way to their final target, make a turn, and walk toward the next corner. Thus, the nodes are the obstacle corners and a connection is established between two nodes if they are in view of each other and given the cost of the direct distance between the two. \\\\
    23 To produce this data,\\
    24 1) the PALM building topographhy is '''converted to polygons''' (one per obstacle) containing all convex and cocave corners as vertices.\\
    25 2) The polygon data is '''simplified''' using the Douglas-Peucker algorithm ([#hershberger1994 Hershberger and Snoeyink, 1994]). To adjust the rate of simplification, see [#tolerance_dp tolerance_dp]. \\
    26 3) All remaining convex polygon vertices are '''added to the graph''' as nodes.\\
    27 4) '''Connections''' are established between each pair of nodes that are visible by each other. The associated cost is set to the direct distance.\\
    28 5) The polygon and graph data is '''output''' to a Fortran binary file that can be read by PALM.\\
    29 
    30 
    31 '''Creating the visibility graph'''\\\\
    32 A tool separate from PALM (Agent Preprocessing Tool for PALM - APT-P) has been developed to calculate the visibility graph. It is a standalone Fortran program (find it at {{{UTIL/agent_preprocessing/agent_preprocessing.f90}}}). \\
    33 To use it,
    34 1) navigate to the {{{INPUT}}}-folder of your JOB.\\
    35 2) Make sure your Input folder contains the relevant topography information in either an ASCII- or NetCDF-file ([wiki:doc/app/iofiles/pids#topo see here]).\\
    36 3) Make sure your Input folder contains the {{{_p3d}}}-file. In it, if necessary, specify the namelist {{{&prepro_par}}} with the parameters [#flag_2d flag_2d], [#internal_buildings internal_buildings] and [#tolerance_dp tolerance_dp].\\
    37 4) Execute the APT-P by typing
    38 {{{
    39 agent_preprocessing
    40 }}}
    41 This will create a file {{{<job_identifier>_nav}}}. This is a Fortran binary file that contains the polygon and visibility graph data and will be read by PALM during the simulation. As long as the area and resulution of the model domain do not change this file can be reused.
    4215
    4316=== Pathfinding ===