1 puntos por GN⁺ 2024-06-07 | 1 comentarios | Compartir por WhatsApp
  • Foosbar es un proyecto de mesa de futbolito totalmente autónoma donde un lado del jugador es controlado por un robot y del otro lado juega una persona
  • El lado robótico puede realizar defensa, pases y tiros mediante control de motores, y su creador considera la naturaleza repetitiva de la práctica de futbolito como un buen objetivo para automatización
  • El repositorio se divide en 3 componentes: software, frontend y firmware, y el código de operación real está principalmente en software para control de motores
  • frontend es una app web 3D para controlar la mesa como controlador remoto del juego, y firmware era código para una pantalla e-paper de marcador y para Teensy 4.1, pero es una parte antigua que no quedó completamente implementada
  • El código del proyecto está muy especializado para el entorno del creador, por lo que es poco probable que funcione tal cual, y tiene sobre todo el carácter de material de referencia para intentos similares

Lo que hace Foosbar

  • Foosbar es una mesa de futbolito autónoma que su creador describe como “probablemente el mejor robot de futbolito del mundo, aunque no puede demostrarlo”
  • Un lado de la mesa lo controla el robot, mientras que en el lado opuesto juega una persona
  • El lado controlado por el robot puede realizar las siguientes acciones
    • Defensa

    • Pase

      • Tiro
      • El video de presentación del proyecto está disponible como video de YouTube

Motivación de desarrollo

  • Al creador le gusta mucho el futbolito, pero como programador considera que una forma de práctica basada en repetir la misma tarea mientras mejora poco a poco la eficiencia es adecuada para automatización
  • Foosbar nació como un intento de automatizar ese tipo de práctica repetitiva
  • El creador dice que este proyecto mecanizó la diversión del juego para que él pudiera hacer otras cosas

Estructura del proyecto

  • El repositorio se divide en 3 componentes principales
    • software: el código principal que controla directamente los motores
    • frontend: una app web 3D para operar la mesa como controlador remoto del juego
    • firmware: código que buscaba mostrar la puntuación con Teensy 4.1 y una pantalla e-paper
  • firmware ya no es una parte central actual, y el creador aclara que nunca lo implementó por completo
  • Toda la estructura está ajustada al entorno de hardware específico del creador, por lo que el código del repositorio está más cerca de ser una referencia para quienes quieran intentar un proyecto similar

Compilación y ejecución

  • software requiere compilar uWebSockets y hacer que CMake pueda encontrarlo
    • El creador escribió que lo instaló con make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a
    • Qualisys realtime SDK también debe instalarse de manera similar
  • Después de instalar los requisitos, la compilación de software usa el siguiente flujo
    • cd software
    • mkdir build && cd build
    • cmake ..
    • make
    • ./foosbar
  • firmware es un proyecto estándar de pio y se sube con cd firmware seguido de pio run -t upload
  • frontend se ejecuta con cd frontend seguido de npx vite

