1 poin oleh GN⁺ 2024-06-07 | 1 komentar | Bagikan ke WhatsApp
  • Foosbar adalah proyek meja foosball sepenuhnya otonom yang mengendalikan satu sisi pemain dengan robot sementara sisi lain dimainkan manusia
  • Sisi robot dapat melakukan bertahan, mengoper, dan menembak melalui kendali motor, dan pembuatnya melihat sifat repetitif latihan foosball sebagai target yang cocok untuk otomatisasi
  • Repositori dibagi menjadi 3 komponen: software, frontend, dan firmware, dengan kode operasi aktual terutama berada di software untuk kendali motor
  • frontend adalah aplikasi web 3D untuk mengoperasikan meja sebagai pengendali game jarak jauh, dan firmware adalah kode untuk layar e-paper penampil skor serta Teensy 4.1, tetapi merupakan komponen lama yang belum sepenuhnya diimplementasikan
  • Kode proyek ini sangat spesifik terhadap lingkungan pembuatnya sehingga kecil kemungkinan bisa langsung dijalankan apa adanya, dan lebih bersifat sebagai referensi untuk percobaan serupa

Apa yang dibuat Foosbar

  • Foosbar adalah meja foosball otonom yang oleh pembuatnya disebut sebagai “mungkin robot foosball terbaik di dunia, meski tidak bisa dibuktikan”
  • Satu sisi meja dikendalikan robot, sementara sisi seberangnya dimainkan manusia
  • Sisi kendali robot dapat melakukan tindakan berikut
    • Bertahan

    • Mengoper

Motivasi pembuatan

  • Pembuatnya sangat menyukai foosball, tetapi sebagai programmer ia menilai metode latihan berupa mengulang pekerjaan yang sama sambil sedikit demi sedikit meningkatkan efisiensi sangat cocok untuk diotomatisasi
  • Foosbar dibuat sebagai upaya untuk mengotomatisasi latihan repetitif semacam itu
  • Pembuatnya menggambarkan proyek ini sebagai cara memekanisasi kesenangan permainan agar ia bisa mengerjakan hal lain

Struktur proyek

  • Repositori dibagi menjadi 3 komponen utama
    • software: kode utama yang langsung mengendalikan motor
    • frontend: aplikasi web 3D untuk mengoperasikan meja sebagai pengendali game jarak jauh
    • firmware: kode yang dimaksudkan untuk menampilkan skor menggunakan Teensy 4.1 dan layar e-paper
  • firmware bukan lagi komponen inti saat ini, dan pembuatnya menyatakan bahwa bagian ini tidak pernah sepenuhnya diselesaikan
  • Keseluruhan susunan proyek disesuaikan dengan lingkungan perangkat keras spesifik milik pembuat, sehingga kode repositori ini lebih dekat sebagai referensi bagi orang yang ingin mencoba proyek serupa

Build dan menjalankan

  • software mengharuskan uWebSockets dibangun dan dapat ditemukan oleh CMake
    • Pembuatnya menulis bahwa ia memasangnya dengan cara make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a
    • Qualisys realtime SDK juga perlu dipasang dengan cara serupa
  • Setelah dependensi terpasang, build software menggunakan alur berikut
    • cd software
    • mkdir build && cd build
    • cmake ..
    • make
    • ./foosbar
  • firmware adalah proyek pio standar dan diunggah dengan cd firmware lalu pio run -t upload
  • frontend dijalankan dengan cd frontend lalu npx vite

