Giới thiệu dự án

Sự giao thoa giữa Trí tuệ nhân tạo (Artificial Intelligence - AI), Thị giác máy tính (Computer Vision) và Kỹ thuật điều khiển Robot đang định hình lại phương thức tương tác giữa con người và máy móc. Theo báo cáo từ International Federation of Robotics (IFR), thị trường robot dịch vụ và giáo dục tương tác đạt tốc độ tăng trưởng kép hàng năm (CAGR) trên 16.5% giai đoạn 2023–2028. Trong bối cảnh đó, việc hiện thực hóa các thuật toán AI trừu tượng thành hành vi vật lý trong thế giới thực là một trong những thách thức kỹ thuật quan trọng của ngành Hệ thống Nhúng và IoT.

Đồ án tốt nghiệp "Xây dựng hệ thống robot đánh cờ vua" do sinh viên Nguyễn Tiến Đạt thực hiện dưới sự hướng dẫn của PGS.TS Trương Ngọc Sơn tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (HCMUTE, 06/2024) tập trung giải quyết bài toán tự động hóa hoàn toàn một ván cờ vua vật lý. Hệ thống kết hợp khả năng tính toán nước đi của công cụ AI hàng đầu thế giới với cánh tay robot thực thi cơ khí chính xác và hệ thống thị giác máy tính nhận diện thời gian thực.

+-------------------------------------------------------------+
|                      HỆ THỐNG TỔNG THỂ                      |
|                                                             |
|  [ Top-down 2K Camera ] ---> [ Máy tính xử lý OpenCV ]       |
|                                     |                       |
|                                     v                       |
|  [ Cánh tay Robot SCARA ] <--- [ Arduino Mega + RAMPS 1.4 ] |
|  (3x NEMA 17 + MG90S)               ^                       |
|                                     |                       |
|                         [ Engine Stockfish NNUE ]           |
+-------------------------------------------------------------+

Vấn đề kỹ thuật và điểm nghẽn thực tế

Hầu hết các giải pháp cờ vua tự động thương mại hiện nay gặp phải các hạn chế lớn:

  • Hệ thống bàn cờ từ tính ngầm (X-Y Gantry): Ẩn dưới mặt bàn, không mô phỏng được thao tác gắp-đặt (pick-and-place) trực quan của con người, chi phí cơ khí cao và khó bảo trì.
  • Cánh tay robot công nghiệp (6-DoF Cobot): Giá thành đắt đỏ ($10,000 - $30,000), kích thước cồng kềnh, không tối ưu cho không gian bàn cờ tiêu chuẩn.
  • Xử lý thị giác trong điều kiện ánh sáng biến thiên: Nhận diện sai lệch trạng thái ô cờ do bóng đổ, góc nghiêng quang học và phản xạ bề mặt.

Mục tiêu dự án

  1. Thiết kế phần cứng tối ưu chi phí: Xây dựng cánh tay robot cấu hình SCARA (Selective Compliance Assembly Robot Arm) 3 trục chuyển động và 1 cơ cấu kẹp, trọng lượng dưới 2.0 kg, bao quát toàn bộ bàn cờ tiêu chuẩn $28 \times 28\text{ cm}$.
  2. Xây dựng module thị giác máy tính: Ứng dụng thư viện OpenCV xử lý ảnh độ phân giải cao, tự động căn chỉnh góc phối cảnh (Perspective Transform) và phân loại trạng thái 64 ô cờ với độ trễ $<500\text{ ms}$.
  3. Tích hợp trí tuệ nhân tạo: Nhúng engine Stockfish hỗ trợ mạng nơ-ron cập nhật hiệu quả (Efficiently Updatable Neural Networks - NNUE) nhằm tính toán nước đi tối ưu ở cấp độ kiện tướng quốc tế (Elo > 3000).
  4. Điều khiển chuyển động thời gian thực: Lập trình giải thuật Động học ngược (Inverse Kinematics - IK) hình học trên vi điều khiển ATmega2560, điều khiển chính xác 3 động cơ bước NEMA 17 qua mạch RAMPS 1.4 và A4988.

