Tải bản đầy đủ (.pdf) (164 trang)

PHÂN TÍCH VÀ THIẾT KẾ ROBOT CHƠI CỜ TƯỚNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.63 MB, 164 trang )

TÓM TẮT LUẬN VĂN
Đề tài luận văn “Phân tích và thiết kế robot chơi cờ tướng” là một đề tài không
mới đối với các nước trên thế giới. Nhưng ở Việt Nam nói chung và các trường Đại học
về lĩnh vực kỹ thuật nói riêng, đề tài này tương đối mới và ít người thực hiện. Chính vì
vậy việc thực hiện đề tài này sẽ đem lại một luồng gió mới. Mục tiêu của đề tài là tạo ra
một robot có thể chơi cờ tướng tự động, chơi cờ trực tiếp với con người. Mặc dù chỉ mới
dừng lại ở mục tiêu xây dừng giải thuật chơi cờ ở cấp cơ bản nhất. Nhưng robot vẫn đủ
thông minh để cùng người chơi đánh xong một ván cờ.

i


MỤC LỤC
LỜI CẢM ƠN .............................................................. Error! Bookmark not defined.
TÓM TẮT LUẬN VĂN ................................................................................................. i
MỤC LỤC ......................................................................................................................ii
DANH SÁCH HÌNH VẼ ........................................................................................... viii
DANH SÁCH BẢNG BIỂU ........................................................................................ xv
CHƯƠNG 1: TỔNG QUAN ......................................................................................... 1
1.1. Đặt vấn đề .............................................................................................................1
1.2. Sơ lược lịch sử các máy tính chơi cờ....................................................................1
1.2.1. Chiếc “máy giấy” của Turing ........................................................................1
1.2.2. Cỗ máy Maniac I ........................................................................................... 1
1.2.3. Cờ và toán học ............................................................................................... 2
1.2.4. Chiếc máy Belle ............................................................................................ 3
1.2.5. HiTech ...........................................................................................................3
1.2.6. Deep Blue ......................................................................................................4
1.3. Sơ lược về cờ tướng.............................................................................................. 4
1.4. Một số robot chơi cờ............................................................................................. 6
1.4.1. Tay máy chơi cờ vua ..................................................................................... 6
1.4.2. Các nghiên cứu robot chơi cờ tướng ............................................................. 7


1.5. Mục tiêu, nhiệm vụ và phạm vi đề tài ..................................................................9
1.5.1. Đầu bài...........................................................................................................9
1.5.2. Mục tiêu .......................................................................................................10
1.5.3. Nhiệm vụ .....................................................................................................10
1.5.4. Phạm vi ........................................................................................................12
1.6. Tổ chức luận văn ................................................................................................ 12

ii


CHƯƠNG 2: LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ............................................ 13
2.1. Lựa chọn kết cấu.................................................................................................13
2.1.1. Kết cấu Cartesian ......................................................................................... 14
2.1.2. Kết cấu Cylindrical ...................................................................................... 14
2.1.3. Kết cấu SCARA .......................................................................................... 15
2.2. Lựa chọn hệ thống dẫn động ..............................................................................16
2.2.1. Điện .............................................................................................................16
2.2.2. Khí nén ........................................................................................................16
2.2.3. Thủy lực .......................................................................................................17
2.3. Lựa chọn cơ cấu tác động ................................................................................... 17
2.3.1. Động cơ bước .............................................................................................. 18
2.3.2. Động cơ DC Servo ...................................................................................... 18
2.3.3. Động cơ AC Servo ...................................................................................... 19
2.4. Lựa chọn bộ truyền động .................................................................................... 20
2.4.1. Bộ truyền đai răng ....................................................................................... 20
2.4.2. Bộ truyền đai ốc – vít me ............................................................................21
2.5. Lựa chọn đầu công tác ........................................................................................ 22
2.5.1. Tay gắp điện ................................................................................................ 22
2.5.2. Tay gắp khí nén ........................................................................................... 23
2.5.3. Giác hút .......................................................................................................23

2.5.4. Nam châm điện ............................................................................................ 23
2.6. Lựa chọn bộ điều khiển ...................................................................................... 24
2.6.1. Card điều khiển............................................................................................ 24
2.6.2. Vi điều khiển ............................................................................................... 25
2.6.3. PLC ..............................................................................................................25
iii


2.7. Kết luận...............................................................................................................27
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ CƠ KHÍ .............................................. 28
3.1. Tính toán, thiết kế cụm khung và không gian làm việc của robot ..................... 28
3.1.1. Yêu cầu ........................................................................................................28
3.1.2. Thiết kế vùng không gian làm việc của robot .............................................28
3.1.3. Thiết kế cụm khung cho robot .....................................................................29
3.2. Tính toán và lựa chọn cụm thanh trượt – con trượt ............................................30
3.2.1. Dẫn hướng theo trục Oy ..............................................................................30
3.2.2. Dẫn hướng theo trục Ox ..............................................................................33
3.3. Tính toán lựa chọn động cơ AC servo ................................................................ 33
3.4. Tính toán và lựa chọn đai ................................................................................... 37
3.4.1. Yêu cầu đai ..................................................................................................37
3.4.2. Tính toán chọn đai ....................................................................................... 37
3.4.3. Kiểm nghiệm độ bền đai..............................................................................38
3.5. Tính toán chọn xy lanh khí, van hút chân không và đầu giác hút ...................... 39
3.5.1 Yêu cầu .........................................................................................................39
3.5.2. Chọn xy lanh và van điện từ khí nén ........................................................... 40
3.5.3. Tính toán chọn van hút chân không và đầu giác hút ...................................41
3.6. Tính toán và gá đặt camera .................................................................................43
3.6.1. Yêu cầu ........................................................................................................43
3.6.2. Thông số camera.......................................................................................... 43
3.6.3. Tính toán chiều cao camera .........................................................................44

