Closed danieladriano closed 5 years ago
Hi @danieladriano,
latitude and longitude are encoded as "tenth of microdegree" in GBC headers (see https://www.etsi.org/deliver/etsi_en/302600_302699/3026360401/01.03.01_60/en_3026360401v010301p.pdf Table 14). Our protobuf message (see TransfusionMsg.proto) follows this convention. Multiplying the raw numbers with * 0.1 * microdegree
"attaches" the appropriate unit (in terms of Boost.Units) to them.
Is your RSU a physically existing device? TransfusionService
is a service meant for coupling Artery with external tools/devices. If your RSU is purely an OMNeT++ module then fiddling with TransfusionMsg
may lead you in the wrong direction.
Regards, Raphael
Hi @riebl,
Thanks for the explanation about the conversion.
My RSU is purely an OMNeT++ module. I created a service and configured it in the RSU middleware in omnet.ini. Do you have another example about the use of RSU or GeoBroadcast?
Thanks, Daniel
Unfortunately, there is no RSU service included in Artery yet. I know, however, that a PhD student from France is working on such a use case using Artery.
You can have look at DenService::fillRequest
and TrafficJamEndOfQueue::createRequest
to see how the request data structure is filled for DENMs disseminated via GBC. Of course, you don't need to split up the code the same way, this is just a particularity of our DEN implementation.
Hi Raphael, I can share with you the modifications That I added to integrate RSU DENM service. You can see this gist https://gist.github.com/MounaKaroui/ea65ce3d69975f07f21858a5e8011ffd I developed Roadwork Use case, but I can't share the specification because of confidential issues; Regards, Mouna
Maybe we can create a general skeleton of an RSU DENM use case. And then we can integrate it in Artery.
Hi,
Thanks for the help @riebl and @MounaKaroui. I will try to implement the RSU service, based on the DenService example and the Mouna modification.
On the skeleton, I think it's a good idea and maybe I can help you if necessary, Mouna.
Regards, Daniel
Hello everybody,
just came across this exact issue when trying to develop an RSU DEN service, did any of you adapt the UseCase.cc to work with RSU?
P.S. this is the error when using a DEN service in an RSU, it comes from the provided UseCase.cc including VehicleDataProvider.h that is not supported by RSU, given RSU is not a vehicle?
Error: no valid object of type 'N6artery19VehicleDataProviderE' registered -- in module (artery::den::IcyRoadRSU) World.rsu[0].middleware.DEN.IcyRoadRSU (id=155), during network initialization
@ruipatcheco There is no VehicleDataProvider
in RSUs for obvious reasons. We could eliminate DenService
's current dependency on this class by looking up its station ID in the associated Identity
and creating a RSU station ID in StationaryMiddleware::initializeIdentity
.
Please open a new issue ticket if you need this feature to keep the concerns separated, thanks.
@ruipatcheco There is no
VehicleDataProvider
in RSUs for obvious reasons. We could eliminateDenService
's current dependency on this class by looking up its station ID in the associatedIdentity
and creating a RSU station ID inStationaryMiddleware::initializeIdentity
. Please open a new issue ticket if you need this feature to keep the concerns separated, thanks.
Hi,
Yes of course, will do, I'm sorry.
Best regards
Hi,
I'am trying implement the GeoBroadcast in my research.
The idea is a application hosted on a RSU send some messages to certain area. I see the code in TransfusionService.cc, but i cant understand. Why is latitude and longitude multiplied by 0.1 and microdegree?
Thanks.