1 points par GN⁺ 2024-06-07 | 1 commentaires | Partager sur WhatsApp
  • Foosbar est un projet de table de baby-foot entièrement autonome où un côté est contrôlé par un robot et l’autre par un joueur humain
  • Le côté robot peut effectuer des actions de défense, passe et tir via le contrôle des moteurs ; son créateur considère la répétitivité de l’entraînement au baby-foot comme une cible idéale pour l’automatisation
  • Le dépôt est divisé en trois composants, software, frontend et firmware, le code réellement utilisé pour le fonctionnement se trouvant principalement dans software, dédié au contrôle des moteurs
  • frontend est une application web 3D permettant de contrôler la table comme une manette de jeu à distance, tandis que firmware était du code destiné à un écran e-paper d’affichage du score et à un Teensy 4.1, mais il s’agit d’un composant ancien qui n’a pas été entièrement implémenté
  • Le code du projet est très spécifique à l’environnement du créateur ; il a donc peu de chances de s’exécuter tel quel et sert surtout de référence pour des tentatives similaires

Ce que construit Foosbar

  • Foosbar est une table de baby-foot autonome que son créateur décrit comme « probablement le meilleur robot de baby-foot au monde, même si je ne peux pas le vérifier »
  • Un côté de la table est contrôlé par le robot, tandis qu’un humain joue de l’autre côté
  • Le côté contrôlé par le robot peut effectuer les actions suivantes
    • Défense

    • Passe

      • Tir
      • La vidéo de présentation du projet est disponible sur YouTube

Motivation

  • Le créateur aime beaucoup le baby-foot, mais estime qu’en tant que programmeur, une méthode d’entraînement consistant à répéter la même tâche en améliorant progressivement son efficacité se prête bien à l’automatisation
  • Foosbar est né de cette tentative d’automatiser cet entraînement répétitif
  • Le créateur explique que ce projet a mécanisé le plaisir du jeu afin de lui permettre de se consacrer à autre chose

Structure du projet

  • Le dépôt est divisé en trois composants principaux
    • software : le code principal qui contrôle directement les moteurs
    • frontend : une application web 3D permettant de piloter la table comme avec une manette de jeu à distance
    • firmware : le code prévu pour afficher le score avec un Teensy 4.1 et un écran e-paper
  • firmware n’est plus un composant central aujourd’hui, et le créateur indique ne jamais l’avoir entièrement implémenté
  • L’ensemble est adapté à l’environnement matériel spécifique du créateur ; le code du dépôt s’apparente donc plutôt à une référence pour les personnes souhaitant tenter un projet similaire

Build et exécution

  • Pour software, il faut builder uWebSockets et le rendre détectable par CMake
    • Le créateur indique l’avoir installé avec make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a
    • Le Qualisys realtime SDK doit être installé de façon similaire
  • Après l’installation des prérequis, le build de software suit ce déroulé
    • cd software
    • mkdir build && cd build
    • cmake ..
    • make
    • ./foosbar
  • firmware est un projet pio standard, à téléverser avec pio run -t upload après cd firmware
  • frontend s’exécute avec npx vite après cd frontend

