Chương 1: Tổng quan dé tài, giới thiệu tong quan các nghiên cứu về tay máy chơi cờ vua trên thé giới cũng như đặt ra đầu đề Luận văn để từ đó xác định được mục tiêu, phạm vi và bố cục của đề tài. Chương 2: Tìm hiểu mô hình tay máy, giải thuật xử lý ảnh nhận diện nước đi và giải thuật Dijkstra điều khiến tay máy. Chương 3: Ap dụng giải thuật Dijkstra trong điều khiến tay máy chơi cờ. Chương 4: Mô phỏng và giải thuật điều khiến.
Chương 5: Đánh giá kết quả và hướng phát triển của đề tài, trình bày một số kết quả thực nghiệm đã đạt được và nêu ra những hướng cải tiến, phát triển đề tài. CHƯƠNG 2 GIỚI THIỆU TAY MÁY CHƠI CỜ VÀ GIẢI THUẬT DIJKSTRA 2.1 Tong quan tay máy chơi cờ và động học tay máy 2.1 Tổng quan tay máy Robot SCARA ra đời vào năm 1979, đây là một kiểu tay máy có cầu tạo đặc biệt được sử dụng nhiễu trong các công việc lắp ráp các tải trọng nhỏ theo phương thăng đứng. Chọn cơ cau SCARA vi đặc điểm có thé xếp lại gọn gàng, ngoài ra kết cau không quá công kénh, hạn chế được vẫn dé camera bị che chắn. Về độ chính xác lặp lại giữa các cơ câu, SCARA có độ chính xác cao nhất song song với tốc độ hoạt động cao.
Dựa trên mô hình thực nghiệm đã hoàn thành, cánh tay được gan trén mot ban phăng, khoảng cách từ tam động co khâu 1 đến vi trí mép gan nhất của ban được do như kích thước lựa chọn, tức 240 mm. Các khoảng cách được đo bằng thước thăng và tay máy được cô định trên bàn bằng vit. Bàn cờ được cố định trên mặt giấy trang, xác định vi trí băng dụng cụ đo là các thước thăng độ chia nhỏ nhất Imm. Đối với yêu cầu máy: gap thả di chuyển quân cờ có khối lượng tối đa 250g bao gôm khối lượng tay kẹp và khối lượng quân cờ mang đi.
Các kích thước khâu được sử dung gồm có: li= 200 mm; l= 450 mm; hi= 290 mm; ha= 50 mm.2 Động học tay máy Sơ dé động học của robot được gán như hình sau: -.“ : sal | p | z] Ý \ aX lá đ A | ” À ron 7 Y. ni | CS“ 22 7 —lÌÌ “4| ơ | cbs om -4 Y Y, ZA 0 ZY ‡ *» 111/ Hinh 2.1 So dé động học sau khi gan hệ trục tọa độ Gia tri giới hạn các khớp: Gia tri giới hạn cho tay máy như sau: Ø :+130°, 6, :+160°, d, :0+250mm Đề thuận tiện cho việc điều khiến và ràng buộc nghiệm ta chọn việc ưu tiên cánh tay di chuyển từ bên phải qua, tức ưu tiên kết hợp thêm điều kiện Ø <0 và 6, >0 [I].1 Bảng thông số D-H Khau thứ i ai (mm) ai (độ) 0; (độ) di (mm) 1 ] 0 0 h, +h, 2 L, 180 6, 0 3 0 0 0 d, ¢* Bài toán thuận lcosØ_ -sinØ 0 I.cosØ | OF — snØ cosở 0 ¡/.sing "7 0 0 1 hth | 0 0 0 lL | lcosØ, sinØ, 0 1.cos6, | ip sin?, —cos@, 0 /. Két quả bài toán động học thuận là vi tri toa độ x, y, z, cua tool trong không gian x=Lc(6,+ 6,)+1c6, (2.3) Trong đó: c(@, +Ø,)= cos(@, +Ø,);s(đ +Ø,) = sin(@, +Ø,) s* Động học ngược cho tay may Ta dựa vào kết quả của bai toán động học thuận để đưa ra các giá trị cho bái toán động học ngược.5) Suy ra: 6, cuoi É ort ra ) 2, .y J, cos(Ø) = (2x1) + (294, Điều kiện —l< cos(Ø) <1 Suy ra: @ = tarccos 2.8) J (2x1,) +(2w,} 10 Từ phương tình (2.7) ta biến đổi được: x+y +1 ˆ-Eƒ sin(Ø@)cos(Ø,)+ cos(ø)sin(Ø,) = (2x1) +(2w,Ÿ x+y +1 ˆ-E sin(@+Ø,)= (2x) +(2w,Ÿ x ty +! -I 2 2 2 2 0, = arcsin : : +arccos| —Š ryt —_ (2.2 Giải thuật xử lý anh nhận điện nước di Dé xác định chính xác tọa độ vị trí quân cờ trên bàn cờ, nhận diện chính xác nước đi và cập nhật trạng thái mới của bàn cờ. Phương pháp xử lý ảnh để nhận diện được đặt ra để đáp ứng đề bài.
Trước tiên, ta xét đến hệ thống của robot gồm các khối: nhận biết đầu vào (camera), xử lý dit liệu (máy vi tính), điều khiến cánh tay robot (vi điều khiến) và khối công suất. Các khối này được giao tiếp, liên kết với nhau theo sơ đô. MAY VITINH | Nước đi của đối thủ CAMERA (Xử lý ảnh, : ; : CÓ ấn gs USB (Sử dụng webcam tính toán nước đi mới, Logitech C170) tối ưu đường đi) _—— Toa độ can di chuyén MACH VI DIEU K Encoder iE KHIEN (Gém 3 DC servo (Sử dung STM32F4) | —Xung điện khiển › va 1 RC servo) Hình 2.2 Sơ đồ khối hệ thống Dựa trên các kết quả nghiên cứu có sẵn, luận văn nghiên cứu sâu vào khối xử lý dữ liệu trên máy tính, đặc biệt là chương trình tối ưu hóa đường di của robot băng giải thuật Dijkstra, chương trình tối ưu này được viết trên nên tang Matlab nhằm kết hop giữa tính toán, mô phỏng và điêu khiên cơ cau tay máy.1 Lưu đồ giải thuật hoạt động của hệ thống | Bắt đầu | Vv Cai dat ban dau Ỷ S Š Lượt đi của y. Đối thủ thực Robot? ~ hiện nước đi? Chương trình chơi cờ tính toán tọa độ nước di Xử lý ảnh Vv Truyên toa độ nước di xuông vi điêu khiên Vv Điều khiển cánh tay máy đi chuyên quân cờ Cập nhật trạng thái mới của bàn co Trận dau kết thúc? Kết thúc Hình 2.3 Giải thuật hoạt động của Robot chơi cờ 12 ¢* Qua trình thực hiện Quân cờ vua có hình dạng rất phức tạp, thêm vào đó, các quân cờ đứng rất sát nhau khiến cho việc nhận dạng, phân biệt từng quân trên bàn cờ rất khó khăn.
Do đó, phương án được đề ra là chỉ sử dụng xử lý ảnh để xác định tọa độ di chuyển quân của đối phương, còn quân đó là quân gi thì ta sẽ xác định sau, thông qua một mang quản lý tình trạng bàn cờ trên chương trình chơi cờ. Vậy làm cách nào để có thể xác định tọa độ nước đi vừa được đối phương thực hiện? Chụp bàn cờ tại nước đi thứ 1 J Tiền xử lý ảnh J | Trừ ảnh | Ỷ | So sánh ngưỡng | | Chia 64 ô | J Xác định ma trận quản Ấn bàn cờ Xuất ra tọa độ di chuyển Hình 2. 4 Sơ đồ khối các bước cần thực hiện để xác định tọa độ di chuyển của đối thủ Quá trình thực hiện được bắt đầu bang việc ga dat, tién hanh calib camera nham dam bao độ chính xác của hình ảnh thu được. Sau đó, ta sẽ chụp ảnh ban cờ nên (bàn cờ không có quân cờ ở trên) và thực hiện các thao tác tiền xử lý anh (pre-processing).
Sau khi đối phương thực hiện nước di, ta sẽ tiến hành chụp anh bàn cờ tại thời điểm đó và cũng tiến hành các thao tác tiền xử lý ảnh. Quá trình trừ ảnh và so sánh ngưỡng sẽ được thực hiện sau đó nhằm xác định sự có mặt của của quân cờ trên từng 6. Quá trình cuối cùng là chuyển đối những giá trị xử lý được về tọa độ di chuyển để truyền qua chương trình chơi co [1]. Thực hiện một nước đi nghĩa là di chuyển quân cờ từ vi trí xuất phát đến vị trí kết thúc.
Do đó, chỉ cần xác định được tọa độ xuất phát và tọa độ kết thúc là ta đã xác định được nước đi của đối phương. Vì vậy, nhiệm vụ được đặt ra cho chương trình xử lý ảnh là làm sao xác định được ô cờ xuât phát và ô cờ đi đên. 13 Trước khi bắt đầu quá trình xử lý ảnh, ta cần phải thực hiện một số thao tác nhằm cải thiện chất lượng hình ảnh thu được từ camera cũng như chuẩn bị cho những bước xử lý tiếp theo. Quá trình này gọi là quá trình tién xử lý ảnh và đóng vai trò rất quan trọng ảnh hưởng trực tiếp tới những bước xử lý tiếp theo.
“* Crop Ảnh: Anh chụp từ camera là hình chữ nhật, trong khi khu vực ta cần xem xét là hình vuông của bàn cờ. Do đó ta phải tiễn hành cắt bỏ những phan không cần thiết cho quá trình xử lý ảnh. Quá trình cat ảnh thực hiện tốt sẽ giúp tăng độ chính xác cho quá trình chia 64 ô cờ. 5 Ảnh chụp từ camera Hình 2.6 Ảnh sau khi Crop Chuyên vé ảnh xám Hình 2.
7 Ảnh màu thu được sau Hình 2. 8 Ảnh xám sau quá trình khi Crop chuyển đổi Ảnh thu được từ camera là ảnh màu thuộc hệ RGB, do đó mỗi điểm ảnh là sự kết hợp của 3 màu Đỏ, Xanh lá cây và Xanh làm (Red Green Blue). Ta sẽ tiễn hành chuyển ảnh màu thu được từ camera về ảnh xám để mỗi pixel chỉ mang một giá trị màu duy nhất thuận tiện cho việc xử lý thay chứa giá trị của cả 3 màu. s* Thực hiện phương pháp trừ ảnh 14 Phương pháp trừ ảnh được tiến hành nhằm tìm ra những điểm khác nhau giữa 2 ảnh đầu vào.
Theo phương pháp thực hiện đã nêu ở trên, 2 ảnh đầu vào sẽ lần lượt là ảnh chụp sau môi nước đi và ảnh chụp bàn cờ lúc không chứa quân. Ngưỡng | Py Hình 2. 9 So đồ thực hiện phương pháp trừ anh P,: Ảnh chụp bàn cờ nên (bàn cờ không chứa quân cò). P,: Ảnh bàn cờ tại nước đi thứ k.
Q: Ảnh sau khi thực hiện phép trừ. O,: Anh bàn cờ tại nước đi thứ k sau khi so sánh ngưỡng. Công thức tính giá trị các điểm ảnh Q: Oli, j) =|P1ữ.j): Giá trị pixel vị trí i,j của ảnh đầu ra Q P.(i, j): Giá tri cua pixel vi trí i,7 của ảnh dau vao P.7): Gia tri pixel vi trí Gi, 7) cua anh dau ra Q,. Threshold: Giá tri ngưỡng đặt ra dựa vào thực nghiệm [1].
15 (Tris anh va so sanh ngưỡng ) \ Image_0O, Image_k Threshold Image_width, Image_height Ỷ Po = Image_O Pk = Image_k ÀÁ Trừ từng điểm ảnh Giá trị điểm ảnh S lớn hơn ngưỡng Vv Qk (1,))=255 Qk (1,))=0 PP bai Nr J=I1+rl Hết pixel cột? i=i+1 Hét pixel hang? RET Hình 2.10 Luu đồ quá trình trừ anh và so sánh ngưỡng 16 2.2 Cách trả về giá trị ma trận Khi có kết quả của quá trình xử lý ảnh, ta cần phải xác định được trên mỗi ô cờ có quân cờ xuất hiện hay không. Dé làm được điều này, ta thực hiện các bước sau: Bước |: Chia bức ảnh Qk thành 64 khu vực tương ứng 64 ô, sau đó tiễn hành đếm số pixel có giá tri 1 trong khu vực đó.