Por @Alvy — 21 de abril de 2019

Este vídeo del canal Electron Dust está grabado a lo largo casi 4 años. Muestra cómo fue la evolución de un invento para mantener una pelota de ping-pong en continuo movimiento sobre una tabla/raqueta, utilizando micrófonos y sensores ópticos. Idea a idea, paso a paso.

La base del invento es una tabla de madera que se mueve con servomotores: según actúen mueven la tabla de forma simular a como haría una persona con la mano, imprimiéndole fuerza hacia arriba y haciéndola botar. Si además se controla el ángulo en que se orienta la tabla se puede controlar mejor el movimiento de la pelota, procurando que caiga adecuadamente de nuevo sobre la tabla. Dicho así suena fácil.

La complicación es hacerlo todo suficientemente rápido, con la fuerza e inclinación precisas y además saber dónde está la pelota exactamente en cada momento. El resto son las fórmulas de Newton, la verdad. Pero que la microcontroladora funcione adecuadamente no es fácil, por eso casi todo son ensayos del tipo prueba-y-error. ¿Son mejores servomotores o motores paso a paso? ¿Son mejores micrófonos o una cámara?

La evolución de un proyecto en Arduino para mantener en equilibrio una pelota de ping-pong

Aunque la versión final definitivamente funciona, una de las versiones más bonitas es la que tiene una pala auténtica de ping-pong, asida por el mecanismo y sobre la cual la pelota aguanta bastante tiempo. Por desgracia esa versión era de las que funcionaba con cámara y sólo con la luz muy a oscuras (generalmente se emplea sólo un canal, en este caso el verde).

La versión más reciente utiliza 4 micrófonos, calculando la diferencia de tiempos en recibir los sonidos entre cada pareja de micrófonos para ubicar la pelota. Al parecer el sonido del ¡pong! es bastante fácil de aislar e incluso aunque se esté hablando funciona bien.

Las visualizaciones ayudan a comprender qué está «calculando» la máquina: dónde imagina que está la pelota y dónde quiere «colocarla» en el siguiente bote. Hay complicaciones tales como que la tabla no es perfectamente plana, que la bola tiende a coger efecto (rotación, spin) y es difícil de contrarrestar; o que no se puede mover la pelota de una posición arbitraria a otra de un solo golpe: para recorrer la tabla completa se necesitan tres botes, por ejemplo. Cosas que se aprenden haciendo proyectos de este tipo.

El invento es una Raspberry 2 Pi, está programado en Python y Grbl y el código se puede descargar de la página del proyecto.

(Vía @Mezvan.)

Relacionado:

Compartir en Flipboard Publicar / Tuitear Publicar