vadere issueshttps://gitlab.lrz.de/vadere/vadere/-/issues2024-02-05T12:57:46+01:00https://gitlab.lrz.de/vadere/vadere/-/issues/375Convex Hull attribute Editors are broken2024-02-05T12:57:46+01:00Jonas SchindlerConvex Hull attribute Editors are brokenFirst, choose a meaningful and short title and mention context in square brackets. E.g., [GUI] Agents overlap if radius greater than 0.2 m
### Summary
So if you create a convex hull or a polygon and then want to change the values manua...First, choose a meaningful and short title and mention context in square brackets. E.g., [GUI] Agents overlap if radius greater than 0.2 m
### Summary
So if you create a convex hull or a polygon and then want to change the values manually in the attribute tab, it gets distorted.
### What is the current *bug* behavior?
So after creating a convex hull or a polygon, the object gets distorted due to the manipulated point getting moved towards the respective zero axis.
### What is the expected *correct* behavior?
A proper polygon that applied the changes correctly.
### Steps to reproduce
Just create a polygon or convex hull go to the Attribute Table tab and modify a coordinate of the point list.
### Relevant data
Took the latest pre-compiled version from the website
### Starting point
I think that the value change hook is probably not implemented correctly and therefore drops the newly inserted value replacing it by zero.https://gitlab.lrz.de/vadere/vadere/-/issues/374[GUI] Render all Icons as SVG2023-09-26T16:16:25+02:00Jaeck, Ludwig[GUI] Render all Icons as SVGOn different Screen resolutions, with different Pixel density, scaled up icons do not look pretty, because of always being scaled up from 16x16 pixel. Since users can also change the icon size in the vadere.conf file, it would be good to...On different Screen resolutions, with different Pixel density, scaled up icons do not look pretty, because of always being scaled up from 16x16 pixel. Since users can also change the icon size in the vadere.conf file, it would be good to change all Icons from a rasterized format to .svghttps://gitlab.lrz.de/vadere/vadere/-/issues/373[Doc] Description of columns in postvis.traj2023-08-22T12:55:20+02:00Rahn, Simon[Doc] Description of columns in postvis.trajMany users ask the same questions about the postvis.traj files: What’s the meaning of each column?
Add a description for that at a helpful place (maybe adapt GUI/data output tab or add info to the Vadere Wiki). Maybe you also need to exp...Many users ask the same questions about the postvis.traj files: What’s the meaning of each column?
Add a description for that at a helpful place (maybe adapt GUI/data output tab or add info to the Vadere Wiki). Maybe you also need to explain the event queue in that context.Jaeck, LudwigJaeck, Ludwighttps://gitlab.lrz.de/vadere/vadere/-/issues/368Buffered Writer for DataProcessors2023-07-28T12:54:05+02:00Schuhbaeck, StefanBuffered Writer for DataProcessorsDataProcessors (DP's) keep the data in memory over the whole simulation time and only dump the data to files at the end of the simulation.
Some, but not all DP's, do need all data at the end to merge or calculated the their values. All ...DataProcessors (DP's) keep the data in memory over the whole simulation time and only dump the data to files at the end of the simulation.
Some, but not all DP's, do need all data at the end to merge or calculated the their values. All other can dump their data directly to disk
at the moment they get the data.
### Problem to solve
* Large memory footprint for long/large simulation
* At least some data when simulation fails at some point
### Further details
* Use Buffered writer provided by Java is possible to minimze I/O access. Meaning, only write date at junks of 1-4 kB and not for each
double value.
* provide read-back feature for other DP's that need the data at the endhttps://gitlab.lrz.de/vadere/vadere/-/issues/367[Simulator/GUI] Allow polygons as measurement areas2023-05-25T10:43:14+02:00Mayr, Christina Maria[Simulator/GUI] Allow polygons as measurement areasCurrently measurement areas are rectangular.
- Enable polygons
- rotations > introduce a VRectangleRotated classCurrently measurement areas are rectangular.
- Enable polygons
- rotations > introduce a VRectangleRotated classhttps://gitlab.lrz.de/vadere/vadere/-/issues/366[Simulator] Make numerical adjustable2023-05-17T17:09:26+02:00Schuhbaeck, Stefan[Simulator] Make numerical adjustableTBD: where to put these parameters as they should not belong to a specific model-json.
See:
- #6
- Neldermead thresholdTBD: where to put these parameters as they should not belong to a specific model-json.
See:
- #6
- Neldermead thresholdhttps://gitlab.lrz.de/vadere/vadere/-/issues/184[Readme] How to work on an issue2023-05-17T17:09:08+02:00Ghost User[Readme] How to work on an issue1. **Assign yourself to the issue** (to show other developers that you are working on this issue).
2. **Assign the label ~"Doing".**
3. **Close the issue if the implementation is finished** (this includes unit tests, documentation and po...1. **Assign yourself to the issue** (to show other developers that you are working on this issue).
2. **Assign the label ~"Doing".**
3. **Close the issue if the implementation is finished** (this includes unit tests, documentation and possible adaptions in [CHANGELOG.md](https://gitlab.lrz.de/vadere/vadere/blob/master/CHANGELOG.md)).
Following figure visualizes this workflow:
![GitLab-Issue-Workflow](/uploads/1bcf8b603d3a23e7ffa8207af8b37b96/GitLab-Issue-Workflow.png)https://gitlab.lrz.de/vadere/vadere/-/issues/179[Readme] How to write new issues2023-05-17T17:08:38+02:00Marion Goedel[Readme] How to write new issues1. **Use templates when creating new issues.**
* The templates contain common questions which are relevant for new issues.
* The templates can be selected from the drop down menu next to the title bar.
![GitLab-TemplatesDropDo...1. **Use templates when creating new issues.**
* The templates contain common questions which are relevant for new issues.
* The templates can be selected from the drop down menu next to the title bar.
![GitLab-TemplatesDropDown](/uploads/7f5b7426b1285692770abe205ade1a3e/GitLab-TemplatesDropDown.png)
2. **Use the [existing labels](https://gitlab.lrz.de/vadere/vadere/labels) and respect their use cases which are described in the label description (at least, use one of the priority labels: ~"High priority", ~"Medium priority" or ~"Low priority").**https://gitlab.lrz.de/vadere/vadere/-/issues/140Scenario Checker - wishlist2023-05-17T17:07:24+02:00Marion GoedelScenario Checker - wishlistSince the topography checker is extended to the other tabs, here is a place to add in your ideas / wishes on what the Scenario Checker could do:
#### Simulation
* [x] ERROR: Bounds for `simTimeStepLength` - Suggestion: [0.01 - 1]
* [...Since the topography checker is extended to the other tabs, here is a place to add in your ideas / wishes on what the Scenario Checker could do:
#### Simulation
* [x] ERROR: Bounds for `simTimeStepLength` - Suggestion: [0.01 - 1]
* [ ] WARNING: realTimeSimRatio != 0 - only if started from console
(Maybe this could also be realized by visualizationEnabled = false -> then automically realTimeSimRatio is set to 0)
#### Model
* [ ] WARNING: OSM + optimizationType = DISCRETE AND varyStepDirection = False -> Background: Pedestrians might not be able to walk through small passages
* [ ] WARNING: `loadingType` "CONSTANT_RESPECT_TARGETS" and "DYNAMIC" because they are deprecated
(compare: https://conwiki1.cc.private.hm.edu/confluence/display/FK07PD/VADERE+Input+Parameters)
* [ ] WARNING if the parameters deviate from the default configuration - to avoid accidental "mis-"settings
* [x] WARNING if groupSizeDistribution of any source is different from [1.0] but AttributesCGM is not present in Model tab (no groups will be simulated)
#### Topography
* [x] WARNING: No target that has `absorbing` = true (that means pedestrians will never leave the simulation)
* [x] WARNING: if a list of targets is defined but one (which is not the last one) has the attribute `absorbing` = true
-> pedestrians won't reach their final target
* [x] WARNING: if `radius` != 0.2 (because at the moment all potentials are calibrated for this radius)
* [x] ERROR: If in a source a group distribution is given where something other then groups of 1 are produced and the group submodel is not given throw an error.
* [ ] ERROR: If a pedestrian has no target (separate pedestrian)
* [ ] ERROR: If distributionParameter of the source is 0.0 - leads to Exception (Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException)
* [ ] WARNING: if the source is too small for the amount of agents spawning. Some formula to estimate the pedestrian density required here, e.g. sourceArea / spawnNumberInSeconds < alpha => warning!
* [ ] WARNING: if `footStepsToStore` is zero (position interpolation and computing speed does not work then properly)
* [ ] WARNING: if `lineCrossProcessor` is within obstacle (flow will not be calculated correctly!)
-> maybe also, `LineCrossProcessor` attribute `Line line` can be defined as `Measurement Area`
* [ ] ERROR: agents might stop suddenly in front of non-absorbing targets if agent's `minStepLength` and target's `deletionDistance` are in conflict. Therefore, check `minStepLength < deletionDistance` or `minStepLength + eps < deletionDistance`. See #140.
* [ ] ERROR: if area of obstacle == 0
* [ ] NO WARNING: check for the targets if they are used by a dynamic element
##### TargetChangers
* [x] NO WARNING: If a ``TargetChanger`` is present, some targets might be used only by it. In this case, a warning is currently displayed that the target is unused.
* [ ] WARNING: If a ``TargetChanger``is present but ``useMinimumStepLength`` is ´´true``. Recommend to set to ´´false´´.
##### Free-flow speed
* [ ] ERROR: In attributesPedestrians: When the `speedDistributionMean` is set larger or smaller than the `minimumSpeed` and `maximumSpeed` (NOTE: same as in Topography checker for single placed peds)
* [ ] ERROR: Negative (maybe even non-positive?) `minimumSpeed` && The `maximumSpeed` set larger than 12 m/s (12.4 m/s is the world record by Usain Bolt) (NOTE: same as in Topography checker for single placed peds)
* [ ] ERROR: `minimumSpeed` is larger than `maximumSpeed`
* [ ] WARNING: If the free-flow std is larger than the limits for `minimumSpeed` and `maximumSpeed` allow.
#### Data processing
* [ ] WARNING if `writeSimulationData` = false even though output processors are added and files are defined in which their output should be saved
* [ ] ERROR if group model is active groupId Processor must be selected
* [ ] ERROR if `PedestrianPositionProcessor` is set and `footStepsToStore` is 0. Bachground: The pedestrian position processor uses the latest foot step for interpolation, so it always needs the latest footstep and therefore a capacity of minimum 1.https://gitlab.lrz.de/vadere/vadere/-/issues/11Teleporter-Potentialfeld hat falsche Position2023-05-17T16:59:49+02:00Zoennchen, BenediktTeleporter-Potentialfeld hat falsche PositionVon @dietrich vor etwa 3 Jahren hinzugefügt.
Kommentar von @dietrich: Einfacher Ring-test (rimea 4 mit breite 0.1m) zeigt, dass Peds zu spät teleportiert werden / zu früh das Potential eines vorangehenden Peds spüren.Von @dietrich vor etwa 3 Jahren hinzugefügt.
Kommentar von @dietrich: Einfacher Ring-test (rimea 4 mit breite 0.1m) zeigt, dass Peds zu spät teleportiert werden / zu früh das Potential eines vorangehenden Peds spüren.https://gitlab.lrz.de/vadere/vadere/-/issues/20JSON save to file and load from file should remember last location2023-05-17T16:56:41+02:00Ghost UserJSON save to file and load from file should remember last locationIt would be great, if the JFileChooser dialogs in the GUI's tabs "Simulation", "Model", "Pedestrians", and "Topography" would remember their last location.
Common use case: Load a generated test topography from a separate file in a dire...It would be great, if the JFileChooser dialogs in the GUI's tabs "Simulation", "Model", "Pedestrians", and "Topography" would remember their last location.
Common use case: Load a generated test topography from a separate file in a directory other than the project directory.
Save and Load dialogs of one tab should maybe share one location. Dialogs from different tabs should probably not share the same location, since they are for different "file types".
Default can be the project directory. Or store it in something like an ini file to restore it in the next session.https://gitlab.lrz.de/vadere/vadere/-/issues/27Ugly classes JsonConverter & StateJsonConverter2023-05-17T16:56:19+02:00Zoennchen, BenediktUgly classes JsonConverter & StateJsonConverterJsonConverter and StateJsonConverter contain only static methods which is not OO. The code could be more elegant. Refactoring required.JsonConverter and StateJsonConverter contain only static methods which is not OO. The code could be more elegant. Refactoring required.https://gitlab.lrz.de/vadere/vadere/-/issues/69In simulator, create packages for (mandatory) "main models" and (optional) "s...2023-05-17T16:52:51+02:00Ghost UserIn simulator, create packages for (mandatory) "main models" and (optional) "sub models"A simulation requires a "main model" (e.g., OSM) and has optional sub models (e.g., a group model). This should also be reflected on package level.
**But watch out:** this change would break current simulator code (because package names...A simulation requires a "main model" (e.g., OSM) and has optional sub models (e.g., a group model). This should also be reflected on package level.
**But watch out:** this change would break current simulator code (because package names are hard-coded in source code somewhere). Therefore, extend VADERE migration assistant.https://gitlab.lrz.de/vadere/vadere/-/issues/108NelderMead - Toleranz als Attribut herausziehen2023-05-17T16:49:30+02:00Schuhbaeck, StefanNelderMead - Toleranz als Attribut herausziehenhttps://gitlab.lrz.de/vadere/vadere/blob/develop/VadereSimulator/src/org/vadere/simulator/models/osm/optimization/StepCircleOptimizerNelderMead.java#L66
The tolerance of the solver might need to be even smaller to avoid all overlaps. Un...https://gitlab.lrz.de/vadere/vadere/blob/develop/VadereSimulator/src/org/vadere/simulator/models/osm/optimization/StepCircleOptimizerNelderMead.java#L66
The tolerance of the solver might need to be even smaller to avoid all overlaps. Unless they're only related with the pedestrians which are considered for the calculation. xref #90.https://gitlab.lrz.de/vadere/vadere/-/issues/357[Test/Scenario] Add model tests from ISO 204142023-05-17T16:39:10+02:00Mayr, Christina Maria[Test/Scenario] Add model tests from ISO 2041413 tests for model validation are defined in the ISO 20414.
![iso20414](/uploads/899046475c447b8ab4a5674f886214c5/iso20414.png)
Add a scenario for each test.
For the setup the tests marked in green (Table), the Vadere simulator does no...13 tests for model validation are defined in the ISO 20414.
![iso20414](/uploads/899046475c447b8ab4a5674f886214c5/iso20414.png)
Add a scenario for each test.
For the setup the tests marked in green (Table), the Vadere simulator does not need to be adjusted.
For the other tests, adaptions might be necessary.https://gitlab.lrz.de/vadere/vadere/-/issues/127Testsuite TestOSM - Add processors and checks2023-05-17T16:39:10+02:00Marion GoedelTestsuite TestOSM - Add processors and checksAt the moment, the only check in the Continuous Integration setup is if the scenarios are simulated within a limited time. In addition, plausible checks - either provided by the RIMEA Guidelines or by * - should be added for the Continuo...At the moment, the only check in the Continuous Integration setup is if the scenarios are simulated within a limited time. In addition, plausible checks - either provided by the RIMEA Guidelines or by * - should be added for the Continuous Integration setup. That means, the relevant output processors need to be added and their outputs need to be compared to thresholds within the Python CI setup.
Compare Issue #111
@BZoennchen Already added several Test Processors to check the outputs.
Missing:
* [ ] rimea_10_pathfinding (Test Processor that checks if the pedestrians went to the right target is necessary)
* [ ] corner_waiting_time_processor_test
* [ ] narrow_passage
* [ ] rimea4
* [ ] rimea5 (spawning needs to be adapted)
* [ ] rimea8
* [ ] rimea11 - rimea14https://gitlab.lrz.de/vadere/vadere/-/issues/131Scenario is valid but output files are moved to 'corrupted' because trajector...2023-05-17T16:35:35+02:00Ghost UserScenario is valid but output files are moved to 'corrupted' because trajectory file is missingWhat is the meaning of the "corrupted" folder? I think simulation runs that are valid and all outputs are correctly written out (just without the trajectories file) should not get in this folder. Because the name indicates that something...What is the meaning of the "corrupted" folder? I think simulation runs that are valid and all outputs are correctly written out (just without the trajectories file) should not get in this folder. Because the name indicates that something went wrong with the output.
Reason: in the suq-controller I am generally not interested in the trajectory file and it only generates data.https://gitlab.lrz.de/vadere/vadere/-/issues/137[Discussion] RealRandomSpawn - How often should we try to place the pedestrians?2023-05-17T16:31:58+02:00Marion Goedel[Discussion] RealRandomSpawn - How often should we try to place the pedestrians?The new spawning method in the SingleSourceController divides the space in a grid which leads to certain side effects e.g. pedestrians are only place in the same "rows" and "columns".
@BZoennchen Added a new SourceController (SingleSour...The new spawning method in the SingleSourceController divides the space in a grid which leads to certain side effects e.g. pedestrians are only place in the same "rows" and "columns".
@BZoennchen Added a new SourceController (SingleSourceRealRandomController) which places the pedestrians randomly within the given source shape (at the moment limited to a rectangle). For this method, one needs to check if the next pedestrian position leads to overlapping pedestrians.
##### The question to be discussed is: How many times should we try to place the pedestrians before giving up and what should happen if we give up?
At the moment, we give it 100 tries and then the rest of the pedestrians are generated in the next / following time steps.
Other Possibilites (please feel free to add your ideas):
- Stop the simulation if the source area is too small for the selected number of pedestrians.https://gitlab.lrz.de/vadere/vadere/-/issues/143[GroupModel] (Re-)Calibration of the CentroidGroupModel2023-05-17T16:29:39+02:00Zoennchen, Benedikt[GroupModel] (Re-)Calibration of the CentroidGroupModelIf we combine the CentroidGroupModel with PotentialFieldPedestrianCompactSoftshell and PotentialFieldObstacleCompactSoftshell the CentroidGroupModel produces unrealistic movement patterns in high density situations (see screenshot). In m...If we combine the CentroidGroupModel with PotentialFieldPedestrianCompactSoftshell and PotentialFieldObstacleCompactSoftshell the CentroidGroupModel produces unrealistic movement patterns in high density situations (see screenshot). In my opinion we have to increase "groupMemberRepulsionFactor" : 0.5 since the PedestrianPotential in case of CompactSoftshell is higher than for Compact. If one compares evacuation times there are lower if the group model is active which should not be the case!!
"groupMemberRepulsionFactor" : 0.01 (default)
![failGroups](/uploads/8f3e94048d9e691f97ff86bc651d88bb/failGroups.png)
"groupMemberRepulsionFactor" : 0.5
![GroupSuccess](/uploads/421193d546a2958ae11f122f288c2b04/GroupSuccess.png)https://gitlab.lrz.de/vadere/vadere/-/issues/144The first step on the stairs gives an illegal position on the stairs2023-05-17T16:29:06+02:00Ghost UserThe first step on the stairs gives an illegal position on the stairsThe easiest and straightforward fix is to correct the first step on the stairs. This can be done by projecting the first illegal position onto the first or last tread (depending on where the pedestrian entered the stairs).The easiest and straightforward fix is to correct the first step on the stairs. This can be done by projecting the first illegal position onto the first or last tread (depending on where the pedestrian entered the stairs).