1 điểm bởi GN⁺ 2025-11-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • S.A.R.C.A.S.M là robot in 3D có thể quét và giải khối Rubik, đồng thời thêm vào bình luận giọng nói mang tính châm biếm
  • Sử dụng vi điều khiển Teensy 4.1ESP32-CAM để thực hiện nhận diện hình ảnh và điều khiển
  • Thông qua màn hình ILI9341, thiết bị hiển thị đồ họa 2D·3D, hoạt ảnh và đồng bộ khẩu hình, đồng thời đèn RGBW được đồng bộ với âm thanh
  • Tạo giọng nói trực tiếp trên thiết bị bằng TTS dựa trên espeak-ng, kèm bộ lời thoại châm biếm
  • Cần sửa các tệp lõi Teensy để toàn bộ mã vừa trong RAM, và hiện được công khai ở trạng thái chưa hoàn thiện

Tổng quan dự án

  • S.A.R.C.A.S.M (Slightly Annoying Rubik’s Cube Automatic Solving Machine) là robot tự động giải khối Rubik

    • Gồm cấu trúc phần cứng được chế tạo bằng máy in 3D và hệ thống điều khiển dựa trên Teensy
    • Quét khối Rubik, tính toán lời giải, rồi phát ra các phản ứng bằng giọng nói châm biếm trong quá trình giải
  • Kho lưu trữ bao gồm mã nguồn và sơ đồ mạch, thông tin bổ sung được cung cấp trong chuỗi thảo luận trên diễn đàn Teensy

Video demo

Phần cứng và tính năng chính

  • Dùng Teensy 4.1 làm bộ điều khiển chính, và ESP32-CAM để chụp ảnh
  • Thông qua màn hình ILI9341, thiết bị hiển thị đồ họa 2D và 3D tùy biến, hoạt ảnh và đồng bộ khẩu hình
  • Điều khiển khối Rubik bằng động cơ bước và động cơ servo, đồng thời dùng cảm biến vị trí để phát hiện lỗi
  • Đèn RGBW được đồng bộ với âm thanh để tạo hiệu ứng hình ảnh
  • Tạo giọng nói trên thiết bị bằng TTS dựa trên espeak-ng, kèm bộ lời thoại châm biếm

Hướng dẫn chỉnh sửa mã

  • Cần sửa các tệp lõi Teensy để toàn bộ mã vừa trong RAM
    • Trong các tệp cores/teensy4/usb_serial.ccores/teensy4/usb_serial2.c,
      cần xóa thuộc tính DMAMEM đứng trước phần định nghĩa các mảng txbuffer[]rx_buffer[]

Lưu ý

  • Hiện tại dự án là công việc đang được thực hiện dở dang, nên trạng thái của kho lưu trữ chưa được sắp xếp gọn gàng và còn thiếu sót
  • Có khả năng tình trạng này sẽ được giữ nguyên cho đến khi tác giả có thời gian

