Total Productive Maintenance on Industrial Robots
Remaining Useful Life prediction for a fleet of 50 robots assigned to nuclear fuel replacement: particle filtering on noisy crack-growth measurements, survival analysis with a Gradient Boosting survival model tuned on concordance index, a multi-task LSTM forecaster, and an economic framing of replacement decisions under fleet constraints.
mriusero/predictive-maintenance-on-industrial-robotsThis project develops predictive maintenance models for industrial robots in nuclear fuel replacement, leveraging data analytics, machine learning, and decision-making frameworks to optimize robot fleet management and extend operational uptime. Key phases include data exploration, feature engineering, RUL prediction, and maintenance decision-makingThe subject
In an environment as critical as nuclear fuel replacement, robot downtime is not an option. The brief: given the degradation histories of a fleet of 50 robots, predict which ones will survive the next six months and decide when to replace them. The cost model encodes the real economics of maintenance: a missed failure costs twice what a correct prediction earns, and replacing a robot early is penalized in proportion to the useful life thrown away. Neither too late, nor too early.
Extracting signal from noisy physics
Each robot can die three ways: infant mortality from manufacturing defects, random control-board failures, and fatigue cracking measured monthly. Crack growth follows a logistic law whose material parameters drift over time, observed through noisy measurements, which makes the raw series unusable as-is.
- The degradation is modeled as a state-space system: latent logistic growth with process noise on its three parameters, plus observation noise on the measurement.
- A 1,000-particle particle filter estimates, per robot, the latent crack length and the three degradation coefficients over time.
- The filtered series and the estimated coefficients then feed the models as features, alongside static and rolling statistics, lag and ratio variables, and a trend, seasonality and residual decomposition of each series.
- The feature set is screened through correlation analysis and variance inflation factors to control multicollinearity; feature importance later confirms the engineered variables outweigh the raw measurement.

Three models, one verdict
- Random Forest classifier: rejected. It classifies a failure mode for every robot but cannot say whether a failure will actually occur within the window.
- Multi-task bidirectional LSTM, three stacked recurrent layers with a regression branch and a classification branch: forecasts six months of crack growth and classifies the failure mode. By construction it only catches failures driven by crack length, not the early random ones.
- Gradient Boosting survival model (scikit-survival), hyperparameters searched with Optuna by maximizing the censored concordance index: the retained model. It predicts the probability of failure within six months per robot: 96% accuracy, ROC-AUC 0.99, and 25 missed failure months against 695 correctly cleared ones.
Tested on truncated sequences, the LSTM prolongs each degradation trajectory month by month, on both the measured and the filtered series: this is the extension the decision framing relies on when no failure is predicted within the window.


An AUC of 0.99 gets diagnosed rather than celebrated: on field data, a score that clean almost always signals leakage. Here it is largely explained by the benchmark itself, degradation simulated from a known logistic law and a pseudo-test set drawn from the same generative process as the training data. The honest conclusion: the model has captured the physics of the benchmark, and transferring that score to a real fleet would require stricter validation first, robot-level splits and temporally held-out windows.
From prediction to decision
Predicting is only half the problem. The decision framing translates survival probabilities into pre-mission replacement arbitration under a fleet constraint: each mission requires at least ten operational robots, fails if three or more break down, and every preventive replacement is charged a fraction of the remaining life it sacrifices. The survival model provides the failure risk, the LSTM forecaster extends the degradation trajectories, and the cost structure decides.
Packaging
The whole pipeline runs from a dockerized Streamlit application: data exploration, particle filtering, training with optional hyperparameter search, and prediction. Validation relies on a pseudo-test set generated by randomly truncating complete degradation sequences, reproducing offline the conditions the model would face in operation: predicting from in-progress degradation histories.
What the project demonstrates
The bridge between my industrial background (TPM, reliability, fleet management) and modeling: state estimation on noisy physics, survival analysis carried all the way to the economic decision, and metrics read critically rather than taken at face value. That last reflex, treating a 0.99 AUC as a symptom to investigate before a result to report, is exactly the discipline that evaluating AI systems in production demands.