Changes between Version 7 and Version 8 of doc/tec/mas
- Timestamp:
- Aug 28, 2018 1:28:13 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/tec/mas
v7 v8 34 34 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. 35 35 36 == Pathfinding == 37 [[Image(200w_d.gif)]] 38 During the simulation each agent receives target coordinates (see [wiki:/doc/app/agtpar#at_x at_x] and [wiki:/doc/app/agtpar#at_y at_y]). Each agent must then find a path from its current position to its target using the visibility graph. This is accomplished using the '''A^*^(A-star)-algorithm''' which is a well-known fast pathfinding algorithm (click [#http://theory.stanford.edu/~amitp/GameProgramming/ here] for a thorough explanation). For this, \\ 39 * the agent's current position and its target are added to the visibility graph, \\ 40 * the shortest path between these two points is calculated, \\ 41 * the navigation points are shifted outward from the obstacle corner to a random position along a "gate" (see [wiki:/doc/app/agtpar#corner_gate_start corner_gate_start] and [wiki:/doc/app/agtpar#corner_gate_width corner_gate_width]) to avoid collisions with obstacles or other agents,\\ 42 * pathfinding is run again with each successive pair of navigation points along the path to avoid intersection of path sections with obstacles resulting from the outward shift,\\ 36 === Pathfinding === 37 38 {{{#!td style="vertical-align:top; text-align:left" 39 During the simulation each agent receives target coordinates (see [wiki:/doc/app/agtpar#at_x at_x] and [wiki:/doc/app/agtpar#at_y at_y]). Each agent must then find a path from its current position to its target using the visibility graph. This is accomplished using the '''A^*^-algorithm''' which is a well-known fast pathfinding algorithm (click [#http://theory.stanford.edu/~amitp/GameProgramming/ here] for a thorough explanation). For this, \\ 40 * the agent's current position and its target are added to the visibility graph, \\\\ 41 * the shortest path between these two points is calculated, \\\\ 42 * the navigation points are shifted outward from the obstacle corner to a random position along a "gate" (see [wiki:/doc/app/agtpar#corner_gate_start corner_gate_start] and [wiki:/doc/app/agtpar#corner_gate_width corner_gate_width]) to avoid collisions with obstacles or other agents,\\\\ 43 * pathfinding is run again with each successive pair of navigation points along the path to avoid intersection of path sections with obstacles resulting from the outward shift,\\\\ 43 44 * finally, the resulting path is stored in the agent object as a series of intermittent targets.\\ 44 45 Each agent calculates the direction toward its next intermittet target during each agent time step. It will accelerate toward those coordinates. Once the agent has come close enough ([wiki:/doc/app/agtpar#dist_to_int_target dist_to_int_target]) to them, the next intermittent target is chosen. When the final target is reached, the agent is deleted.\\\\ … … 46 47 * the agent has deviated too far ([wiki:/doc/app/agtpar#max_dist_from_path max_dist_from_path]) from its current path or 47 48 * the path counter has reached its maximum and the target is not yet reached. This can occur because for the purpose of conservation of memory each agent can store a maximum of 15 intermittent targets. 48 49 While pathfinding is run on the visibility graph, 49 }}} 50 {{{#!td style="text-align:left;style=width: 50px" 51 [[Image(pathfinding.gif)]] 52 }}} 50 53 51 54 55 == Social Forces == 56 57 Agent movement and close-range interaction is implemented using a modified Social Force Model. The implementation uses concepts from the original Social Force Model ([#helbing1995 Helbing, 1995]) and an extension of it for close-rage collision prediction and avoidance ([#karamouzas2014 Karamouzas et. al, 2014]).\\ 58 The Social Forces approach is based on the idea that pedestrian movement is based on forces exerted on the pedestrian by its surroundings and goals. 52 59 53 60 \\ … … 128 135 129 136 == References == 130 * [=#helbi g1995] '''Helbing, D., Molnar, P.''' (1995). Social force model for pedestrian dynamics. Physical review E, 51(5), 4282. [https://doi.org/10.1103/PhysRevE.51.4282 doi]137 * [=#helbing1995] '''Helbing, D., Molnar, P.''' (1995). Social force model for pedestrian dynamics. Physical review E, 51(5), 4282. [https://doi.org/10.1103/PhysRevE.51.4282 doi] 131 138 * [=#hershberger1994] '''Hershberger, J., Snoeyink, J.''' 1994. An O(''n''log''n'') implementation of the Douglas-Peucker algorithm for line simplification. SCG '94 Proceedings of the tenth annual symposium on Computational geometry. 383-384. [https://doi.org/10.1145/177424.178097 doi] 139 * [=#karamouzas2014] '''Karamouzas, I., Skinner, B., Guy, S.J.''' 2014. Universal Power Law Governing Pedestrian Interactions. Pyhsical Review Letters, 113, 238701. [https://doi.org/10.1103/PhysRevLett.113.238701 doi]