Skip to content

Documentación Técnica de ZoroBot3

Robot Micromouse de alto rendimiento con STM32F4, encoders magnéticos de alta resolución, ventilador de succión y 4 sensores infrarrojos.

Versión del documento: 2026-06-18 Branch: develop


🏆 Resultados en Competición

🥇 🥈 🥉
8 0 0

Competiciones ganadas: OSHWDem 2023-2025, RoboChallenge 2024-2025, Portuguese Contest 2025-2026.


📚 Índice de Documentación

Cada sección enlaza a un documento detallado independiente.

1. Hardware

  • Hardware — Especificaciones del robot: MCU, sensores, motores, encoders, giroscopio, batería, chasis, PCB, versiones del robot (A/B/C).

2. Arquitectura Software

  • Arquitectura Software — Bucle principal, SysTick ISR, distribución de tareas a 1 kHz, flujo de carrera, detección de inicio de competición, algoritmos de exploración.

3. Sensores

  • Sistema de Sensores — Hardware IR (SFH-4550 + ST-1KL3A), máquina de estados ADC, linealización a distancia, detección de paredes con histéresis, calibración, cálculo de errores para control PID.

4. Movimiento

  • Sistema de Movimiento — Tipos de movimiento (26), perfiles de giro sinusoidales, movimientos rectos multi-celda, orquestración de speed run, wall loss correction.

5. Floodfill

  • Algoritmo Floodfill — Tipos (BASIC, DIAGONAL, TIME_BASED), cálculo de pesos cinemáticos, BFS con cola de prioridad, path following, exploración, speed run.

6. Control PID

  • Sistema de Control PID — Arquitectura de 7 lazos PID en cascada, fórmula PID, anti-windup, compensación de batería, rampas de aceleración, detección de saturación.

7. Menú y Algoritmos

  • Sistema de Menú — Navegación por menú con botón, selección de algoritmo (HandWall, FloodFill, TimeTrial, DragRace), configuración de velocidad, opciones de debug.

8. Debug

  • Sistema de Debug — LEDs de información, LED RGB, puerto serie USART, funciones de debug, toma de valores raw.

9. Calibración

  • Calibraciones — Calibración frontal, frontal media, lateral, calibración de giroscopio, persistencia en EEPROM.

10. EEPROM

  • Gestión de EEPROM — Diseño de almacenamiento, checksum (complemento a 2), carga/guardado de calibraciones, maze persistente, ocupación.

11. Encoders y Giroscopio

  • Encoders y Giroscopio — AS5145B-HSST (12-bit), lectura por timer en cuadratura, max_likelihood_counter_diff, LSM6DSR (SPI, 1000-4000dps), filtro paso-bajo, integración angular.

12. Batería y LEDs

  • Batería y LEDs — Monitorización de voltaje, divisor de tensión, LEDs de estado, LED RGB, control de ventilador.

13. Simulador

  • Simulador MMSIM — Integración con Micromouse Simulator, API de paredes virtuales, estimación de tiempo.

14. Cinemática y Estrategias de Velocidad

  • Cinemática — Estrategias de velocidad (EXPLORE a HAKI), perfiles de aceleración, parámetros de giro, degradación de velocidad.

15. Problemas Conocidos

  • Registro de Issues — Issues documentados con IDs, descripciones, impacto y soluciones.

🔧 Stack Tecnológico

Componente Detalle
MCU STM32F405RGT6 @ 168 MHz (ARM Cortex-M4F)
Framework LibOpenCM3 + PlatformIO
Lenguaje C11
Compilador GCC ARM Embedded (arm-none-eabi-gcc)
IDE VSCode
Control de versiones Git (branch develop)