Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • V vadere
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 117
    • Issues 117
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • vadere
  • vadere
  • Wiki
  • Vadere components
  • Psychology Layer

Psychology Layer · Changes

Page history
Create Vadere Components/Psychology Layer authored Jun 29, 2020 by Benedikt Kleinmeier's avatar Benedikt Kleinmeier
Hide whitespace changes
Inline Side-by-side
Vadere-Components/Psychology-Layer.md 0 → 100644
View page @ 3e04e692
One of our goals is to make pedestrian simulations more realistic. Most of the current locomotion models like the social force model or the optimal steps model only include physical aspects to navigate an agent through an environment. For instance, obstacles repel an agent while targets attract agents. But, the key is to include also the psychological status of an agent in each simulation step. This layer represents the mental processes of perception and cognition of real humans and effects the behavior of an agent.
Therefore, before agents are moved in Vadere by the locomotion layer, a perception and cognition step is executed which can affect the actual locomotion. See the following listing of Vadere's simulation loop:
```java
while (simulationIsRunning) {
...
// Perception
perceptionModel.update(agents, stimuli);
...
// Cognition
cognitionModel.update(agents);
...
// Locomotion
locomotionModel.update(agents, time);
|
+-> if (agent.selfCategory == COOPERATIVE) {
Agent candidate = findSwapCandidate();
swapAgents(agent, candidate);
}
...
time++;
}
```
`perceptionModel` and `cognitionModel` are interfaces and can be set for each simulation run separately in the GUI, see following figure.
![Vadere-GUI-PsychologyTab](uploads/54ba53dff66606b17cf71810a4d4cce8/Vadere-GUI-PsychologyTab.png)
For instance, when using the `CooperativeCognitionModel`, agents do not block each other. Agents rather swap places with other agents to reach their target, see following figure.
![Vadere-CooperativeCognitionModel-PsychologyEnabled](uploads/5fc7c905745557da2503e729973e4960/Vadere-CooperativeCognitionModel-PsychologyEnabled.png)
## Perception Model
The perception model can be influenced by environmental stimuli, see following figure.
![Vadere-GUI-PerceptionTab](uploads/6647fb676092626a8435c6110e23f172/Vadere-GUI-PerceptionTab.png)
Use following steps to add new stimuli to Vadere:
1. Create a new class with stimulus attributes in the `VadereState/src/org/vadere/state/psychology/perception/types` package.
2. In the class `VadereState/src/org/vadere/state/psychology/perception/types/Stimulus.java`, assign a name for the new stimulus. This name can then be entered in the "Psychology" tab of Vadere.
3. Use an existing perception model like `SimplePerceptionModel` or implement your own and make the stimulus available for agents by using `agent.setMostImportantStimulus()`. On cognition layer, `agent.getMostImportantStimulus()` can be used to process this information further to set an agent's self category. This self category influences the motion of an agent on the locomotion layer. For instance, `SELF_CATEGORY.COOPERATIVE` causes agents to swap positions to reach a target.
## References
This psychology-inspired architecture was introduced after conducting an experiment with 69 students at the Munich University of Applied Sciences. The experiment results are available as journal preprint on arXiv: https://arxiv.org/abs/2005.12712
\ No newline at end of file
Clone repository
  • Home
  • Vadere Components
    • Migration Assistant
    • Output Processors
    • Scenario Elements
  • Building and Releasing
    • Continous Integration
    • Checklist: New Release
  • Modeling
    • Group Model
    • Group Model Validation Tests
    • Observations on Models
  • Algorithms
    • Triangulation: EikMesh