RotorVitals — Monitoreo de Condición y Pronóstico de Maquinaria Rotativa
Un banco de trabajo de monitoreo de condición y pronóstico para maquinaria rotativa (con foco en rodamientos), corriendo sobre vibración real medida. Un selector de fuente alterna entre un generador de señal sintética, segmentos de diagnóstico reales (CWRU / Ottawa con order-tracking / MaFaulDa) y trayectorias reales run-to-failure (FEMTO / XJTU / IMS). Una cadena DSP clásica, un WDCNN aprendido + autoencoder profundo, y una escalera de 4 modelos de RUL corren en vivo vía onnxruntime-web. Honesto por diseño: lo sintético etiquetado como tal, la transferencia cross-dominio marcada, relaciones de frecuencia exactas.
Contexto de Negocio
La falla no planificada de un chancador o una correa detiene una línea; el monitoreo de condición existe para convertir eso en una intervención planificada, atrapada con días o semanas de anticipación. El valor acá no es solo un diagnóstico sino uno defendible: nombra el elemento que falla Y proyecta una vida útil remanente con banda de incertidumbre, y es honesto sobre cuándo se puede confiar en el modelo aprendido — mostrando, sobre datos reales, dónde gana el deep learning (en distribución) y dónde gana la física (cross-equipo), en vez de un único número favorecedor.
Valor Estratégico
RotorVitals demuestra un stack completo de monitoreo de condición a pronóstico corriendo enteramente del lado del cliente sobre datos reales públicos, con la disciplina de reportar sus propios modos de falla: un WDCNN entrenado en CWRU que acierta una severidad pero colapsa en otra, y que puntúa cerca del azar cross-equipo en MFPT mientras el análisis de envolvente sin entrenamiento transfiere casi perfecto — la lección honesta de que el deep learning gana en distribución y la física gana fuera de distribución. El lado de RUL es una escalera real de modelos, de forma cerrada a Bayesiano a profundo, evaluada contra 36 trayectorias reales run-to-failure. Es un patrón reutilizable para monitoreo explicable, en el dispositivo y honestamente acotado de equipos rotativos.
El Desafío
Los equipos rotativos — chancadores, correas, bombas, ventiladores — fallan más seguido en el rodamiento, y la falla incipiente está enterrada en la vibración, enmascarada por todo lo demás que gira. Detectarla temprano es de alto valor, pero las preguntas útiles van más allá de "¿algo anda mal?": qué elemento se degrada, si el modelo es confiable sobre datos con los que no se entrenó, y cuánto falta para la falla. La mayoría de las herramientas responde solo la primera, con un número de caja negra que no puedes auditar en una decisión de seguridad.
Nuestro Enfoque
RotorVitals es un banco de trabajo en el navegador con un selector de fuente de primer nivel que decide sobre qué opera todo: un generador sintético con base física (tipo de falla, severidad, rpm, SNR como controles en vivo); segmentos de diagnóstico reales de CWRU (el dominio nativo del clasificador), Ottawa (velocidad variable, con order-tracking para que las frecuencias de defecto queden en órdenes constantes y sea posible una vista Campbell real) y MaFaulDa; y trayectorias reales run-to-failure de FEMTO/PRONOSTIA, XJTU-SY e IMS. Sobre el dato elegido corre tres capas en vivo: una cadena DSP clásica (envolvente/SES, kurtograma/infograma, cicloestacionario, cepstrum, Campbell/orden, zonas ISO de velocidad), una capa aprendida (un clasificador WDCNN y un autoencoder profundo como indicador de salud, ambos ONNX, in-domain en CWRU y cross-dominio-etiquetado en el resto), y una escalera de cuatro modelos de vida útil remanente (first-passage clásico, filtro de partículas, proceso gaussiano y una CNN de RUL profunda) proyectando contra el tiempo de falla real del experimento. Todo del lado del cliente: DSP en TypeScript más onnxruntime-web, estático en GitHub Pages.
Indicadores Clave de Rendimiento
| KPI | Línea Base | Resultado | Impacto |
|---|---|---|---|
| Qué te dice el resultado | Umbral de RMS: "algo anda mal" | TIPO de falla en su línea cinemática + una RUL proyectada con banda de incertidumbre | Planificar la intervención correcta y su momento |
| Honestidad del diagnóstico | Accuracy de caja negra en un equipo limpio | Curva de robustez a SNR + test de transferencia cross-dataset (WDCNN vs física) en datos reales | Ves dónde falla el modelo, no un solo número favorecedor |
| Datos | Necesita un set propietario etiquetado | En vivo sobre 4 datasets reales públicos (CWRU, Ottawa, MaFaulDa; FEMTO/XJTU/IMS) + MFPT cross-eval | Reproducible; archivos crudos solo enlazados, nunca re-hospedados |
| Cómputo | Servicio de inferencia en servidor / GPU | 100% del lado del cliente: DSP en TypeScript + onnxruntime-web (WASM) | Hosting estático, nada que instalar, cero backend |
Arquitectura
rotorvitals pipeline
From “something is wrong” to “which element, and how long”
RotorVitals is an in-browser condition-monitoring and prognostics workbench for rotating machinery, bearings-first, running on real measured vibration. Envelope analysis (the classic bearing-fault method) is now one tier inside it. Live at rotorvitals.fasl-work.com, part of the Faena mining-analytics hub.
A source selector drives the whole workbench
- Synthetic (with controls) — a physically-grounded generator (McFadden & Smith 1984); fault type, severity, rpm and SNR are live knobs to explore the physics. Severities here are synthetic and labelled as such.
- Real: diagnosis segment — a measured window from CWRU (the classifier’s native domain), Ottawa (time-varying speed, computed-order-tracked → a real Campbell/order view), or MaFaulDa.
- Real: run-to-failure — a real trajectory from FEMTO/PRONOSTIA, XJTU-SY or IMS; a life-instant slider scrubs measured windows healthy → failure, the waterfall is the real degradation surface, and RUL projects against the experiment’s true failure time.
Three tiers, run live
Classical DSP (envelope/SES, kurtogram/infogram, cyclostationary, cepstrum, Campbell/order, ISO velocity zones) · a learned tier (a WDCNN classifier + a deep-autoencoder health indicator, both ONNX) · and a four-model RUL ladder (exponential first-passage → particle filter → Gaussian process → deep-RUL CNN), benchmarked on 36 real run-to-failure trajectories (GP gives the lowest aggregate error, ≈1 h MAE, with the transparent exponential a close second at ≈2.7 h — an aggregate over lifetimes from ~0.6 h to ~1000+ h).
Honest about the model’s limits
The learned classifier is trained on CWRU and shown in-domain there (with an entire load held out); everywhere else it is cross-domain-labelled, and its failures are on display, not hidden: trained only on 0.007″ faults it nails 0.021″ but collapses on 0.014″ (27.8%), and it scores near chance cross-rig on MFPT (0% outer-race recall) while the training-free envelope analysis transfers almost perfectly. The lesson, shown not claimed: deep learning wins in-distribution, physics wins out-of-distribution. Synthetic cases are labelled synthetic, frequency relations are exact, and the scope is rotating machinery, bearings-first — no gear claim (no gear dataset), variable speed only via the one order-tracked dataset.
Stack Tecnológico
Los recursos visuales de este proyecto no están disponibles públicamente.