Ir a buscar la pelota es un juego de perros, pero nada impide que un robot se sume. El youtuber SECTOR 07 construyó a Fetch, un robot pequeño que usa inteligencia artificial y visión por computador para perseguir una pelota, recogerla y devolvérsela a su dueño. El proyecto completo se arma sobre una placa de desarrollo Arduino de bajo costo, y muestra lo accesible que se volvió la robótica con IA para los aficionados.

Fetch se pensó como un robot con IA barato y fácil para principiantes. Mezcla el estilo macizo de un televisor portátil de los años noventa con una personalidad que recuerda a WALL-E. Tiene una cabeza grande y cuadrada, ojos expresivos, un par de brazos mecánicos y dos ruedas motorizadas. Parte de su encanto está en lo tambaleante que se mueve, aunque unos soportes pequeños evitan que se vaya de bruces.

¿Qué placa controla a Fetch?

El cerebro es una Arduino UNO Q, que combina un procesador Qualcomm Dragonwing con Linux y un microcontrolador STM32. Esa arquitectura le permite atender al mismo tiempo las tareas de cómputo pesado y el control de bajo nivel del hardware. El lado Linux corre el código en Python para procesar la cámara y reconocer objetos, mientras el microcontrolador maneja los motores, los servos, la reproducción de audio y otras funciones en tiempo real.

Una cabeza que se arma plana

SECTOR 07 diseñó la carcasa en CAD poniendo atención en que fuera fácil de armar. Una de las mejores decisiones fue la cabeza, hecha como una estructura plegable. En vez de instalar la electrónica dentro de un gabinete estrecho, los paneles se dejan planos para cablear y soldar, y después se doblan para formar la caja. Las uniones a presión y por deslizamiento redujeron la cantidad de tornillos.

Los brazos pasaron por varias revisiones. Un primer diseño usaba correas y varias articulaciones, pero los problemas de tensión y deslizamiento lo hacían poco confiable. Al final, SECTOR 07 se quedó con un mecanismo más simple, con un solo eslabón giratorio por brazo, que da el torque y el recorrido suficientes para recoger una pelota.

¿Cómo encuentra la pelota?

Para que Fetch pudiera jugar, SECTOR 07 entrenó un modelo de visión por computador propio que reconoce pelotas y manos humanas. Para el entrenamiento usó imágenes tomadas con distinta iluminación, fondos y ángulos. Durante el funcionamiento, el software mira la posición y el tamaño de los recuadros que encierran cada objeto detectado para decidir hacia dónde girar y estimar a qué distancia está el objetivo.

Al principio la navegación fallaba. Fetch se ponía a dar vueltas en círculo, y la cámara perdía la pelota cuando el robot se acercaba demasiado. La solución fue usar la visión solo para la aproximación inicial, y después bajar los brazos y avanzar durante un tiempo fijo para recoger la pelota. Con la pelota ya en los brazos, Fetch busca la mano de una persona y se la entrega.

SECTOR 07 publicó un video con más detalles de la construcción y la información necesaria para armar un Fetch propio.