1 commentaires

 
GN⁺ 2024-06-07
Commentaires sur Hacker News
  • Vraiment génial ! À mon avis, la prochaine étape consiste à robotiser les deux côtés de la table et à lancer un tournoi en ligne d’IA de baby-foot
    Je viendrais probablement regarder chaque semaine différentes IA s’affronter

    • J’ai déjà eu cette idée dans d’autres domaines, mais jamais pour le baby-foot. En pratique, ça semble être un excellent cas d’usage
    • Ça a l’air bien plus amusant que AWS DeepRacer
  • La fabrication est excellente et la vidéo est amusante. Ça me rend nostalgique de l’époque où je travaillais encore au bureau, quand je passais un temps fou autour de la table de baby-foot
    À l’époque, on avait créé un système automatique de suivi des scores : on badgeait la table, quelques capteurs infrarouges comptaient les points, et il y avait même un tableau de bord, un ELO, des saisons et un mode tournoi. Les statistiques et le flux des scores en direct se mettaient aussi à jour automatiquement ; c’était le bon temps

  • Je me demande vraiment à quoi cela aurait ressemblé avec un système de vision à budget intermédiaire, au lieu de dépenser des milliers voire des dizaines de milliers de dollars dans des caméras industrielles de motion capture
    Par exemple, avec 2 à 4 caméras à obturateur global, des filtres visuels similaires à ceux de la première démo, puis un filtre de Kalman / estimateur d’état pour calculer la position de la balle. Je comprends le principe consistant à ne pas fabriquer soi-même ce qu’on peut acheter ou se faire sponsoriser, mais j’aimerais aussi voir des tentatives ou des solutions moins coûteuses pour ce problème

    • C’est le créateur : ce que tu dis est juste aussi. Mais au moins pour moi, je voulais me concentrer sur la partie intéressante de la construction d’un robot de baby-foot, à savoir le « baby-foot », et non sur le fait de bricoler un système de vision maison qui ne fonctionne pas correctement
      C’est un peu ironique vu que la chaîne s’appelle From Scratch
    • Il y a déjà eu sur HN un post sur du suivi de position avec une caméra PlayStation Eye à 5 dollars et des LED infrarouges, donc c’est clairement faisable
  • L’idée du projet est vraiment excellente. CNC-iser divers objets, c’est assez amusant, mais à un moment on a l’impression d’avoir déjà vu tout le monde fabriquer de zéro des imprimantes 3D, des routeurs CNC, des fraiseuses CNC, des rectifieuses CNC, etc.
    Alors que ça, c’est nouveau et ça me plaît

  • Ce type va aller loin

    • Avec les points de suspension, ça peut sembler sarcastique. Si tu ne comprenais pas d’où venaient les votes négatifs, c’est sans doute pour ça
    • J’accepte humblement les votes négatifs, mais je le pensais sincèrement comme un compliment
      Je me disais juste : s’il s’attaque à ce genre de problèmes dans sa chambre, qu’est-ce qu’on peut attendre de lui plus tard ?
    • Il a quel âge ?
  • « Il a réussi à mécaniser et à faire disparaître tout le plaisir qu’on ressentait dans le jeu, me libérant ainsi pour poursuivre des choses plus importantes et plus profondément épanouissantes dans la vie »
    En regardant le lien [1] ci-dessous, on voit clairement que cette personne est vraiment très forte dans son domaine :) Le texte et la vidéo sont magnifiques, et le projet est impressionnant
    [1] https://github.com/misprit7/computerraria

  • Il y a toujours 3 joueurs au poste de gardien ? Je me souviens d’avoir joué autrefois avec une disposition à 1 gardien, donc en 1-2-5-3, mais ça remonte à loin

    • C’est une particularité des tables Tornado surtout utilisées aux États-Unis. Cela a été introduit comme mesure d’économie, car quatre figurines supplémentaires coûtent moins cher qu’un terrain incurvé
      Sur une table traditionnelle, les coins arrondis sont nécessaires pour éviter que la balle ne meure dans le coin. Mais avec 3 gardiens, on peut toujours récupérer la balle même sans coins incurvés
      Dans les vidéos de la Coupe du monde ITSF, on voit qu’il n’y a qu’un seul gardien de chaque côté : https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
      Il y avait aussi un documentaire assez intéressant sur l’essor puis le déclin du baby-foot aux États-Unis, et si je me souviens bien, il était étroitement lié à l’entreprise qui fabriquait les tables Tornado. Je l’avais vu autrefois sur YouTube, mais je ne le retrouve plus. C’était peut-être « Foosballers », sans certitude
    • À voir les différentes réponses, c’est peut-être simplement une différence États-Unis / Europe
      En tout cas, les tables officielles de l’International Table Soccer Federation n’ont qu’un seul gardien et des coins relevés
      https://www.tablesoccer.org/tables/leonhart.php
      Il faut que je sorte vite de ce terrier de lapin avant de me plonger dans le règlement de 41 pages
      https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
    • Je n’ai jamais vu de ma vie une table avec 3 joueurs au poste de gardien
    • Les tables à un seul gardien que j’ai vues avaient des coins relevés pour éviter que la balle ne se coince. D’après mon expérience, c’est plus fréquent sur les tables d’entrée de gamme
    • Le système à gardien unique avec rampe dans les coins a été une tendance de la fin des années 1970 jusqu’aux années 1980
      Aujourd’hui, c’est moins courant parce qu’une partie du baby-foot de compétition utilise une configuration arrière à 3 joueurs, même s’il existe au moins une exception. J’ai fait des recherches à cause d’une réunion d’anciens d’une association mixte, et il était très difficile de trouver des tables classiques à rampe. Elles étaient en panneau de particules et se dégradaient facilement. Une entreprise qui utilise encore des rampes emploie une pente plus douce au lieu des rampes d’angle abruptes ajoutées après coup
  • Vraiment génial. J’aimerais en avoir un chez moi pour m’entraîner
    Mais ce robot peut-il aussi faire du trash talk ? En tant qu’amateur de baby-foot, démoraliser l’adversaire fait profondément partie de la culture (cf. Community), et au plus haut niveau c’est un élément important pour gagner ; ça devrait donc être la prochaine étape. On dirait bien qu’un joueur de baby-foot vraiment sérieux pourrait créer la première vraie AGI rien que pour faire du trash talk correctement
    Le baby-foot n’est ni un sport olympique comme le tennis de table, ni un jeu de table culturellement respecté comme les échecs, mais même si les robots d’aujourd’hui peuvent facilement me battre aux échecs, une table de baby-foot robotisée de pointe donne encore l’impression que je pourrais la battre
    L’ensemble de la vidéo était volontairement drôle de façon pince-sans-rire, et le passage où il écrase son petit frère au passage était particulièrement hilarant. Son frère l’a d’ailleurs très bien pris

    • J’ai pensé à brancher une API de chatbot pendant une ou deux heures, en lui envoyant aussi les données de position et de score en temps réel pour qu’il puisse faire des railleries personnalisées
      Finalement, je voulais juste publier la vidéo, donc je ne l’ai pas fait, mais ça aurait été drôle
    • « Tu te débrouilles bien, peu importe ce que disent les autres »
  • Assez impressionnant. Cette personne est une sorte de YouTuber célèbre ? Je suis surpris qu’elle ait réussi à obtenir des sponsors au point que des entreprises lui envoient des composants haut de gamme

    • Je me posais la même question, mais ce n’est que la deuxième vidéo de ce compte
    • S’il était un YouTuber célèbre, il aurait aussi demandé des liasses de billets avec
  • Je me disais bien que ce visage me disait quelque chose : c’est la personne qui a construit un CPU complet à l’intérieur du jeu Terraria
    https://www.youtube.com/watch?v=zXPiqk0-zDY