Phạm vi và giới hạn

  • Không gian hoạt động: Bàn cờ chuẩn kích thước $28 \times 28\text{ cm}$, kích thước ô cờ $3.5 \times 3.5\text{ cm}$, chiều cao quân cờ $2.7 - 5.0\text{ cm}$.
  • Quy chuẩn luật chơi: Xử lý toàn bộ các nước đi tiêu chuẩn theo luật FIDE; trường hợp phong cấp tốt mặc định thành Hậu (hoặc người chơi nhập thông số chỉ định qua giao diện nếu chọn quân khác).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Bàn cờ từ tính (Square Off) Cánh tay công nghiệp (UR3/Dobot) Giải pháp Robot SCARA của đề tài
Cơ chế vật lý Nam châm kéo ngầm 2D Cánh tay 4-6 bậc tự do cao cấp Cánh tay SCARA 3-DoF + Gripper Servo
Trải nghiệm thị giác Quân cờ tự trượt, thiếu tương tác tay Trực quan cao nhưng cồng kềnh Gắp - đặt trực quan, nhỏ gọn
Xử lý nhận diện Mạng cảm biến Reed switch/Hall Camera công nghiệp 3D đắt tiền Camera 2K Top-down + OpenCV
Chi phí sản xuất $400 - $800 $5,000 - $25,000 <$150 (Tối ưu cho giáo dục/maker)
Khả năng nâng cấp Hệ thống đóng (Proprietary) Phần mềm công nghiệp phức tạp Mã nguồn mở (Python, C++, Arduino)

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must have: Nhận diện chính xác nước đi người chơi từ camera; tính toán động học ngược không lỗi kỳ dị; giao tiếp Serial ổn định 115200 baud giữa Host và MCU; gắp thả quân cờ chính xác vào tâm ô cờ sai số $<\pm 1.0\text{ mm}$.
  • Should have: Engine Stockfish tích hợp NNUE tự động điều chỉnh độ sâu tìm kiếm; cơ chế kiểm tra nước đi hợp lệ (Valid Move Checking) chống gian lận.
  • Could have: Giao diện đồ họa hiển thị trực quan thông số ván cờ, thời gian còn lại và phân tích thế trận.
  • Won't have: Cơ chế nhận diện tự động nâng cao cho quân cờ bị đổ ngã vật lý ngoài vùng ô cờ.

Thiết kế hệ thống

+-------------------------------------------------------------------+
|                        KIẾN TRÚC PHẦN CỨNG                        |
|                                                                   |
|  [ Nguồn 12V 5A ] ------> [ RAMPS 1.4 Shield ]                   |
|                                 |                                 |
|                                 +---> [ 3x Driver A4988 ]         |
|                                 |            |                    |
|                                 |            v                    |
|                                 |     [ 3x NEMA 17 Stepper ]      |
|                                 |     (Khớp vai, khuỷu, trục Z)   |
|                                 |                                 |
|  [ Nguồn 5V 2A ]  ------> [ Arduino Mega 2560 ]                   |
|                                 |                                 |
|                                 +---> [ Micro Servo MG90S ]       |
|                                 |     (Kẹp End-Effector)          |
|                                 |                                 |
|  [ USB 2.0 Link ] <-----+       +---> [ Endstops Calibration ]    |
|                         |                                         |
|                         v                                         |
|                  [ Host Computer ]                                |
|                  (Python + OpenCV + Stockfish NNUE)               |
|                         ^                                         |
|                         |                                         |
|  [ USB 2K Video ] <-----+ [ Webcam ICON Q-20 2K 60fps ]           |
+-------------------------------------------------------------------+

Technology Stack

  • Phần mềm máy chủ (Host): Python 3.10+, OpenCV 4.8.x (Xử lý ma trận ảnh), PyChess/Chess Library (Xử lý logic FIDE), Stockfish 14/16 (Công cụ cờ vua AI).
  • Firmware điều khiển: Arduino C/C++ trên ATmega2560 (Xung nhịp 16 MHz, 256 KB Flash, 8 KB SRAM), thư viện AccelStepper / Custom G-code Interpreter.
  • Phần cứng truyền động:
    • 03 Động cơ bước NEMA 17 (Góc bước $1.8^\circ$, 200 bước/vòng, mô-men xoắn $0.4\text{ N}\cdot\text{m}$).
    • 03 Mạch công suất A4988 hỗ trợ vi bước (Microstepping) lên đến 1/16 bước.
    • 01 Động cơ Micro Servo MG90S (Bánh răng kim loại, mô-men $2.2\text{ kg}\cdot\text{cm}$, tốc độ $0.08\text{ s}/60^\circ$).
    • 01 Webcam 2K ICON Q-20 (Độ phân giải $2560 \times 1440\text{ pixels}$, 60 fps, góc quét $120^\circ$).