3.7. Tính toán và thiết kế đồ gá .................................................................................45
3.7.1. Đồ gá động cơ.............................................................................................. 45
3.7.2. Đồ gá cụm pulley bị động ...........................................................................46
iv


3.7.3. Đồ gá cụm pulley dẫn hướng ......................................................................47
3.7.4. Cụm đầu công tác ........................................................................................ 48
3.7.5. Cụm camera .................................................................................................49
3.8. Kết luận...............................................................................................................50
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG ĐIỆN .......................................................... 52
4.1. Sơ đồ khối của hệ thống ..................................................................................... 52
4.2. Cảm biến giới hạn hành trình .............................................................................52
4.2.1. Giới hạn hành trình đầu công tác ................................................................ 53
4.2.2. Giới hạn hành trình xylanh ..........................................................................54
4.3. Driver SGDV 1R6A01 ....................................................................................... 55
4.4. Các thiết bị tác động và đưa ra tín hiệu .............................................................. 59
4.5. Bộ điều khiển PLC ............................................................................................. 61
4.6. Sơ đồ đấu dây kết nối thiết bị .............................................................................64
4.6.1. Cấp nguồn cho các thiết bị ..........................................................................64
4.6.2. Bố trí và đấu dây các cảm biến hành trình ..................................................65
4.6.3. Đấu dây PLC ............................................................................................... 67
4.6.4. Đấu dây driver động cơ ...............................................................................69
4.7. Kết luận...............................................................................................................70
CHƯƠNG 5. XỬ LÝ ẢNH NHẬN DIỆN QUÂN CỜ, NHẬN DẠNG NƯỚC ĐI 71
5.1. Đặt vấn đề và ý tưởng nhận dạng quân cờ ......................................................... 71
5.1.1. Đặt vấn đề ....................................................................................................71
5.1.2. Ý tưởng nhận dạng quân cờ.........................................................................72
5.2. Các vấn đề cơ bản trong xử lý ảnh .....................................................................73
5.2.1. Một số khái niệm về ảnh .............................................................................73

5.2.2. Các mô hình màu cơ bản .............................................................................75
v


5.2.3. Chuyển đổi giữa các không gian màu ......................................................... 76
5.3. Xác định vị trí các quân cờ trong ảnh .................................................................77
5.3.1. Đặt vấn đề ....................................................................................................77
5.3.2. Cách xác định vị trí quân cờ trong ảnh........................................................ 78
5.4. Trích xuất ảnh, tạo đặc tính từng quân cờ .......................................................... 80
5.4.1. Trích xuất ảnh từng quân cờ ........................................................................80
5.4.2. Phân chia quân cờ vào hai nhóm đỏ và đen ................................................83
5.4.3. Tạo đặc tính từ ảnh mẫu tự quân cờ ............................................................ 85
5.5. Nhận diện quân cờ .............................................................................................. 87
5.5.1. Thuật toán SVM .......................................................................................... 87
5.5.2. Chuẩn bị cơ sở dữ liệu .................................................................................88
5.5.3. Kết quả thực nghiệm ................................................................................... 91
5.6. Nhận dạng nước đi.............................................................................................. 93
5.6.1. Các quy ước .................................................................................................93
5.6.2. Ý tưởng thực hiện ........................................................................................ 94
5.6.3. Các bước cần thực hiện ...............................................................................94
5.7. Hiệu chuẩn camera ...........................................................................................100
5.7.1. Thông số nội và thông số ngoại của camera .............................................100
5.7.2. Xác định thông số camera và sai số của quá trình hiệu chuẩn camera .....103
CHƯƠNG 6. GIẢI THUẬT ĐIỀU KHIỂN, CHƠI CỜ VÀ XẾP CỜ ................. 108
6.1. Giải thuật điều khiển PLC ................................................................................108
6.1.1 Giao tiếp giữa PLC và máy tính .................................................................108
6.1.2. Giải thuật điều khiển PLC .........................................................................109
6.2. Điều chỉnh các thông số cho driver động cơ ....................................................115
6.3. Phân tích động học của robot ...........................................................................118
vi



6.4. Giải thuật chơi cờ .............................................................................................121
6.4.1. Lưu đồ giải thuật chơi cờ...........................................................................121
6.4.2. Tạo giao diện .............................................................................................121
6.4.3. Biễu diễn quân cờ trên giao diện ...............................................................124
6.4.4. Sinh nước đi cho các quân cờ ....................................................................125
6.4.5. Lượng giá cho các quân cờ ........................................................................126
6.4.6. Xử lí nước đi thử cho máy.........................................................................127
6.4.7. Di chuyển các quân cờ...............................................................................127
6.4.8. Thuật toán tìm kiếm AlphaBeta ................................................................127
6.4.9. Đổi lượt đi giữa robot và người chơi .........................................................130
6.4.10. Xác định nước đi sai của người chơi .......................................................130
6.4.11. Kết quả thực nghiệm giải thuật chơi cờ ..................................................131
6.5. Giải thuật sắp xếp quân cờ ...............................................................................139
6.5.1. Nội dung giải thuật ....................................................................................139
6.5.2. Kết quả thực nghiệm của giải thuật xếp quân cờ ......................................141
6.6. Kết luận.............................................................................................................144
CHƯƠNG 7: TỔNG KẾT KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ..... 145
7.1. Tổng kết đề tài ..................................................................................................145
7.2. Những mặt hạn chế ...........................................................................................146
7.3. Hướng phát triển đề tài .....................................................................................146
TÀI LIỆU THAM KHẢO......................................................................................... 148

