1 puan yazan GN⁺ 2024-06-07 | 1 yorum | WhatsApp'ta paylaş
  • Foosbar, bir taraftaki oyuncuyu robotla kontrol eden ve diğer tarafta bir insanın oynadığı tam otonom bir langırt masası projesidir
  • Robot tarafı, motor kontrolüyle savunma, pas ve şut yapabilir; geliştirici, langırt antrenmanındaki tekrar edilebilirliği otomasyon hedefi olarak görüyor
  • Depo software, frontend, firmware olmak üzere 3 bileşene ayrılmıştır; gerçek çalıştırma kodu ağırlıklı olarak motor kontrolüne yönelik software içindedir
  • frontend, masayı uzaktan oyun kumandasıyla kontrol etmeye yarayan 3D web uygulamasıdır; firmware ise skor gösterimi için e-paper ekran ve Teensy 4.1’e yönelik koddu, ancak tamamen uygulanmamış eski bir bileşendir
  • Proje kodu, geliştiricinin ortamına oldukça özel olduğundan olduğu gibi çalıştırılma olasılığı düşüktür; benzer denemeler için daha çok referans materyali niteliğindedir

Foosbar ne yapıyor?

  • Foosbar, geliştiricisinin “doğrulayamam ama makul biçimde dünyanın en iyi langırt robotu” diye adlandırdığı otonom bir langırt masasıdır
  • Masanın bir tarafını robot kontrol eder, karşı tarafta ise insan oynar
  • Robot kontrol tarafı şu hareketleri yapabilir
    • Savunma

    • Pas

Geliştirme motivasyonu

  • Geliştirici langırtı çok seviyor; ancak bir programcı olarak, aynı işi tekrarlayıp verimliliği azar azar artırmaya dayalı antrenman biçiminin otomasyona uygun olduğunu düşünüyor
  • Foosbar, bu tür tekrarlı antrenmanı otomatikleştirme girişimi olarak ortaya çıktı
  • Geliştirici, bu projenin oyunun keyifli kısmını makineleştirerek kendisinin başka işler yapabilmesini sağladığını ifade ediyor

Proje yapısı

  • Depo 3 ana bileşene ayrılıyor
    • software: motorları doğrudan kontrol eden ana kod
    • frontend: masayı uzaktan oyun kumandasıyla kontrol etmeye yarayan 3D web uygulaması
    • firmware: Teensy 4.1 ve e-paper ekranla skoru göstermeyi amaçlayan kod
  • firmware artık güncel çekirdek bileşenlerden biri değil; geliştirici bunu hiçbir zaman tamamen uygulamadığını belirtiyor
  • Tüm yapı, geliştiricinin belirli donanım ortamına göre uyarlanmış durumda; depodaki kod, benzer bir proje denemek isteyenler için daha çok referans niteliğinde

Derleme ve çalıştırma

  • software için uWebSockets derlenmeli ve CMake’in bulabileceği şekilde kurulmalıdır
    • Geliştirici, make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a yöntemiyle kurduğunu yazıyor
    • Qualisys realtime SDK da benzer şekilde kurulmalıdır
  • Gereksinimler kurulduktan sonra software derlemesi için şu akış kullanılır
    • cd software
    • mkdir build && cd build
    • cmake ..
    • make
    • ./foosbar
  • firmware standart bir pio projesidir ve cd firmware sonrasında pio run -t upload ile yüklenir
  • frontend, cd frontend sonrasında npx vite ile çalıştırılır

