(2024-02-04, 03:43 AM)seandepagnier Wrote: A lot to unpack, and sorry if I am brief
...
We have to input time-series data. So at 20 updates per second, with 9 inertial sensors, this is 180 inputs per second. If we were to feed the previous 10 seconds of intertial data this is 1800 inputs. There can likely be ways to optimize/decimate this. There are also other inputs like gps, wind, rudder, motor current and many others including potentially cameras (which can add orders of magnitude more input considering video of previous 10 seconds)
I think I'll "unpack" it to one thought per post.
I haven't dived into your code. Like I mentioned, I don't read Python all that well.
I assume(d) that PyPilot only needs to listen to the OpenMarine network for the re-sent Singnal-K messages and had some cyclic buffer to retain the samples necessary to do any time domain issues and or Kalman filtering.
You might take a look at a sub-class of problems using Recurrent Neural Network (RNN). Here is a study that illustrates the power of it. Considering the minimal input, the system was able to do some remarkable goals. https://www.researchgate.net/publication...bile_Robot
In a nut-shell, the ANN maintains a running historic data and if implemented as I suspect it could, it could eliminate the need to feed historic data and thus fall back to a parameter count being equal to the sensor count.
Having never used TensorFlow, I don't know if it might already have RNN and thus be an easy migration.