vii


DANH SÁCH HÌNH VẼ
Hình 1.1: Cỗ máy Maniac I [1] ....................................................................................... 2
Hình 1.2: Chiếc máy Belle [1] ......................................................................................... 3

Hình 1.3: Deep Blue [10] ................................................................................................ 4
Hình 1.4: Quân bàn cờ tướng [10]...................................................................................5
Hình 1.5: Ký hiệu và số lượng quân trong cờ tướng [10] ...............................................5
Hình 1.6: CHESSka đọ sức cùng nhà vô địch thế giới Kramnik [10]............................. 6
Hình 1.7: CHESSka và KUKA Monster trong trận chung kết năm 2012 [10] ...............7
Hình 1.8: Robot Gambit [11]........................................................................................... 7
Hình 1.9: Robot NI Intelligent [12] .................................................................................8
Hình 1.10: Robot chơi cờ tướng [1] ................................................................................8
Hình 1.11: Bàn máy 2D để sắp xếp quân cờ tướng [3] ...................................................9
Hình 2.1: Các bộ phận cấu thành robot chơi cờ tướng ..................................................13
Hình 2.2: Kết cấu Catersian [10] ................................................................................... 14
Hình 2.3: Kết cấu Cylindrical [10] ................................................................................14
Hình 2.4: Kết cấu SCARA [10] ..................................................................................... 15
Hình 2.5: Động cơ bước [10] ........................................................................................ 18
Hình 2.6: Động cơ DC Servo [10] .................................................................................19
Hình 2.7: Động cơ AC Servo [10] .................................................................................19
Hình 2.8: Bộ truyền đai răng [10] .................................................................................20
Hình 2.9: Bộ truyền đai ốc – vít me [10].......................................................................21
Hình 2.10: Tay gắp điện [10] ........................................................................................ 22
Hình 2.11: Tay gắp khí nén [10] ................................................................................... 23
Hình 2.12: Giác hút [10] ................................................................................................ 23
Hình 2.13: Card điều khiển [14] .................................................................................... 25
viii


Hình 2.14: Vi điều khiển [15]........................................................................................ 25
Hình 2.15: Hai dạng PLC thường dùng [10] .................................................................26
Hình 3.1: Kích thước bàn cờ ......................................................................................... 28
Hình 3.2: Không gian làm việc của Robot ...................................................................29
Hình 3.3: Cụm khung của robot. ................................................................................... 30

Hình 3.4: Cơ cấu cơ khí với trục dẫn hướng Ox, Oy .................................................... 30
Hình 3.5: Lực tác dụng lên trục trục tròn ......................................................................31
Hình 3.6: Biểu đồ nội lực .............................................................................................. 32
Hình 3.7: Thanh trượt và vòng bi trượt [10] .................................................................32
Hình 3.8: Thanh trượt vuông và con trượt vuông [10] ..................................................33
Hình 3.9: Cơ cấu truyền động của động cơ. ..................................................................35
Hình 3.10: Phân tích lực theo trên trục Oyz ..................................................................35
Hình 3.11: Động cơ AC servo ....................................................................................... 36
Hình 3.12: Driver động cơ ............................................................................................. 37
Hình 3.13: Các thông số của đai .................................................................................... 38
Hình 3.14: Xy lanh CDJ2B16AA ..................................................................................40
Hình 3.15: Van khí nén 5/2 ........................................................................................... 40
Hình 3.16: Giác hút chân không [10] ............................................................................41
Hình 3.17: Phân tích lực tác dụng lên quân cờ [10] ...................................................... 42
Hình 3.18: Van hút chân không ..................................................................................... 43
Hình 3.19: Các thông số gá đặt camera [4] ...................................................................44
Hình 3.20: Các chi tiết của cụm đồ gá động cơ............................................................. 45
Hình 3.21: Cụm đồ gá động cơ lắp ráp hoàn chỉnh ....................................................... 46
Hình 3.22: Các chi tiết của cụm pulley bị động ............................................................ 46
Hình 3.23: Cụm đồ gá pulley bị động lắp ráp hoàn chỉnh.............................................47
ix


Hình 3.24: Các chi tiết của cụm đồ gá pulley dẫn hướng .............................................47
Hình 3.25: Cụm đồ gá pulley dẫn hướng lắp ráp hoàn chỉnh........................................48
Hình 3.26: Các chi tiết của cụm đầu công tác ............................................................... 48
Hình 3.27: Cụm đầu công tác lắp ráp hoàn chỉnh ......................................................... 49
Hình 3.28: Cụm camera .................................................................................................49
Hình 3.29: Robot chơi cờ tướng được thiết kế trong Solidworks .................................50
Hình 3.30: Robot sau khi được chế tạo .........................................................................50

