1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo

77 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 4,54 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO MÁY CHƠI GAME CARO TỰ ĐỘNG DỰA TRÊN NỀN TẢNG TRÍ TUỆ NHÂN TẠO MÃ SỐ: SV2020-44 SKC 0 Tp Hồ Chí Minh, tháng 08/2020 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO MÁY CHƠI GAME CARO TỰ ĐỘNG DỰA TRÊN NỀN TẢNG TRÍ TUỆ NHÂN TẠO SV2020 - 44 Chủ nhiệm đề tài: Đỗ Phước Bảo Long TP Hồ Chí Minh, tháng năm 2020 1|Page BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO MÁY CHƠI GAME CARO TỰ ĐỘNG DỰA TRÊN NỀN TẢNG TRÍ TUỆ NHÂN TẠO SV2020 - 44 Thuộc nhóm ngành khoa học: SV thực hiện: Dân tộc: Lớp, khoa: Đỗ Phước Bảo Long Nam, Nữ: Nam Kinh 18461CL2B Năm thứ: 02 /Số năm đào tạo: 04 Ngành học: Công nghệ Kỹ Thuật Cơ Điện tử Người hướng dẫn: ThS Nguyễn Văn Sơn TP Hồ Chí Minh, tháng năm 2020 2|Page MỤC LỤC MỤC LỤC DANH MỤC BẢNG BIỂU DANH MỤC NHỮNG TỪ VIẾT TẮT THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI CHƯƠNG 1: GIỚI THIỆU 10 1.1 Tính cấp thiết đề tài 10 1.2 Ý nghĩa khoa học thực tiễn đề tài 10 1.3 Mục tiêu nghiên cứu đề tài 10 1.4 Đối tượng phạm vi nghiên cứu 10 1.5 Phương pháp nghiên cứu 10 CHƯƠNG 2: TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI 12 2.1 Lịch sử đời game Tic-Tac-Toe 12 2.2 Giới thiệu Tic-Tac-Toe 12 2.3 Biến thể Tic-Tac-Toe 15 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 20 3.1 Tic-Tac-Toe 20 3.2 Chiến lược game Tic-Tac-Toe 26 CHƯƠNG 4: NGUN CỨU, TÍNH TỐN, THIẾT KẾ TIC-TAC-TOE 32 4.1 Bản chất mạch vi điều khiển – tự động hóa 32 4.2 Mạch điều khiển trung tâm 37 4.3 Cơ cấu servo 39 4.4 Giải thuật cắt tỉa Alpha-beta 44 3|Page CHƯƠNG 5: CHẾ TẠO THỬ NGHIỆM – KẾT QUẢ - ĐÁNH GIÁ 50 5.1 Lưu đồ giải thuật 50 5.2 Quy trình thực 50 5.3 Phần điều khiển hoạt động 51 5.4 Mơ hình máy thử nghiệm 51 KẾT LUẬN - ĐỀ NGHỊ 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 55 4|Page DANH MỤC BẢNG BIỂU 5|Page DANH MỤC NHỮNG TỪ VIẾT TẮT (E, W) Bảng có điểm E thắng W AG(2, q) Mặt phẳng thứ tự q PG(2, q) Mặt phẳng chiếu thứ tự q 6|Page BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung: - Tên đề tài: Nghiên cứu, thiết kế chế tạo máy chơi game caro tự động dựa tảng trí tuệ nhân tạo - Chủ nhiệm đề tài: Đỗ Phước Bảo Long Mã số SV: 18146158 Khoa: Đào tạo chất lượng cao - Lớp: 18146CL2B - Thành viên đề tài: Stt Họ tên MSSV Lớp Khoa Đỗ Phước Bảo Long 18146158 18146CL2B Đào tạo chất lượng cao - Người hướng dẫn: ThS Nguyễn Văn Sơn Mục tiêu đề tài: Mục đích đề tài trước tiên để chế tạo thành công máy chơi game caro tự động dựa tảng trí tuệ nhân tạo Ngoài ra, người thực đề tài cịn mong muốn tích lũy thêm kinh nghiệm thơng qua việc sử dụng kiến thức học để thiết kế chế tạo sản phẩm thực tế có tính ứng dụng cao Tính sáng tạo: Thay phải ngồi trước thiết bị thơng minh để chơi tic-tac-toe ta chơi với trạm tic-tac-toe Với cấu đơn giản, người chơi chọn nước với thao tác chạm vào ô muốn đi, động hoạt động làm xoay khối cờ xuất nước chọn Khơng trị chơi giải trí mà trò chơi giúp người chơi tư duy, tăng hoạt động não thể 7|Page Kết nghiên cứu: Cơ sở lý thuyết: tìm hiểu nghiên cứu tính chất vật liệu để làm tảng sở ứng dụng tạo sản phẩm Tính tốn thiết kế khn: tính tốn thiết kế khn dập Tính tốn thiết kế máy ép: tính tốn chọn xilanh ép thủy lực, tính thiết kế khung máy chịu lực, thiết kế hệ thống tự động hóa cho máy Đóng góp mặt giáo dục đào tạo, kinh tế - xã hội, an ninh, quốc phòng khả áp dụng đề tài: Nghiên cứu thành công, thử nghiệm chạy ổn định, tương tác với người dùng tốt Làm phong phú thêm kho tàng tương tác trí tuệ nhân tạo, tìm hiểu thơng số, thuộc tính từ làm tài liệu cho nghiên cứu liên quan Công bố khoa học SV từ kết nghiên cứu đề tài (ghi rõ tên tạp chí có) nhận xét, đánh giá sở áp dụng kết nghiên cứu (nếu có): Ngày 20 tháng 08 năm 2020 SV chịu trách nhiệm thực đề tài (kí, họ tên) 8|Page Nhận xét người hướng dẫn đóng góp khoa học SV thực đề tài (phần người hướng dẫn ghi): Ngày 27 tháng 07 năm 2020 Người hướng dẫn (kí, họ tên) 9|Page { board[i] = 'X'; value = minimax(false); } else { board[i] = 'O'; value = minimax(true); } board[i] = '*'; score[i] = value; } } } if (flag == true) { max_val = -1000; for (j = 0; j < 9; j++) { if (score[j] > max_val && score[j] != 1) { max_val = score[j]; index1 = j; } } return max_val; } if (flag == false) 62 | P a g e { min_val = 1000; for (j = 0; j < 9; j++) { if (score[j] < min_val && score[j] != 1) { min_val = score[j]; index1 = j; } } return min_val; } } void loop() //The main function { myservo0.write(90); myservo1.write(90); myservo2.write(90); myservo3.write(90); myservo4.write(90); myservo5.write(90); myservo6.write(90); myservo7.write(90); myservo8.write(90); int moe; Serial.println(" -TIC TAC TOE -"); Serial.println("USER ->(O) CPU >(X)"); Serial.println(" Player first "); 63 | P a g e //if (true) // { draw_board(); up: Serial.println("Enter the move:"); { int voilA0 = digitalRead(A0); int voilA1 = digitalRead(A1); int voilA2 = digitalRead(A2); int voilA3 = digitalRead(A3); int voilA4 = digitalRead(A4); int voilA5 = digitalRead(A5); int voilA6 = digitalRead(A6); int voilA7 = digitalRead(A7); int voil11 = digitalRead(11); Serial.println("XUẤT GIÁ TRỊ INPUT"); Serial.print("voilA0: "); Serial.println(voilA0); Serial.print("voilA1: "); Serial.println(voilA1); Serial.print("voilA2: "); Serial.println(voilA2); Serial.print("voilA3: "); Serial.println(voilA3); Serial.print("voilA4: "); Serial.println(voilA4); Serial.print("voilA5: "); Serial.println(voilA5); Serial.print("voilA6: "); Serial.println(voilA6); Serial.print("voilA7: "); Serial.println(voilA7); Serial.print("voil11: "); Serial.println(voil11); // delay (2000); if ( voilA0 == HIGH ) { c = 1; moe = 1; Serial.println(" player chọn ô:" + moe ); break; }; 64 | P a g e if ( voilA1 == HIGH ) { c = 1; moe = 2; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; Serial.println(" player chọn ô:" + moe ); break; }; if ( voilA2 == HIGH ) { c = 1; moe = 3; if ( voilA3 == HIGH ) { c = 1; moe = 4; if ( voilA4 == HIGH ) { c = 1; moe = 5; if ( voilA5 == HIGH ) { c = 1; moe = 6; if ( voilA6 == HIGH ) { c = 1; moe = 7; if ( voilA7 == HIGH ) { c = 1; moe = 8; if ( voil11 == HIGH ) { c = 1; moe = 9; } while (c == 0); if (board[moe - 1] == '*') { board[moe - 1] = 'O'; draw_board(); if ( moe == ) { Serial.println(" player chọn ô:" + moe ); 65 | P a g e for (posD2 = 90; posD2 >= O; posD2 -= 1) delay(15); } { myservo0.write(posD2); { myservo1.write(posD3); { myservo2.write(posD4); { myservo3.write(posD5); { myservo4.write(posD6); } if ( moe == 2) { Serial.println(" player chọn ô:" + moe ); for (posD3 = 90 ; posD3 >= O; posD3 -= 1) delay(15); } } if ( moe == 3) { Serial.println(" player chọn ô:" + moe ); for (posD4 = 90 ; posD4 >= O; posD4 -= 1) delay(15); } } if ( moe == 4) { Serial.println(" player chọn ô:" + moe ); for (posD5 = 90 ; posD5 >= O; posD5 -= 1) delay(15); } } if ( moe == 5) { Serial.println(" player chọn ô:" + moe ); for (posD6 = 90 ; posD6 >= O; posD6 -= 1) delay(15); } } if ( moe == 6) { 66 | P a g e Serial.println(" player chọn ô:" + moe ); for (posD7 = 90 ; posD7 >= O; posD7 -= 1) delay(15); } { myservo5.write(posD7); { myservo6.write(posD8); { myservo7.write(posD9); } if ( moe == 7) { Serial.println(" player chọn ô:" + moe ); for (posD8 = 90 ; posD8 >= O; posD8 -= 1) delay(15); } } } if ( moe == 8) { Serial.println(" player chọn ô:" + moe ); for (posD9 = 90 ; posD9 >= O; posD9 -= 1) delay(15); } } if ( moe == 9) { Serial.println(" player chọn ô:" + moe ); for (posD10 = 90 ; posD10 >= O; posD10 -= 1) { delay(15); } myservo8.write(posD10); } // } /*else { Serial.println("Invalid Move Try different move"); goto up; }*/ 67 | P a g e //} while (true) { Serial.println("CPU MOVE "); minimax(true); board[index1] = 'X'; draw_board(); if ( index1 == ) { Serial.println("CPU đánh ô 1"); for (posD2 = 90; posD2 = O; posD10 -= 1) { delay(15); } myservo8.write(posD10); } } else { Serial.println("Invalid Move Try different move"); goto again; } if (user_won() == 1) { Serial.println("You Won "); delay(2000); break; } if (isFull() == 1) { Serial.println("Draw "); delay(2000); break; } } delay(1000); 74 | P a g e } 75 | P a g e ... DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO MÁY CHƠI GAME CARO TỰ ĐỘNG DỰA TRÊN NỀN TẢNG TRÍ TUỆ NHÂN... TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO MÁY CHƠI GAME CARO TỰ ĐỘNG DỰA TRÊN NỀN TẢNG TRÍ TUỆ NHÂN TẠO SV2020 - 44 Thuộc nhóm ngành khoa học: SV thực... Tên đề tài: Nghiên cứu, thiết kế chế tạo máy chơi game caro tự động dựa tảng trí tuệ nhân tạo - Chủ nhiệm đề tài: Đỗ Phước Bảo Long Mã số SV: 18146158 Khoa: Đào tạo chất lượng cao - Lớp: 18146CL2B

