riebl / artery

OMNeT++ V2X simulation framework for ETSI ITS-G5
GNU General Public License v2.0
203 stars 131 forks source link

Mt-its2017 - DOUBTS #220

Closed jai9318 closed 1 year ago

jai9318 commented 3 years ago

Hello sir, I have been referring the mt-its2017... Which is dynamic scenario control for VANET simulation

1) at simulation time t1 the ttc between vehicle1 and vehicle2 falls below 1.5 seconds

2) In this I am not able to get to know how to see Irc request generated

3) the irc denm is generated by vehicle2 ... the generated irc is generated via geo broadcast to all surrounding Vehicles

4) vehicle1 recieves Irc request at t2 and vehicle3 at t3. Thus both vehicles create irc responses which are sent back to vehicle2 at t4 and t5

For all these question which I have been referring the paper as mentioned at the starting ...

I am able to get to know how to see

1) mainly how the vehicle has applied breaking because of critical situation,ttc etc as mentioned In the paper 2) when the car has entered the simulation 3) when has it requested/responded/generated the irc/Irc denm

For all these steps would be helpful to see or track the output I know sir this is really basic but I am still new to it all. Please help me

Thanks

riebl commented 3 years ago
  1. Vehicles are running the DenService, which has several "use case" modules. One of these modules is the ImpactReductionContainerExchange, which listens for an "irc" signal triggered by the storyboard. See the mt-its2017.py file, where this signal is configured as the effect of a TTC condition. No breaking is involved in this particular use case, though.
  2. Either just observe the OMNeT++ canvas where the nodes move around or run the MT-ITS2017 scenario in its "sumo-gui" configuration. With this configuration, SUMO is run with its graphical interface. It is also possible to create OMNeT++ result files where the vehicle positions are logged. The timestamp of the first recorded position is the insertion time of the respective vehicle.
  3. The DenService emits "DenmSent" and "DenmReceived" signals which can be recorded by OMNeT++ as well.
jai9318 commented 3 years ago

Okay sir.

1)After completing the simulation I have got results file Where it has .vec , .sca , .log file . So if I am looking the timestamp recorded it has many nodes as World[]. node [].wlan. this I got it.

But after wlan. There are lot of confusion ie., rcv , etc And many things I have so which I should I see for denm sent and received.

Thanks

riebl commented 3 years ago

Would you please familiarise yourself with the excellent OMNeT++ documentation at https://omnetpp.org/documentation/ The documentation covers all you need to know on how to record and process result files.

jai9318 commented 3 years ago

Okay sir, I went through it. 1)But confusing is den service name like recieved or sent. Mainly where to look out for den service 2) similar how will I get to know as irc request mainly how to see.

I have gone through the omnet++ document. I now able to see the output but mainly.. Names are making me confuse. And even still confused to see the timestamp at what time actually the car has entered the simulation.

I am basically getting confused with NAMES

For example : world.node.[25].wlan[0].mac

Instead of . mac there are many things like

. radiochannel .radio .pktrcll .pktrchl

Etc This is where I am getting confused.

Thanks

jai9318 commented 3 years ago

How can I check in omnet++ the timestamp of Irc requested and because according to the manual I went... I am exactly not able to get to know... About Irc requested ....

It would be really helpful.. The methodology in the manual is quite different when i want to see the output in artery so it would be really helpful for me If I get to know

riebl commented 3 years ago

Sorry, I don't even understand your question.

jai9318 commented 3 years ago

Okay I went through the document which you sent me. After make run_mtits2017 1)I am getting results file. In that i have these files IMG_20210824_131244

2) After completing the simulation I will open the omnet++ and import to working directory. And create the analysis file which is .anf file. Through that I will see the representation. But in that how I will get to know . about the irc request from particular node.. which has been communicated. Same applies for ca, den , denm because I have many node which should be considered.

For example node name is: world.node.[25].wlan[0].mac

3)In this case I should only concentrate on Irc scenario part which is three red colored Vehicle. So I.want about the timestamp irc request and How will I get to know... I know these are basics but still making me too much of confusion

