eclipse-sdv-blueprints / fleet-management

A close to real-life showcase for truck fleet management where trucks run an SDV software stack so that logistics fleet operators can manage apps, data and services for a diverse set of vehicles.
Apache License 2.0
16 stars 10 forks source link

Support sampling of signals in vehicle at higher frequency #2

Open sophokles73 opened 1 year ago

sophokles73 commented 1 year ago

So far, the signals in the vehicle are being sampled at discreet points in time only, triggered by arbitrary events like a timer firing (e.g. every 5s) or the engine being started etc. This seems to be in line with the requirements of the rFMS spec but also means that the data points being transferred to the back end are quite sparsely distributed over time and do not allow for more than very basic analysis.

On the other hand, continuously sampling the signals at a high frequency, say 10 Hz, could potentially lead to a lot of (duplicate) data being transferred to the back end. A reasonable compromise might be to apply the curve algorithm to sampled data as suggested by GEOTAB.

There also is an example implementation in Python available on GitHub which could potentially be ported to Rust and employed in the FMS Forwarder.

tguild commented 1 year ago

@sophokles73 - Hi Kai,

I've successfully lobbied for us at Geotab to open source a Rust implementation that Sven inquired about as well as the accompanying error thresholds for the signals in the Commercial Vehicles recommendations signals list

I'm still trying to get time from the developer who wrote that version, typical resources/priority conversation but hope to streamline.

For comparison purposes and in case there is delay, it might be worth having both the current sampling guidelines and then add curve when I can line things up.

sophokles73 commented 1 year ago

Hey @tguild, that's great news :-)

@eriksven and I can help you getting started with the code base once you are set ...

tguild commented 9 months ago

@sophokles73 and @eriksven - initial release of curve in Rust is now available.

https://github.com/Geotab/curve/tree/main/rust