HN divulgado: Foosbar – robô autônomo de pebolim
(github.com/misprit7)- Foosbar é um projeto de mesa de pebolim totalmente autônoma em que um dos lados é controlado por um robô e o outro é jogado por uma pessoa
- O lado do robô consegue executar defesa, passe e chute por meio de controle de motores, e o criador vê a natureza repetitiva do treino de pebolim como algo adequado para automação
- O repositório é dividido em 3 componentes:
software,frontendefirmware, e o código que realmente roda está principalmente nosoftwarepara controle dos motores - O
frontendé um app web 3D para controlar a mesa como um controle remoto de jogo, e ofirmwareera um código para um display e-paper de placar e para o Teensy 4.1, mas é uma parte antiga e incompleta - O código do projeto é muito específico para o ambiente do criador, então é improvável que funcione diretamente como está, servindo mais como material de referência para tentativas semelhantes
O que o Foosbar faz
- Foosbar é uma mesa de pebolim autônoma que o criador descreve como “provavelmente o melhor robô de pebolim do mundo, embora eu não consiga provar isso”
- Um lado da mesa é controlado pelo robô, enquanto uma pessoa joga do lado oposto
- O lado controlado pelo robô consegue executar as seguintes ações
-
Defesa
-
Passe
- Chute
- O vídeo de apresentação do projeto está disponível em vídeo no YouTube
-
Motivação de criação
- O criador gosta muito de pebolim, mas, como programador, considera que o método de treino de repetir a mesma tarefa enquanto melhora a eficiência aos poucos é adequado para automação
- O Foosbar foi criado a partir dessa tentativa de automatizar esse tipo de treino repetitivo
- O criador diz que este projeto mecanizou a diversão do jogo para que ele pudesse fazer outras tarefas
Estrutura do projeto
- O repositório é dividido em 3 componentes principais
software: o código principal que controla diretamente os motoresfrontend: um app web 3D para operar a mesa como um controle remoto de jogofirmware: código que pretendia mostrar o placar com um Teensy 4.1 e um display e-paper
- O
firmwarenão é mais uma parte central atual, e o criador afirma que nunca o implementou completamente até o fim - A estrutura como um todo é ajustada ao ambiente de hardware específico do criador, então o código do repositório está mais próximo de servir como referência para quem quiser tentar um projeto parecido
Build e execução
- O
softwareexige compilar o uWebSockets e fazer com que o CMake consiga encontrá-lo- O criador escreveu que instalou usando
make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a - O Qualisys realtime SDK também deve ser instalado de forma semelhante
- O criador escreveu que instalou usando
- Após instalar os requisitos, o build do
softwareusa o seguinte fluxocd softwaremkdir build && cd buildcmake ..make./foosbar
- O
firmwareé um projeto padrão depioe pode ser enviado comcd firmwareseguido depio run -t upload - O
frontendé executado comcd frontendseguido denpx vite
1 comentários
Opiniões no Hacker News
Muito legal! Acho que o próximo passo é colocar controle robótico dos dois lados da mesa e organizar um torneio online de IA de pebolim
Eu entraria toda semana para ver IAs diferentes se enfrentando
A construção é excelente e o vídeo também é divertido. Sinto falta da época em que trabalhava presencialmente no escritório e passava tempo demais na mesa de pebolim
Naquela época, criamos um sistema automático de acompanhamento de placar: você encostava o crachá na mesa, alguns sensores infravermelhos contavam os pontos, e havia dashboard, ELO, temporadas e modo torneio. As estatísticas e o feed de pontuação em tempo real também eram atualizados automaticamente. Bons tempos
Fico muito curioso para saber como teria ficado se, em vez de gastar milhares ou dezenas de milhares de dólares em câmeras industriais de motion capture, eles tivessem optado por um sistema de visão de orçamento intermediário
Por exemplo, usando 2 a 4 câmeras global shutter, aplicando um filtro visual parecido com o demonstrado no começo e depois calculando a posição da bola com um filtro de Kalman/estimador de estado. Entendo que seguiram o princípio de “não construa você mesmo aquilo que pode comprar ou que um patrocinador pode fornecer”, mas eu também gostaria de ver soluções ou tentativas mais baratas para esse problema
É meio irônico, já que o nome do canal é From Scratch
A ideia do projeto é muito boa. Transformar várias coisas em CNC é bem divertido, mas chega um ponto em que parece que todo mundo já viu alguém construir do zero uma impressora 3D, uma router CNC, uma fresadora CNC, uma retífica CNC etc.
Mas isto aqui é novo, e gostei
Acho que esse cara vai longe
Se ele já está lidando com problemas assim no próprio quarto, fico imaginando o que dá para esperar dele no futuro
“Ele mecanizou com sucesso toda a diversão que eu sentia no jogo, me dando assim a liberdade de buscar coisas mais importantes e profundamente gratificantes na vida”
O link a seguir [1] mostra que essa pessoa definitivamente é bem boa no que faz :) O texto e o vídeo são bonitos, e o projeto é incrível
[1] https://github.com/misprit7/computerraria
Sempre há 3 jogadores na posição do goleiro? Lembro de ter jogado antes com uma formação de 1 goleiro, ou seja, 1-2-5-3, mas faz bastante tempo
Em mesas tradicionais, cantos curvos são necessários para evitar que a bola morra no canto. Mas com 3 goleiros, sempre dá para recuperar a bola mesmo sem cantos curvos
Em vídeos da Copa do Mundo da ITSF, dá para ver que ambos os lados têm apenas um goleiro: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
Também havia um documentário bem interessante sobre a ascensão e queda do pebolim nos EUA e, se não me engano, ele era bem ligado à empresa que criou as mesas Tornado. Vi no YouTube tempos atrás, mas agora não consigo encontrar. Talvez fosse “Foosballers”, mas não tenho certeza
Pelo menos as mesas oficiais da International Table Soccer Federation têm um goleiro e cantos elevados
https://www.tablesoccer.org/tables/leonhart.php
Agora preciso sair logo dessa toca de coelho antes de mergulhar num livro de regras de 41 páginas
https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
Hoje é menos comum porque parte do pebolim competitivo usa a formação traseira com 3 jogadores, embora haja pelo menos uma exceção. Pesquisei por causa de um encontro de ex-alunos de uma fraternidade mista, e mesas clássicas com rampas eram muito difíceis de encontrar. Como eram feitas de aglomerado, quebravam facilmente. Uma empresa que usa rampas emprega uma inclinação mais suave, em vez de rampas de canto íngremes adicionadas por cima
Muito legal. Queria ter um em casa para treinar
Mas esse robô também consegue fazer trash talk? Como alguém que gosta de pebolim, desestabilizar o adversário está profundamente enraizado na cultura (vide Community) e é uma parte importante para vencer no mais alto nível, então deveria ser o próximo passo. Talvez um jogador sério de pebolim acabe criando a primeira AGI de verdade só para fazer trash talk decente
Pebolim não é um esporte olímpico como o tênis de mesa, nem um jogo de mesa com respeito cultural como o xadrez, mas hoje em dia, mesmo que robôs me vençam facilmente no xadrez, uma mesa de pebolim robótica de ponta ainda parece algo que eu poderia derrotar
O vídeo inteiro é deliberadamente engraçado de um jeito seco, e a cena em que ele acaba com o irmão no processo foi especialmente engraçada. O irmão também levou numa boa
No fim, só queria publicar o vídeo e não fiz isso, mas teria sido engraçado
Bem legal. Esse cara é algum YouTuber famoso? É surpreendente que ele tenha conseguido patrocínio tão bem a ponto de empresas enviarem componentes de alto nível assim
Eu sabia que já tinha visto esse rosto em algum lugar: era a pessoa que construiu uma CPU completa dentro do jogo Terraria
https://www.youtube.com/watch?v=zXPiqk0-zDY