Please help me

riebl commented 3 years ago

Not all data occurring during simulation is actually recorded because the result files would be huge. For example, you need to explicitly enable the recording of CaService's reception and transmission statistics by adding

*.node[*].middleware.CA.transmission.result-recording-modes = all
*.node[*].middleware.CA.reception.result-recording-modes = all

to your omnetpp.ini. The same applies to the statistics of the DenService.

The Impact Reduction Container (IRC) is a DEN use case, so any related data is prefixed by the path of the DEN service module, e.g. world.node[25].middleware.DEN. The reception and transmission statistics of the DenService include the denmCauseCode vector, so you have to look for values of 97 (the code for collision risk used by IRC) among all recorded DENMs.

jai9318 commented 3 years ago

Some what I am getting ..

1) how can I add irc which is a den use case in .ini file. 2) so the name shall be in for ex world.node[25].Middleware.DEN for irc right ? 3). where can I add the lines which you mentioned about caservice 4) values of 97 didn't understand ?

riebl commented 3 years ago
  1. The MT-ITS 2017 scenario to which this issue ticket refers includes the IRC use case already, see scenarios/mt-its2017/usecases.xml.
  2. Almost, it is lowercase middleware.
  3. As I have written previously, you have to configure the result recording modes in the omnetpp.ini file. Value 97 is the cause code number identifying collision risk use cases. This number comes from the DENM definition by ETSI. See extern/vanetza/asn1/TS102894-2v131-CDD.asn at line 132: https://github.com/riebl/vanetza/blob/772d7e36a2f1919c9bd3141ccfa921ca0c1cfb89/asn1/TS102894-2v131-CDD.asn#L132
jai9318 commented 3 years ago

Okay thanks What will be the line for irc if I want to add In .ini file and where can I add it

riebl commented 3 years ago

Add to omnetpp.ini:

*.node[*].middleware.DEN.transmission.result-recording-modes = all
*.node[*].middleware.DEN.reception.result-recording-modes = all

There is no dedicated setting for IRC because it is simply a DEN use case.

jai9318 commented 3 years ago

So while seeing the graph in omnet i need look for den service .. 1) That is for example world.node[25].middleware.den. Am I right ? 2) values code 97 how to look on output graph didn't got ?

riebl commented 3 years ago

With the described result recording settings, I have a vector named "World.node[2].middleware.DEN transmission:vector(denmCauseCode)" for which several entries with value "97" exist. Hence, the vehicle "node[2]" is known to transmit IRCs. There is also a vector named "World.node[4].middleware.DEN reception:vector(denmCauseCode)" which lists values "1" and "97", i.e. this vehicles receives IRC DENMs but also other DENMs (1 is related to traffic conditions).

jai9318 commented 3 years ago

Ya sir I got these.. Is there any way I will get to know that one particular node has received irc denm to another particular node... For example. World node[4] has received irc denm from world node [2]. ?

riebl commented 3 years ago

Yes, you can match the denmActionId found in the transmission vectors with those found in the reception vectors.

jai9318 commented 3 years ago

How can I match sir.. Getting me confused so.

riebl commented 3 years ago

Every transmitted DENM has a unique denmActionId: For each received denmActionId you can scan all DEN transmission vectors for the equal denmActionId. Thereby you can look up the transmitting node of the respective DENM.

jai9318 commented 3 years ago

Okay sir 1) Is there any way to scan like step would be helpful 2) Not getting to know where to look up the transmitting node. 3) well is it that in the omnet++ that it shows to which node it has communicated for ex node[2] -> node [4] in console window With an animation as blue line that message transferring ?

I know sir I am asking a lot... I am using this for my academic work.

riebl commented 3 years ago

I recommend using your preferred scripting language to process the result files. For example, you can convert the result files into CSV files with OMNeT++'s scavetool and create more advanced queries after loading the CSV files in Python.

The module name of the "transmission:vector(denmCauseCode)" vector tells you which node has been transmitting the respective DENM.

Sorry, I have no easier solution for you and also cannot guide you through this task every single step.