Una herramienta avanzada de análisis de equipos para FIRST Robotics Competition - REEFSCAPE 2025, desarrollada por Team Overture 7421.
- Estadísticas por Equipo: Promedios, desviaciones estándar y métricas de consistencia
- Robot Valuation: Sistema de evaluación ponderada por tiempo y rendimiento
- Honor Roll System: Sistema de calificación académica integral
- Análisis de Categorías: Breakdown detallado por Coral, Algae y Endgame
- Scanner Multi-Cámara: Soporte para múltiples cámaras y configuraciones
- Detección Automática: Procesamiento instantáneo de códigos QR
- Validación de Datos: Verificación automática de formato y consistencia
- Integración Seamless: Datos agregados automáticamente al sistema
- Simulación Monte Carlo: 5000+ iteraciones para máxima precisión
- Predicción de Matches: Análisis probabilístico de resultados
- Ranking Points: Cálculo automático de RP según reglas FRC 2025
- Análisis de Confianza: Métricas de confiabilidad estadística
- Auto-Optimización: Algoritmo de selección automática de alianzas
- Asignación de Capitanes: Basado en rendimiento y consistencia
- Análisis de Sinergia: Evaluación de compatibilidad entre equipos
- Comparación de Opciones: Herramientas de decisión estratégica
- Editor de Raw Data: Modificación y eliminación de registros
- Persistencia Inteligente: Preserva cambios manuales durante QR scanning
- Exportación de Datos: Múltiples formatos de salida
- Backup Automático: Sistema de respaldo y recuperación
- Python 3.8 o superior
- Git (para clonar el repositorio)
- Cámara USB (opcional, para QR scanning)
- Clonar el repositorio
git clone https://github.com/Overture-7421/Overture-TeamsAnalizer.git
cd Overture-TeamsAnalizer
- Crear entorno virtual (recomendado)
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
- Instalar dependencias
pip install -r requirements.txt
- Ejecutar la aplicación
python main.py
tkinter
- Interfaz gráficamatplotlib
- Gráficos y visualizacionesopencv-python
- Procesamiento de cámarapyzbar
- Decodificación de códigos QRpandas
- Manipulación de datosnumpy
- Cálculos numéricosPillow
- Procesamiento de imágenes
1. Click en "Load CSV"
2. Seleccionar archivo de datos de scouting
3. Los datos se procesan automáticamente
4. Ver resultados en pestañas "Raw Data" y "Team Stats"
1. Click en "Camera Settings" para configurar cámara
2. Click en "Real-Time QR Scanner"
3. Apuntar cámara hacia códigos QR
4. Datos se agregan automáticamente
1. Click en "Foreshadowing"
2. Seleccionar equipos RED y BLUE
3. Click en "🔮 Predecir Match"
4. Ver resultados y probabilidades
1. Ir a pestaña "Alliance Selector"
2. Click en "Auto-Optimize"
3. Ver recomendaciones de alianzas
4. Ajustar manualmente si necesario
- 4 Niveles de Coral (L1, L2, L3, L4)
- Puntuación Diferenciada Auto vs Teleop
- Análisis Estadístico por nivel y período
- Processor Algae: Scoring en zona de procesamiento
- Barge Algae: Solo durante Teleop
- Net Algae: Scoring en redes
- Métricas de Eficiencia por tipo de algae
- Climb Analysis: Deep, Shallow, Park, None
- Probabilidades de Climb basadas en datos históricos
- Puntuación de Endgame integrada en predicciones
- Movement Tracking: Robots que salen de zona Auto
- Auto Scoring: Coral y Processor con bonificación
- Cooperation: Detección automática de cooperation
# Camera settings en config_manager.py
camera_settings = {
'resolution': (1280, 720),
'fps': 30,
'camera_index': 0,
'auto_focus': True
}
// columnsConfig.json
{
"required_columns": ["Team", "Match"],
"numeric_columns": ["Coral L1 (Auto)", "Coral L2 (Auto)"],
"analysis_columns": ["custom_metric_1", "custom_metric_2"]
}
# En foreshadowing.py
MONTE_CARLO_ITERATIONS = 5000
AUTO_TELEOP_RATIO = 0.3
COOPERATION_THRESHOLD = 6
- Overall Average: Rendimiento promedio ponderado
- Standard Deviation: Medida de consistencia
- Robot Valuation: Puntuación avanzada con peso temporal
- Defense Rate: Porcentaje de juego defensivo
- Climb Rate: Probabilidad de climb exitoso
Robot Valuation = Σ(match_score × time_weight) / Σ(time_weight)
Defense Rate = defense_matches / total_matches
Overall Average = weighted_sum_of_scores / total_weights
# Tests unitarios
python -m pytest tests/
# Test específico de Foreshadowing
python test_foreshadowing_improvements.py
# Test de integración principal
python test_main_integration.py
test_data.csv
- Datos básicos de pruebaextended_test_data.csv
- Dataset extendidoexample_phase_config.json
- Configuración de ejemplo
Cámara no detectada:
# Verificar cámaras disponibles
python -c "import cv2; print([i for i in range(10) if cv2.VideoCapture(i).read()[0]])"
Error de importación de módulos:
# Reinstalar dependencias
pip uninstall -r requirements.txt -y
pip install -r requirements.txt
Datos QR no se procesan:
- Verificar formato del código QR
- Comprobar iluminación de la cámara
- Validar configuración en
Camera Settings
Predicciones inconsistentes:
- Verificar que hay suficientes datos por equipo (mínimo 3 matches)
- Comprobar que las columnas numéricas tienen valores válidos
- Revisar configuración en
System Configuration
# Habilitar logs detallados
import logging
logging.basicConfig(level=logging.DEBUG)
- Fork el repositorio
- Crear branch para feature (
git checkout -b feature/nueva-caracteristica
) - Commit cambios (
git commit -am 'Agregar nueva característica'
) - Push al branch (
git push origin feature/nueva-caracteristica
) - Crear Pull Request
- PEP 8 para estilo Python
- Docstrings para todas las funciones públicas
- Type hints donde sea apropiado
- Tests unitarios para nuevas features
- Machine Learning: Predicciones con IA
- API REST: Integración con sistemas externos
- Multi-Competition: Soporte para múltiples competencias
- Real-time Collaboration: Colaboración en tiempo real
- FRC Events API: Información de eventos
- Tableau/PowerBI: Dashboards avanzados
- Cloud Storage: Backup automático en la nube
Este proyecto está licenciado bajo la MIT License - ver el archivo LICENSE para detalles.
Team Overture 7421
- 🏆 FRC Team: rgba(215, 1, 248, 0.07) Overture
- 🌍 Ubicación: México
- 🎯 Temporada: 2025 REEFSCAPE
- 🚀 Misión: Desarrollar herramientas innovadoras para FRC
- GitHub: @Overture-7421
- Email:
- Website: overture7421.org
- FIRST Robotics Competition - Por inspirar innovación
- Python Community - Por las increíbles librerías
- Mentores y Students - Por testing y mejoras continuas
¿Necesitas ayuda? Aquí te podemos ayudar:
- GitHub Issues: Reportar bug o solicitar feature
- Documentación: Ver DOCUMENTACION.md para guía detallada
- Wiki: Consultar wiki del proyecto para tutoriales
- Discord/Slack: Unirse a canales de la comunidad FRC
💡 "Innovating through robotics, one algorithm at a time."
Desarrollado con ❤️ por Team Overture 7421
Si este proyecto te ha sido útil, ¡no olvides darle una estrella! ⭐