1 comentarios

 
GN⁺ 2024-06-07
Opiniones en Hacker News
  • ¡Realmente genial! Creo que el siguiente paso sería poner control robótico en ambos lados de la mesa y organizar un torneo online de IA de futbolito
    Creo que entraría cada semana a ver cómo se enfrentan distintas IA

    • Había pensado en algo así para otros campos, pero no se me había ocurrido con futbolito. En la práctica parece un excelente caso de uso
    • Se ve mucho más divertido que AWS DeepRacer
  • La construcción es excelente y el video también es entretenido. Me dio nostalgia de la época en que trabajaba presencialmente en la oficina y pasábamos muchísimo tiempo en la mesa de futbolito
    En ese entonces hicimos un sistema automático de seguimiento de puntaje: etiquetabas la mesa con tu gafete, contaba los puntos con algunos sensores infrarrojos y tenía dashboard, ELO, temporadas y modo torneo. Las estadísticas y el feed de puntaje en vivo también se actualizaban automáticamente. Qué buenos tiempos

  • Me da mucha curiosidad cómo se habría visto si, en vez de poder gastar miles o decenas de miles de dólares en cámaras industriales de motion capture, hubieran usado un sistema de visión de presupuesto medio
    Por ejemplo, usar de 2 a 4 cámaras con obturador global, aplicar un filtro visual similar al que mostraron al inicio y luego calcular la posición de la pelota con un filtro de Kalman/estimador de estado. Entiendo que siguieran el principio de “no construyas tú mismo lo que puedes comprar o conseguir por patrocinio”, pero también me gustaría ver soluciones o intentos más baratos para este problema

    • Soy quien lo hizo, y eso también es cierto. Pero al menos yo quería concentrarme en la parte interesante de hacer un robot de futbolito, es decir, el “futbolito”, no en “trastear con un sistema de visión casero que no funciona bien”
      Es un poco irónico, porque el canal se llama From Scratch
    • Hace tiempo apareció en HN un artículo sobre rastreo de posición con una cámara PlayStation Eye de 5 dólares y LEDs infrarrojos, así que definitivamente es posible
  • La idea del proyecto es muy buena. Convertir varias cosas en CNC es bastante divertido, pero en algún punto se siente que ya todos vimos impresoras 3D, routers CNC, fresadoras CNC, amoladoras CNC, etc., hechas desde cero
    En cambio esto se siente nuevo, y me gusta

  • Creo que este tipo va a llegar lejos

    • Por los puntos suspensivos puede sonar sarcástico. Si no sabías de dónde venían los votos negativos, quizá era por eso
    • Acepto los votos negativos con humildad, pero lo decía sinceramente en buen sentido
      Si ya está abordando este tipo de problemas desde su cuarto, me pregunto qué podremos esperar de él en el futuro
    • ¿Cuántos años tiene?
  • “Logró mecanizar y eliminar toda la diversión que sentía en el juego, y gracias a eso ahora tengo la libertad de dedicarme a cosas más importantes y profundamente satisfactorias en la vida”
    El enlace siguiente [1] demuestra que esta persona claramente es bastante buena en lo suyo :) El texto y el video también son hermosos, y el proyecto es impresionante
    [1] https://github.com/misprit7/computerraria

  • ¿Siempre hay 3 jugadores en la posición de portero? Recuerdo haber jugado antes con una configuración de 1 portero, es decir, 1-2-5-3, pero fue hace bastante tiempo

    • Eso es característico de las mesas Tornado, usadas principalmente en Estados Unidos. Se introdujo como medida de ahorro, porque cuatro muñecos adicionales son más baratos que una cancha con superficie curva
      En las mesas tradicionales, las esquinas curvas son necesarias para que la pelota no se quede muerta en las esquinas. Pero con 3 porteros siempre puedes recuperar la pelota sin necesidad de esquinas curvas
      En videos de la Copa Mundial de la ITSF se puede ver que ambos lados tienen un solo portero: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
      También había un documental bastante interesante sobre cómo el futbolito se volvió popular en Estados Unidos y luego decayó, y si no recuerdo mal estaba muy vinculado con la empresa que fabricó las mesas Tornado. Lo vi hace tiempo en YouTube, pero ahora no lo encuentro. Puede que haya sido “Foosballers”, pero no estoy seguro
    • Por varias respuestas, quizá sea una diferencia entre Estados Unidos y Europa
      Al menos las mesas oficiales de la International Table Soccer Federation tienen un solo portero y esquinas elevadas
      https://www.tablesoccer.org/tables/leonhart.php
      Ahora tengo que salir rápido de esta madriguera antes de ponerme a revisar el reglamento de 41 páginas
      https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
    • En mi vida nunca he visto una mesa con 3 jugadores en la posición de portero
    • Las mesas con 1 portero que he visto tenían esquinas elevadas para que la pelota no quedara atorada en las esquinas. Según mi experiencia, las he visto más en mesas económicas
    • El formato de un solo portero con rampas en las esquinas fue una tendencia de finales de los 70 y durante los 80
      Hoy es menos común porque parte del futbolito competitivo usa una disposición trasera de 3 jugadores, aunque hay al menos una excepción. Investigué por una reunión de exalumnos de una fraternidad mixta, y las mesas clásicas con rampas eran muy difíciles de encontrar. Se dañaban mucho porque estaban hechas de aglomerado. Una empresa que usa rampas emplea una pendiente más suave en lugar de rampas de esquina empinadas añadidas
  • Realmente genial. Me gustaría tener uno en casa para practicar
    Pero ¿este robot también puede hacer trash talk? Como alguien a quien le gusta el futbolito, intimidar al rival está profundamente arraigado en la cultura (ver Community) y es una parte importante para ganar al más alto nivel, así que debería ser el siguiente paso. Creo que algún jugador serio de futbolito podría crear la primera AGI real solo para lograr un trash talk adecuado
    El futbolito no es un deporte olímpico como el tenis de mesa ni un juego de mesa con respeto cultural como el ajedrez, pero aunque hoy un robot me ganaría fácilmente al ajedrez, una mesa de futbolito robótica de punta todavía parece algo a lo que yo podría ganarle
    Todo el video es deliberadamente seco y gracioso, y la escena en la que destroza a su hermano en el proceso fue especialmente divertida. Su hermano también se lo tomó muy bien

    • Pensé en conectar una API de chatbot durante una o dos horas y pasarle datos de posiciones/puntajes en tiempo real para que hiciera burlas personalizadas
      Al final no lo hice porque solo quería publicar el video, pero habría sido gracioso
    • “Vas muy bien, sin importar lo que digan los demás”
  • Bastante genial. ¿Esta persona es algún YouTuber famoso o algo así? Me sorprende que haya conseguido patrocinio con tanto éxito como para que las empresas le enviaran componentes de alta gama

    • Yo me pregunté lo mismo, pero esta cuenta apenas tiene su segundo video
    • Si fuera un YouTuber famoso, también habría pedido fajos de billetes
  • Me sonaba su cara: era la persona que hizo una CPU completa dentro del juego Terraria
    https://www.youtube.com/watch?v=zXPiqk0-zDY