1 điểm bởi GN⁺ 2024-06-07 | 1 bình luận | Chia sẻ qua WhatsApp
  • Foosbar là một dự án bàn bi lắc hoàn toàn tự động, trong đó một bên người chơi được robot điều khiển và bên còn lại do con người thi đấu
  • Phía robot có thể thực hiện phòng thủ, chuyền bóng, sút thông qua điều khiển động cơ; tác giả xem tính lặp lại trong luyện tập bi lắc là đối tượng phù hợp để tự động hóa
  • Kho mã được chia thành 3 thành phần: software, frontend, firmware; mã vận hành thực tế chủ yếu nằm ở software dùng để điều khiển động cơ
  • frontendứng dụng web 3D dùng để điều khiển bàn bằng tay cầm chơi game từ xa, còn firmware là mã dành cho màn hình e-paper hiển thị điểm số và Teensy 4.1, nhưng đây là thành phần cũ chưa được triển khai hoàn chỉnh
  • Mã dự án được tùy biến rất mạnh cho môi trường của tác giả, nên khả năng chạy nguyên trạng là thấp; nó chủ yếu mang tính tài liệu tham khảo cho những ai muốn thử làm điều tương tự

Foosbar tạo ra gì

  • Foosbar là một bàn bi lắc tự động mà tác giả gọi là “có lẽ là robot bi lắc tốt nhất thế giới, dù không thể kiểm chứng”
  • Một bên bàn do robot điều khiển, bên đối diện do con người chơi
  • Phía điều khiển robot có thể thực hiện các hành động sau
    • Phòng thủ

    • Chuyền bóng

      • Sút
      • Video giới thiệu dự án được cung cấp dưới dạng video YouTube

Động lực thực hiện

  • Tác giả rất thích bi lắc, nhưng với tư cách là lập trình viên, họ cho rằng cách luyện tập lặp đi lặp lại cùng một việc để cải thiện hiệu quả từng chút một rất phù hợp để tự động hóa
  • Foosbar được tạo ra từ nỗ lực tự động hóa kiểu luyện tập lặp lại đó
  • Tác giả mô tả rằng dự án này đã cơ giới hóa niềm vui của trò chơi, giúp họ có thể làm việc khác

Cấu trúc dự án

  • Kho mã được chia thành 3 thành phần chính
    • software: mã chính trực tiếp điều khiển động cơ
    • frontend: ứng dụng web 3D dùng để điều khiển bàn bằng tay cầm chơi game từ xa
    • firmware: mã từng được dùng để hiển thị điểm số bằng Teensy 4.1 và màn hình e-paper
  • firmware không còn là thành phần cốt lõi hiện tại, và tác giả cho biết họ chưa bao giờ triển khai hoàn chỉnh đến cùng
  • Toàn bộ cấu hình được điều chỉnh cho môi trường phần cứng cụ thể của tác giả, nên mã trong kho gần với tài liệu tham khảo cho những người muốn thử một dự án tương tự hơn

Build và chạy

  • software cần build uWebSockets và làm cho CMake có thể tìm thấy nó
    • Tác giả viết rằng họ đã cài đặt bằng cách make && sudo cp ./uSockets/uSockets.a /usr/local/lib/libusockets.a
    • Qualisys realtime SDK cũng cần được cài đặt theo cách tương tự
  • Sau khi cài đặt các yêu cầu, build software theo luồng sau
    • cd software
    • mkdir build && cd build
    • cmake ..
    • make
    • ./foosbar
  • firmware là một dự án pio tiêu chuẩn và được upload bằng pio run -t upload sau khi cd firmware
  • frontend chạy bằng npx vite sau khi cd frontend