Hình 4.1: Sơ đồ khối cơ bản của hệ thống ....................................................................52
Hình 4.2: Cảm biến tiệm cận LJ12A3 – 4 – Z/BX NPN ...............................................53
Hình 4.3: Nguyên lí hoạt động của cảm biến tiệm cận NPN ........................................54
Hình 4.4: Cảm biến từ D - F79 [10] ..............................................................................54
Hình 4.5: Driver SGDV 1R6A01 với các cổng kết nối .................................................55
Hình 4.6: Các chân trong cổng CN1 của driver ............................................................ 56
Hình 4.7: Kết nối trực tiếp với đầu ra của driver .......................................................... 59
Hình 4.8: Nút nhấn và nút dừng khẩn cấp [10] ............................................................. 59
Hình 4.9: Relay kính và cuộn solenoid của van trạng thái [10] ....................................60
Hình 4.10: Công tắc điện và cầu dao điện tự động [10] ................................................61
Hình 4.11: Các loại đèn báo [10]................................................................................... 61
Hình 4.12: Board PLC FX3U LE3U 24MT [10] .......................................................... 64
Hình 4.13: Mạch động lực của robot .............................................................................64
Hình 4.14: Mạch cấp nguồn điều khiển cho robot ........................................................ 65
Hình 4.15: Bố trí cảm biến giới hạn hành trình đầu công tác .......................................65
Hình 4.16: Đấu dây cảm biến hành trình với relay kính ...............................................66
Hình 4.17: Bố trí cảm biến trên hai xylanh ...................................................................66
Hình 4.18: Sơ đồ đấu dây PLC ...................................................................................... 69
x


Hình 4.19: Sơ đồ đấu dây driver.................................................................................... 70
Hình 5.1: Ký hiệu và số lượng quân cờ [10] .................................................................71
Hình 5.2: Quân xe đỏ với các hướng xoay khác nhau ..................................................72
Hình 5.3: Lưu đồ thể hiện ý tưởng để nhận dạng quân cờ ............................................72
Hình 5.4: Ảnh bàn cờ được chụp bởi camera của robot ................................................73
Hình 5.5: Hệ tọa độ ảnh .................................................................................................74
Hình 5.6: Sự khác biệt độ phân giải của ảnh [10] ......................................................... 74
Hình 5.7: Ảnh xám được biểu diễn bởi các mức xám [10] ...........................................74
Hình 5.8: Ảnh nhị phân [5]............................................................................................ 75

Hình 5.9: Mô hình màu RGB [10].................................................................................75
Hình 5.10: Mô hình màu HSV [10] ...............................................................................76
Hình 5.11: Sự khác biệt giữa ảnh màu RGB và ảnh xám [10] ......................................77
Hình 5.12: Sự khác nhau giữa ảnh xám và ảnh nhị phân ..............................................77
Hình 5.13: Ảnh chụp bàn cờ ban đầu ............................................................................79
Hình 5.14: Ảnh sau khi sử dụng thuật toán HoughCircles ............................................79
Hình 5.15: Các quân cờ và tọa độ tâm tương ứng ......................................................... 80
Hình 5.16: Quân cờ trước và sau khi thay đổi về kích thước chuẩn ............................. 81
Hình 5.17: Sự khác biệt về kích thước ảnh quân cờ khi được trích xuất ...................... 82
Hình 5.18: Lưu đồ trích xuất ảnh từng quân cờ ............................................................ 82
Hình 5.19: Lưu đồ kiểm tra màu sắc quân cờ ............................................................... 83
Hình 5.20: Kết quả của các bước lấy mẫu tự trên quân cờ đen ....................................84
Hình 5.21: Các bước lấy mẫu tự trên quân cờ đỏ .......................................................... 84
Hình 5.22: Lưu đồ tạo đặc tính cho việc nhận dạng quân cờ ........................................86
Hình 5.23: Dữ liệu ảnh cho việc tạo cơ sở dữ liệu ........................................................ 88
Hình 5.24: Lưu đổ tạo file dữ liệu .................................................................................89
xi


Hình 5.25: Đồ thị đường đặc tính ..................................................................................90
Hình 5.26: Kết quả nhận dạng quân cờ .........................................................................91
Hình 5.27: Vị trí các quân ở trạng thái bắt đầu chơi ..................................................... 93
Hình 5.28: Lưu đồ giải thuật nhận dạng nước đi........................................................... 95
Hình 5.29: Lưu đồ tìm vị trí quân cờ thay đổi ............................................................... 95
Hình 5.30: Tọa độ tâm quân cờ màu đỏ sau khi thưc hiện HoughCircles .................... 96
Hình 5.31: Tọa độ bàn cờ trong hệ tọa độ bàn máy ...................................................... 96
Hình 5.32: Tọa độ các quân cờ đỏ trên bàn cờ sau khi được chuyển đổi...................... 97
Hình 5.33: Ma trận lưu vị trí quân cờ ban đầu .............................................................. 98
Hình 5.34: Ma trận lưu vị trí quân cờ sau một nước đi của người chơi ........................ 98
Hình 5.35: Sự thay đổi vị trí quân tốt sau một nước đi .................................................99

