From 425e7dbee0ea2e3c75344f85a6ea72d0cff80250 Mon Sep 17 00:00:00 2001 From: Frank Rohde <frank.rohde@tu-dresden.de> Date: Fri, 25 Mar 2022 12:58:44 +0100 Subject: [PATCH] added OSM-extension protobuf specification --- interfaces/OSM/OSM.proto | 60 ++++++++++++++++++++++++ interfaces/OSM/README.md | 3 ++ interfaces/SimpleScene/SimpleScene.proto | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 interfaces/OSM/OSM.proto create mode 100644 interfaces/OSM/README.md diff --git a/interfaces/OSM/OSM.proto b/interfaces/OSM/OSM.proto new file mode 100644 index 0000000..77eebeb --- /dev/null +++ b/interfaces/OSM/OSM.proto @@ -0,0 +1,60 @@ +syntax = "proto3"; + +package ipos.models; + +message OSMOutputWrapper { + repeated OSMObject objects = 1; +} + +message OSMExtInputWrapper { + repeated OSMMonitoringTarget monitoringTargets = 1; +} + +message OSMMonitoringTarget { + string monitorintTaskId = 1; + string protocol = 2; +} + +message OSMObject { + string id = 1; + string sensorId = 2; + string type = 3; + string sensorType = 4; + OSMPosition position = 5; + OSMOrientation orientation = 6; + string lastPosUpdate = 7; // https://en.wikipedia.org/wiki/ISO_8601 + repeated OSMZoneDescriptor zoneDescriptors = 8; // contains information about all zones that the current position of this object belongs to + OSMExtractedAttributes extractedAttributes = 9; +} + +message OSMPosition{ + string refSystemId = 1; // e.g., "WGS84" if absolute position, "ROOT" for testcases or if specific absolute position is actually irrelevant + OSMPoint point = 2; + float accuracy = 3; // object is with 95% probability within x metres of this point (gaussian distribution) + +} + +message OSMPoint{ + float x = 1; // pos in x direction in m + float y = 2; // pos in y direction in m + float z = 3; // pos in z direction in m (up) +} + +message OSMOrientation{ + float x = 1; // quaternion notation + float y = 2; // if the quaternion is (0,0,0,0) + float z = 3; // there is no orientation + float w = 4; // available +} + +message OSMExtractedAttributes{ + float batteryChargeLevel = 1; + repeated int32 loadedItems = 2; + repeated int32 errors = 3; + float theta = 4; +} + +message OSMZoneDescriptor{ + string zoneId = 1; + string notificationType = 2; // may be ExitNotification or EntryNotification +} \ No newline at end of file diff --git a/interfaces/OSM/README.md b/interfaces/OSM/README.md new file mode 100644 index 0000000..7ceea58 --- /dev/null +++ b/interfaces/OSM/README.md @@ -0,0 +1,3 @@ +# OSM Protobuf Definition + +This protobuf data model is a description of the messages sent to the OpenStreetMap-application ("frontend"). \ No newline at end of file diff --git a/interfaces/SimpleScene/SimpleScene.proto b/interfaces/SimpleScene/SimpleScene.proto index 6fdbc6e..e2ed5a6 100644 --- a/interfaces/SimpleScene/SimpleScene.proto +++ b/interfaces/SimpleScene/SimpleScene.proto @@ -14,7 +14,7 @@ message IposConfigWrapper { // wrapper-message for configuration-topic message IposMonitoringWrapper { repeated IposPositionEvent iposPositionEvents = 1; - repeated IposMsgRcvEvent iposMsgRcvEvent = 2; + repeated IposMsgRcvEvent iposMsgRcvEvents = 2; } message IposObjectConfig { -- GitLab