riebl / artery

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

Using Car Node #36

Closed 1140464BV closed 5 years ago

1140464BV commented 5 years ago

Dear all,

I'm having a doubt on integrating artery into my project. My current project has a MANET including some custom nodes that "represent" cars, my idea is to replace them implementing Artery components in it, the goal is to get all communications done using ETSI ITS-G5.

What sould be the best approach? use Car.ned as my nodes and alter their source code in order to implement my applications over it, or change my custom nodes code in order to copy the modules included in Car.ned? For example, how is node's mobility implemented on your project? Is there any code example I can access for a successfull running simulation?

Other question is regarding CAM message forwarding, are them compliant to what they should do in platooning situations?

Best regards, Bruno Vieira

Venturina commented 5 years ago

Hi,

As I do not know your project, I think it's hard to tell which approach would be the best for you.

How to run an artery example simulation is explained in readme's section "Running Artery" (https://github.com/riebl/artery#running-artery)

CAMs are generated and transmitted according to the ETSI ITS G5 standard documents. They don't do anything specific in platooning situations.

1140464BV commented 5 years ago

My project revolves around a connection with a robotic simulator where a platooning is running and messages are being exchanged on OMNET nodes and postponed into the other simulator for platooning control. I want the messages exchanged between my OMNET nodes to be CAM messages and the environment to resemble a ETSI ITS-G5 compliant medium...

I already ran successfully your example, but can't find the files that set him up, that's my doubt.

You are wrong, CAM's actually have a designated behaviour for platooning situations on how transmission should work: image

This behaviour would be something I would be interested in getting done, so even if artery doesn't comply with this, if I can be able to control the CAM's sending between nodes this can be easily implemented.

riebl commented 5 years ago

@1140464BV Your image just shows the CAM generation rules. These rules are independent of any platoon, i.e. even a sole vehicle will generate CAMs at given event occurrences. Please have a look at src/artery/application/CaService.cc: CaService::checkTriggeringConditions is exactly implementing aforementioned rules.

If the existing OMNeT++ part of your project is small you might want to copy these modules to Artery for the sake of simplicity.

1140464BV commented 5 years ago

You are right, those are general and seem to be implemented.

About the integration of artery on my project I think it should be discussed privately so I can expose deeply my project. I would ask if you could send me an e-mail so we could get in touch: bffbv@isep.ipp.pt

Thank you