Hình 5.36: Mô hình pinhole camera [4] ......................................................................100
Hình 5.37: Liên hệ giữa hệ trục tọa độ thực và hệ trục tọa độ camera [5] ..................102
Hình 5.38: Hiệu chuẩn camera sử dụng Toolbox Camera Calibrator trên Matlab .....103
Hình 5.39: Sai số của quá trình hiệu chuẩn trả về từ Toolbox ....................................104
Hình 5.40: Vị trí các điểm được sử dụng để kiểm tra sai số hiệu chuẩn [5] ...............104
Hình 6.1: Giải thuật di chuyển đầu công tác bằng nút nhấn .......................................110
Hình 6.2: Giải thuật điều khiển hút, nhả bằng nút nhấn ..............................................111
Hình 6.3: Giải thuật điều khiển trên PLC ....................................................................113
Hình 6.4: Giải thuật điều khiển xếp cờ ........................................................................114
Hình 6.5: Cài đặt thông số Pn00B.2 trên driver ..........................................................115
Hình 6.6: Điều chỉnh chế độ vị trí cho driver ..............................................................115
Hình 6.7: Cài đặt thông số xác định chiều cho động cơ ..............................................116
Hình 6.8: Cài đặt thông số Pn20E cho driver động cơ ................................................117
Hình 6.9: Cài đặt thông số Pn210 cho driver động cơ ................................................117
xii


Hình 6.10: Các chiều di chuyển cơ bản của đầu công tác ...........................................118
Hình 6.11: Sự di chuyển đầu công tác khi M1 quay, M2 đứng yên............................119
Hình 6.12: Lưu đồ giải thuật chơi cờ ..........................................................................122
Hình 6.13: Giao diện chính của chương trình .............................................................123
Hình 6.14: Vị trí các điểm giao trên bàn cờ ................................................................124
Hình 6.15: Vị trí các quân cờ trên bàn cờ [10] ............................................................125
Hình 6.16: Chương trình con tìm kiếm nước đi ..........................................................128
Hình 6.17: Cây trò chơi trong thuật toán chơi cờ ........................................................128
Hình 6.18: Một ví dụ về thuật toán AlphaBeta ...........................................................129
Hình 6.19: Robot đang hút quân mã để di chuyển ......................................................131
Hình 6.20: Quân mã được gắp đến vị trí để giữ quân tốt ............................................131
Hình 6.21: Robot đang hút quân xe để di chuyển .......................................................132
Hình 6.22: Đầu giác hút đang hút quân bị ăn của quân đối phương ...........................132

Hình 6.23: Quân xe được gắp đến vị trí ăn quân xe đối phương ................................133
Hình 6.24: Robot đang hút quân tượng để di chuyển..................................................133
Hình 6.25: Quân tượng được di chuyển đến vị trí mới ...............................................134
Hình 6.26: Robot hút quân mã để di chuyển ...............................................................134
Hình 6.27: Quân mã được di chuyển tới vị trí mới .....................................................135
Hình 6.28: Robot đang hút quân xe để di chuyển .......................................................135
Hình 6.29: Robot đang ăn tướng đối phương ..............................................................136
Hình 6.30: Robot đang thế chổ quân tướng thành quân xe .........................................136
Hình 6.31: Vị trí ban đầu của quân pháo .....................................................................137
Hình 6.32: Nước đi sai của quân pháo ........................................................................138
Hình 6.33: Vị trí chốt ban đầu .....................................................................................138
Hình 6.34: Vị trí chốt đi sai .........................................................................................139
xiii


Hình 6.35: Giải thuật sắp xếp quân cờ ........................................................................140
Hình 6.36: Quân cờ đỏ trước khi xếp ..........................................................................141
Hình 6.37: Một số quân cờ đỏ được xếp .....................................................................141
Hình 6.38: Quân cờ đỏ được xếp xong........................................................................142
Hình 6.39: Vị trí các quân cờ đỏ, đen trước khi xếp ...................................................142
Hình 6.40: Một số quân cờ đỏ đang được xếp ............................................................143
Hình 6.41: Quân cờ đỏ xếp xong và quân cờ đen đang được xếp ...............................143
Hình 6.42: Bàn cờ đã được xếp xong ..........................................................................143

xiv


DANH SÁCH BẢNG BIỂU
Bảng 2.1: Các tiêu chí, để so sánh lựa chọn phương án kết cấu ...................................15
Bảng 2.2: Các tiêu chí, để so sánh phương án hệ thống dẫn động ................................ 17

Bảng 2.3: Các tiêu chí, để so sánh phương án động cơ .................................................20
Bảng 2.4: Các tiêu chí, để so sánh giữa hai bộ truyền động .........................................21
Bảng 2.5: Các tiêu chí, để so sánh phương án đầu công tác .........................................24
Bảng 2.6: Các tiêu chí, để so sánh phương án bộ điều khiển ........................................26
Bảng 2.7: Các phương án được lựa chọn để thiết kế robot ...........................................27
Bảng 3.1: Các thông số và kí hiệu các đại lượng .......................................................... 34
Bảng 3.2: Thông số động cơ AC servo .........................................................................36
Bảng 3.3: Hệ số xét đến ảnh hưởng chiều rộng dây đai ................................................39
Bảng 3.4: Thông số quân cờ tường ...............................................................................39
Bảng 3.5: Thông số xy lanh ........................................................................................... 40
Bảng 4.1: Một số chân được dùng để điều khiển vị trí .................................................57
Bảng 4.2: Đấu nối chân driver với các thiết bị .............................................................. 58
Bảng 4.3: Cấp nguồn cho driver, đấu nối driver với động cơ. ......................................58
Bảng 4.4: Số lượng ngõ vào cần có cho bộ điều khiển PLC. ........................................62
Bảng 4.5: Số lượng ngõ ra cần có cho bộ điều khiển PLC. ..........................................63
Bảng 4.6: Các ngõ vào của bộ điều khiển PLC ............................................................. 67
Bảng 4.7: Các ngõ ra của bộ điều khiển PLC ............................................................... 68
Bảng 5.1: Kết quả nhận diện cho trường hợp 32 quân cờ. ............................................92
Bảng 5.2: Kết quả nhận diện cho trường hợp 14 quân cờ. ............................................92
Bảng 5.3: Kết quả nhận diện cho trường hợp 16 quân cờ. ............................................93
Bảng 5.4: Kết quả kiểm tra sai số của quá trình hiệu chuẩn camera ...........................105
Bảng 6.1: Các chương trình trong thư viện MX component. ......................................108
xv


