1 पॉइंट द्वारा GN⁺ 2024-06-07 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Foosbar एक पूरी तरह स्वायत्त foosball टेबल प्रोजेक्ट है, जिसमें एक तरफ़ के खिलाड़ी को रोबोट नियंत्रित करता है और दूसरी तरफ़ इंसान खेलता है
  • रोबोट वाली तरफ़ मोटर कंट्रोल के ज़रिए defense, pass, shot कर सकती है, और निर्माता repeated foosball practice को automation के लिए उपयुक्त मानते हैं
  • repository को software, frontend, firmware इन 3 components में बाँटा गया है, और actual runtime code मुख्य रूप से motor control के लिए software में है
  • frontend एक 3D web app है जो remote game controller के रूप में टेबल को नियंत्रित करता है, और firmware e-paper display पर score दिखाने तथा Teensy 4.1 के लिए code था, लेकिन यह पूरी तरह implement न हुआ पुराना component है
  • project code निर्माता के environment पर बहुत ज़्यादा निर्भर है, इसलिए इसे ज्यों-का-त्यों चल पाना मुश्किल है; यह ज़्यादा reference material जैसा है

Foosbar क्या बनाता है

  • Foosbar एक स्वायत्त foosball टेबल है, जिसे निर्माता “ऐसा कुछ जिसे सत्यापित नहीं किया जा सकता, लेकिन संभवतः दुनिया का सबसे अच्छा foosball रोबोट” कहते हैं
  • टेबल की एक तरफ़ रोबोट नियंत्रण करता है, और दूसरी तरफ़ इंसान खेलता है
  • रोबोट-नियंत्रित पक्ष ये काम कर सकता है
    • defense

    • pass

      • shot
      • प्रोजेक्ट परिचय वीडियो YouTube video पर उपलब्ध है

बनाने की प्रेरणा

  • निर्माता को foosball बहुत पसंद है, लेकिन एक programmer के रूप में वे मानते हैं कि एक ही काम को बार-बार दोहराकर धीरे-धीरे दक्षता बढ़ाने वाली practice automation के लिए उपयुक्त है
  • Foosbar ऐसी ही repetitive practice को automate करने की कोशिश से बनाया गया
  • निर्माता कहते हैं कि इस प्रोजेक्ट ने खेल के आनंद को मशीन आधारित बना दिया, ताकि वे दूसरे काम कर सकें

प्रोजेक्ट संरचना

  • repository को 3 मुख्य components में बाँटा गया है
    • software: मोटरों को सीधे नियंत्रित करने वाला मुख्य code
    • frontend: remote game controller के रूप में टेबल को नियंत्रित करने वाला 3D web app
    • firmware: Teensy 4.1 और e-paper display से score दिखाने के लिए बनाया गया code
  • firmware अब core component नहीं है, और निर्माता ने बताया है कि वे इसे अंत तक पूरी तरह implement नहीं कर पाए
  • पूरी संरचना निर्माता के खास hardware environment के अनुसार बनी है, इसलिए repository code समान तरह के project आज़माने वालों के लिए reference के अधिक करीब है

build और run

  • software के लिए uWebSockets को build करना होगा और CMake को उसे ढूँढने योग्य बनाना होगा
    • निर्माता ने लिखा है कि उन्होंने make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a तरीके से install किया
    • Qualisys realtime SDK को भी इसी तरह install करना होगा
  • requirements install करने के बाद software build के लिए यह flow इस्तेमाल होता है
    • cd software
    • mkdir build && cd build
    • cmake ..
    • make
    • ./foosbar
  • firmware एक standard pio project है, और cd firmware के बाद pio run -t upload से upload किया जाता है
  • frontend को cd frontend के बाद npx vite से चलाया जाता है