1 yorum

 
GN⁺ 2024-06-07
Hacker News yorumları
  • Gerçekten harika! Bence sıradaki adım, masanın iki tarafını da robot kontrolüne geçirmek ve bir langırt yapay zeka çevrim içi turnuvası düzenlemek
    Her hafta farklı yapay zekaların kapışmasını izlemek için girerdim

    • Başka alanlarda böyle bir fikir aklıma gelmişti ama langırtı düşünmemiştim. Gerçekte mükemmel bir uygulama alanı gibi görünüyor
    • AWS DeepRacer’dan çok daha eğlenceli görünüyor
  • Yapımı da harika, video da eğlenceli. Eskiden ofiste fiziksel olarak çalıştığımız günlerde langırt masasında inanılmaz zaman geçirdiğim günleri özledim
    O zamanlar rozetle masaya etiket okutunca birkaç kızılötesi sensörle skoru sayan; pano, ELO, sezon ve turnuva modları olan otomatik bir skor takip sistemi yapmıştık. İstatistikler ve canlı skor akışı da otomatik güncellenirdi; güzel günlerdi

  • Endüstriyel motion capture kameralarına binlerce-on binlerce dolar harcamak yerine orta bütçeli bir görsel sistem tercih edilseydi nasıl görünürdü, gerçekten merak ediyorum
    Örneğin 2-4 global shutter kamera kullanıp, ilk demodakine benzer bir görsel filtre çalıştırdıktan sonra Kalman filtresi/durum kestiricisiyle topun konumunu hesaplamak gibi. “Satın alabileceğin ya da sponsorun verebileceği şeyi kendin yapma” ilkesini izlemelerini anlıyorum ama bu probleme yönelik daha ucuz çözümleri ya da denemeleri de görmek isterdim

    • Bunu yapan kişi benim; dediğinde haklılık payı var. Ama en azından ben langırt robotu yapmakta ilginç olan kısma, yani “langırt”a odaklanmak istedim; “düzgün çalışmayan ev yapımı bir görsel sistemle uğraşmaya” değil
      Kanalın adının From Scratch olması biraz ironik tabii
    • Daha önce HN’de 5 dolarlık bir PlayStation Eye kamera ve kızılötesi LED ile konum takibi yapan bir yazı paylaşılmıştı, yani kesinlikle mümkün
  • Proje fikri gerçekten iyi. Çeşitli şeyleri CNC’leştirmek epey eğlenceli ama bir noktadan sonra 3D yazıcı, CNC router, CNC freze, CNC taşlama makinesi vb. şeylerin sıfırdan yapılmasını herkes görmüş gibi geliyor
    Bu ise yeni ve hoşuma gitti

  • Bu çocuğun ileride büyük işler yapacağını düşünüyorum

    • Üç nokta yüzünden alay ediyormuşsun gibi görünebilir. Eksilerin nereden geldiğini bilmiyorsan muhtemelen sebebi bu
    • Eksileri alçakgönüllülükle kabul ederim ama gerçekten iyi anlamda söylemiştim
      Kendi odasında böyle problemlerle uğraşıyorsa, ileride ondan neler bekleyebiliriz diye düşündüm
    • Kaç yaşında?
  • “Oyunda hissettiğim tüm eğlenceyi başarıyla makineleştirip ortadan kaldırdı; böylece hayatta daha önemli ve derin biçimde tatmin edici işlerin peşinden gitme özgürlüğü kazandım”
    Devamındaki bağlantı [1], bu kişinin kendi alanında kesinlikle oldukça iyi olduğunu gösteriyor :) Yazı ve video da güzel, proje de müthiş
    [1] https://github.com/misprit7/computerraria

  • Kaleci konumunda her zaman 3 oyuncu mu var? Eskiden tek kalecili dizilişle, yani 1-2-5-3 ile oynadığımı hatırlıyorum; gerçi epey zaman geçti

    • Bu, ABD’de yaygın kullanılan Tornado masalarının bir özelliği. Maliyet düşürme önlemi olarak getirilmişti; çünkü dört ek figür, kavisli oyun alanından daha ucuz
      Geleneksel masalarda kavisli köşeler, topun köşede ölü kalmaması için gerekli. Ama 3 kalecili düzende kavisli köşe olmasa da topu her zaman alabiliyorsun
      ITSF Dünya Kupası videosunda iki tarafta da yalnızca bir kaleci olduğunu görebilirsin: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
      ABD’de langırtın yükselişini ve sonra düşüşünü anlatan epey ilginç bir belgesel de vardı; doğru hatırlıyorsam Tornado masalarını yapan şirketle yakından bağlantılıydı. Eskiden YouTube’da izlemiştim ama şimdi bulamıyorum. “Foosballers” olabilir ama emin değilim
    • Birkaç yanıta bakınca bu muhtemelen ABD/Avrupa farkı da olabilir
      En azından International Table Soccer Federation’ın resmî masalarında tek kaleci var ve köşeler yükseltilmiş
      https://www.tablesoccer.org/tables/leonhart.php
      41 sayfalık kural kitabına dalmadan önce bu tavşan deliğinden hemen çıkmam gerek
      https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
    • Hayatımda kaleci konumunda 3 oyuncu olan bir masa hiç görmedim
    • Gördüğüm tek kalecili masalarda top köşeye sıkışmasın diye yükseltilmiş köşeler vardı. Benim deneyimime göre bunları daha çok düşük kaliteli masalarda gördüm
    • Köşe rampalı tek kaleci düzeni, 1970’lerin sonundan 80’lere uzanan bir trenddi
      Günümüzde rekabetçi langırtın bir kısmı arkada 3’lü diziliş kullandığı için daha az yaygın ama en az bir istisna var. Karma öğrenci birliği mezun buluşması için araştırmıştım; klasik rampalı masaları bulmak çok zordu. Sunta oldukları için kolay bozulmuşlardı. Rampa kullanan bir şirket, sonradan eklenen dik köşe rampaları yerine daha yumuşak bir eğim kullanıyor
  • Gerçekten harika. Evde pratik yapmak için bir tane isterdim
    Peki bu robot trash talk da yapabiliyor mu? Langırtı seven biri olarak, rakibin moralini bozmak kültürün derinlerine işlemiş durumda (bkz. Community) ve en üst seviyede kazanmak için bunun büyük bir parçası var; sıradaki adım bu olmalı. Ciddi bir langırt oyuncusu, düzgün trash talk için ilk gerçek AGI’yi bile yapabilir gibi geliyor
    Langırt, masa tenisi gibi olimpik bir spor ya da satranç gibi kültürel saygı gören bir masa oyunu değil; ama günümüzde robotlar satrançta beni kolayca yense de son teknoloji robot langırt masası hâlâ yenebileceğim bir şey gibi görünüyor
    Videonun geneli bilerek kuru bir mizaha sahipti; bu süreçte kardeşini dağıttığı sahne özellikle komikti. Kardeşi de bunu iyi karşıladı

    • Bir-iki saat içinde bir chatbot API’si bağlayıp, gerçek zamanlı konum/skor verilerini de göndererek kişiye özel alaylar yaptırmayı düşünmüştüm
      Sonunda sadece videoyu yayımlamak istediğim için yapmadım ama yapsaydım komik olurdu
    • “İyi gidiyorsun, başkaları ne derse desin”
  • Epey havalı. Bu kişi ünlü bir YouTuber falan mı? Şirketlerin böyle üst seviye parçalar gönderecek kadar başarılı sponsor bulunmasına şaşırdım

    • Ben de aynı şeyi merak ettim; bu hesapta henüz sadece ikinci video var
    • Ünlü bir YouTuber olsaydı yanında tomarla para da isterdi
  • Yüzünü bir yerden tanıyorum diyordum; Terraria adlı oyunun içinde tam bir CPU yapan kişiymiş
    https://www.youtube.com/watch?v=zXPiqk0-zDY