Bảng 6.2: Các cờ sử dụng trong giải thuật điều khiển ................................................112
Bảng 6.3: Khoảng các di chuyển của đầu công tác trong các trường hợp ..................120
Bảng 6.4: Các quân cờ tướng và số điểm. ...................................................................126
Bảng 6.5: Thời gian thực hiện nước đi đầu tiên của robot ..........................................137


xvi


CHƯƠNG 1: TỔNG QUAN
CHƯƠNG 1: TỔNG QUAN
1.1. Đặt vấn đề
Cờ tướng là một trò chơi đối kháng phổ biến, là một môn thể thao trí tuệ dành cho
hai người, với nhiều thể thức thi đấu đa dạng. Nhưng với nhịp sống hiện đại, thật khó
để có thể ngồi cùng nhau say sưa một ván cờ, bởi hiếm để tìm được người cùng đam
mê. Vì thế mà các ứng dụng chơi cờ trên điện thoại, máy tính … ra đời và phát triển.
Nhưng vì là một trò chơi đối kháng nên việc chơi trên các thiết bị màn hình, không trực
quan, không đem lại hứng thú cho người chơi. Từ đó, đề tài robot chơi cờ tướng được
hình thành. Và sẽ như thế nào nếu giao nhiệm vụ đánh cờ cho máy thực hiện?
1.2. Sơ lược lịch sử các máy tính chơi cờ
1.2.1. Chiếc “máy giấy” của Turing
Một điều thú vị là chương trình chơi cờ đầu tiên được viết trước khi chiếc máy tính
đầu tiên được phát minh. Alan Turing – một nhà toán học lớn thời kỳ đó, là người đứng
đầu nhóm phá mã bí mật “Enigma” của Đức, có ảnh hưởng lớn đến kết cục của chiến
tranh thế giới thứ 2. Ông rất thích chơi cờ, và mặc dù đã dành rất nhiều công sức để học
cờ nhưng ông vẫn là một người chơi cờ tương đối yếu. Sau chiến tranh, ông viết những
lệnh để hướng dẫn máy tính chơi cờ. Vào thời điểm đó, chưa có chiếc máy tính nào có
thể chạy được các lệnh, nên chính ông thực hiện các lệnh đó, đóng vai bộ xử lý trung
tâm và cần khoảng nửa tiếng cho một nước đi. Một ván cờ được ghi lại, trong đó chiếc
“paper machine” của Turing thua một đồng nghiệp.
1.2.2. Cỗ máy Maniac I
Năm 1946, nhà toán học John von Neumann được giao thiết kế một chiếc máy tính
để phục vụ cho việc chế tạo bom nguyên tử. Năm 1950, một chiếc máy khổng lồ mang
tên Maniac I được chế tạo. Với hàng nghìn bóng chân không và công tắc như trong hình
1.1, nó có thể thực hiện 10000 lệnh trong một giây.
Thay vì ngay lập tức bắt tay vào việc chế tạo bom, các nhà khoa học bắt đầu thí

nghiệm với chiếc máy. Một trong những điều đầu tiên họ làm là viết một chương trình
chơi cờ, chơi trên một bàn cờ thu nhỏ 6×6 và không có Tượng. Mặc dù vậy, chương

1


CHƯƠNG 1: TỔNG QUAN
trình này vẫn cần 12 phút để tìm kiếm trước 4 ply (ply là nửa nước đi), với Tượng trên
bàn cờ nó sẽ cần khoảng 3 tiếng.

Hình 1.1: Cỗ máy Maniac I [1]
1.2.3. Cờ và toán học
Vấn đề chính với các chương trình chơi cờ là số lượng lớn các nước phải tính toán.
Một vị trí trung bình sẽ có khoảng 40 nước đi hợp lệ. Nếu tính tất cả các nước đi đối
phương đáp trả sẽ có 40×40 = 1600 vị trí. Điều này có nghĩa là sau hai ply, được coi là
một nước đi trong cờ, 1600 vị trí có thể xảy ra. Sau hai nước nó là 2.5 triệu vị trí và sau
ba nước là 4.1 tỷ. Trung bình một ván cờ kéo dài khoảng 40 nước. Số vị trí cần tính là
khoảng 10 mũ 128, lớn hơn cả số nguyên tử có trong vũ trụ (chỉ khoảng 10 mũ 80).
Và không có chiếc máy tính hay loại máy nào có thể chơi cờ bằng cách tìm ra tất
cả các khả năng. Nhưng con người cũng không phải là hoàn hảo. Câu hỏi là máy cần
tìm kiếm tới độ sâu nào (trước bao nhiêu nước) để có thể đối chọi được với khả năng
chiến lược của con người. Những chiếc máy tính thời đầu có thể tạo và đánh giá khoảng
500 vị trí trong một giây hay 90000 vị trí trong ba phút, đó là thời gian cho phép để đi
một nước trong các cuộc thi đấu. Điều này có nghĩa là chỉ có thể tìm kiếm trước 3 ply
(một nước đi rưỡi). Từ đó cho thấy, nó chơi rất kém – chỉ ngang một người mới tập chơi.
Để tìm kiếm sâu hơn nữa, cần giải quyết được 15000 vị trí trong một giây, nhanh hơn
gấp 30 lần. Nhưng tính toán trước 4 ply cũng chưa đủ sâu. Do đó máy tính dường như
không bao giờ có thể chơi cờ ở trình độ kiện tướng.

