Experimental Subsystem health checker mlp

The goal here is to have a predictive model to check the “health” of subsystems by analyzing logs. this will potentially help with checking for mechanical problems more efficiently.

using pytorch I train an mlp (multi layer perceptron) on features such as system velocity, system position, and supply voltage, with an output (label) of acceleration of the system for example. with this we can compare the real
acceleration and prediction, and tell weather or not the system is ok.

I made it so you can choose the input and output variables to analyze from the wpilogs given, and can also choose the layer sizes of the model.

by clicking calculate we train the model

then we can test any wpilogs from the toTest folder

test outcomes:
“healthy system”: R^2 Score: 0.7926
“broken system (by limiting supply current to quite low)”: R^2 Score: -0.5637
“even more broken (limiting supply current more)”: R^2 Score: -0.8172

Im interested to see if anyone has ideas for this and to hear thoughts

you will need to manuallu put wpi logs into the corrent folders for now

1 Like

I have no idea if I’d actually use this, but I’m certainly intrigued!

1 Like

I’d recommend comparing it to something as simple as static threshold checking or by computing some sort running average and if you exceed it then alert.

Not that this isn’t cool, but I always like the compare things to the simplest possible implementation.

1 Like