1 komentar

 
GN⁺ 2024-06-07
Opini Hacker News
  • Benar-benar keren! Menurutku langkah berikutnya adalah membuat kedua sisi meja dikendalikan robot, lalu menggelar turnamen AI foosball online
    Sepertinya aku bakal masuk tiap minggu untuk menonton AI yang berbeda saling bertanding

    • Aku pernah memikirkan ide seperti ini di bidang lain, tapi tidak terpikir untuk foosball. Dalam praktiknya ini terlihat sebagai contoh penerapan yang sangat bagus
    • Kelihatannya jauh lebih seru daripada AWS DeepRacer
  • Pembuatannya bagus sekali dan videonya juga menarik. Jadi kangen masa-masa dulu saat masih bekerja langsung di kantor, menghabiskan banyak sekali waktu di meja foosball
    Waktu itu kami membuat sistem pelacakan skor otomatis: cukup tag meja dengan badge, beberapa sensor inframerah menghitung skor, lengkap dengan dashboard, ELO, musim, dan mode turnamen. Statistik dan feed skor real-time juga diperbarui otomatis; masa-masa yang menyenangkan

  • Aku benar-benar penasaran seperti apa jadinya jika alih-alih menghabiskan ribuan hingga puluhan ribu dolar untuk kamera motion capture industri, mereka memakai sistem visi dengan anggaran menengah
    Misalnya memakai 2–4 kamera global shutter, menjalankan filter visual yang mirip dengan demo awal, lalu menghitung posisi bola dengan filter Kalman/estimator keadaan. Aku paham prinsip “jangan membuat sendiri sesuatu yang bisa dibeli atau diberikan sponsor”, tapi aku juga ingin melihat solusi atau percobaan yang lebih murah untuk masalah ini

    • Aku pembuatnya, dan pendapat itu benar juga. Namun setidaknya aku ingin fokus pada bagian menarik dari membuat robot foosball, yaitu “foosball”, bukan “mengutak-atik sistem visi buatan sendiri yang tidak bekerja dengan benar”
      Agak ironis memang, mengingat nama channel-nya From Scratch
    • Dulu pernah ada tulisan di HN tentang pelacakan posisi dengan kamera PlayStation Eye seharga 5 dolar dan LED inframerah, jadi jelas itu memang memungkinkan
  • Ide proyeknya benar-benar bagus. Menjadikan berbagai benda sebagai CNC memang cukup menyenangkan, tapi pada titik tertentu rasanya semua orang sudah pernah melihat orang membuat 3D printer, CNC router, CNC mill, CNC grinder, dan sebagainya dari nol
    Tapi yang ini terasa baru, dan aku suka

  • Sepertinya orang ini akan jadi besar ke depannya

    • Karena elipsisnya, itu bisa terlihat seperti sindiran. Kalau kamu tidak tahu dari mana downvote datang, mungkin itu penyebabnya
    • Aku menerima downvote dengan rendah hati, tapi aku sungguh bermaksud mengatakannya secara positif
      Kalau dia sudah menangani masalah-masalah seperti ini dari kamarnya sendiri, aku jadi bertanya-tanya apa yang bisa kita harapkan darinya di masa depan
    • Umurnya berapa?
  • “Ia berhasil memekanisasi dan menghilangkan semua kesenangan yang dulu kurasakan dari game, sehingga aku bebas mengejar hal-hal yang lebih penting dan jauh lebih memuaskan dalam hidup”
    Tautan terkait [1] menunjukkan bahwa orang ini jelas cukup hebat di bidangnya :) Tulisan dan videonya juga indah, dan proyeknya luar biasa
    [1] https://github.com/misprit7/computerraria

  • Apakah posisi kiper selalu diisi 3 pemain? Aku ingat dulu pernah bermain dengan susunan 1 kiper, yaitu 1-2-5-3, tapi itu sudah cukup lama

    • Itu ciri khas meja Tornado yang banyak dipakai di AS. Awalnya diperkenalkan sebagai langkah penghematan biaya, karena empat figur tambahan lebih murah daripada lapangan bermain melengkung
      Pada meja tradisional, sudut melengkung diperlukan agar bola tidak mati di pojok. Tapi dengan 3 kiper, bola selalu bisa diambil tanpa sudut melengkung
      Di video Piala Dunia ITSF, kamu bisa melihat kedua sisi hanya punya satu kiper: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
      Ada juga dokumenter yang cukup menarik tentang naik dan turunnya foosball di AS, dan kalau ingatanku benar, dokumenter itu terkait erat dengan perusahaan pembuat meja Tornado. Dulu aku menontonnya di YouTube, tapi sekarang tidak bisa menemukannya. Mungkin judulnya “Foosballers”, tapi aku tidak yakin
    • Dari beberapa jawaban, mungkin ini memang perbedaan AS/Eropa
      Setidaknya meja resmi International Table Soccer Federation hanya punya satu kiper dan sudutnya dinaikkan
      https://www.tablesoccer.org/tables/leonhart.php
      Sekarang aku harus cepat keluar dari rabbit hole ini sebelum mulai menyelami buku aturan 41 halaman
      https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
    • Seumur hidupku, aku belum pernah melihat meja yang punya 3 pemain di posisi kiper
    • Meja dengan 1 kiper yang pernah kulihat punya sudut yang dinaikkan supaya bola tidak tersangkut di pojok. Dari pengalamanku, ini lebih sering terlihat pada meja murah
    • Sistem satu kiper dengan ramp sudut adalah tren dari akhir 1970-an sampai 1980-an
      Sekarang itu kurang umum karena sebagian foosball kompetitif memakai susunan 3 pemain di belakang, meski ada setidaknya satu pengecualian. Aku pernah menelitinya untuk reuni alumni perkumpulan sosial campuran, dan meja klasik dengan ramp sangat sulit ditemukan. Soalnya meja-meja itu dibuat dari particle board sehingga mudah rusak. Salah satu perusahaan yang memakai ramp menggunakan kemiringan yang lebih landai, bukan ramp sudut curam yang ditambahkan
  • Benar-benar keren. Aku ingin punya satu di rumah untuk latihan
    Tapi apakah robot ini juga bisa trash talk? Sebagai orang yang suka foosball, menjatuhkan mental lawan sudah sangat mengakar dalam budayanya (lihat Community) dan menjadi bagian besar untuk menang di level tertinggi, jadi itu seharusnya jadi langkah berikutnya. Pemain foosball yang serius mungkin bisa membuat AGI pertama yang sesungguhnya demi trash talk yang layak
    Foosball memang bukan cabang Olimpiade seperti tenis meja atau permainan meja yang dihormati secara budaya seperti catur, tapi meski robot masa kini bisa dengan mudah mengalahkanku di catur, meja foosball robot mutakhir ini masih terlihat seperti sesuatu yang mungkin bisa kukalahkan
    Sepanjang video, humornya sengaja dibuat kering, dan adegan ketika ia menghajar adiknya dalam proses itu sangat lucu. Adiknya juga menerimanya dengan baik

    • Aku sempat terpikir untuk memasang API chatbot satu-dua jam, lalu mengirimkan data posisi/skor real-time agar bisa membuat ejekan yang dipersonalisasi
      Pada akhirnya aku hanya ingin merilis videonya, jadi tidak kulakukan, tapi sepertinya akan lucu kalau jadi
    • “Kamu sudah bagus kok, tak peduli apa kata orang lain”
  • Cukup keren. Apakah orang ini semacam YouTuber terkenal? Mengejutkan bahwa ia berhasil mendapatkan sponsor sampai perusahaan-perusahaan mau mengirimkan komponen kelas atas seperti ini

    • Aku juga penasaran hal yang sama; akun ini baru punya video kedua
    • Kalau dia YouTuber terkenal, dia pasti juga meminta segepok uang
  • Pantas wajahnya terasa pernah kulihat; ternyata dia orang yang membuat CPU lengkap di dalam game Terraria
    https://www.youtube.com/watch?v=zXPiqk0-zDY