HN公開:Foosbar — 自律型テーブルサッカーロボット
(github.com/misprit7)- Foosbarは、片側のプレイヤーをロボットで制御し、もう片側で人間が対戦する完全自律型のテーブルサッカーテーブルプロジェクト
- ロボット側はモーター制御によって守備、パス、シュートを実行でき、制作者はテーブルサッカー練習の反復性を自動化の対象と見ている
- リポジトリは
software、frontend、firmwareの3つのコンポーネントに分かれており、実際の駆動コードは主にモーター制御用のsoftwareにある frontendはリモートゲームコントローラーとしてテーブルを操作する3D Webアプリで、firmwareはスコア表示用のe-paperディスプレイとTeensy 4.1向けのコードだったが、完全には実装されていない旧式の構成- プロジェクトのコードは制作者の環境に非常に特化しているため、そのまま実行できる可能性は低く、似た試みのための参考資料という性格が強い
Foosbarが作るもの
- Foosbarは、制作者が「検証はできないが、もっともらしく世界最高のテーブルサッカーロボット」と呼ぶ自律型テーブルサッカーテーブル
- 片側のテーブルはロボットが制御し、反対側では人間がプレイする
- ロボット制御側は次の動作を実行できる
-
守備
-
パス
- シュート
- プロジェクト紹介動画は YouTube動画 として提供されている
-
制作の動機
- 制作者はテーブルサッカーが非常に好きだが、プログラマーとして同じ作業を繰り返して少しずつ効率を高める練習方法は自動化に適していると見ている
- Foosbarは、そうした反復練習を自動化しようとする試みから作られた
- 制作者は、このプロジェクトがゲームの楽しさを機械化し、自分が別の作業をできるようにしたと表現している
プロジェクト構成
- リポジトリは3つの主要コンポーネントに分かれている
software: モーターを直接制御する主要コードfrontend: リモートゲームコントローラーとしてテーブルを操作する3D Webアプリfirmware: Teensy 4.1とe-paperディスプレイでスコアを表示しようとしていたコード
firmwareはもはや現在の中核コンポーネントではなく、制作者は最後まで完全には実装しなかったと明かしている- 全体構成は制作者の特定のハードウェア環境に合わせられているため、リポジトリのコードは似たプロジェクトを試みる人向けの参考用に近い
ビルドと実行
softwareは uWebSockets をビルドし、CMakeが見つけられるようにする必要がある- 制作者は
make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.aという方法でインストールしたと書いている - Qualisys realtime SDK も同様の方法でインストールする必要がある
- 制作者は
- 要件をインストールした後、
softwareのビルドには次の流れを使うcd softwaremkdir build && cd buildcmake ..make./foosbar
firmwareは標準的なpioプロジェクトで、cd firmwareの後にpio run -t uploadでアップロードするfrontendはcd frontendの後にnpx viteで実行する
1件のコメント
Hacker Newsのコメント
本当にすごい! 次の段階はテーブルの両側をすべてロボット制御にして、フーズボールAIオンライン大会を開くことだと思う
毎週いろんなAI同士が対戦するのを見に行きそう
制作も素晴らしいし、動画も面白い。昔オフィスに出社していた頃、フーズボールテーブルでとてつもない時間を過ごしていたのが懐かしい
あの頃は、バッジでテーブルにタグ付けすると、いくつかの赤外線センサーで得点を数え、ダッシュボード・ELO・シーズン・トーナメントモードまで備えた自動スコア追跡システムを作っていた。統計やリアルタイムのスコアフィードも自動更新されていて、いい時代だった
産業用のモーションキャプチャカメラに数千〜数万ドルを使える代わりに、中程度の予算の視覚システムにしたらどうなったのか本当に気になる
たとえば2〜4台のグローバルシャッターカメラを使って、最初のデモと似たような視覚フィルターを回し、その後カルマンフィルター/状態推定器でボール位置を計算する方式。"買えるもの、あるいはスポンサーが提供してくれるものは自作するな" という原則に従ったのは理解できるけど、この問題に対するもっと安価な解法や試みも見てみたい
チャンネル名が From Scratch だから、ちょっと皮肉ではある
プロジェクトのアイデアが本当にいい。いろいろな物をCNC化するのはかなり面白いけど、ある時点から3Dプリンター、CNCルーター、CNCミル、CNCグラインダーなどをゼロから作るのは、もうみんな見慣れた感じがある
でもこれは新鮮で気に入った
この人は将来大物になりそう
自分の部屋でこういう問題に取り組んでいるなら、これから先どんなことが期待できるんだろうと思った
「ゲームで感じていたあらゆる楽しさを見事に機械化して消し去ってくれたおかげで、人生でもっと重要で深く満たされることを追求する自由が手に入った」
続けて貼られていたリンク [1] を見ると、この人が自分の分野でかなり優れているのがよくわかる :) 文章も動画も美しく、プロジェクトも見事
[1] https://github.com/misprit7/computerraria
ゴールキーパーの位置には常に選手が3人いるの? 昔は1人ゴールキーパーの配置、つまり 1-2-5-3 だった記憶があるけど、かなり前のことだ
従来のテーブルでは、ボールがコーナーで止まってしまわないようにするために曲面コーナーが必要。でも3人ゴールキーパーなら、曲面コーナーがなくても常にボールを取りに行ける
ITSFワールドカップの動画では、両側ともゴールキーパーが1人だけなのが見える: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
アメリカでフーズボールが流行して衰退していく過程を扱った、かなり興味深いドキュメンタリーもあって、記憶が正しければTornadoテーブルを作った会社と密接につながっていた。昔YouTubeで見たけど、今は見つからない。"Foosballers" だったかもしれないが確信はない
少なくともInternational Table Soccer Federationの公式テーブルはゴールキーパーが1人で、コーナーが持ち上がっている
https://www.tablesoccer.org/tables/leonhart.php
41ページのルールブックを読み込み始める前に、早くこの沼から抜け出さないと
https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
今では競技フーズボールの一部で後方3人配置が使われているのであまり一般的ではないが、例外は1つ以上ある。男女混合の親睦団体の同窓会のために調べたことがあるが、クラシックなランプ付きテーブルは見つけるのがとても難しかった。パーティクルボード製で壊れやすかったからだ。ランプを使うある会社は、後付けの急なコーナーランプではなく、より緩やかな傾斜を使っている
本当にすごい。家で練習用に欲しい
でもこのロボット、トラッシュトークもできるの? フーズボール好きとしては、相手をびびらせるのは文化に深く根付いていて(Community参照)、トップレベルで勝つには大きな要素だから、次のステップになるべきだと思う。本気のフーズボールプレイヤーが、ちゃんとしたトラッシュトークのために最初の本物のAGIを作るかもしれない
フーズボールは、卓球のようにオリンピック競技でもないし、チェスのように文化的敬意を受けるテーブルゲームでもないけれど、最近のロボットはチェスでは簡単に自分を負かせても、最先端のロボットフーズボールテーブルならまだ自分が勝てそうに見える
動画全体が意図的に乾いたユーモアで、途中で弟をボコボコにする場面は特に笑った。弟の受け方もよかった
結局はさっさと動画を出したかったのでやらなかったけど、やっていたら面白かったはず
かなりすごい。この人って有名なYouTuberなの? 企業がこんな高級部品を送ってくれるほど、うまくスポンサーを獲得しているのが驚き
どこかで見た顔だと思ったら、Terrariaの中に完全なCPUを作った人だった
https://www.youtube.com/watch?v=zXPiqk0-zDY