1 bình luận

 
GN⁺ 2025-11-02
Ý kiến trên Hacker News
  • Vài năm trước tôi đã tự làm Cubotino. Cấu trúc khá giống và tôi đã đưa nó lên kho lưu trữ GitHub
    Tôi dùng Raspberry Pi 2 W, và nó hoạt động tốt trong việc xáo trộn rồi giải khối 3x3x3 chỉ với hai servo
  • Chào mọi người. Tôi là người tạo ra SARCASM. Cảm ơn OP đã chia sẻ
    Tôi đã dành rất nhiều thời gian để làm nó, nhưng đó thực sự là một công việc rất vui. Tôi rất mừng khi thấy người khác cũng thích nó
    Tôi đã tổng hợp chi tiết về phần cứng và phần mềm trong bài viết trên diễn đàn Teensy
    • Thật sự rất tuyệt. Tôi vẫn nhớ mình là đứa đầu tiên mang Rubik’s Cube đến trường vào những năm 70.
      Tôi không biết cách giải nên đã đặt mua một cuốn sách hướng dẫn, nhưng thứ nhận được lại là một cuốn về lý thuyết nhóm (group theory). Với đầu óc tuổi teen của tôi khi đó thì quá khó
    • Tôi nghĩ nếu mang thứ này quay về những năm 1920 bằng cỗ máy thời gian, đặt nó trong hộp kính rồi thu 5 xu mỗi lượt xem thì chắc sẽ giàu to
    • Tôi muốn hỏi liệu bạn có thể chia sẻ các tệp STL cho phần vỏ và cánh tay không. Đây thật sự là một dự án tuyệt vời
    • Tôi cũng từng lấy cái tên dự án làm lý do để tự biện minh cho việc đổ nhiều thời gian vào, nên rất đồng cảm
  • Thông tin liên quan: kỷ lục Guinness cho robot giải Rubik nhanh nhất là 103 mili giây
    Có thể xem video YouTubebài viết của Purdue
    • Không biết trong lúc chế tạo con robot đó đã có bao nhiêu khối cube nổ tung
    • Vừa đáng kinh ngạc vừa hơi điên rồ
    • Với robot solver thì đây gần như là bài toán vật lý hơn là vấn đề tinh thần. Chỉ cần ảnh các góc trên và dưới của khối cube là có thể tính ra lời giải trong vài nano giây
  • Thiết kế thật sự rất đẹp. Video demo cũng rất hay
    • Đây là dự án cuốn hút nhất mà tôi thấy trong thời gian gần đây
      Còn có cả video demo dài hơn
      Sống trong thế giới phần mềm nên tôi tự hỏi việc tự tay làm ra thứ như thế này sẽ khó đến mức nào
      Với tư cách một người chơi cube như thú vui, thứ này cũng hoàn hảo để làm thiết bị phá băng trong văn phòng. Đồng nghiệp đi ngang qua có thể xáo khối cube rồi ném vào máy, chắc ai cũng sẽ thấy vui
  • Tôi cần một cỗ máy tự động xáo trộn. Đặt hai khối cube cạnh nhau, một khối được xáo trong khi khối kia đang được giải
    Người chơi cube dành nhiều thời gian để xáo hơn là để giải. Việc xáo cần được tự động hóa
    • Tôi cũng nghĩ đó là phần khó nhất. Muốn giải nhanh thì phải luyện rất nhiều mẫu tình huống khác nhau
      Nếu có một thiết bị tự động đưa khối cube về một trạng thái cụ thể để có thể luyện lặp lại một thuật toán nhất định thì sẽ rất tuyệt
    • Tôi không rành lĩnh vực này, nhưng tự hỏi liệu có tồn tại mặt cube kỹ thuật số không. Tức là một khối cube vật lý nhưng có thể đổi màu ngay lập tức
    • Ở một mức độ nào đó, xáo cũng là một bài luyện tốt. Nếu xáo theo đúng thuật toán thì sẽ kết thúc trong không quá 30 bước di chuyển
      Cảm giác thì có vẻ mất lâu, nhưng thực ra chênh lệch không nhiều
    • Tôi cứ nghĩ chỉ cần chạy máy giải theo chiều ngược lại là được
  • bài viết trên diễn đàn này giải thích chi tiết hơn về dự án
  • Tôi muốn hỏi HN. Tôi từng nghĩ rằng nếu bắt đầu từ trạng thái đã giải rồi luân phiên xoay hai mặt kề nhau theo cùng một hướng thì sớm muộn gì nó cũng sẽ trở lại trạng thái đã giải, nhưng xoay hàng trăm lần vẫn không được. Tôi thắc mắc vì sao
    • Ví dụ, tổ hợp RU có cấp của nhóm tuần hoàn là 105. Tức là phải thực hiện tổng cộng 210 lần xoay, mỗi mặt 105 lần, mới quay về trạng thái ban đầu
      Tôi cũng từng làm thử thí nghiệm tương tự, nhưng khi xoay nhanh thì chưa bao giờ nó tự giải lại. Có lẽ tôi đã vô tình thêm một lần xoay đôi (U2) hoặc đếm sai số lần
      Có thể xem giải thích toán học ở trang 41 của tài liệu này
    • Phải lặp lại chính xác 105 lần. Xem liên kết trực quan hóa
      Nếu xoay theo hướng ngược lại thì chỉ cần lặp 63 lần. Xem liên kết này
  • Tôi có video robot cube mà tôi làm từ 16 năm trước
    Chuyển động của robot lần này rất giống tác phẩm cũ của tôi. Tôi đặc biệt thích phần hiển thị trên màn hình
  • Quá trình giải cube chia thành hai bước — tính toán nước đithực thi nước đi
    Con người làm song song hai việc này, nhưng robot thì chỉ thực hiện chuỗi nước đi đã tính sẵn, nên thời gian hoàn toàn phụ thuộc vào tốc độ
  • Cá tính của người tạo hiện rõ trong phần mềm. Nếu Douglas Adams nhìn thấy thì hẳn ông ấy sẽ thích lắm
    Mong sẽ có thêm nhiều robot mang phong cách Adams
    • Mong Unsirious Cybernetics sẽ còn cho ra nhiều robot đầy cá tính hơn nữa