Thiết kế phân phối nguồn điện

Hệ thống sử dụng giải pháp tách nguồn độc lập để chống nhiễu sụt áp khi khởi động động cơ bước:

  • Đường nguồn động lực 12V - 5A (60W): Cấp trực tiếp cho RAMPS 1.4, cấp dòng cho 3 cuộn dây NEMA 17 qua A4988.
  • Đường nguồn điều khiển 5V - 2A (10W): Cấp riêng cho Servo kẹp MG90S, cảm biến và cấp nguồn logic cho Arduino Mega 2560.
  • Tổng công suất tiêu thụ đỉnh: $62.75\text{ W} < 70\text{ W}$ công suất định mức thiết kế, đảm bảo hệ thống vận hành liên tục từ 4 đến 5 giờ mà không phát sinh quá nhiệt.

Phương pháp nghiên cứu (Methodology)

Dự án áp dụng mô hình phát triển phần mềm và phần cứng lặp (Iterative Engineering Lifecycle):

Sprint 1: Thiết kế 3D & Chế tạo cơ khí (SolidWorks, In 3D PLA)
   │
   ▼
Sprint 2: Lập trình Động học ngược & Điều khiển bước (Arduino, RAMPS)
   │
   ▼
Sprint 3: Xây dựng Thị giác máy tính nhận diện bàn cờ (OpenCV)
   │
   ▼
Sprint 4: Tích hợp Engine Stockfish NNUE & Kiểm thử khép kín (End-to-End)

Ma trận đánh giá rủi ro và giải pháp khắc phục

  • Rủi ro 1: Sai số tích lũy do giãn dây đai truyền động.
    • Giải pháp: Tích hợp cảm biến hành trình (Endstop) định vị gốc tọa độ (Homing) trước mỗi chu kỳ di chuyển quân.
  • Rủi ro 2: Nhận diện sai ô cờ do bóng tay người chơi khi thao tác.
    • Giải pháp: Thiết lập thuật toán chỉ chụp và phân tích ảnh sau khi xác nhận trạng thái tĩnh (Motion Silence Detection) trong 1.5 giây.
  • Rủi ro 3: Trượt bước (Step Loss) của động cơ bước khi tăng tốc đột ngột.
    • Giải pháp: Cấu hình hàm nội suy vận tốc hình thang (Trapezoidal Acceleration Profile) trong firmware.

Implementation và kết quả

Quá trình phát triển và chi tiết thuật toán

1. Mô hình Động học ngược (Analytical Inverse Kinematics) cho robot SCARA

Cánh tay phẳng 2 bậc tự do chuyển động trong mặt phẳng $Oxy$ với chiều dài liên kết $L_1$ (khâu vai) và $L_2$ (khâu khuỷu). Vị trí đầu công tác (End-Effector) được xác định tại tọa độ $(x, y)$.

      (x,y) End-Effector
        o
       / \
  L2  /   \  L1
     /     \
    o-------o Base (0,0)
  Khớp khuỷu

Áp dụng định lý hàm số Cosin trong tam giác tạo bởi các khớp: $$\cos(\theta_2) = \frac{x^2 + y^2 - L_1^2 - L_2^2}{2 L_1 L_2}$$

Từ đó tính toán góc khớp khuỷu $\theta_2$ và góc khớp vai $\theta_1$: $$\theta_2 = \arccos\left(\frac{x^2 + y^2 - L_1^2 - L_2^2}{2 L_1 L_2}\right)$$ $$\theta_1 = \arctan2(y, x) - \arctan2(L_2 \sin(\theta_2), L_1 + L_2 \cos(\theta_2))$$

import math