2



CHƯƠNG 1: TỔNG QUAN
1.2.4. Chiếc máy Belle
Ken Thompson – một nhà khoa học không thể chờ đợi những chiếc siêu máy tính
giá hàng triệu đô trở lên, để có thể chơi cờ nhanh hơn 5 đến 25 lần. Ông và một đồng
nghiệp ở Bell Laboratorié quyết định chế tạo một chiếc máy chỉ chuyên để chơi cờ, sử
dụng hàng trăm con chip và giá khoảng 20 nghìn đô la.

Hình 1.2: Chiếc máy Belle [1]
Họ gọi chiếc máy đó là “Belle”, với hình dáng như trong hình 1.2. Nó có thể tìm
kiếm tới 180000 vị trí trong một giây (siêu máy tính vào thời đó chỉ có thể tìm được
5000 vị trí). Belle có thể tìm trước 8 tới 9 ply trong các cuộc thi đấu, giúp nó có thể được
chơi trong hàng kiện tướng. Nó thắng giải vô địch thế giới máy tính chơi cờ đầu tiên và
tất cả những giải đấu khác từ năm 1980 đến 1983 cho tới khi bị chiếc máy khổng lồ Cray
X-MPs, đắt hơn nó qua mặt.
1.2.5. HiTech
Vào giữa những năm 80, giáo sư Hans Berliner, một nhà khoa học máy điện toán
ở Đại học Carnegie-Mellon tiếp tục công việc của Ken Thompson. Ông đã chế tạo một
chiếc máy tính có phần cứng đặc biệt để chơi cờ, gọi là HiTech. Với 64 chip chạy song
song, HiTech suýt nữa đạt danh hiệu vô địch máy tính đánh cờ vua thế giới vào năm
1986 (một chiếc Cray thắng giải này).
Sau đó các sinh viên Feng-hsiung Hsu, Murray Campbell và những người khác tự
phát triển một chiếc máy tính khác, được gọi là ChipTest và sau đó Deep Thought. Giá
của nó khoảng 5 nghìn đô la, và có thể tính toán được 500000 vị trí trong một giây.

3


CHƯƠNG 1: TỔNG QUAN

1.2.6. Deep Blue
Nó gồm có một máy chủ IBM SP/2, cùng với các con chip đặc biệt để tính toán
nhanh. Mỗi con chip có thể xử lý 2 đến 3 triệu vị trí một giây. Bằng việc sử dụng hơn
200 con chip này, tốc độ tổng cộng của chương trình có thể tăng lên tới 200 triệu vị trí
trong một giây. Trong hình 1.3, chiếc Deep Blue tại bảo tàng Lịch sử Máy tính.

Hình 1.3: Deep Blue [10]
Năm 1997, nó đã đánh bại kỳ thủ vô địch thế giới lúc đó là Garry Kasparov. Tuy
nhiên, Deep Blue chỉ là một chiếc máy chơi cờ thuần túy và nó không có khả năng tự di
chuyển quân cờ.
1.3. Sơ lược về cờ tướng
- Cờ tướng hay còn gọi là cờ Trung Hoa vì nó được phổ biến ra thế giới từ Trung Quốc
và cũng được coi là “quốc hồn quốc túy” của nước này, là loại cờ được chơi phổ biến
nhất thế giới cùng với cờ vua.
- Ván cờ được tiến hành giữa hai người, một người cầm quân đỏ, một người cầm quân
đen. Mục đích của mỗi người là tìm mọi cách đi quân trên bàn cờ theo đúng luật để
chiếu bí hay bắt Tướng của đối phương.
- Quân bàn cờ tướng được thể hiện như trong hình 1.4. Bàn cờ là một hình chữ nhật do
9 đường dọc và 10 đường ngang cắt nhau vuông góc tại 90 điểm hợp thành. Một khoảng

4


CHƯƠNG 1: TỔNG QUAN
trống gọi là song (hay hà) nằm ngang giữa bàn cờ, chia bàn cờ thành hai phần đối xứng
bằng nhau. Mỗi bên có một cung Tướng hình vuông (Cửu cung) do 4 ô hợp thành, trong
4 ô này có vẽ hai đường chéo xuyên qua.

Hình 1.4: Quân bàn cờ tướng [10]
- Mỗi ván cờ lúc bắt đầu phải có đủ 32 quân, chia đều cho mỗi bên gồm 16 quân đỏ và

16 quân đen, gồm 7 loại quân như trong hình 1.4. Tuy tên quân cờ của mỗi bên có thể
viết khác nhau (ký hiệu theo chữ Hán) nhưng giá trị và cách đi quân của chúng lại giống
nhau hoàn toàn. Bảy loại quân có ký hiệu và số lượng cho mỗi bên như trong hình 1.5.

Hình 1.5: Ký hiệu và số lượng quân trong cờ tướng [10]

5


