diff --git a/interfaces/GenericSensor/GenericSensor.proto b/interfaces/GenericSensor/GenericSensor.proto new file mode 100644 index 0000000000000000000000000000000000000000..a47a7fd37672a1898c055659c153bcd0575a37f8 --- /dev/null +++ b/interfaces/GenericSensor/GenericSensor.proto @@ -0,0 +1,84 @@ +syntax = "proto3"; + +message RFIDRawDataEvent { + string timestamp = 1; // https://en.wikipedia.org/wiki/ISO_8601 + string tagId = 2; + string type = 3; + string scannerId = 4; + string location = 5; +} + +message NFCRawDataEvent { + string timestamp = 1; + string tagId = 2; + string type = 3; + string scannerId = 4; + map<string, string> tagData = 5; +} + +message BarcodeRawDataEvent { + string timestamp = 1; + string tagId = 2; + string type = 3; + string scannerId = 4; +} + +message OtherProxRawDataEvent { + string timestamp = 1; + string tagId = 2; + string type = 3; + string scannerId = 4; + map<string, string> data = 5; +} + +message BluetoothRawDataEvent { + string timestamp = 1; + string sensorId = 2; + map<string, string> distances = 3; // beacon-id -> distance + string type = 4; + map<string, string> rss = 5; // beacon-id -> rss + +} + +message UWBRawDataEvent { + string timestamp = 1; + string sensorId = 2; + map<string, string> distances = 3; // beacon-id -> distance + string type = 4; +} + +message OtherBeaconRawDataEvent { + string timestamp = 1; + string sensorId = 2; + map<string, string> distances = 3; // beacon-id -> distance + string type = 4; + map<string, string> data = 5; +} + +message IMURawDataEvent { + string timestamp = 1; + string sensorId = 2; + float yaw = 3; // angular rate (rad/s), https://en.wikipedia.org/wiki/Aircraft_principal_axes#Transverse_axis_(pitch) + float pitch = 4; + float roll = 5; + float x = 6; // linear acceleration, m/(s^2) + float y = 7; + float z = 8; +} + +message PositionEvent { + string timestamp = 1; + IposPosition position = 2; +} + +message IposPosition { + string refSystemId = 1; // e.g., "WGS84" if absolute position; Ipos-FW should communicate ids of local reference systems to the position sensor during intialization + IposPoint3D point = 2; + float accuracy = 3; // object is with 95% probability within x metres of this point (gaussian distribution) +} + +message IposPoint3D { + 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) +} diff --git a/interfaces/GenericSensor/README.md b/interfaces/GenericSensor/README.md new file mode 100644 index 0000000000000000000000000000000000000000..cdf1a6ca37c117e4a6eab56c67c6fede3fab4847 --- /dev/null +++ b/interfaces/GenericSensor/README.md @@ -0,0 +1,4 @@ +# GenericSensor Protobuf Definition + +This protobuf data model describes the exchange data format between different types of sensors and the IPos framework +