def calculate_scara_ik(x, y, L1=140.0, L2=140.0):
    """
    Tính toán góc quay khớp vai (theta1) và khớp khuỷu (theta2) (đơn vị: Degrees)
    Phục vụ điều khiển cánh tay SCARA trên bàn cờ 280x280mm
    """
    # Khoảng cách từ gốc tọa độ đến điểm mục tiêu
    r_sq = x**2 + y**2
    
    # Kiểm tra giới hạn không gian làm việc (Workspace Envelope)
    if r_sq > (L1 + L2)**2 or r_sq < (L1 - L2)**2:
        raise ValueError("Tọa độ ngoài vùng với tới của cánh tay Robot")
        
    # Tính cos(theta2)
    cos_theta2 = (r_sq - L1**2 - L2**2) / (2 * L1 * L2)
    cos_theta2 = max(-1.0, min(1.0, cos_theta2)) # Kẹp giá trị chống tràn số
    
    # Góc khớp khuỷu (Elbow Down solution)
    theta2 = math.acos(cos_theta2)
    
    # Góc khớp vai
    k1 = L1 + L2 * math.cos(theta2)
    k2 = L2 * math.sin(theta2)
    theta1 = math.atan2(y, x) - math.atan2(k2, k1)
    
    return math.degrees(theta1), math.degrees(theta2)

2. Xử lý ảnh và phát hiện nước đi bằng OpenCV

Quy trình nhận diện bàn cờ gồm 4 giai đoạn chính:

  1. Perspective Transform: Định vị 4 điểm góc bàn cờ và hiệu chỉnh ma trận biến đổi phối cảnh $3 \times 3$, đưa ảnh $2560 \times 1440$ về ma trận chuẩn hóa $800 \times 800\text{ pixels}$.
  2. Cell Segmentation: Chia ảnh thành lưới $8 \times 8$ (64 ô vuông, mỗi ô có kích thước $100 \times 100\text{ pixels}$).
  3. State Differential Analysis: Trích xuất giá trị trung bình kênh màu RGB và độ lệch chuẩn ($\sigma$) của từng ô cờ trước và sau khi người chơi thực hiện nước đi.
  4. Move Identification: Ô có sự suy giảm mật độ pixel lớn nhất được xác định là ô xuất phát (From_Square), ô có sự gia tăng tương ứng là ô đích (To_Square), tạo chuỗi mã chuẩn UCI (như g1f3, e7e5).
import cv2
import numpy as np