1 टिप्पणियां

 
GN⁺ 2024-06-07
Hacker News की राय
  • सच में शानदार! मेरे हिसाब से अगला कदम टेबल के दोनों पक्षों को robot control में बनाना और foosball AI online competition आयोजित करना होना चाहिए
    मैं हर हफ्ते अलग-अलग AIs को आमने-सामने खेलते देखने जरूर आऊंगा

    • दूसरे क्षेत्रों में ऐसा विचार आया था, लेकिन foosball के लिए नहीं सोचा था। असल में यह बेहतरीन use case लगता है
    • AWS DeepRacer से कहीं ज्यादा मजेदार लगता है
  • निर्माण भी बढ़िया है और वीडियो भी मजेदार। पुराने दिनों की याद आ गई, जब office में physically काम करते समय foosball table पर बहुत समय बिताते थे
    तब हमने badge से table पर tag करने पर कुछ infrared sensors से score गिनने वाला automatic score tracking system बनाया था, जिसमें dashboard, ELO, seasons और tournament mode तक थे। stats और live score feed भी अपने-आप update होते थे; अच्छे दिन थे

  • मैं सच में जानना चाहूंगा कि अगर industrial motion capture cameras पर हजारों से दसियों हजार डॉलर खर्च करने के बजाय मध्यम budget वाला vision system चुना जाता, तो यह कैसा दिखता
    जैसे 2–4 global shutter cameras इस्तेमाल करना, शुरुआती demo जैसा vision filter चलाना, फिर Kalman filter/state estimator से ball position निकालना। “जो चीज खरीदी जा सकती है या sponsor दे सकता है, उसे खुद मत बनाओ” वाले सिद्धांत को मैं समझता हूं, लेकिन इस समस्या के सस्ते समाधान या प्रयास भी देखना चाहूंगा

    • मैं इसे बनाने वाला हूं, और आपकी बात सही है। लेकिन कम-से-कम मैं foosball robot बनाने में जो रोचक हिस्सा है, यानी “foosball”, उस पर focus करना चाहता था, “ठीक से काम न करने वाले homemade vision system से जूझने” पर नहीं
      channel का नाम From Scratch है, इसलिए थोड़ा ironic जरूर है
    • पहले HN पर 5 डॉलर वाले PlayStation Eye camera और infrared LEDs से position tracking करने पर एक पोस्ट आई थी, इसलिए यह निश्चित रूप से संभव है
  • project idea सच में बहुत अच्छा है। अलग-अलग चीजों को CNC बनाना काफी मजेदार है, लेकिन किसी point पर 3D printer, CNC router, CNC mill, CNC grinder वगैरह को scratch से बनाते हुए सबने जैसे देख लिया है
    लेकिन यह नया है और मुझे पसंद आया

  • लगता है यह लड़का आगे बहुत बड़ा करेगा

    • ellipsis की वजह से यह तंज जैसा लग सकता है। अगर आपको समझ नहीं आया कि downvotes कहां से आ रहे हैं, तो शायद वजह वही हो
    • downvotes विनम्रता से स्वीकार कर लूंगा, लेकिन मैंने सच में तारीफ के तौर पर कहा था
      अगर यह अपने कमरे में ऐसे problems handle कर रहा है, तो आगे इससे क्या उम्मीद की जा सकती है, यही सोच रहा था
    • उम्र कितनी है?
  • “इसने game से मिलने वाले सारे आनंद को सफलतापूर्वक mechanize करके खत्म कर दिया, और इसके चलते जिंदगी में ज्यादा महत्वपूर्ण और गहराई से संतोष देने वाले कामों को pursue करने की आजादी मिल गई”
    नीचे दिया link [1] देखें तो साफ दिखता है कि यह व्यक्ति अपने क्षेत्र में काफी अच्छा है :) लेख और वीडियो भी सुंदर हैं, और project भी कमाल का है
    [1] https://github.com/misprit7/computerraria

  • goalkeeper position पर हमेशा 3 players होते हैं? मुझे याद है पहले 1 goalkeeper वाली layout, यानी 1-2-5-3, से खेलता था, हालांकि काफी पुरानी बात है

    • यह अमेरिका में मुख्य रूप से इस्तेमाल होने वाली Tornado tables की खासियत है। इसे cost-saving measure के रूप में लाया गया था, क्योंकि चार extra figures curved playfield से सस्ते पड़ते हैं
      traditional tables में curved corners इसलिए जरूरी होते हैं ताकि ball corner में dead न हो जाए। लेकिन 3 goalkeepers के साथ curved corners के बिना भी ball हमेशा वापस लाई जा सकती है
      ITSF World Cup videos में आप देख सकते हैं कि दोनों sides पर सिर्फ एक goalkeeper है: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
      अमेरिका में foosball के popular होने और फिर decline पर एक काफी interesting documentary भी थी, और अगर मुझे सही याद है तो उसका Tornado tables बनाने वाली company से करीबी संबंध था। पहले YouTube पर देखी थी, अब मिल नहीं रही। शायद “Foosballers” थी, लेकिन पक्का नहीं
    • कई replies देखकर लगता है कि शायद यह अमेरिका/यूरोप का फर्क भी हो सकता है
      कम-से-कम International Table Soccer Federation की official tables में goalkeeper एक ही होता है और corners उठे हुए होते हैं
      https://www.tablesoccer.org/tables/leonhart.php
      अब 41-page rulebook में घुसने से पहले मुझे जल्दी इस rabbit hole से बाहर निकलना चाहिए
      https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
    • मैंने जिंदगी में कभी goalkeeper position पर 3 लोगों वाली table नहीं देखी
    • मैंने जिन 1-goalkeeper tables को देखा है, उनमें ball corner में फंसने से रोकने के लिए raised corners थे। मेरे अनुभव में यह low-cost tables में ज्यादा दिखता है
    • corner ramps वाली single-goalkeeper style 1970s के late दौर से 80s तक का trend था
      आजकल competitive foosball में कुछ tables पीछे 3-person setup इस्तेमाल करती हैं, इसलिए यह कम common है, लेकिन कम-से-कम एक exception है। co-ed social fraternity alumni gathering के कारण मैंने इस पर research की थी, और classic ramp tables मिलना बहुत मुश्किल था। वे particle board से बनी होती थीं, इसलिए आसानी से टूट जाती थीं। ramp इस्तेमाल करने वाली एक company चिपकाए गए steep corner ramps के बजाय ज्यादा gentle slope इस्तेमाल करती है
  • सच में शानदार। घर पर practice के लिए इसे रखना चाहूंगा
    लेकिन क्या यह robot trash talk भी कर सकता है? foosball पसंद करने वाले के तौर पर, opponent का मनोबल तोड़ना culture में गहराई से बसा है (Community देखें) और top level पर जीतने का बड़ा हिस्सा है, इसलिए यह अगला step होना चाहिए। कोई serious foosball player सही trash talk के लिए पहला असली AGI भी बना सकता है
    foosball, table tennis की तरह Olympic sport नहीं है और chess की तरह cultural respect पाने वाला tabletop game भी नहीं, लेकिन आज के robots chess में मुझे आसानी से हरा दें, फिर भी cutting-edge robot foosball table अभी ऐसी लगती है जिसे मैं हरा सकता हूं
    पूरे video में जानबूझकर dry humor है, और उस process में अपने भाई को बुरी तरह हराने वाला scene खास तौर पर मजेदार था। भाई ने भी इसे अच्छे से लिया

    • सोचा था कि एक-दो घंटे में chatbot API जोड़ दूं और real-time position/score data भी भेजूं ताकि वह personalized taunts कर सके
      आखिर में बस video publish करना चाहता था इसलिए नहीं किया, लेकिन करता तो मजेदार होता
    • “अच्छा कर रहे हो, चाहे बाकी लोग कुछ भी कहें”
  • काफी cool है। क्या यह व्यक्ति कोई famous YouTuber है? हैरानी है कि इसने इतनी successfully sponsorship पा ली कि companies इसे ऐसे high-end parts भेज रही हैं

    • मुझे भी यही जानना था, लेकिन इस account पर अभी बस दूसरा ही video है
    • अगर famous YouTuber होता तो cash की गड्डियां भी साथ मांगता
  • कहीं देखा हुआ चेहरा लगा था, फिर याद आया कि यह वही व्यक्ति है जिसने Terraria नाम के game के अंदर पूरा CPU बनाया था
    https://www.youtube.com/watch?v=zXPiqk0-zDY