HN เปิดตัว: Foosbar – หุ่นยนต์โต๊ะฟุตบอลอัตโนมัติ
(github.com/misprit7)- Foosbar เป็นโปรเจกต์ โต๊ะฟุตบอลอัตโนมัติเต็มรูปแบบ ที่ควบคุมผู้เล่นฝั่งหนึ่งด้วยหุ่นยนต์ ขณะที่อีกฝั่งเป็นมนุษย์ลงเล่น
- ฝั่งหุ่นยนต์สามารถทำ การป้องกัน, การส่งบอล, การยิง ได้ผ่านการควบคุมมอเตอร์ และผู้สร้างมองว่าความซ้ำๆ ของการฝึกโต๊ะฟุตบอลเหมาะกับการทำให้เป็นอัตโนมัติ
- รีโพซิทอรีแบ่งเป็น 3 องค์ประกอบคือ
software,frontend,firmwareโดยโค้ดที่ใช้ขับเคลื่อนจริงอยู่หลักๆ ในsoftwareสำหรับควบคุมมอเตอร์ frontendคือ เว็บแอป 3D สำหรับควบคุมโต๊ะผ่านรีโมตเกมคอนโทรลเลอร์ และfirmwareคือโค้ดสำหรับจอ e-paper แสดงคะแนนและ Teensy 4.1 แต่เป็นส่วนเก่าที่ยังทำไม่สมบูรณ์- โค้ดของโปรเจกต์ปรับให้เข้ากับสภาพแวดล้อมของผู้สร้างอย่างมาก จึงมีโอกาสน้อยที่จะรันได้ตรงๆ และมีลักษณะเป็น เอกสารอ้างอิง สำหรับผู้ที่อยากลองทำสิ่งคล้ายกันมากกว่า
Foosbar สร้างอะไร
- Foosbar คือ โต๊ะฟุตบอลอัตโนมัติ ที่ผู้สร้างเรียกว่า “อาจพิสูจน์ไม่ได้ แต่ก็น่าจะเป็นหุ่นยนต์โต๊ะฟุตบอลที่เก่งที่สุดในโลก”
- โต๊ะฝั่งหนึ่งถูกควบคุมโดยหุ่นยนต์ ส่วนอีกฝั่งให้มนุษย์เล่น
- ฝั่งควบคุมด้วยหุ่นยนต์สามารถทำงานต่อไปนี้ได้
-
ป้องกัน
-
ส่งบอล
- ยิง
- วิดีโอแนะนำโปรเจกต์มีให้รับชมที่ วิดีโอ YouTube
-
แรงจูงใจในการสร้าง
- ผู้สร้างชอบเล่นโต๊ะฟุตบอลมาก แต่ในฐานะโปรแกรมเมอร์ เขามองว่าวิธีฝึกแบบทำสิ่งเดิมซ้ำๆ แล้วค่อยๆ เพิ่มประสิทธิภาพนั้นเหมาะกับการทำให้เป็นอัตโนมัติ
- Foosbar จึงถูกสร้างขึ้นจากความพยายามที่จะทำให้การฝึกซ้ำๆ แบบนั้นเป็นอัตโนมัติ
- ผู้สร้างอธิบายว่าโปรเจกต์นี้ทำให้ความสนุกของเกมกลายเป็นเครื่องจักร เพื่อให้ตัวเองไปทำ งานอื่น ได้
โครงสร้างโปรเจกต์
- รีโพซิทอรีแบ่งออกเป็น 3 ส่วนหลัก
software: โค้ดหลัก ที่ควบคุมมอเตอร์โดยตรงfrontend: เว็บแอป 3D สำหรับควบคุมโต๊ะผ่านรีโมตเกมคอนโทรลเลอร์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 uploadfrontendรันด้วยcd frontendแล้วnpx vite
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เจ๋งมาก! ผมว่าสเต็ปถัดไปคือทำให้ทั้งสองฝั่งของโต๊ะเป็นระบบควบคุมด้วยหุ่นยนต์ แล้วจัด ทัวร์นาเมนต์ AI ฟุตบอลโต๊ะออนไลน์
น่าจะเข้าไปดู AI ต่าง ๆ แข่งกันทุกสัปดาห์
งานสร้างก็ยอดเยี่ยม วิดีโอก็สนุก ทำให้นึกถึงสมัยก่อนที่ยังทำงานในออฟฟิศ แล้วใช้เวลาอยู่กับ โต๊ะฟุตบอลโต๊ะ เยอะมาก
ตอนนั้นเราทำระบบติดตามคะแนนอัตโนมัติไว้ โดยแตะบัตรพนักงานที่โต๊ะ แล้วใช้เซ็นเซอร์อินฟราเรดสองสามตัวนับคะแนน มีทั้งแดชบอร์ด, ELO, ฤดูกาลแข่งขัน และโหมดทัวร์นาเมนต์ สถิติและฟีดคะแนนสดก็อัปเดตอัตโนมัติ เป็นช่วงเวลาที่ดีจริง ๆ
ผมสงสัยมากว่าถ้าแทนที่จะใช้เงินหลักพันถึงหลักหมื่นดอลลาร์กับ กล้อง motion capture ระดับอุตสาหกรรม แล้วเลือกใช้ระบบวิชันงบปานกลางแทน มันจะออกมาเป็นอย่างไร
เช่น ใช้กล้อง global shutter 2–4 ตัว รันฟิลเตอร์ภาพคล้ายกับที่สาธิตตอนแรก แล้วคำนวณตำแหน่งลูกด้วย Kalman filter/ตัวประมาณสถานะ ผมเข้าใจหลักการที่ว่า “อะไรที่ซื้อได้หรือสปอนเซอร์ให้ได้ ก็อย่าทำเอง” แต่ก็อยากเห็นวิธีแก้หรือความพยายามที่ถูกกว่านี้สำหรับปัญหานี้เหมือนกัน
ก็ออกจะย้อนแย้งหน่อย เพราะชื่อช่องคือ From Scratch
ไอเดียโปรเจกต์ดีมาก การทำสิ่งต่าง ๆ ให้เป็น CNC ก็ค่อนข้างสนุก แต่ถึงจุดหนึ่งก็รู้สึกเหมือนทุกคนเคยเห็นการสร้าง 3D printer, CNC router, CNC mill, CNC grinder ฯลฯ ตั้งแต่ศูนย์กันมาหมดแล้ว
แต่อันนี้สดใหม่และผมชอบ
หมอนี่น่าจะไปได้ไกลมากในอนาคต
ถ้าเขาจัดการปัญหาแบบนี้อยู่ในห้องตัวเอง ก็อดคิดไม่ได้ว่าอนาคตจะคาดหวังอะไรจากเขาได้อีก
“เขาประสบความสำเร็จในการทำให้ความสนุกทั้งหมดที่ผมเคยรู้สึกจากเกมถูกทำให้เป็นเครื่องจักรและหายไป เปิดอิสระให้ผมไปแสวงหาสิ่งที่สำคัญและเติมเต็มชีวิตได้ลึกซึ้งกว่า”
ถ้าดูลิงก์ต่อไป [1] ก็เห็นชัดว่าคนนี้เก่งในสายของตัวเองทีเดียว :) ทั้งบทความและวิดีโอก็สวยงาม โปรเจกต์ก็สุดยอด
[1] https://github.com/misprit7/computerraria
ตำแหน่งผู้รักษาประตูมีผู้เล่น 3 ตัวเสมอเหรอ? ผมจำได้ว่าเมื่อก่อนเล่นแบบมีผู้รักษาประตู 1 ตัว คือ 1-2-5-3 แต่นั่นก็นานมากแล้ว
ในโต๊ะแบบดั้งเดิม มุมโค้งจำเป็นเพื่อไม่ให้ลูกตายอยู่ที่มุม แต่ถ้ามีผู้รักษาประตู 3 ตัว ก็หยิบลูกกลับมาเล่นได้เสมอโดยไม่ต้องมีมุมโค้ง
ในวิดีโอ ITSF World Cup จะเห็นว่าทั้งสองฝั่งมีผู้รักษาประตูแค่คนเดียว: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
ยังมีสารคดีที่น่าสนใจพอสมควรเกี่ยวกับการที่ฟุตบอลโต๊ะเคยบูมแล้วซบเซาในสหรัฐฯ และถ้าจำไม่ผิด มันเชื่อมโยงอย่างใกล้ชิดกับบริษัทที่ทำโต๊ะ Tornado ผมเคยดูใน YouTube แต่ตอนนี้หาไม่เจอแล้ว อาจจะชื่อ “Foosballers” แต่ไม่แน่ใจ
อย่างน้อยโต๊ะทางการของ International Table Soccer Federation ก็มีผู้รักษาประตูหนึ่งตัวและมุมยกสูง
https://www.tablesoccer.org/tables/leonhart.php
ตอนนี้ผมต้องรีบหนีออกจากโพรงกระต่ายนี้ ก่อนจะไปขุดอ่านกติกา 41 หน้า
https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
ทุกวันนี้พบได้น้อยลง เพราะฟุตบอลโต๊ะเชิงแข่งขันบางส่วนใช้แผงหลังแบบ 3 คน แต่ก็มีข้อยกเว้นอย่างน้อยหนึ่งเจ้า ผมเคยค้นเรื่องนี้เพราะงานพบปะศิษย์เก่าชมรมสังคมแบบสหศึกษา และพบว่าโต๊ะแบบคลาสสิกที่มีรางนั้นหายากมาก เพราะทำจาก particle board เลยพังง่าย บริษัทหนึ่งที่ยังใช้ราง ใช้ความลาดชันที่นุ่มนวลกว่าแทนรางมุมชัน ๆ ที่ติดเสริมเข้าไป
เจ๋งมาก อยากมีไว้ซ้อมที่บ้านเลย
แต่หุ่นยนต์ตัวนี้ trash talk ได้ด้วยไหม? ในฐานะคนที่ชอบฟุตบอลโต๊ะ การบั่นทอนขวัญคู่แข่งฝังอยู่ลึกในวัฒนธรรม (ดู Community) และเป็นส่วนสำคัญมากถ้าจะชนะในระดับสูง ดังนั้นนี่ควรเป็นก้าวต่อไป ผมว่าผู้เล่นฟุตบอลโต๊ะตัวจริงอาจสร้าง AGI ตัวจริงตัวแรกขึ้นมาเพื่อ trash talk ที่ได้เรื่องก็เป็นได้
ฟุตบอลโต๊ะไม่ใช่กีฬาโอลิมปิกเหมือนปิงปอง หรือเกมบนโต๊ะที่ได้รับความเคารพทางวัฒนธรรมเหมือนหมากรุก แต่ทุกวันนี้ถึงหุ่นยนต์จะชนะผมในหมากรุกได้ง่าย ๆ โต๊ะฟุตบอลโต๊ะหุ่นยนต์ล้ำสมัยก็ยังดูเหมือนผมน่าจะเอาชนะได้
ทั้งวิดีโอตั้งใจทำให้ขำแบบหน้าตาย และฉากที่เขาถล่มน้องชายระหว่างทางนั้นตลกเป็นพิเศษ น้องชายก็รับมุกได้ดี
สุดท้ายไม่ได้ทำ เพราะแค่อยากปล่อยวิดีโอแล้ว แต่ถ้าทำคงฮาดี
ค่อนข้างเจ๋ง คนนี้เป็น YouTuber ดังอะไรทำนองนั้นหรือเปล่า? แปลกใจที่เขาหาสปอนเซอร์ได้สำเร็จจนบริษัทต่าง ๆ ส่ง ชิ้นส่วนระดับไฮเอนด์ แบบนี้มาให้
ว่าหน้าคุ้น ๆ ที่แท้ก็คือคนที่สร้าง CPU เต็มรูปแบบ ไว้ในเกม Terraria
https://www.youtube.com/watch?v=zXPiqk0-zDY