👁️ Visión e IA integrada
El robot empieza a ver. Instalas una Raspberry Pi 5 con cámara en el chasis, detectas objetos por color con OpenCV y por forma con YOLO26, ejecutas una IA pequeña dentro del propio ESP32-S3 y haces que la Pi se comunique con el ESP32. Al final, construyes un robot que sigue un objeto o a una persona.
Cómo leer: Los tres primeros pasos (morado) preparan la visión en la Raspberry Pi 5: sistema, cámara y detector. Los dos siguientes (cian) llevan la IA al ESP32 y conectan ambas placas. El último, con brillo, lo integra todo en el robot que sigue. Si ya usas Linux, empieza en el 3.2.
🎯 Lo que construirás en esta ruta
El rover de la Ruta 1 incorpora una Raspberry Pi 5 con cámara. La Pi encuentra el objetivo, calcula hacia qué lado está y a qué distancia, y envía comandos cortos al ESP32, que hace girar las ruedas. Primero el robot sigue una pelota de color; después, a una persona o un objeto que tú mismo enseñaste a reconocer. Durante el proceso, dejarás listo: un video en vivo del robot en el navegador, un detector que funciona con NCNN y un ESP32-S3 que reconoce un gesto por sí solo.
- ✓Raspberry Pi OS 64-bit (Trixie) y picamera2
- ✓Ultralytics YOLO26, el detector actual
- ✓La Pi piensa, el ESP32 actúa, con parada segura
- ✓Base directa para el ROS 2 de la Ruta 4
💡 ¿Todavía no tienes una Pi 5?
El 3.4 funciona solo con un ESP32-S3. OpenCV y YOLO26 también funcionan en tu PC con una cámara web, para que estudies las máscaras y la detección antes de comprar la placa.
Mapa de la ruta
🍓 Raspberry Pi 5 y Linux
Una computadora completa dentro del robot
📷 Cámara y OpenCV
Encontrar el objeto por su color
🔍 Detectar objetos con YOLO26
Persona, botella o tu propia pieza
🧬 IA dentro del microcontrolador
Modelo pequeño, sin computadora
🔗 La Raspberry Pi se comunica con el ESP32
Una piensa, el otro actúa
🎯 Proyecto: robot que sigue un objeto
La visión completa el lazo de control
Contenido detallado
🍓 Raspberry Pi 5 y Linux
Por qué el robot necesita una computadora, cómo preparar la Pi 5 sin monitor, la terminal, Python con venv, GPIO de 3,3 V y los cuidados de energía y temperatura.
La división del trabajo: la Pi 5 con Linux procesa la cámara y toma decisiones; el ESP32 controla los motores en tiempo real.
Evita intentar procesar visión en el microcontrolador y conectar un motor directamente a la Pi.
Computadora de placa única · Linux · tiempo real · la Pi piensa, el ESP32 actúa.
Grabar Raspberry Pi OS 64-bit con Wi-Fi y SSH ya configurados y acceder a la Pi por la red, sin monitor.
En el robot no hay pantalla; una Pi bien preparada aparece en la red por sí sola.
Headless · Pi Imager · SSH · robo.local · apt.
Los quince comandos que resuelven casi todo: navegar, editar, copiar, revisar el espacio y la memoria, y apagar de forma segura.
La cámara, YOLO26 y ROS 2 se usan desde la terminal.
Carpeta personal ~ · sudo · nano · Ctrl+C · shutdown.
Crear un venv con acceso a las bibliotecas del sistema (picamera2, gpiozero) e instalar paquetes en él con pip.
El sistema bloquea pip global; el venv correcto evita que «el script no encuentre la cámara».
venv · pip x apt · --system-site-packages · requirements.txt.
LED de estado y botón de parada con gpiozero, usando la numeración BCM.
5 V en un GPIO quema la Pi; el botón físico de parada se incorpora en el proyecto 3.6.
BCM x físico · LED y Button · pinout · 3,3 V máximo.
Fuente de 27 W en la mesa de trabajo, regulador buck en el robot, ventilador activo y un monitor de temperatura y subtensión.
Los reinicios y la lentitud «misteriosos» casi siempre se deben a la energía o al calor.
Buck 5 V · subtensión · throttling · get_throttled.
📷 Cámara y OpenCV
Píxeles y canales, Camera Module 3 con picamera2, máscaras de color en HSV, centro del objeto, FPS y video en vivo en el navegador.
La imagen como tabla de números: altura × ancho × 3 canales, en el orden BGR de OpenCV.
Los colores intercambiados y el eje y invertido causan la mitad de los errores de visión.
Píxel · canal · BGR · shape de NumPy.
Conectar la cámara con el cable del Pi 5, probar con rpicam-hello y capturar cuadros en Python.
Es la puerta de entrada a todo lo que viene después en la ruta.
rpicam-apps · picamera2 · capture_array · cable de 22 → 15 vías.
Convertir a HSV, elegir un rango de color y generar la máscara del objeto.
Es la visión más ligera que existe: decenas de cuadros por segundo, sin IA.
Matiz, saturación, brillo · inRange · morfología · rojo en dos rangos.
Encontrar el contorno más grande, calcular el centro y el área, y convertirlos en error horizontal.
El error y el área son los dos números que usa el robot para girar y acercarse.
findContours · momentos · error = cx − medio · área mínima.
Medir cuántas vueltas por segundo completa el bucle entero y elegir la resolución con datos.
Un FPS bajo significa una reacción tardía; sin medir, optimizar es adivinar.
FPS del bucle · latencia · la mitad de la resolución = ¼ del trabajo.
Un servidor MJPEG en Python puro que muestra en el celular lo que ve el robot, con marcas superpuestas.
Ver la cámara permite distinguir en segundos un error de visión de uno de control.
MJPEG · puerto · thread · overlay · solo en la red local.
🔍 Detectar objetos con YOLO26
Qué es la detección, YOLO26 en Pi 5 con Ultralytics, exportar a NCNN, AI HAT+ (Hailo), entrenar con tus imágenes y los límites reales.
Para cada objeto, un cuadro, una clase y una confianza; es diferente de clasificar o segmentar.
Reconoce por la forma, no por el color: sigue a una persona con cualquier ropa.
Cuadro · clase · confianza · inferencia · COCO.
Instalar Ultralytics en el venv y ejecutar yolo26n en vivo con la Camera Module 3.
En veinte líneas, el robot reconoce personas y objetos cotidianos.
yolo26n.pt · tamaños de n a x · conf · r.boxes.
Convertir el modelo a NCNN, el formato más rápido en la CPU del Pi, y comparar con datos.
Más velocidad sin gastar nada y el hábito de medir antes y después.
yolo export · NCNN · imgsz · calentamiento.
AI HAT+ (Hailo-8/8L) y AI HAT+ 2 (Hailo-10H): NPUs en el PCIe del Pi 5 que sacan la red neuronal de la CPU.
Saber cuándo vale la pena el acelerador evita comprarlo demasiado pronto o insistir demasiado tiempo con la CPU.
NPU · PCIe · TOPS · modelo compilado .hef.
Tomar fotos, etiquetarlas en formato YOLO, entrenar a partir de yolo26n en PC o Colab y llevar best.pt al Pi.
El robot empieza a reconocer el objeto de tu proyecto, no solo los de COCO.
Ajuste fino · dataset · entrenamiento y validación · data.yaml · best.pt.
Dónde falla la detección y cómo llegar a una decisión estable: umbral, tamaño mínimo y varios cuadros seguidos.
Un robot que sigue personas solo es seguro si sabes dónde falla la visión.
Falso positivo · falso negativo · umbral · persistencia.
🧬 IA dentro del microcontrolador
TinyML: modelos pequeños y cuantizados que se ejecutan en el ESP32-S3, con Edge Impulse o TensorFlow Lite Micro, para gestos, palabras clave y personas.
Ejecutar un modelo en el propio microcontrolador, sin Pi ni internet, con un consumo de energía muy bajo.
Los robots pequeños y económicos pueden reaccionar a gestos y sonidos sin llevar una computadora a bordo.
TinyML · inferencia local · bajo consumo · privacidad.
Cómo reducir un modelo para que quepa en cientos de kB: menos capas y números enteros de 8 bits.
Explica qué cabe y qué no cabe en un ESP32-S3.
Cuantización · int8 · memoria RAM y flash · precisión x tamaño.
Recopilar datos, entrenar en el navegador y descargar una biblioteca de Arduino lista para el ESP32.
Es el camino más corto desde cero hasta el primer modelo en funcionamiento, sin programar la red.
Recopilación · impulse · entrenamiento · exportar biblioteca.
El motor de inferencia de Google para microcontroladores, en el ESP32 mediante esp-tflite-micro y las optimizaciones ESP-NN.
Te da control total sobre el modelo cuando la herramienta lista no es suficiente.
LiteRT · TensorFlow Lite Micro · esp-tflite-micro · ESP-NN.
Usar la IMU de la Trilha 2 para que el robot reconozca movimientos como «sacudir» o «inclinar».
Es el ejemplo de TinyML más económico: ya tienes el sensor.
Ventana de datos · clases de gestos · umbral de confianza.
Escuchar una palabra de comando con un micrófono o detectar a una persona con un ESP32-S3 con cámara.
Muestra los límites del microcontrolador y cuándo pasar al Pi.
Palabra clave · persona / no persona · XIAO ESP32-S3 Sense.
🔗 La Raspberry Pi se comunica con el ESP32
UART entre las placas, un protocolo sencillo de mensajes con verificación, el código de ambos lados y qué hacer cuando se pierde la conexión.
Quién decide qué: el Pi envía intenciones breves; el ESP32 las ejecuta y mantiene los límites de seguridad.
Un límite claro hace que cada placa sea fácil de probar por separado.
Alto nivel vs. bajo nivel · comando · límite en el microcontrolador.
Conecta TX y RX cruzados y comparte GND; ambas placas usan 3,3 V. También puedes usar el cable USB.
Un cable conectado al revés o la falta de GND son la causa principal de que «no llegue nada».
TX/RX cruzados · velocidad en baudios · GND común · puerto serial.
Un formato de mensaje por línea, fácil de leer, con verificación para descartar lo que llegó corrupto.
Un mensaje incompleto no puede hacer que un motor gire.
Línea de texto · JSON breve · checksum · respuesta de confirmación.
Leer el puerto serial sin bloquear el loop, validar cada comando y limitar las velocidades en el propio ESP32.
El microcontrolador es la última barrera antes del motor.
Buffer de línea · validación · límites · millis().
Abrir el puerto serial en Python, enviar comandos a un ritmo fijo y leer las respuestas del ESP32.
Es el puente entre el detector del módulo 3.3 y las ruedas.
pyserial · timeout · ritmo de envío · lectura de respuesta.
Qué sucede cuando el Pi se bloquea, se suelta el cable o se reinicia una placa, y cómo hacer que el robot se detenga por sí solo.
Un robot seguro se detiene cuando pierde la comunicación.
Watchdog de comandos · heartbeat · reconexión · estado seguro.
🎯 Proyecto: robot que sigue un objeto
Cámara, detección, error y motores en conjunto: primero siguiendo un color, luego a una persona o un objeto con YOLO26, con PID y pruebas de seguridad.
El diagrama del robot completo y lo que aporta cada módulo de la ruta.
Con el plan en papel, cada falla tiene un lugar claro donde buscarla.
Lazo cerrado mediante visión · etapas · interfaces entre placas.
Dónde fijar la cámara, el Pi, el ESP32, el buck y la batería, con cables cortos y ventilación.
Una cámara torcida y una mala distribución de la energía arruinan el mejor código.
Altura de la cámara · ramales de alimentación · GND común · fijación.
La primera versión del robot: la máscara HSV del módulo 3.2 genera el error que hace girar las ruedas.
Es rápida y ligera, y valida toda la cadena antes de incorporar la IA.
Error horizontal · el área como distancia · si se pierde el objetivo, detenerse.
Reemplazar la máscara por el detector del módulo 3.3, con una decisión estable a lo largo de varios cuadros.
Muestra cómo el mismo control acepta una visión más inteligente sin cambiar.
Recuadro → error · tamaño del recuadro · NCNN · persistencia.
Dos controladores: uno anula el error horizontal (girar) y el otro mantiene la distancia (avanzar).
Sin PID, el robot zigzaguea o choca con el objetivo.
PID de la Ruta 2 · zona muerta · saturación · ajuste fino.
Plan de pruebas con el robot suspendido y en el suelo, parada de emergencia e ideas para avanzar.
Un robot que sigue a personas debe demostrar que se detiene cuando corresponde.
Prueba con el robot suspendido · botón de parada · distancia mínima · siguiente nivel (ROS 2).
🧰 Kit de la trilha
Además del rover de la Ruta 1. El conjunto básico (Pi 5, fuente de alimentación, tarjeta, cooler y cámara) cuesta aproximadamente R$ 1.100 a R$ 1.900 (oct./2026; verifica antes de comprar: varía mucho según la tienda, el envío, el tipo de cambio y la memoria del Pi). Los opcionales se compran por separado.
Raspberry Pi 5 de 4 GB (suficiente para la ruta) u 8 GB (más holgura para YOLO26 y ROS 2). El Pi 4 sirve para lo básico, pero no tiene el PCIe del AI HAT+.
Fuente oficial de 27 W (USB-C) para la mesa de trabajo, cooler activo oficial y, en el robot, un regulador buck de 5 V con 5 A o más.
Tarjeta microSD de 32 GB o más, de una buena marca (clase A1/A2). Ultralytics y los modelos ocupan varios GB.
Camera Module 3 con el cable para Pi 5 (22 → 15 vías). La AI Camera (Sony IMX500) es una alternativa con IA en la propia cámara.
AI HAT+ (Hailo-8L/8) para visión, o AI HAT+ 2 (Hailo-10H), de unos US$ 130 al por menor en EE. UU. en 2026, que también ejecuta modelos de lenguaje pequeños.
ESP32-S3 con cámara y micrófono, como el XIAO ESP32-S3 Sense, para el módulo 3.4. También puedes usar la IMU de la Ruta 2.
✓ Opcional que vale la pena
Lector de tarjetas USB, separadores M2.5 para fijar el Pi al chasis y una pelota o cartulina de color vivo para las pruebas de color.
✗ No compres para esta trilha
Fuente genérica de celular, power bank sin 5 A, tarjeta sin marca y el antiguo «AI Kit» (descontinuado; el AI HAT+ lo reemplaza).