CHƯƠNG 1: TỔNG QUAN
1.4. Một số robot chơi cờ
1.4.1. Tay máy chơi cờ vua
a) Robot CHESSka (Nga)
Tháng 6/2009, robot CHESSka lần đầu tiên được giới thiệu bởi Konstantin
Kosteniuk, một huấn luyện viên cờ vua, đồng thời là một người sở hữu rất nhiều bằng
sáng chế. Đây là một robot chơi cờ thực thụ với một cánh tay tự động có thể thực hiện
thao tác gắp các quân cờ, di chuyển chúng đến ô khác, sau đó nhấn vào đồng hồ bấm
giờ để hoàn tất nước cờ.

Hình 1.6: CHESSka đọ sức cùng nhà vô địch thế giới Kramnik [10]
Về cách thức hoạt động, CHESSka không hề nhìn thấy bàn cờ mà đúng hơn là nó
được kết nối với bàn cờ. Các quân cờ tương tác với bàn cờ, qua đó robot có thể phát
hiện khi nào một quân cờ được di chuyển và vị trí của nó, sau đó robot sẽ phản hồi lại
bằng cách thực hiện nước đi của mình. Cơ cấu bàn tay của robot gồm 3 ngạnh cho phép
đóng mở để gắp hoặc thả các quân cờ.
CHESSka đã từng thi đấu với nhiều đại kiện tướng thế giới, thắng Aleksander
Grischuk (Vô địch cờ chớp thế giới 2006), hòa Vladimir Borisovich Kramnik (Vô địch
cờ tiêu chuẩn thế giới 2000-2006). Trong hình 1.6, CHESSka đang chơi cờ với Kramnik
trước phần đông khán giả.
Bằng việc đánh bại đối thủ KUKA Monster trong trận chung kết năm 2012,

CHESSka đã giành ngôi quán quân trong giải Robot World Chess. Trong hình 1.7, một
ván cờ đang diễn ra giữa hai robot.

6


CHƯƠNG 1: TỔNG QUAN

Hình 1.7: CHESSka và KUKA Monster trong trận chung kết năm 2012 [10]
b) Robot Gambit (Mỹ)
Gambit là kết quả nghiên cứu của nhiều khoa, nhiều phòng thí nghiệm tại các
trường Đại học, cùng với sự tài trợ của Intel. Nó sử dụng 2 camera để xử lý ảnh, như
trong hình 1.8. Đặc biệt với thiết kế cơ khí độc đáo giúp tay máy có thể xếp gọn lại gần
giống với tay người.

Hình 1.8: Robot Gambit [11]
1.4.2. Các nghiên cứu robot chơi cờ tướng
a) Robot NI Intelligent
Được thiết kế bởi Yusheng Cai, Di Wu và Chunxiao Wu tại National Intrument
Company. Với kết cấu P.P.P (3 khớp tịnh tiến) vững chắc, robot đi một nước cờ trong
thời gian khá nhanh. Đặc biệt, có khả năng nhận diện từng quân và kết hợp AI vào thuật
7


CHƯƠNG 1: TỔNG QUAN
toán chơi cờ. Trong hình 1.9, robot dùng nam châm điện để hút và thả, đã hoàn thành
sắp xếp các quân trên bàn cờ.

Hình 1.9: Robot NI Intelligent [12]
b) Tay máy chơi cờ tướng

Là đề tài luận văn của hai sinh viên khoa Điện – Điện tử, trường Đại học Bách
Khoa Tp. HCM, Vũ Văn Khắc và Lê Bạch Quý Cường. Robot được cấu tạo dạng cánh
tay, với một khớp tịnh tiến (dùng động cơ DC servo), và hai khớp xoay (dùng động cơ
bước). Trong hình 1.10, robot hoạt động với đầu công tác sử dụng nam châm điện.

Hình 1.10: Robot chơi cờ tướng [1]
- Đề tài mang lại một số kết quả:
+ Nhận diện được tương đối chính xác nước đi trong điều kiện đảm bảo ánh sáng.
+ Giải thuật chơi cờ: với độ sâu 5 (tìm kiếm trước 5 ply), thời gian suy nghĩ 5s.

8


CHƯƠNG 1: TỔNG QUAN
- Hạn chế:
+ Độ cứng vững kém và tốc độ di chuyển còn chậm.
+ Chưa nhận dạng được quân cờ.
c) Bàn máy 2D nhận dạng và xếp quân cờ tướng
Là đề tài luận văn của sinh viên khoa Cơ Khí, trường Đại học Bách Khoa Tp.HCM,
Nguyễn Phú Hiền. Bàn máy sử dụng động cơ bước để điều khiển hai trục xy, kết hợp
khí nén để di chuyển quân cờ. Bằng việc ứng dụng mạng noron để nhận dạng quân cờ.
Bước đầu đã nhận dạng được tương đối chính xác từng quân. Bên cạnh đó, dùng thuật
toán đường đi ngắn nhất để sắp xếp quân trên bàn cờ. Bàn máy được thể hiện như trong
hình 1.11.

Hình 1.11: Bàn máy 2D để sắp xếp quân cờ tướng [3]
1.5. Mục tiêu, nhiệm vụ và phạm vi đề tài
1.5.1. Đầu bài
- Các thông số đầu vào:
+ Kích thước bàn cờ: 380mm × 410mm

+ Kích thước ô cờ: 41mm × 41mm
+ Kích thước quân cờ: Các quân có dạng hình trụ, đường kính 28mm và chiều cao
8mm. Quân cờ có hai màu đỏ và đen đặc trưng cho mỗi bên.

9


×