Ngày đăng: 07/01/2022, 20:25

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Bảng cùng với số vị trí cho bảng Tic-Tac-Toe truyền thống. - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 2.1 Bảng cùng với số vị trí cho bảng Tic-Tac-Toe truyền thống (Trang 21)
Bắt đầu với chữ X ban đầu ở vị trí chính giữa của bảng, Xgi luôn có thể giành chiến thắng bằng cách đánh tới một góc trong lần di chuyển đầu tiên của mình - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
t đầu với chữ X ban đầu ở vị trí chính giữa của bảng, Xgi luôn có thể giành chiến thắng bằng cách đánh tới một góc trong lần di chuyển đầu tiên của mình (Trang 22)
Hình 2.3: Bước chọn tối ưu thứ hai cho Xgi từ mỗi tùy chọn của Ogi, trong đó trong mỗi trường hợp, lượt của Xgi bắt đầu bằng các mảnh ở vị trí 1 và 5 - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 2.3 Bước chọn tối ưu thứ hai cho Xgi từ mỗi tùy chọn của Ogi, trong đó trong mỗi trường hợp, lượt của Xgi bắt đầu bằng các mảnh ở vị trí 1 và 5 (Trang 23)
Hình 2.4: Năm cấu hình có thể có sau Xgi và Ogi, mỗi cái tạo một bước chọn trên bảng bắt đầu bằng chữ X ở vị trí cạnh 2 với Xgi chơi ở vị trí cạnh liền kề 4 - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 2.4 Năm cấu hình có thể có sau Xgi và Ogi, mỗi cái tạo một bước chọn trên bảng bắt đầu bằng chữ X ở vị trí cạnh 2 với Xgi chơi ở vị trí cạnh liền kề 4 (Trang 25)
Hình 2.6: Bước chọn thứ hai tối ưu cho Xgi từ mỗi tùy chọn Ogi, EC, ED, EE. Anh ta chọn dọc theo một đường thẳng từ một vị trí không nằm trên một đường thẳng với chữ O  - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 2.6 Bước chọn thứ hai tối ưu cho Xgi từ mỗi tùy chọn Ogi, EC, ED, EE. Anh ta chọn dọc theo một đường thẳng từ một vị trí không nằm trên một đường thẳng với chữ O (Trang 27)
Hình 4.1: Bộ vi điều khiển. - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 4.1 Bộ vi điều khiển (Trang 33)
Bảng 4.1: So sánh giữa vi điều khiển và vi xử lý. - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Bảng 4.1 So sánh giữa vi điều khiển và vi xử lý (Trang 37)
Hình 4.2: Chân kết nối board adruino mega 2560. Vi điều khiển chính: ATmega2560  - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 4.2 Chân kết nối board adruino mega 2560. Vi điều khiển chính: ATmega2560 (Trang 38)
Hình 4.3: Board arduino mega2560 - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 4.3 Board arduino mega2560 (Trang 40)
Hình 4.5. Xung PWM cho động cơ servo - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 4.5. Xung PWM cho động cơ servo (Trang 44)
Hình 5.1. Cắt tỉa alpha - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 5.1. Cắt tỉa alpha (Trang 48)
Hình 5.2. Ví dụ cắt tỉa alpha cho cây trung bình - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
Hình 5.2. Ví dụ cắt tỉa alpha cho cây trung bình (Trang 49)
5.3. Phần điều khiển hoạt động - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
5.3. Phần điều khiển hoạt động (Trang 52)
5.4. Mô hình máy thử nghiệm - Nghiên cứu, thiết kế và chế tạo máy chơi game caro tự động dựa trên nền tảng trí tuệ nhân tạo
5.4. Mô hình máy thử nghiệm (Trang 52)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN