Gracias por tu interés. Este proyecto es un prototipo TRL 2 presentado al Reto IA Responsable y Abierta en Industria (mayo 2026). Las contribuciones que respeten ese alcance son bienvenidas.
Requisitos: Python 3.10+, Git.
git clone <repo>
cd UltrasonicGuard
pip install -r requirements.txtLos datos del IEEE PHM 2012 deben descargarse aparte siguiendo la sección 6 del README y ubicarse en data/. Sin ese paso, ni el pipeline ni el dashboard arrancan.
- Rama estable:
main. Cada cambio parte demainen una rama propia. - Nombrado sugerido:
feature/<resumen>,fix/<resumen>,docs/<resumen>. - Abre un Pull Request hacia
maindescribiendo qué cambia y por qué. Vincúlalo a una issue cuando exista.
Mensajes en imperativo y autocontenidos. Coherencia de idioma dentro de cada PR (ES o EN, no mezclados).
- Bien:
Añade banda FFT 4-6 kHz al extractor de features - Mal:
cambios menores
- Python 3.10+ con type hints.
- Docstrings en formato Google en módulos, clases y funciones no triviales. No documentes lo obvio.
- No introduzcas dependencias nuevas sin justificarlas en el PR; actualiza
requirements.txtcuando sea imprescindible.
Como mínimo, debe terminar sin errores:
python scripts/run_notebook_pipeline.py
streamlit run dashboard.pyVerifica que se generan los artefactos esperados en data/processed/, features/ y models/.
Important
Cambios en el contrato de features o etiquetas (MODEL_FEATURE_COLUMNS, STATE_LABELS en src/features.py) invalidan la caché del modelo. Regenera los artefactos en models/ y déjalo explícito en el PR.
Cambios visibles para el usuario o el evaluador deben reflejarse en ambos README.md (primario, español) y README.en.md (inglés). Mantén las dos versiones sincronizadas en el mismo PR.
Incluye:
- Versión de Python y sistema operativo.
- Pasos exactos para reproducir.
- Salida esperada vs. observada.
- Split y bearing implicados cuando sea relevante (
Learning_set / Bearing1_3, etc.).
Al enviar un PR aceptas que tu contribución se publique bajo la misma licencia del proyecto: Apache License 2.0.