Bối cảnh và vấn đề nghiên cứu
Trong xu hướng phát triển của tự động hóa và trí tuệ nhân tạo, robot ngày càng giữ vai trò quan trọng và đa dạng hóa phạm vi ứng dụng. Bên cạnh các nhiệm vụ truyền thống trong quy trình sản xuất và gia công lắp ráp, robot đang được mở rộng sang các lĩnh vực giáo dục, giải trí và tương tác trực tiếp với con người, trong đó có việc chơi các trò chơi trí tuệ như cờ vua. Đồ án tốt nghiệp "Xây dựng hệ thống robot đánh cờ vua" của tác giả Nguyễn Tiến Đạt (ngành Hệ thống nhúng và IoT, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, năm 2024) tập trung giải quyết bài toán thiết kế một cánh tay robot có khả năng tương tác vật lý trên bàn cờ thật thông qua thị giác máy tính và động cơ tính toán nước cờ.
Mục tiêu nghiên cứu của đề tài được xác định gồm 3 nội dung chính:
- Nghiên cứu, khảo sát và phân tích các thuật toán và chiến lược chơi cờ hiện có.
- Thiết kế và triển khai một hệ thống robot có khả năng chơi cờ với con người.
- Đánh giá hiệu suất và khả năng của hệ thống robot trong việc chơi cờ.
Giới hạn và phạm vi nghiên cứu của đề tài được quy định cụ thể:
- Giới hạn nội dung: Giới hạn về mặt thời gian và tài nguyên sẵn có; robot chuyên biệt chỉ chơi cờ vua; đề tài không tự xây dựng hệ thống trí tuệ nhân tạo (AI) mới để đánh cờ từ đầu mà tích hợp và kế thừa các công nghệ tính toán có sẵn (cụ thể là engine Stockfish).
- Đối tượng nghiên cứu: Các công nghệ phần cứng, phần mềm nhúng, giải thuật xử lý ảnh thị giác máy tính và phương pháp điều khiển động học robot.
- Phạm vi nghiên cứu: Thiết kế cấu trúc cơ khí cánh tay robot dạng SCARA nhỏ gọn, thi công mạch điều khiển nhúng, lập trình thị giác máy tính thu thập ảnh từ camera gắn phía trên bàn cờ chuẩn kích thước 28 cm x 28 cm, giải toán động học ngược và điều khiển gắp thả quân cờ vật lý theo thời gian thực.
Cơ sở lý thuyết và phương pháp
Cơ sở lý thuyết của khóa luận bao gồm 4 trụ cột kỹ thuật chính:
-
Chương trình cờ vua Stockfish: Khảo sát nguyên lý hoạt động của engine cờ vua mã nguồn mở hàng đầu thế giới. Stockfish ứng dụng các thuật toán cốt lõi:
- Alpha-Beta Pruning: Cắt tỉa cây tìm kiếm giúp duyệt không gian trạng thái lớn với hiệu suất cao hơn thuật toán cổ điển.
- Quản lý bộ nhớ và cache: Tối ưu hóa cấu trúc dữ liệu bảng hoán vị (transposition tables), history heuristics và killer moves để tăng tốc độ duyệt nhánh.
- Hàm đánh giá vị thế (Position Evaluation): Tinh chỉnh hàng trăm tham số thế trận kết hợp tìm kiếm Minimax Search.
-
Mạng nơ-ron cập nhật hiệu quả NNUE (Efficiently Updatable Neural Networks): Tích hợp vào Stockfish từ phiên bản 12 (năm 2020), phát minh ban đầu cho cờ Shogi bởi Yu Nasu và đưa vào Stockfish bởi Hisayori Noda. NNUE vận hành dựa trên 3 nguyên tắc:
- Số lượng đầu vào khác 0 tương đối thấp (độ thưa thớt đầu vào ~0,1%).
- Đầu vào thay đổi tối thiểu giữa các nước đi liên tiếp (tận dụng đặc tính một nước đi chỉ làm biến đổi cục bộ bàn cờ).
- Kiến trúc mạng nơ-ron đơn giản, hỗ trợ suy luận số nguyên 8-bit/16-bit trên CPU thời gian thực qua tập lệnh SIMD (AVX2, AVX-512) đạt hàng triệu lượt đánh giá/giây/luồng mà không cần GPU.
- Khóa luận phân tích cấu trúc HalfKP (41.024 đầu vào mỗi nửa vua trắng/đen, bộ tích lũy 256 phần tử 16-bit, hàm kích hoạt ReLU, nhân ma trận và chia tỷ lệ FV_SCALE = 16) và HalfKA / HalfKAv2 (45.056 đầu vào, ánh xạ tuyến tính 2x520 và chia thành 8 mạng con).
-
Thư viện thị giác máy tính OpenCV (Open Source Computer Vision Library): Sử dụng các hàm xử lý ảnh số nguồn mở (chuẩn Apache 2) với hơn 2.500 thuật toán tối ưu để hiệu chỉnh phối cảnh, cắt vùng quan tâm (ROI), phát hiện biên và phân tích giá trị màu sắc RGB.
-
Động học robot (Robot Kinematics): Phân biệt động học thuận (Forward Kinematics) và động học ngược (Inverse Kinematics - IK). Tác giả so sánh hai nhóm phương pháp giải IK:
- Giải pháp số học (Numerical IK): Sử dụng các giải thuật tối ưu hóa lặp (dựa trên gradient và ma trận Jacobian), linh hoạt nhưng tốn tài nguyên tính toán.
- Giải pháp giải tích (Analytical IK): Tính toán góc khớp trực tiếp từ tọa độ bộ định vị (end-effector) thông qua công thức hình học lượng giác. Khóa luận lựa chọn giải pháp giải tích dựa trên định lý Cosin cho cấu trúc robot SCARA bậc tự do thấp để đảm bảo tốc độ đáp ứng trên vi điều khiển nhúng.
Phương pháp nghiên cứu thực tế được tác giả triển khai bao gồm:
- Phương pháp phân tích - tổng hợp lý thuyết về thuật toán cờ và thị giác máy tính.
- Phương pháp thiết kế kỹ thuật và mô hình hóa 3D trên phần mềm CAD.
- Phương pháp thực nghiệm chế tạo phần cứng (in 3D, gia công mạch, cấp nguồn) và lập trình nhúng.
- Phương pháp kiểm thử thực nghiệm từng bước (unit testing) trên bàn cờ thực tế và đánh giá độ chính xác của các nước đi.
Thiết kế và triển khai hệ thống
Hệ thống robot đánh cờ vua được thiết kế theo cấu trúc module kết hợp chặt chẽ giữa phần cứng cơ điện tử và phần mềm điều khiển trung tâm.
Kiến trúc phần cứng và lựa chọn linh kiện
Hệ thống cơ khí được xây dựng theo mô hình cánh tay robot phẳng dạng SCARA nhỏ gọn, tổng khối lượng khoảng 2 kg, tầm với bao quát toàn bộ bàn cờ kích thước 28 cm x 28 cm, có khả năng vận hành liên tục 4 đến 5 giờ nhờ cơ chế tản nhiệt.
| Tên thiết bị / Module |
Thông số kỹ thuật chính trích xuất từ đồ án |
Vai trò trong hệ thống |
| Arduino Mega 2560 |
Vi xử lý ATmega2560 (16 MHz), Flash 256 KB, SRAM 8 KB, EEPROM 4 KB, 54 chân Digital I/O (15 PWM), 16 chân Analog, 4 kênh UART, nguồn 5V. |
Tiếp nhận lệnh từ máy tính, tính toán động học và phát tín hiệu điều khiển chấp hành. |
| Board mở rộng RAMPS 1.4 |
Điện áp cấp 12V - 24V DC, dòng tải tối đa 4A/trục, kích thước 100 mm x 80 mm, trọng lượng 72g, tương thích firmware Marlin, Sprinter, Repetier, grbl. |
Shield mở rộng cắm trực tiếp trên Arduino Mega 2560 để kết nối động cơ, cảm biến và nguồn. |
| Driver động cơ A4988 |
3 mạch; điện áp vận hành 8V - 35V, dòng cực đại 2A/pha, chế độ vi bước từ full-step đến 1/16 micro-step, có bảo vệ ngắt quá nhiệt và quá dòng. |
Điều khiển vi bước chính xác cho 3 động cơ bước NEMA 17. |
| Động cơ bước NEMA 17 |
3 động cơ; kích thước chuẩn NEMA 17 (42 x 42 x 40 mm), góc bước 1,8°/bước (200 bước/vòng), mô-men xoắn 0,4 N.m, điện áp 12V - 24V DC, công suất 12W - 48W. |
Dẫn động các trục xoay và tịnh tiến của cánh tay robot SCARA qua bộ truyền đai/bánh răng. |
| Động cơ servo MG90S |
1 động cơ; điện áp 4,8V - 6V, kích thước 22,5 mm, trọng lượng 13,4g, mô-men xoắn 1,8 - 2,2 kg.cm, điều khiển bằng xung PWM 50 Hz (0,5 - 2,5 ms), độ phân giải 0,5°. |
Điều khiển cơ cấu kẹp mở ngón tay gắp quân cờ. |
| Webcam ICON Q-20 |
Độ phân giải 2K (2560 x 1440 pixels), tốc độ quét 60 fps, góc nhìn 120°, giao tiếp USB 2.0, công suất ≤ 2,5W, tích hợp tự động lấy nét và cân bằng sáng. |
Treo trên giá đèn trợ sáng hướng từ trên xuống để chụp ảnh toàn cảnh bàn cờ. |
Tính toán và thiết kế phân bổ nguồn điện
Dựa trên bảng tổng hợp dòng điện và công suất tiêu thụ lý thuyết của các thành phần, tổng nhu cầu tối thiểu của hệ thống là nguồn 5V đến 12V, dòng 4,8A và tổng công suất 62,75W. Nhằm đảm bảo hệ thống vận hành ổn định lâu dài và tránh sụt áp gây mất bước động cơ, tác giả thiết kế mạch chia nguồn độc lập:
- Nhánh công suất 12V 5A (công suất 60W): Cấp riêng cho khối Arduino Mega 2560, RAMPS 1.4, 3 driver A4988 và 3 động cơ bước NEMA 17.
- Nhánh điều khiển 5V 2A (công suất 10W): Cấp riêng cho động cơ servo MG90S và Webcam ICON Q-20.
- Tổng công suất cấp thực tế đạt: 60W + 10W = 70W > 62,75W (đáp ứng vượt định mức yêu cầu thiết kế).
Chế tạo cơ khí và chuẩn hóa bàn cờ
Các chi tiết khung và khớp nối cánh tay robot được mô hình hóa trên phần mềm 3D và gia công bằng công nghệ in 3D với các thông số: độ đặc ruột (Infill) 25%, độ dày mỗi lớp in (Resolution) 0,22 mm, bật chế độ tạo vùng đỡ (Support) đối với các chi tiết bánh răng ăn khớp dây đai truyền lực. Vật liệu in sử dụng gồm PLA, PLA+, PETG hoặc ABS; bề mặt chi tiết được xử lý gọt sạch bavia nhựa thừa.
Hệ thống chuẩn hóa kích thước bàn cờ vật lý ở kích thước tổng thể 28 cm x 28 cm, mỗi ô cờ vuông kích thước 3,5 cm x 3,5 cm. Quân cờ sử dụng có chiều cao dao động từ 2,7 cm (quân tốt) đến 5 cm (quân vua/hậu).
Thiết kế phần mềm và quy trình xử lý
Phần mềm hệ thống được viết bằng ngôn ngữ Python trên máy tính laptop kết nối vi điều khiển qua cổng nối tiếp:
- Thu nhận và tiền xử lý ảnh: Webcam 2K chụp ảnh từ đỉnh bàn cờ, thuật toán OpenCV nhận diện 4 điểm góc bàn cờ để thực hiện phép biến đổi phối cảnh (Perspective Warp), cắt và xoay ảnh về ma trận chuẩn.
- Nhận dạng trạng thái ô cờ: Chương trình phân tích giá trị màu sắc RGB và độ lệch chuẩn của từng ô cờ để phân loại 3 trạng thái: ô trống, quân cờ đen bất kỳ, hoặc quân cờ trắng bất kỳ.
- Kiểm tra tính hợp lệ và xử lý luật chơi: Kiểm tra nước đi của người chơi dựa trên luật cờ quốc tế. Nếu nước đi sai luật, hệ thống xuất cảnh báo và yêu cầu thực hiện lại. Xử lý trường hợp thăng cấp tốt (nếu thăng cấp thành quân khác ngoài quân Hậu, người chơi cần thông báo xác nhận).
- Tính toán nước đi và động học: Nước cờ hợp lệ được chuyển đến engine cờ vua để xác định nước đi đáp trả tối ưu. Tọa độ ô cờ nguồn và ô cờ đích được quy đổi sang hệ tọa độ phẳng của robot. Thuật toán động học ngược giải tích áp dụng định lý Cosin tính toán trực tiếp các góc quay $D_1, D_2$ cho cánh tay SCARA.
- Thực thi cơ cấu: Chuỗi mã lệnh điều khiển được truyền xuống Arduino Mega 2560 để điều khiển động cơ NEMA 17 di chuyển cánh tay đến vị trí quân cờ, servo MG90S hạ và kẹp quân, nâng lên chuyển sang vị trí mới, buông kẹp và đưa cánh tay trở về tọa độ chuẩn ban đầu (Home).
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 trình bày tính cấp thiết của đề tài trong bối cảnh robot mở rộng từ sản xuất sang các ứng dụng giải trí và giáo dục. Tác giả nêu rõ 3 mục tiêu nghiên cứu; thiết lập các giới hạn cụ thể về thời gian, tài nguyên, phạm vi ứng dụng cờ vua và việc kế thừa engine AI có sẵn; xác định phương pháp tiếp cận từ phân tích giải thuật, xử lý ảnh thị giác máy tính đến thiết kế điều khiển nhúng; đồng thời tóm tắt bố cục 5 chương của báo cáo tốt nghiệp.
Chương 2: Cơ sở lý thuyết
Chương 2 phân tích chuyên sâu các nền tảng lý thuyết và công nghệ sử dụng trong đề tài:
- Giới thiệu engine Stockfish, lịch sử phát triển điểm số Elo qua hơn 10 năm và các thuật toán tìm kiếm cây Minimax, cắt tỉa Alpha-Beta, bảng hoán vị.
- Trình bày chi tiết kiến trúc mạng nơ-ron cập nhật hiệu quả NNUE: giải thích 3 nguyên tắc tối ưu hóa cho CPU thời gian thực; phân tích chi tiết toán học của kiến trúc HalfKP (41.024 đầu vào, vector trọng số 16-bit, tích lũy 256 phần tử, lớp biến đổi 512 phần tử 8-bit, 3 lớp ẩn nhân ma trận, hàm ReLU và tỷ lệ FV_SCALE = 16) cùng kiến trúc cải tiến HalfKA / HalfKAv2 (45.056 đầu vào, 8 mạng con).
- Tổng quan thư viện thị giác máy tính OpenCV: cấu trúc 2.500 thuật toán, hỗ trợ đa nền tảng và các kỹ thuật xử lý ảnh số thời gian thực.
- Khái niệm động học robot: phân biệt động học thuận và động học ngược, phân tích ưu nhược điểm của hai hướng giải pháp IK số học (Numerical) và IK giải tích (Analytical).
Chương 3: Thiết kế hệ thống robot đánh cờ vua
Chương 3 là nội dung kỹ thuật trọng tâm mô tả toàn bộ thiết kế hệ thống:
- Thiết kế phần cứng: Sơ đồ khối hệ thống, sơ đồ nguyên lý tổng quan, sơ đồ chân kết nối chi tiết giữa Arduino Mega 2560, shield RAMPS 1.4, 3 driver A4988, 3 động cơ bước NEMA 17, 1 servo MG90S và Webcam 2K ICON Q-20. Bảng thông số kỹ thuật in 3D (Infill 25%, layer 0,22 mm) và bảng tính toán nguồn phân nhánh 70W. Chuẩn hóa kích thước bàn cờ 28x28 cm (ô 3,5 cm, quân cao 2,7 - 5 cm).
- Thiết kế phần mềm: Sơ đồ khối quá trình xử lý, lưu đồ giải thuật chương trình chính, thuật toán hiệu chỉnh 4 góc bàn cờ bằng OpenCV, thuật toán nhận diện màu sắc/độ lệch chuẩn RGB để xác định ô trống/quân trắng/quân đen, công thức lượng giác tính góc $D_1, D_2$ của động học ngược SCARA dựa trên định lý Cosin.
Chương 4: Kết quả
Chương 4 công bố kết quả hiện thực phần cứng mô hình và dữ liệu thực nghiệm đánh cờ với người dùng:
- Hoàn thiện mô hình vật lý cánh tay robot SCARA kết nối hoàn chỉnh với mạch điều khiển, nguồn điện và webcam gắn trên trục đèn trợ sáng.
- Quy trình vận hành và tương tác thực tế qua các nước đi:
- Khởi tạo: Robot xác định tọa độ ban đầu (Home) và điểm trung tâm bàn cờ; webcam chụp ảnh góc nhìn từ trên xuống và hoàn thành hiệu chỉnh bàn cờ.
- Nước đi 1: Người chơi đi nước đầu tiên $g1 \rightarrow f3$ ($mg1f3$). Màn hình xuất thông báo; máy tính tính toán nước đáp trả là $c7 \rightarrow c5$. Cánh tay robot nhận lệnh tọa độ, di chuyển đến vị trí quân tốt đen $c7$, servo kẹp gắp quân, nâng và đặt sang ô $c5$, buông kẹp và quay về vị trí Home.
- Nước đi 2: Người chơi thực hiện nước đi $c2 \rightarrow c4$. Máy phản hồi nước đi $g7 \rightarrow g6$. Robot di chuyển kẹp quân tốt đen tại $g7$, đưa sang $g6$, thả quân và quay về Home.
- Kiểm tra tính hợp lệ: Thử nghiệm tình huống người chơi đi nước cờ sai luật $e1 \rightarrow e4$. Hệ thống phát hiện nước đi không hợp lệ, giữ nguyên trạng thái không thực hiện nước đi mới và xuất thông báo yêu cầu người chơi đi lại nước khác hợp lệ.
- Nước đi tiếp theo: Người chơi đi lại nước $b1 \rightarrow a3$. Máy tính chọn nước đi $f8 \rightarrow g7$. Robot gắp quân tượng đen tại $f8$ di chuyển đến $g7$, thả quân và kết thúc lượt về Home.
- Đánh giá mô hình: Hệ thống đạt độ ổn định về mặt cơ điện tử, xử lý ảnh chính xác và phối hợp mượt mà giữa các khối chức năng.
Chương 5: Kết luận và hướng phát triển
Chương 5 tóm tắt các thành quả đạt được về việc làm chủ quy trình thiết kế, chế tạo cánh tay robot chơi cờ tự động; đồng thời chỉ rõ các hạn chế tồn tại và đề xuất các định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả chính kèm số liệu thực nghiệm
- Chế tạo thành công mô hình phần cứng cánh tay robot SCARA hoàn chỉnh có khối lượng ~2 kg, kích thước nhỏ gọn, phạm vi hoạt động bao phủ chính xác bàn cờ chuẩn 28 cm x 28 cm (kích thước ô 3,5 cm x 3,5 cm) và chiều cao gắp từ 2,7 cm đến 5 cm.
- Hệ thống cấp nguồn thiết kế phân tách 2 nhánh (12V 5A và 5V 2A) với tổng công suất cung cấp 70W (vượt mức tiêu thụ lý thuyết 62,75W), giúp hệ thống vận hành liên tục từ 4 đến 5 giờ mà không bị quá nhiệt hay sụt áp.
- Triển khai thành công thuật toán thị giác máy tính OpenCV trên dữ liệu ảnh 2K (60 fps) từ webcam ICON Q-20, phân loại chính xác 3 trạng thái của ô cờ thông qua phân tích RGB và độ lệch chuẩn.
- Thực nghiệm các chuỗi nước cờ thực tế ($g1f3 \rightarrow c7c5$; $c2c4 \rightarrow g7g6$; $b1a3 \rightarrow f8g7$) diễn ra chính xác theo tọa độ động học ngược; chức năng bẫy lỗi phát hiện chính xác nước đi không hợp lệ (như thử nghiệm nước $e1e4$).
Giải pháp và kiến nghị của tác giả
- Ứng dụng giải pháp động học ngược giải tích (Analytical IK) thay cho phương pháp số học lặp để giảm thiểu độ phức tạp tính toán cho vi điều khiển 8-bit ATmega2560.
- Thiết kế mạch nguồn kép độc lập nhằm cách ly nhiễu xung từ 3 động cơ bước công suất lớn với mạch vi điều khiển và cảm biến camera.
- Đề xuất gia công in 3D với độ đặc 25% kèm lớp đệm hỗ trợ (Support) chuyên biệt cho các chi tiết bánh răng truyền động đai để đảm bảo độ cứng vững và độ chính xác khớp nối.
Đóng góp của đề tài
- Tích hợp thành công chuỗi công nghệ liên ngành: thị giác máy tính (OpenCV), động cơ tính toán cờ vua (Stockfish kết hợp mạng nơ-ron NNUE), lý thuyết động học robot giải tích và hệ thống nhúng điều khiển chuyển động đa trục (Arduino Mega 2560/RAMPS 1.4/A4988).
- Xây dựng một mô hình thực nghiệm hoàn chỉnh, có tính trực quan cao phục vụ nghiên cứu và giảng dạy trong lĩnh vực Hệ thống nhúng và IoT.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận chỉ rõ các hạn chế kỹ thuật dựa trên phạm vi nghiên cứu thực tế:
- Giới hạn về mặt thời gian và tài nguyên chế tạo; chưa tự xây dựng mô hình AI cờ vua riêng biệt mà phải phụ thuộc vào phần mềm Stockfish có sẵn.
- Hệ thống thị giác máy tính nhận diện dựa trên màu sắc và độ lệch chuẩn RGB, dễ chịu ảnh hưởng bởi sự thay đổi đột ngột của cường độ ánh sáng môi trường; chưa nhận diện phân loại chi tiết từng loại quân cờ độc lập bằng mô hình học sâu.
- Chưa tự động hóa hoàn toàn trường hợp người chơi phong cấp tốt thành các quân cờ khác ngoài quân Hậu (vẫn cần thông báo thủ công).
- Kết cấu cơ khí in 3D vẫn tồn tại sai số nhỏ do nhiệt độ sợi nhựa và quá trình gọt bavia thủ công.
Các hướng phát triển tiếp theo được đề xuất:
- Cải tiến và tối ưu hóa kết cấu cơ khí, nâng cao độ phân giải bước của động cơ và thiết kế ngón kẹp linh hoạt hơn để tăng độ chính xác định vị.
- Nâng cấp thuật toán xử lý ảnh, tích hợp các bộ lọc thích nghi với điều kiện ánh sáng phức tạp và nhận diện đa dạng các bộ quân cờ khác nhau.
- Tối ưu hóa thuật toán điều khiển và mở rộng khả năng xử lý các tình huống luật chơi đặc biệt.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho:
- Sinh viên và học viên ngành Hệ thống nhúng, Kỹ thuật Robot, Tự động hóa và Cơ điện tử: Tham khảo quy trình thiết kế phần cứng hoàn chỉnh từ sơ đồ nguyên lý, tính toán công suất nguồn, kết nối shield RAMPS 1.4 với driver A4988 và động cơ bước NEMA 17.
- Người nghiên cứu về Thị giác máy tính và Xử lý ảnh nhúng: Tham khảo thuật toán nắn chỉnh phối cảnh 4 góc bàn cờ và giải thuật nhận diện trạng thái lưới ô cờ qua phân tích không gian màu RGB trên OpenCV.
- Người phát triển các hệ thống tương tác AI - Vật lý: Tham khảo phương pháp áp dụng động học ngược giải tích (định lý Cosin) cho cấu trúc SCARA và quy trình tích hợp engine cờ vua mã nguồn mở Stockfish (NNUE) vào hệ thống điều khiển cơ điện tử.
Câu hỏi thường gặp
1. Khóa luận sử dụng phương pháp nào để giải bài toán động học ngược (IK) cho cánh tay robot?
Tác giả sử dụng phương pháp động học ngược giải tích (Analytical Inverse Kinematics) dựa trên hình học phẳng và định lý hàm số Cosin để tính toán trực tiếp các góc quay $D_1$ và $D_2$ của cánh tay robot SCARA, thay vì sử dụng phương pháp số học lặp (Numerical IK) nhằm giảm tải tính toán cho vi điều khiển ATmega2560.
2. Hệ thống phân bổ và tính toán nguồn điện như thế nào để đảm bảo hoạt động liên tục?
Tổng công suất tiêu thụ lý thuyết tính toán của hệ thống là 62,75W (5V - 12V, 4,8A). Tác giả thiết kế phân chia thành hai nguồn độc lập: nguồn 12V 5A (60W) cấp cho Arduino Mega 2560, RAMPS 1.4, 3 driver A4988, 3 động cơ NEMA 17; và nguồn riêng 5V 2A (10W) cấp cho servo MG90S và Webcam 2K. Tổng công suất cấp thực tế là 70W, cho phép hệ thống chạy ổn định từ 4 đến 5 giờ.
3. Thuật toán thị giác máy tính nhận diện nước đi của người chơi dựa trên nguyên lý gì?
Sau khi người chơi đi cờ, webcam chụp ảnh và nắn góc về lưới bàn cờ chuẩn. Chương trình phân tích giá trị màu sắc RGB và độ lệch chuẩn của từng ô cờ để nhận diện 3 trạng thái: ô trống, quân cờ đen bất kỳ, hoặc quân cờ trắng bất kỳ, từ đó so sánh với trạng thái trước đó để xác định ô cờ xuất phát và ô cờ đích.
4. Hệ thống xử lý như thế nào khi người chơi thực hiện một nước đi không hợp lệ?
Khi người chơi đi một nước sai luật (ví dụ trong thực nghiệm là nước đi $e1 \rightarrow e4$), hệ thống kiểm tra logic sẽ phát hiện tính bất hợp lệ, màn hình hiển thị thông báo lỗi, robot giữ nguyên vị trí Home và khóa trạng thái cho đến khi người chơi thực hiện lại một nước đi hợp lệ khác.
5. Mạng nơ-ron NNUE trong engine Stockfish được đồ án trình bày có đặc điểm gì nổi bật?
NNUE (Efficiently Updatable Neural Networks) tận dụng tính chất đầu vào thưa thớt (~0,1%) và chỉ cập nhật cục bộ sự thay đổi giữa các nước đi thay vì tính toán lại toàn bộ mạng. Cấu trúc mạng gồm các lớp HalfKP (41.024 đầu vào) hoặc HalfKA (45.056 đầu vào), sử dụng số nguyên 8-bit/16-bit và hàm kích hoạt ReLU được tối ưu hóa qua tập lệnh SIMD, cho phép suy luận hàng triệu thế cờ mỗi giây trực tiếp trên CPU.
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống robot đánh cờ vua" của tác giả Nguyễn Tiến Đạt đã thiết kế, chế tạo và thử nghiệm thành công một hệ thống robot SCARA hoàn chỉnh có khả năng đánh cờ vua tương tác với con người theo thời gian thực. Bằng việc kết hợp vi điều khiển Arduino Mega 2560, shield RAMPS 1.4, động cơ bước NEMA 17, thị giác máy tính OpenCV và engine Stockfish ứng dụng mạng nơ-ron NNUE, hệ thống đã thực hiện chính xác các thao tác nhận diện bàn cờ, gắp thả quân và bắt lỗi nước đi sai luật. Khóa luận cung cấp các dữ liệu thực nghiệm chi tiết về tính toán nguồn công suất, thông số in 3D và giải thuật động học ngược giải tích, đóng vai trò là tài liệu tham khảo kỹ thuật giá trị trong lĩnh vực hệ thống nhúng và điều khiển robot.