usdot-fhwa-OPS / V2X-Hub

V2X Hub is a message handler that acts as a translator and data aggregator/disseminator for infrastructure components of a connected vehicle deployment.
118 stars 67 forks source link

MUST Sensor Driver #618

Closed paulbourelly999 closed 3 weeks ago

paulbourelly999 commented 1 month ago

PR Details

Description

MUST Sensor Driver Plugin

Adding MUST Sensor Driver to V2X-Hub. Documentation on MUST Sensor Driver will be included in README. This new plugin is responsible for consuming UDP CSV (Comma Separated Values) string packets that represent detections from the MUST Sensor. These will be converted into SensorDetectedObject which can be forwarded to the CARMA Streets Sensor Data Sharing Service to create SDSMs (Sensor Data Sharing Messages).

Sensor Detected Object

This PR includes updates to the SensorDetectedObject TMX message including removing references to simulation since this message will no longer be exclusively used in simulation. This PR also includes adding fields and JSON serialization methods to the SensorDetectedObject. This was previously unnecessary since incoming messages from CDASim (our simulation environment) were already JSON strings and were just passed via payload.

UDP Server

This PR also includes updates to the UDPServer class in TMX Utils. It provides a method to directly consume string payloads from the UDPServer. Many users of the UDP Server have to write this logic when they use the UDP Server. Adding it to the class is in an effort to reduce duplication of this logic across V2X-Hub.

Future Improvements

This PR further highlights the needs to address/fix https://github.com/usdot-fhwa-OPS/V2X-Hub/issues/561 which currently prevents from correct JSON serialization and deserialization of TMX messages and prevents defining messages with nested objects.

Related Issue

FCP-3 (Design) FCP-4 (Implementation)

Motivation and Context

Freight Cooperative Perception

How Has This Been Tested?

Unit testing and script based integration testing. For instructions for script based integration testing refer to Functionality Testing section of the README document.

Types of changes

Checklist:

sonarcloud[bot] commented 3 weeks ago

Quality Gate Failed Quality Gate failed

Failed conditions
45.65% Line Coverage on New Code (required ≥ 80%)

See analysis details on SonarCloud