1 bình luận

 
GN⁺ 2024-06-07
Ý kiến trên Hacker News
  • Quá tuyệt! Tôi nghĩ bước tiếp theo là biến cả hai bên của bàn thành điều khiển bằng robot và tổ chức giải đấu foosball AI trực tuyến
    Chắc tôi sẽ vào xem các AI khác nhau đối đầu nhau mỗi tuần

    • Tôi từng nghĩ đến ý tưởng này trong những lĩnh vực khác, nhưng chưa từng nghĩ tới foosball. Thực tế trông có vẻ là một trường hợp ứng dụng tuyệt vời
    • Trông vui hơn AWS DeepRacer nhiều
  • Phần chế tạo rất hay và video cũng thú vị. Nhớ hồi còn làm trực tiếp ở văn phòng, tôi đã dành cực nhiều thời gian bên bàn foosball
    Khi đó chúng tôi đã làm một hệ thống theo dõi điểm tự động: quẹt thẻ lên bàn bằng badge, dùng vài cảm biến hồng ngoại để đếm điểm, có cả dashboard, ELO, mùa giải và chế độ giải đấu. Thống kê và feed điểm theo thời gian thực cũng tự cập nhật; đúng là những ngày tươi đẹp

  • Tôi thật sự tò mò nếu thay vì có thể chi hàng nghìn đến hàng chục nghìn đô cho camera motion capture công nghiệp, họ chọn một hệ thống thị giác tầm ngân sách trung bình thì sẽ ra sao
    Ví dụ dùng 2–4 camera global shutter, chạy các bộ lọc thị giác tương tự phần demo ban đầu, rồi dùng bộ lọc Kalman/bộ ước lượng trạng thái để tính vị trí bóng. Tôi hiểu nguyên tắc “đừng tự làm thứ có thể mua hoặc được nhà tài trợ cung cấp”, nhưng cũng muốn thấy một giải pháp rẻ hơn hoặc những thử nghiệm cho bài toán này

    • Tôi là người làm dự án, và điều đó cũng đúng. Nhưng ít nhất thì tôi muốn tập trung vào phần thú vị của việc làm robot foosball, tức là “foosball”, chứ không phải “loay hoay với một hệ thống thị giác tự chế không hoạt động cho ra hồn”
      Tên kênh là From Scratch nên cũng hơi mỉa mai
    • Trước đây trên HN từng có bài về theo dõi vị trí bằng camera PlayStation Eye giá 5 USD và LED hồng ngoại, nên chắc chắn là làm được
  • Ý tưởng dự án thật sự hay. Việc CNC hóa nhiều thứ khá thú vị, nhưng đến một lúc nào đó thì có cảm giác ai cũng đã thấy việc làm máy in 3D, CNC router, CNC mill, CNC grinder, v.v. từ đầu rồi
    Còn cái này thì mới mẻ và tôi thích

  • Tôi nghĩ cậu này sau này sẽ làm nên chuyện lớn

    • Dấu ba chấm có thể làm câu nghe như mỉa mai. Nếu không biết downvote đến từ đâu thì chắc là vì vậy
    • Tôi xin khiêm tốn nhận downvote, nhưng tôi thật sự có ý khen
      Nếu cậu ấy đang xử lý những vấn đề như thế này trong phòng mình, tôi tự hỏi sau này còn có thể kỳ vọng điều gì nữa
    • Bao nhiêu tuổi vậy?
  • “Bạn đã thành công trong việc cơ giới hóa và loại bỏ mọi niềm vui tôi từng cảm nhận được từ trò chơi, nhờ đó cho tôi tự do theo đuổi những việc quan trọng hơn và viên mãn sâu sắc hơn trong cuộc đời”
    Link tiếp theo [1] cho thấy người này chắc chắn khá giỏi trong lĩnh vực của mình :) Bài viết và video cũng đẹp, dự án thì tuyệt vời
    [1] https://github.com/misprit7/computerraria

  • Ở vị trí thủ môn lúc nào cũng có 3 cầu thủ à? Tôi nhớ trước đây từng chơi bố cục có 1 thủ môn, tức 1-2-5-3, nhưng cũng lâu lắm rồi

    • Đó là đặc trưng của bàn Tornado chủ yếu dùng ở Mỹ. Nó được đưa vào như một biện pháp giảm chi phí, vì bốn figure bổ sung rẻ hơn mặt sân cong
      Trên bàn truyền thống, các góc cong là cần thiết để bóng không chết ở góc. Nhưng với 3 thủ môn thì luôn có thể lấy bóng mà không cần góc cong
      Trong video ITSF World Cup có thể thấy cả hai bên đều chỉ có một thủ môn: https://m.youtube.com/watch?v=3vnrAIOWDwo&pp=ygUOaXRzZiB3b3J...
      Cũng có một phim tài liệu khá thú vị về quá trình foosball bùng nổ rồi suy thoái ở Mỹ, và nếu tôi nhớ đúng thì nó có liên hệ chặt chẽ với công ty làm bàn Tornado. Trước đây tôi xem trên YouTube nhưng giờ không tìm thấy. Có thể là “Foosballers”, nhưng tôi không chắc
    • Nhìn các câu trả lời thì có lẽ đây là khác biệt Mỹ/Châu Âu
      Ít nhất các bàn chính thức của International Table Soccer Federation có một thủ môn và góc được nâng lên
      https://www.tablesoccer.org/tables/leonhart.php
      Giờ tôi phải nhanh chóng thoát khỏi cái hố thỏ này trước khi đào vào cuốn luật 41 trang
      https://www.tablesoccer.org/rules/documents/Standard_Matchpl...
    • Cả đời tôi chưa từng thấy bàn nào có 3 người ở vị trí thủ môn
    • Những bàn một thủ môn mà tôi từng thấy có góc được nâng lên để bóng không kẹt ở góc. Theo kinh nghiệm của tôi, dạng này thường gặp hơn ở bàn giá rẻ
    • Kiểu một thủ môn có dốc góc là xu hướng từ cuối thập niên 1970 đến thập niên 80
      Ngày nay ít phổ biến hơn vì một số foosball thi đấu dùng bố cục 3 người ở hàng sau, nhưng vẫn có ít nhất một ngoại lệ. Tôi từng tìm hiểu vì buổi họp mặt cựu thành viên một hội sinh viên nam nữ, và bàn dốc kiểu cổ điển rất khó tìm. Chúng làm bằng ván dăm nên dễ hỏng. Một công ty vẫn dùng dốc thì dùng độ nghiêng thoải hơn thay vì dốc góc gắn thêm khá dựng
  • Quá ngầu. Tôi muốn có một cái ở nhà để luyện tập
    Nhưng con robot này có biết trash talk không? Với tư cách người thích foosball, việc làm đối thủ mất tinh thần đã ăn sâu vào văn hóa (xem Community) và là một phần lớn để thắng ở trình độ cao nhất, nên đó phải là bước tiếp theo. Tôi nghĩ một tay chơi foosball nghiêm túc có thể tạo ra AGI thật sự đầu tiên chỉ để trash talk cho ra hồn
    Foosball không phải môn Olympic như bóng bàn hay một trò chơi trên bàn được tôn trọng về mặt văn hóa như cờ vua, nhưng dù robot ngày nay có thể dễ dàng thắng tôi ở cờ vua, một bàn foosball robot tối tân hiện vẫn trông như thứ tôi có thể đánh bại
    Cả video cố ý hài theo kiểu khô khan, và cảnh cậu ấy hủy diệt em trai mình trong quá trình đó đặc biệt buồn cười. Em trai cũng phối hợp rất tốt

    • Tôi đã nghĩ đến việc gắn API chatbot trong một hai giờ, rồi gửi cả dữ liệu vị trí/điểm số theo thời gian thực để nó tạo lời châm chọc cá nhân hóa
      Cuối cùng tôi chỉ muốn đăng video nên không làm, nhưng nếu làm chắc sẽ buồn cười
    • “Bạn đang làm tốt đấy, bất kể người khác nói gì”
  • Khá tuyệt. Người này có phải YouTuber nổi tiếng gì không? Tôi ngạc nhiên là cậu ấy xin tài trợ thành công đến mức các công ty gửi cho những linh kiện cao cấp như vậy

    • Tôi cũng thắc mắc điều tương tự, nhưng tài khoản này mới chỉ có video thứ hai
    • Nếu là YouTuber nổi tiếng thì chắc đã đòi kèm cả đống tiền rồi
  • Thảo nào thấy mặt quen quen, đây là người đã làm một CPU hoàn chỉnh bên trong game Terraria
    https://www.youtube.com/watch?v=zXPiqk0-zDY