Skip to content

Commit

Permalink
Merge branch 'stsc' into 'master'
Browse files Browse the repository at this point in the history
Merge stsc into master

See merge request rover/crownet!155
  • Loading branch information
stefanSchuhbaeck committed May 12, 2022
2 parents 944a3f1 + 4bd9804 commit 04288b3
Show file tree
Hide file tree
Showing 190 changed files with 21,706 additions and 1,076 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.vscode/**
**/core
log.out
VadereTestingSuite.preferences.xml
Expand All @@ -19,6 +20,7 @@ compile_commands.json
**/results
docker/**/ide/*.tar.gz
docker/**/ide/*.tgz
cache-directory

# ignore gitlab-runner local test directory
/builds
Expand Down
4 changes: 2 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ variables:
GIT_SUBMODULE_STRATEGY: recursive # clone submodules
GIT_LFS_SKIP_SMUDGE: "1" # ignore lfs (some problems with vadere submodule)
CROWNET_HOME: '${CI_PROJECT_DIR}' # all files relative to this.
OPP_CONT_TAG: 'latest' # tag of OMNeT++ container to be used
OPP_CONT_TAG: '6.0pre11_220214-1045' # tag of OMNeT++ container to be used
OPP: '${CI_PROJECT_DIR}/scripts/omnetpp_rnd ${OPP_CONT_TAG} exec'
ANALYZER_M: '${CI_PROJECT_DIR}/analysis/roveranalyzer'
FLOWCONTROL_M: '${CI_PROJECT_DIR}/flowcontrol'
Expand Down Expand Up @@ -40,7 +40,7 @@ build-for-sim:
script:
# ## update required docker images
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker pull $CI_REGISTRY/rover/crownet/omnetpp
- docker pull ${CI_REGISTRY}/rover/crownet/omnetpp:${OPP_CONT_TAG}
- docker pull $CI_REGISTRY/rover/crownet/sumo
- docker pull $CI_REGISTRY/rover/crownet/vadere
- docker pull $CI_REGISTRY/rover/crownet/flowcontrol
Expand Down
2 changes: 1 addition & 1 deletion analysis/roveranalyzer
Submodule roveranalyzer updated 38 files
+3 −0 .gitignore
+1 −1 .isort.cfg
+13 −3 requirements.txt
+4 −0 roveranalyzer/__init__.py
+2 −0 roveranalyzer/analysis/__init__.py
+315 −0 roveranalyzer/analysis/common.py
+734 −0 roveranalyzer/analysis/dashapp.py
+680 −0 roveranalyzer/analysis/dashboard.py
+65 −2 roveranalyzer/analysis/density_map.py
+0 −0 roveranalyzer/analysis/flaskapp/__init__.py
+27 −0 roveranalyzer/analysis/flaskapp/application/__init__.py
+449 −0 roveranalyzer/analysis/flaskapp/application/dcd_dashboard.py
+239 −0 roveranalyzer/analysis/flaskapp/application/layout.py
+461 −0 roveranalyzer/analysis/flaskapp/application/model.py
+8 −0 roveranalyzer/analysis/flaskapp/application/routes.py
+41 −0 roveranalyzer/analysis/flaskapp/application/static/dashExtensions_default.js
+62 −0 roveranalyzer/analysis/flaskapp/application/static/header.css
+39 −0 roveranalyzer/analysis/flaskapp/application/utils.py
+17 −0 roveranalyzer/analysis/flaskapp/config.py
+24 −0 roveranalyzer/analysis/flaskapp/wsgi.py
+495 −52 roveranalyzer/analysis/omnetpp.py
+18 −2 roveranalyzer/simulators/crownet/common/dcd_metadata.py
+8 −1 roveranalyzer/simulators/crownet/common/dcd_util.py
+22 −11 roveranalyzer/simulators/crownet/dcd/dcd_builder.py
+241 −119 roveranalyzer/simulators/crownet/dcd/dcd_map.py
+137 −9 roveranalyzer/simulators/crownet/runner.py
+4 −0 roveranalyzer/simulators/opp/provider/hdf/DcdMapCountProvider.py
+67 −20 roveranalyzer/simulators/opp/provider/hdf/DcdMapProvider.py
+118 −19 roveranalyzer/simulators/opp/provider/hdf/IHdfProvider.py
+65 −7 roveranalyzer/simulators/opp/provider/hdf/tests/test_DcdMapProvider.py
+5 −21 roveranalyzer/simulators/opp/provider/hdf/tests/test_IHDFProvider.py
+6 −1 roveranalyzer/simulators/opp/provider/hdf/tests/utils.py
+411 −74 roveranalyzer/simulators/opp/scave.py
+79 −2 roveranalyzer/simulators/vadere/plots/scenario.py
+11 −11 roveranalyzer/utils/dataframe.py
+29 −0 roveranalyzer/utils/general.py
+14 −0 roveranalyzer/utils/logging.py
+86 −0 roveranalyzer/utils/plot.py
2 changes: 1 addition & 1 deletion analysis/suq-controller
Submodule suq-controller updated from f2d2a0 to 9d73a9
2 changes: 1 addition & 1 deletion crownet/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ clean: checkmakefiles
echo clean all build targets ...
-rm -f src/CROWNET_dbg
-rm -f src/CROWNET
-rm -f src/linCROWNET_dbg
-rm -f src/libCROWNET_dbg
-rm -f src/libCROWNET

cleanall: checkmakefiles
Expand Down
2 changes: 1 addition & 1 deletion crownet/simulations/cmp_vadere_sumo/omnetpp_sumo.ini
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ seed-set = ${repetition}
*.*Node[*].app[0].scheduler.typename = "IntervalScheduler"

# Beacon
*.*Node[*].app[1].app.typename = "BeaconSimple"
*.*Node[*].app[1].app.typename = "BeaconDynamic"
*.*Node[*].app[1].app.startTime = uniform(0s,0.02s)
*.*Node[*].app[1].socket.destPort = 30002
*.*Node[*].app[1].socket.localPort = 30002
Expand Down
2 changes: 1 addition & 1 deletion crownet/simulations/cmp_vadere_sumo/omnetpp_vadere.ini
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ seed-set = ${repetition}
*.pNode[*].app[0].scheduler.typename = "IntervalScheduler"

# Beacon
*.pNode[*].app[1].app.typename = "BeaconSimple"
*.pNode[*].app[1].app.typename = "BeaconDynamic"
*.pNode[*].app[1].app.startTime = uniform(0s,0.02s)
*.pNode[*].app[1].socket.destPort = 30002
*.pNode[*].app[1].socket.localPort = 30002
Expand Down
2 changes: 1 addition & 1 deletion crownet/simulations/coviCom21/omnetpp.ini
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ seed-set = ${repetition}
*.pNode[*].app[0].scheduler.generationInterval = 2s
# Beacon Application
*.pNode[*].app[1].typename = "BeaconApp"
*.pNode[*].app[1].app.typename = "BeaconSimple"
*.pNode[*].app[1].app.typename = "BeaconDynamic"
*.pNode[*].app[1].app.startTime = uniform(0s,0.02s)
*.pNode[*].app[1].scheduler.typename = "IntervalScheduler"
*.pNode[*].app[1].scheduler.generationInterval = 1s
Expand Down
92 changes: 92 additions & 0 deletions crownet/simulations/densityMap/application_settings.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#
# Default settings used by many simulations. Be carful when changing
# values here because it my break other simulations.
#

# Usefull network level default settings.
########################################################################


[Config pedestrian_beacon_map_udp]
**.cellSize = 5.0m
*.pNode[*].numApps = 2
*.pNode[*].app[*].socket.typename = "UdpSocketManager"
## Beacon ##
*.pNode[*].app[0].typename = "BeaconApp"
*.pNode[*].app[0].app.typename = "BeaconDynamic"
*.pNode[*].app[0].app.startTime = uniform(0s,50ms)
### Beacon scheduling ###
*.pNode[*].app[0].scheduler.typename = "IntervalScheduler"
*.pNode[*].app[0].scheduler.generationInterval = 100ms + uniform(0s, 50ms)

## Density Map ##
*.pNode[*].app[1].typename = "DensityMapApp"
*.pNode[*].app[1].app.typename = "DensityMapAppSimple"
*.pNode[*].app[1].app.startTime = 0s
*.pNode[*].app[1].app.mapCfg = crownet::MapCfgYmf{ \
writeDensityLog: true, \
mapTypeLog: "all", \
cellAgeTTL: -1.0s, \
idStreamType: "insertionOrder"}
### Density Map scheduling ###
# Schedule multiple packets in each interval
*.pNode[*].app[1].scheduler.typename = "IntervalScheduler"
*.pNode[*].app[1].scheduler.generationInterval = 4000ms + uniform(0s, 50ms)
*.pNode[*].app[1].scheduler.startOffset = 5s + uniform(0s, 50ms)
*.pNode[*].app[1].scheduler.numberPackets = -1
*.pNode[*].app[1].scheduler.amoutOfData = 200MB
*.pNode[*].app[1].app.maxPduLength = 1400B

## Log ##
*.fileWriterRegister.typename = "FileWriterRegister"
*.fileWriterRegister.register = { \
neighborhoodWriter: crownet::NeighborhoodEventWriter{filePath: "beacons.csv"} \
}
*.gloablDensityMap.writeMapInterval = 1000ms

## Neighborhood Table ##
*.pNode[*].nTable.typename = "crownet.neighbourhood.NeighborhoodTable"
*.pNode[*].nTable.maxAge = 5s # TTL


[Config misc_beacon_map_udp]
**.cellSize = 5.0m
*.misc[*].numApps = 2
*.misc[*].app[*].socket.typename = "UdpSocketManager"
## Beacon ##
*.misc[*].app[0].typename = "BeaconApp"
*.misc[*].app[0].app.typename = "BeaconDynamic"
*.misc[*].app[0].app.startTime = uniform(0s,50ms)
### Beacon scheduling ###
*.misc[*].app[0].scheduler.typename = "IntervalScheduler"
*.misc[*].app[0].scheduler.generationInterval = 100ms + uniform(0s, 50ms)

## Density Map ##
*.misc[*].app[1].typename = "DensityMapApp"
*.misc[*].app[1].app.typename = "DensityMapAppSimple"
*.misc[*].app[1].app.startTime = 0s
*.misc[*].app[1].app.mapCfg = crownet::MapCfgYmf{ \
writeDensityLog: true, \
mapTypeLog: "all", \
cellAgeTTL: -1.0s, \
idStreamType: "insertionOrder"}
### Density Map scheduling ###
# Schedule multiple packets in each interval
*.misc[*].app[1].scheduler.typename = "IntervalScheduler"
*.misc[*].app[1].scheduler.generationInterval = 4000ms + uniform(0s, 50ms)
*.misc[*].app[1].scheduler.startOffset = 5s + uniform(0s, 50ms)
*.misc[*].app[1].scheduler.numberPackets = -1
*.misc[*].app[1].scheduler.amoutOfData = 200MB
*.misc[*].app[1].app.maxPduLength = 1400B

## Log ##
*.fileWriterRegister.typename = "FileWriterRegister"
*.fileWriterRegister.register = { \
neighborhoodWriter: crownet::NeighborhoodEventWriter{filePath: "beacons.csv"} \
}
*.gloablDensityMap.writeMapInterval = 1000ms

## Neighborhood Table ##
*.misc[*].nTable.typename = "crownet.neighbourhood.NeighborhoodTable"
*.misc[*].nTable.maxAge = 5s # TTL

13 changes: 13 additions & 0 deletions crownet/simulations/densityMap/ip4Config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<config>
<interface hosts='*' address='10.10.x.x' netmask='255.255.255.0'/>

<!-- Add routes so that dynamic nodes can reach the server -->
<route hosts='router' destination='20.0.0.0' netmask='255.0.0.0' interface='ppp1' metric='1'/>
<route hosts='pgw' destination='20.0.0.0' netmask='255.0.0.0' interface='ppp0' metric='1'/>
<route hosts='eNB' destination='20.0.0.0' netmask='255.0.0.0' interface='cellular' metric='1'/>

<!-- all D2D-capable UEs participate in the multicast group -->
<multicast-group hosts="ueD2D[*]" interfaces="cellular" address="224.0.0.10"/>
<multicast-group hosts="ueCell[*]" interfaces="cellular" address="224.0.0.10"/>
<multicast-group hosts="misc[*]" interfaces="cellular" address="224.0.0.10"/>
</config>
102 changes: 102 additions & 0 deletions crownet/simulations/densityMap/mobility_provider.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Setup mobility provider
########################################################################

[Config withSumoBase]
*.traci.core.typename = "Core"
*.traci.core.version = -1
*.traci.core.selfStopping = false
*.traci.launcher.typename = "SumoLauncher"
*.traci.launcher.hostname = "sumo"
*.traci.launcher.port = 9999
*.traci.mapper.typename = "BasicModuleMapper"
*.traci.mapper.personType = "crownet.nodes.ApplicationLayerPedestrian"
*.traci.mapper.vehicleType = "crownet.nodes.ApplicationLayerVehicle"
*.traci.nodes.typename = "SumoCombinedNodeManager"
*.traci.nodes.personSinkModule = ".mobility"
*.traci.nodes.vehicleSinkModule = ".mobility"
*.traci.nodes.personNode = "pNode"
*.traci.nodes.vehicleNode = "vNode"
*.traci.subscriptions.typename = "BasicSubscriptionManager"
# actiavete visualisation. replace with "" empty string to deactivate
*.*Node[*].mobility.visualRepresentation = "^"

*.coordConverter.typename = "OsgCoordConverterSumo"
# UTM ZONE 32N
*.coordConverter.epsg_code = "EPSG:32632"
*.coordConverter.coreModule ="traci.core"
**.useVadere = false

[Config withSumoPeds]
extends = withSumoBase
**.ignoreVehicle = true
**.ignorePersons = false

[Config withSumoVehicles]
extends = withSumoBase
**.ignoreVehicle = false
**.ignorePersons = true

[Config withSumoBoth]
extends = withSumoBase
**.ignoreVehicle = false
**.ignorePersons = false


[Config withVadere]
*.traci.core.typename = "VadereCore"
*.traci.core.version = -1
*.traci.core.selfStopping = false
*.traci.launcher.typename = "VadereLauncher"
*.traci.launcher.hostname = "vadere"
*.traci.launcher.port = 9998
*.traci.mapper.typename = "VadereModuleMapper"
*.traci.mapper.personType = "crownet.nodes.ApplicationLayerPedestrian"
*.traci.nodes.typename = "VadereNodeManager"
*.traci.nodes.personSinkModule = ".mobility"
*.traci.nodes.vehicleSinkModule = ".mobility"
*.traci.nodes.personNode = "pNode"
*.traci.subscriptions.typename = "VadereSubscriptionManager"
# actiavete visualisation. replace with "" empty string to deactivate
*.*Node[*].mobility.visualRepresentation = "^"

*.coordConverter.typename = "OsgCoordConverterVadere"
*.coordConverter.coreModule ="traci.core"
**.useVadere = true
*.gloablDensityMap.useSignalMapInit = true

[Config noTraCI]
*.traci.typename = ""
*.flowController.typename = ""
*.hasStoryboard = false
# if gloablDensityMap is used do not use signal initialization (requieres traci)
*.gloablDensityMap.useSignalMapInit = false


[Config noTraCI_mf_l]
extends = noTraCI
# bounds based on munich.net.xml
*.coordConverter.typename = "OsgCoordConverterLocal"
*.coordConverter.srs_code = "EPSG:32632"
*.coordConverter.offset_x = -689405.84 m
*.coordConverter.offset_x = -5335147.07 m
*.coordConverter.xBound = 5325.50m
*.coordConverter.yBound = 4232.08m


[Config noTraCI_mf_m]
extends = noTraCI
# bounds based on vadere scenarios circle/mf_dynamic_m
*.coordConverter.typename = "OsgCoordConverterLocal"
*.coordConverter.srs_code = "EPSG:32632"
*.coordConverter.offset_x = -692152.0894735109m
*.coordConverter.offset_x = -5337384.6661008m
*.coordConverter.xBound = 415.50m
*.coordConverter.yBound = 394.08m

[Config gui_vis_munic_clean]
*.coordConverter.typename = "OsgCoordConverterSumo"
*.coordConverter.netFile = xmldoc("sumo/munich/munich.net.xml")
*.visualization.sceneVisualizer.typename = "OpenStreetMapSceneCanvasVisualizer"
*.visualization.sceneVisualizer.mapFile = xmldoc("sumo/munich/osm/munich_clean.osm")
*.visualization.sceneVisualizer.coordinateSystemModule = "coordConverter"
*.visualization.sceneVisualizer.zIndex = -1

0 comments on commit 04288b3

Please sign in to comment.