def detect_player_move(prev_board_img, curr_board_img):
    """
    So sánh ma trận ảnh trước và sau nước đi để xác định tọa độ ô cờ thay đổi
    """
    # Chuyển đổi sang ảnh xám và tính hiệu phân sai tuyệt đối
    prev_gray = cv2.cvtColor(prev_board_img, cv2.COLOR_BGR2GRAY)
    curr_gray = cv2.cvtColor(curr_board_img, cv2.COLOR_BGR2GRAY)
    diff = cv2.absdiff(prev_gray, curr_gray)
    
    # Áp dụng ngưỡng nhị phân lọc nhiễu
    _, thresh = cv2.threshold(diff, 30, 255, cv2.THRESH_BINARY)
    
    cell_h, cell_w = thresh.shape[0] // 8, thresh.shape[1] // 8
    change_scores = np.zeros((8, 8))
    
    for row in range(8):
        for col in range(8):
            cell_roi = thresh[row*cell_h:(row+1)*cell_h, col*cell_w:(col+1)*cell_w]
            change_scores[row, col] = np.sum(cell_roi)
            
    # Lấy 2 ô có biến thiên lớn nhất (ô nguồn và ô đích)
    flat_indices = np.argsort(change_scores.flatten())[-2:]
    from_idx, to_idx = flat_indices[1], flat_indices[0]
    
    return (from_idx // 8, from_idx % 8), (to_idx // 8, to_idx % 8)

3. Tích hợp AI Engine Stockfish với cấu trúc NNUE (HalfKAv2)

Hệ thống sử dụng engine Stockfish với mạng nơ-ron cập nhật gia tăng (Efficiently Updatable Neural Networks). Kiến trúc HalfKAv2 chuyển đổi cấu hình vị trí bàn cờ với $11 \times 64 \times 64 = 45,056$ đặc trưng đầu vào, kết nối qua bộ biến đổi tuyến tính $2 \times 520$, các lớp ẩn kích hoạt ReLU $512 \to 16 \to 32 \to 1$ kết hợp thuật toán cắt tỉa Alpha-Beta Pruning. Nhờ đó, Stockfish đạt tốc độ đánh giá hàng triệu node/giây trên CPU máy tính thông thường mà không cần phần cứng GPU chuyên dụng.


Kiểm thử và đánh giá hiệu năng

+-------------------------------------------------------------+
|               KẾT QUẢ HIỆU NĂNG THỰC NGHIỆM                 |
|                                                             |
|  [ Độ chính xác nhận diện ô cờ ]   =========> 98.75%        |
|  [ Tỷ lệ gắp - đặt thành công ]    =========> 97.50%        |
|  [ Thời gian phản hồi chu kỳ ]     =========> 8.40 giây     |
|  [ Sai số lặp vị trí đầu kẹp ]     =========> ±0.75 mm      |
+-------------------------------------------------------------+

Hệ thống được tiến hành thử nghiệm qua 40 ván cờ liên tục trong nhiều điều kiện cường độ sáng môi trường khác nhau ($200\text{ lux} - 850\text{ lux}$):

  • Độ chính xác nhận diện nước đi (OpenCV): Đạt 98.75% (chỉ xảy ra 1 lỗi nhận diện sai trong trường hợp tay người chơi vô tình đẩy lệch nhẹ quân cờ ở ô lân cận).
  • Độ chính xác cơ cấu chấp hành (Pick-and-Place): Đạt 97.5% trên tổng số 640 lượt gắp/thả quân.
  • Thời gian trung bình một chu kỳ xử lý và di chuyển:
    • Thời gian chụp ảnh và nhận diện: $0.38\text{ s}$.
    • Thời gian tính toán nước đi Stockfish (Depth = 15): $0.45\text{ s}$.
    • Thời gian tính toán IK và truyền Serial: $0.05\text{ s}$.
    • Thời gian di chuyển vật lý và thao tác kẹp: $7.52\text{ s}$.
    • Tổng thời gian phản hồi (Move Cycle Time): $\approx 8.40\text{ s}$.
  • Độ lặp lại vị trí (Repeatability): Sai số dịch tâm đầu gắp đo được $\pm 0.75\text{ mm}$, hoàn toàn nằm trong dung sai cho phép của ô cờ ($35\text{ mm}$) và đế quân cờ ($20 - 25\text{ mm}$).

Đổi mới và đóng góp

  1. Tối ưu hóa cấu trúc cơ khí SCARA bằng công nghệ in 3D: Thiết kế cánh tay robot bằng nhựa PLA/ABS với mật độ đan ruột (Infill) 25% và độ dày lớp in $0.22\text{ mm}$. Cấu trúc giúp giảm trọng lượng chuyển động của cánh tay xuống còn 480g, giảm quán tính quay, nâng cao độ ổn định động học lên 35% so với các cấu trúc khung kim loại tự chế.
  2. Kỹ thuật nhận diện phân sai động (Dynamic Differential Vision Pipeline): Thay vì sử dụng các mô hình học sâu (Deep Learning Object Detection như YOLO) đòi hỏi cấu hình máy tính cao, hệ thống sử dụng thuật toán phân sai màu và độ lệch chuẩn ma trận OpenCV, giảm tải tiêu thụ CPU Host tới 65% mà vẫn duy trì độ trễ xử lý dưới $400\text{ ms}$.
  3. Phân phối nguồn độc lập thông minh: Giải pháp chia tách 2 đường nguồn (12V 5A và 5V 2A) loại bỏ hoàn toàn hiện tượng sụt áp xung điều khiển (PWM Jitter) trên vi điều khiển Arduino Mega 2560 khi 3 động cơ bước NEMA 17 khởi động cùng lúc.

Ứng dụng thực tế và triển khai

+-------------------------------------------------------------------+
|                     CÁC LĨNH VỰC ỨNG DỤNG                         |
|                                                                   |
|  [ Giáo dục STEM/IoT ]   ---> Thực hành thị giác máy tính & robot |
|  [ Huấn luyện cờ vua ]   ---> Đấu tập trực quan không nhìn màn    |
|  [ Hỗ trợ y tế/vật lý ]  ---> Tương tác phục hồi chức năng        |
|  [ Tự động hóa sản xuất] ---> Dây chuyền gắp thả phân loại 2D     |
+-------------------------------------------------------------------+

Kịch bản triển khai thực tế

  • Phòng thí nghiệm Hệ thống Nhúng và Robotics: Đóng vai trò là mô hình học cụ trực quan giúp sinh viên tiếp cận bài toán điều khiển chuyển động đa trục, động học ngược và tích hợp thị giác máy tính.
  • Câu lạc bộ cờ vua chuyên nghiệp: Thiết bị đóng vai trò kỳ thủ đối luyện cơ học, giúp kỳ thủ luyện tập tư duy không gian thực tế mà không cần đối thủ con người hoặc nhìn vào màn hình máy tính quá lâu.
  • Hỗ trợ người khuyết tật: Tích hợp module điều khiển bằng giọng nói hoặc cử chỉ mắt trong tương lai để hỗ trợ bệnh nhân vận động chơi cờ tương tác vật lý.

Dự toán chi phí chế tạo (BOM) và giá trị kinh tế

Hạng mục linh kiện Số lượng Chi phí ước tính (VND)
Vi điều khiển Arduino Mega 2560 R3 01 250,000
Mạch mở rộng RAMPS 1.4 + 3x A4988 01 bộ 180,000
Động cơ bước NEMA 17 ($0.4\text{ N}\cdot\text{m}$) 03 420,000
Động cơ Micro Servo MG90S bánh răng kim loại 01 45,000
Webcam 2K ICON Q-20 01 350,000
Vật tư in 3D (Cuộn nhựa PLA/ABS 1kg) 01 200,000
Bộ nguồn xung tổ ong 12V 5A & Adapter 5V 2A 01 bộ 180,000
Bàn cờ, dây đai GT2, ốc vít cơ khí, puly Trọn gói 220,000
Tổng chi phí phần cứng ~1,845,000 VND (~$75 USD)

So với các cánh tay robot giáo dục thương mại có chức năng tương đương (có giá từ 10 đến 25 triệu VND), giải pháp của đề tài giúp tiết kiệm hơn 80% chi phí đầu tư, mang lại tiềm năng nhân rộng lớn trong các trường đại học và phổ thông.


Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống thị giác 2D: Nhạy cảm với ánh sáng môi trường nếu có bóng đổ quá đậm cắt ngang các ô cờ.
  • Cơ cấu kẹp End-Effector dạng ngàm: Chỉ tương thích tối ưu với các quân cờ có thân hình trụ tròn tiêu chuẩn; chưa kẹp được các hình dạng quân cách điệu phức tạp.
  • Xử lý phong cấp: Khi người chơi phong cấp Tốt thành Mã, Tượng hoặc Xe, hệ thống vẫn cần thao tác thông báo phụ trợ trên phần mềm.

Hướng phát triển tiếp theo

  • Tích hợp camera cảm biến độ sâu 3D (như Intel RealSense D435) để trích xuất đám mây điểm (Point Cloud), tự động nhận dạng quân cờ bị đổ hoặc sai lệch chiều cao.
  • Nâng cấp mạch điều khiển trung tâm lên vi xử lý nhúng hiệu năng cao (như Raspberry Pi 5 hoặc NVIDIA Jetson Orin Nano) để gom toàn bộ thuật toán xử lý ảnh, AI Stockfish và điều khiển thời gian thực vào một khối duy nhất (Standalone Device).
  • Bổ sung trục xoay cổ tay ($4\text{-DoF}$) và cơ cấu hút chân không (Vacuum Gripper) giúp quá trình gắp thả quân cờ mượt mà và linh hoạt hơn.

Đối tượng hưởng lợi

  • Sinh viên ngành Kỹ thuật Nhúng, Tự động hóa, IoT: Được tiếp cận một tài liệu nghiên cứu toàn diện từ thiết kế 3D, động học robot SCARA, firmware điều khiển thời gian thực đến xử lý ảnh OpenCV và tích hợp AI.
  • Kỹ sư và Lập trình viên Maker: Tham khảo mô hình kiến trúc giao tiếp phân tầng (Host-MCU Architecture) qua Serial/G-code để ứng dụng vào các hệ thống máy CNC, máy vẽ plotter hoặc dây chuyền gắp nhặt phân loại sản phẩm.
  • Cơ sở giáo dục và trường học STEM: Sở hữu phương án thiết kế giáo cụ trực quan giá rẻ ($<75\text{ USD}$), dễ dàng tự chế tạo và bảo trì tại xưởng thực hành.
  • Nhà nghiên cứu trí tuệ nhân tạo ứng dụng: Minh chứng thực nghiệm rõ ràng cho việc tích hợp thành công mạng nơ-ron NNUE trên các hệ thống cơ điện tử tương tác thời gian thực.

Câu hỏi thường gặp

1. Yêu cầu cấu hình máy tính (Host) để vận hành hệ thống là gì?

Hệ thống chỉ yêu cầu máy tính chạy hệ điều hành Windows 10/11 hoặc Linux (Ubuntu 20.04+), vi xử lý Intel Core i3 thế hệ 8 hoặc tương đương, RAM 4 GB trở lên và có 2 cổng USB 2.0 (1 cổng cho Camera 2K, 1 cổng giao tiếp UART với Arduino Mega 2560). Không yêu cầu card đồ họa rời (GPU).

2. Độ bền và khả năng hoạt động liên tục của robot đạt mức nào?

Nhờ hệ thống tản nhiệt độc lập trên driver A4988 và phân bổ nguồn 12V 5A ổn định, robot có khả năng hoạt động liên tục từ 4 đến 5 giờ chơi cờ (tương đương 6 - 8 ván cờ tiêu chuẩn) với nhiệt độ bề mặt động cơ bước duy trì dưới $55^\circ\text{C}$.

3. Robot xử lý các tình huống đặc biệt như nhập thành, bắt tốt qua đường (En Passant) như thế nào?

Thư viện logic cờ vua trên Python quản lý toàn bộ trạng thái ván cờ theo chuẩn FIDE. Khi xảy ra nước đi nhập thành (e1g1), phần mềm sẽ tự động phân rã hành động thành 2 chuỗi lệnh động học liên tiếp: di chuyển Vua từ e1 sang g1, sau đó điều khiển cánh tay gắp Xe từ h1 sang f1.

4. Nếu người chơi đi một nước cờ sai luật, hệ thống phản ứng ra sao?

Sau khi chụp và nhận diện ảnh, nếu nước đi không nằm trong danh sách nước đi hợp lệ (legal_moves) do engine tính toán, hệ thống sẽ phát cảnh báo trên màn hình, giữ nguyên trạng thái cánh tay robot tại vị trí Home và yêu cầu người chơi đặt lại quân cờ để thực hiện lại nước đi hợp lệ.

5. Chi phí bảo dưỡng và thay thế linh kiện khi xảy ra sự cố có cao không?

Toàn bộ linh kiện phần cứng đều là module tiêu chuẩn phổ biến trong cộng đồng in 3D và DIY (RAMPS 1.4, A4988, NEMA 17, MG90S). Khi có sự cố hỏng hóc, chi phí thay thế cho từng linh kiện dao động từ 20,000 VND đến 140,000 VND và có thể sửa chữa ngay lập tức.


Kết luận

Đồ án "Xây dựng hệ thống robot đánh cờ vua" của sinh viên Nguyễn Tiến Đạt (Trường Đại học Sư phạm Kỹ thuật TP.HCM) là một minh chứng xuất sắc cho khả năng làm chủ công nghệ và tích hợp hệ thống đa ngành: từ Cơ khí chính xác (SCARA), Điện tử nhúng (Arduino Mega, RAMPS 1.4), Thị giác máy tính (OpenCV) đến Trí tuệ nhân tạo hiện đại (Stockfish NNUE). Với chi phí chế tạo dưới 2 triệu đồng nhưng đạt độ chính xác nhận diện trên 98.7% và sai số cơ khí $<\pm 0.75\text{ mm}$, đề tài mở ra tiềm năng ứng dụng to lớn trong giáo dục STEM, nghiên cứu giải thuật và tự động hóa tương tác người - máy.