Thiết kế chế tạo robot dò mê cung tự động thông qua thuật toán bám tường, sử dụng cảm biến hồng ngoại tránh vật cản dò mê cung đường. Qua đó ứng dụng điều khiển xe qua bluetooth nhằm khắc phục lỗi của robot trong quá trình di chuyển.
Trang 1BỘ MÔN KỸ THUẬT MÁY
BÁO CÁO TỔNG KẾT
ĐỀ TÀI TỐT NGHIỆP NĂM 2019
THIẾT KẾ, CHẾ TẠO MOBILE ROBOT
DÒ ĐƯỜNG TRONG MÊ CUNG CÓ KHẢ NĂNG LIÊN KẾT VỚI CÁC THIẾT BỊ DI ĐỘNG QUA GIAO TIẾP BLUETOOTH
Trang 2ĐỀ TÀI TỐT NGHIỆP NĂM 2019
THIẾT KẾ, CHẾ TẠO MOBILE ROBOT
DÒ ĐƯỜNG TRONG MÊ CUNG CÓ KHẢ NĂNG LIÊN KẾT VỚI CÁC THIẾT BỊ DI ĐỘNG QUA GIAO TIẾP BLUETOOTH
SVTH: Phạm Quang Huy
Nguyễn Mạnh Linh
Lớp: Cơ điện tử K56
Khoa: Cơ khí
Trang 3Hà Nội, tháng 5, năm 2019
Trang 4thiếu được của con người Dưới sự xuất hiện của các học thuyết và cácứng dụng cụ thể trong đời sống hàng ngày, có thể nói điều khiển tựđộng đang chi phối dần cuộc sống của chúng ta Con người đang cốgắng sáng tạo ra các con robot có khả năng làm việc thay cho conngười Chúng ta thường bắt gặp các con robot trong các dây chuyềncông nghiệp sản xuất tự động hay robot giúp việc trong gia đình Đểtìm ra các ý tưởng sáng tạo hay; hàng năm đều diễn ra cuộc thirobocon châu Á Thái Bình Dương đó là tiền đề để tạo ra những conrobot có khả năng áp dụng vào thực tế.
Robot di động là một thành phần có vai trò quan trọng trongngành robot học Cùng với sự phát triển mạnh mẽ của hệ thống tự độnghóa, các mạch vi điều khiển, robot tìm đường đã ngày càng hoàn thiện
và cho thấy lợi ích to lớn trong cuộc sống Một vấn đề rất được quantâm khi nghiên cứu về robot tìm đường là làm thế nào robot có thể dichuyển 1 cách ổn định, nhận biết được vị trí nó đang đứng và di chuyểntránh né các vật cản tới 1 vị trí xác định
Mục tiêu của đề tài là thiết kế, thi công, điều khiển robot tự hành.Robot tự hành có thể hoạt động ổn định, tự tìm đường đi đến vị trí đích
đã xác định sẵn trong mê cung, có thể học nhanh chóng cách tìmđường đi khi thay đổi hình dạng mê cung, sử dụng thuật toán tìm kiếmtheo chiều sâu trong trí tuệ nhân tạo Áp dụng thuật toán Line Follower
để dò đường và dùng arduino giao tiếp với máy tính
Trong phạm vi đề tài này em sẽ tìm hiểu thuật toán và lập trìnhcho Robot di chuyển theo mê cung đường dựa vào cảm biến hồng ngoạikết hợp ứng dụng điều khiển robot qua module bluetooth
Nội dung của đề tài: bao gồm những chương sau:
Trang 5Nội dung của chương này là giới thiệu về lịch sử hình thành, phânloại, ứng dụng của mobile robot Giới thiệu về mê cung và bài toán dichuyển theo đường.
Chương 2: Thiết kế và chế tạo robot dò đường trong mê cung
Chương này trình bày về mục đích nghiên cứu chế tạo robot dò
mê cung tự động, ứng dụng bluetooth điều khiển robot; trình bày vềcấu trúc hoạt động của board mạch Arduino, cảm biến hồng ngoại,module điều khiển động cơ L298, module hạ áp LM2596, động cơ DC,module bluetooth HC – 06, nguồn pin
Chương 3: Thành lập chương trình hoạt động cho robot
Trong chương này tìm hiểu về các thuật toán tìm đường trong mêcung Trình bày thuật toán dò mê cung tự động và thuật toán sử dụngbluetooth điều khiển robot
Kết luận và hướng phát triển của đề tài.
Trình bày những kết quả đạt được, các mặt hạn chế và hướng pháttriển của đề tài
Trong thời gian nhận và làm đề tài tốt nghiệp, với những kiến thức
đã được học từ các thầy cô truyền đạt và vốn hiểu biết của bản thân,chúng em đã tìm hiểu được cấu tạo của một mobile robot, các thuậttoán tìm đường đi trong mê cung Có thể báo cáo đề tài chúng em cònnhiều thiếu sót trong quá trình nghiên cứu và trình bày, rất mong được
Trang 6Nguyễn Mạnh
Linh.
Trang 7………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 8Hà Nội, ngày… , tháng… ,năm 2019.
Trang 9TỔNG QUAN VỀ MOBILE ROBOT 1
MÊ CUNG VÀ THUẬT TOÁN TÌM ĐƯỜNG 1
1.1 QUÁ TRÌNH PHÁT TRIỂN CỦA MOBILE ROBOT 1
1.1.1 Khái niệm 1
1.1.2 Quá trình phát triển 1
1.2 CẤU TRÚC CHUNG CỦA MOBILE ROBOT 3
1.2.1 Cảm biến 3
1.2.2 Cơ cấu vận hành 4
1.2.3 Bộ xử lý 4
1.3 PHÂN LOẠI MOBILE ROBOT 4
1.3.1 Phân loại theo môi trường làm việc 5
1.3.2 Phân loại theo phương pháp di chuyển 7
1.3.3 Phân loại theo phương pháp điều khiển 8
1.4 ỨNG DỤNG CỦA MOBILE ROBOT 9
1.5 MÊ CUNG 10
1.6 BÀI TOÁN DI CHUYỂN THEO TƯỜNG 11
CHƯƠNG 2 12
THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƯỜNG TRONG MÊ CUNG 12
2.1 GIỚI THIỆU 12
Trang 102.4.3 Arduino Uno R3 15
2.5 VI ĐIỀU KHIỂN ATMEGA 328 21
2.5.1 Thông số ATmega 328 21
2.5.2 Vi điều khiển Atmega 328 21
2.6 VIẾT CHƯƠNG TRÌNH CHO ARDUINO 23
2.7 MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N 26
2.7.1 Thông số kỹ thuật 26
2.7.2 Chức năng các chân của L298 27
2.7.3 IC L298 trong module L298 28
2.7.4 Mạch cầu H 31
2.8 ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ PWM 33
2.8.1 Xung PWM 33
2.8.2 Chương trình điều khiển tốc độ động cơ 36
2.9 CẢM BIẾN HỒNG NGOẠI 37
2.9.1 Giới thiệu tia hồng ngoại 37
2.9.2 Cảm biến hồng ngoại 39
2.9.3 Cảm biến hồng ngoại FC51 40
2.10 MODULE LM2596 42 2.10.1 Thông số kỹ thuật
42
2.10.2 Vi điều khiển LM2596
43
Trang 1144 2.11.2 Động cơ giảm tốc
46
2.12 KHỐI NGUỒN 46
2.13 MODULE BLUETOOTH HC – 06 47
2.13.1 Tổng quan về Bluetooth 47 2.13.2 Module Bluetooth HC – 06 49 a Nguyên lý hoạt động 50
2.13.3 App Inventer 50 b Hướng dẫn sử dụng App Inventor 51
CHƯƠNG 3 61
THÀNH LẬP CHƯƠNG TRÌNH HOẠT ĐỘNG CHO ROBOT……….61
3.1 TỔNG QUAN 61
3.2 CÁC THUẬT TOÁN TÌM ĐƯỜNG TRONG MÊ CUNG 61
3.2.1 Thuật toán tìm đường ngẫu nhiên 61
3.2.2 Thuật toán lấp kín đường cụt 61
Trang 12c Ví dụ thuật toán tối ưu hóa đường đi 50
3.3 SƠ ĐỒ THUẬT TOÁN CHO ROBOT DÒ ĐƯỜNG TỰ ĐỘNG .78 3.4 SƠ ĐỒ THUẬT TOÁN PHẦN MỀM ỨNG DỤNG BLUETOOTH 79 3.5 SƠ ĐỒ THUẬT TOÁN ĐIỀU KHIỂN ROBOT QUA BLUETOOTH 80 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 81
KẾT LUẬN 81
HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 81
PHỤ LỤC 83
1 CHƯƠNG TRÌNH CHO ROBOT TỰ ĐỘNG DÒ MÊ CUNG 83
2 CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT QUA BLUETOOTH .90
Trang 13Hình 1.2 Bộ vi xử lý Arduino 4
Hình 1.3 Máy bay không người lái 5
Hình 1.4 Mobile robot di chuyển dưới nước 6
Hình 1.5 Mobile robot trên mặt đất 6
Hình 1.6 Mobile robot sử dụng bánh xe 7
Hình 1.7 Mobile robot sử dụng chân 8
Hình 1.8 Robot tự động vận chuyển hàng trong nhà máy 9
Hình 1.9 Một số hình dạng của mê cung 10
Hình 1.10 Hình dạng mê cung sử dụng trong đề tài 11
Hình 2.1 Sơ đồ khối toàn hệ thống 12
Hình 2.2 Sơ đồ nguyên lý 13
Hình 2.3 Một số loại Arduino 14
Hình 2.4 Board mạch Arduino UNO R3 17
Hình 2.5 Các cách cấp nguồn cho board mạch Arduino Uno R3 18
Hình 2.6 Các chân năng lượng 19
Hình 2.7 Các chân tín hiệu vào/ra trên Arduino Uno R3 20
Hình 2.8 Sơ đồ chân vi điều khiển Atmega328 22
Hình 2.9 Giao diện phần mềm Arduino IDE 23
Hình 2.10 Giới thiệu menu tập tin 24
Trang 14Hình 2.16 Sơ đồ chân IC L298 chip cắm và dán 30
Hình 2.17 Nguyên lý hoạt động của mạch cầu H trong module L298 33
Hình 2.18 Điều chế độ rộng xung 35
Hình 2.19 Phổ điện từ 38
Hình 2.20 Nguyên lý hoạt động bộ thu phát hồng ngoại 39
Hình 2.21 LED phát và thu hồng ngoại 40
Hình 2.22 Module cảm biến hồng ngoại phát hiện vật cản 40
Hình 2.23 Sơ đồ cấu tạo cảm biến hồng ngoại FC51 41
Hình 2.24 Module LM2596 42
Hình 2.25 Dạng chân cắm và chân dán của IC LM2596 43
Hình 2.26 Sơ đồ cấu tạo LM2596 44
Hình 2.27 Cấu tạo động cơ điện 1 chiều 44
Hình 2.28 Nguyên lý hoạt động của động cơ điện một chiều 45
Hình 2.29 Động cơ giảm tốc LS220 46
Hình 2.30 Pin 18650 46
Hình 2.31 Phạm vi hoạt động của Bluetooth 48
Hình 2.32 Module Bluetooth HC-06 49
Hình 2.32 Trang quản lý dự án 52
Hình 2.33 Tạo một chương trình mới 52
Hình 2.34 Cửa sổ giao tiếp với App Inventor 53
Hình 2.35 Thiết kế giao diện ứng dụng 54
Hình 2.36 Giao diện ứng dụng mô phỏng khi hoàn thành 54
Trang 15Hình 2.39 Phương thức của block 56
Hình 2.40 Sự kiện của Blcok 57
Hình 2.41 Code kiểm tra máy đã bật Bluetooth hay chưa 57
Hình 2.42 Phát hiện các thiết bị phát Bluetooth 57
Hình 2.43 Chọn địa chỉ muốn kết nối 58
Hình 2.44 Dừng kết nối Bluetooth của thiết bị 58
Hình 2.45 Các khối điều khiển động cơ 59
Hình 2.46 Cách cài đặt chương trình bằng quét mã QR code 60
Hình 3.1 Tìm các ngõ cụt trong mê cung 62
Hình 3.2 Lấp kín các ngõ cụt và để lại con đường thoát duy nhất 62
Hình 3.3 Mô tả thuật toán Pledge 64
Hình 3.4 Mô tả thuật toán bám tường phải 65
Hình 3.5 Vị trí cảm biến 66
Hình 3.6 Các khả năng robot gặp phải 67
Hình 3.7 Chỉ rẽ phải 67
Hình 3.8 Đi thẳng hoặc rẽ phải 68
Hình 3.9 Chỉ rẽ trái 68
Hình 3.10 Đi thẳng hoặc rẽ trái 69
Hình 3.11 Ngã 3 (chữ T) 69
Trang 16Hình 3.17 Mô hình xe sau khi hoàn thành 77 Hình 3.18 Sơ đồ thuật toán tạo phần mềm ứng dụng bluetooth 79 Hình 3.16 Sơ đồ thuật toán điều khiển xe qua bluetooth 80
Trang 17Bảng 2.1 Thông số kỹ thuật của Arduino UNO R3 15
Bảng 2.2 Thông số vi điều khiển ATmega 328 21
Bảng 2.3 Chức năng của các chân IC L298 30
Bảng 2.4 Tín hiệu điều khiển động cơ A 32
Bảng 2.5 Ví dụ phát xung PWM dùng hàm analogWrite 34
Bảng 2.6 Phân chia các bức xạ sóng điện từ/ánh sáng 37
Trang 18CHƯƠNG 1 TỔNG QUAN VỀ MOBILE ROBOT,
MÊ CUNG VÀ THUẬT TOÁN TÌM ĐƯỜNG
MOBILE ROBOT
Mobile robot (hay còn được gọi là robot di động) là một robot cókhả năng vận động, dịch chuyển (robot tự hành) thực hiện các côngviệc được giao dưới một chương trình điều khiển Robot di động có khảnăng di chuyển trong môi trường mà chúng hoạt động và không cố định
ở một vị trí Robot di động có thể hoạt động được ở hầu hết các môitrường như đất, nước, không khí thậm chí là bên ngoài không gian vũtrụ Địa hình mà robot di chuyển rất đa dạng, chúng có thể di chuyểntrên các dạng địa hình bằng phẳng, gập gềnh…
Từ năm 1939 đến năm 1945, trong chiến tranh thế giới lần 2, cácrobot di động đầu tiên đã xuất hiện Chúng chủ yếu là những quả bombay (những quả bom thông minh chỉ phát nổ trong 1 phạm vi nhấtđịnh, sử dụng hệ thống dẫn đường và radar) Đó là thành quả của sựtiến bộ khoa học kĩ thuật trên lĩnh vực khoa học máy tính và điều khiển
Từ năm 1849 đến năm 1949, W.Gray Walter đã tạo ra Elmer vàElsie – 2 robot tự trị được trang bị cảm biến ánh sáng Khi có nguồnsáng chúng sẽ tiến về phía đó và có khả năng tránh chướng ngại vậttrên đường đi
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 19nghiên cứu và phát triển mobile robot “Beast” – một mobile robot cóthể di chuyển vòng tròn và có khả năng tự tìm đến nguồn để sạc khipin yếu.
Năm 1969, Mowbot được tạo ra - robot đầu tiên có khả năng tựđộng cắt cỏ
Trong khoảng thời gian từ năm 1966 đến năm 1972, viện nghiêncứu Stanford đã xây dựng và nghiên cứu về “Shakey the Robot” – mộtcon robot được đặt tên theo chuyển động giật của nó Bằng việc sửdụng camera, cảm biến khoảng cách, cảm biến va chạm và liên kếtqua sóng radio, Shakey có khả năng tính toán và suy luận về hànhđộng của nó để hoàn thành nhiệm vụ được giao
Đầu những năm 1980, nhóm nghiên cứu của Ernst Dickmanns tạiđại học Bundeswehr Munich đã chế tạo thành công những chiếc xerobot đầu tiên, tốc độ của xe có thể đạt tới 88 km/h
Từ năm 1986 đến năm 1989, Stevo Bozinovski cùng nhóm nghiêncứu của ông đã lập trình điều khiển cho robot, điều khiển robot sử dụngtín hiệu EEG, EOG
Năm 1989, Mark Tilden phát minh ra robot BEAM – một con robot
sử dụng các mạch tương tự đơn giản thay vì sử dụng bộ vi xử lí
Từ năm 1990 đến năm 1994, những con robot tự trị ra đời và được
sử dụng trong các bệnh viện, viện nghiên cứu, khám phá hoạt động núilửa…
Năm 1995, robot di động có thể lập trình của Pioneer đã được
Trang 20hỏa Rover được điều khiển từ trái đất để khám phá bề mặt, cònSojourner có khả năng tự chủ tìm đường đi.
Năm 1999, Sony giới thiệu ra mắt Aibo – một chú chó robot cókhả năng nhìn, đi lại và tương tác với môi trường Trong thời gian nàycác robot điều khiển từ xa - PackBot cũng được giới thiệu
Năm 2001 dự án Swarm-bot bao gồm một lượng lớn robot đơn lẻgiống như các đàn côn trùng, chúng có thể tương tác với nhau và cùngnhau thực hiện các nhiệm vụ phức tạp
Năm 2002, Roomba xuất hiện – một robot tự trị có khả năng lausàn nhà
Năm 2005, Boston Dynamics tạo ra một robot bốn chân có khảnăng vận chuyển một khoảng khối lượng trên địa hình gồ ghề
Năm 2006, Asimo của Honda có khả năng học được cách chạy vàleo cầu thang
Năm 2007, các robot tự hành được sử dụng rộng rãi Robot Tugtrở thành phương tiện phổ biến trong các bệnh viện dùng vận chuyểncác tủ lớn Robot Speci-Minder mang máu và các mẫu vật từ các trạm y
tế đến các phòng thí nghiệm Seekur- một robot phục vụ cho quân đội,
có khả năng kéo một chiếc xe nặng 3 tấn…
Năm 2008, Boston Dynamics công bố đoạn phim giới thiệu về BigDog – một robot có thể đi bộ trên địa hình băng giá và có khả năng lấyđược thằng bằng khi va chạm
Năm 2016, các robot mang tên Multi-Function Agile ControlledRobot được cảnh sát Mỹ sử dụng để bắt tội phạm
Hiện nay, các công trình nghiên cứu về mobile robot vẫn khôngngừng được phát triển Các thành tựu liên tục ra đời phục vụ nhu cầucho con người
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 21Cấu trúc chung của mobile robot bao gồm:
Hình 1.1 Module cảm biến hồng ngoại.
1.2.2 Cơ cấu vận hành
Trang 22động của robot Bộ vi xử lý có thể gồm một hoặc nhiều chip vi xử lýkhác nhau tùy thuộc vào khả năng làm việc của robot, thông thườngcác bộ vi xử lý thường được dùng ngày nay là PIC, AVR, Arduino…
Hình 1.2 Bộ vi xử lý Arduino.
1.3.PHÂN LOẠI MOBILE ROBOT
Từ cấu tạo, khả năng hoạt động của mobile robot, ta có thể phân
ra thành các loại:
+ Theo môi trường làm việc
+ Theo phương pháp di chuyển
+ Theo phương pháp điều khiển
1.3.1 Phân loại theo môi trường làm việc
a Mobile robot trên không
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 23quân đội, đặc biệt là máy bay không người lái UAV (Unmanned AerialVehicle), chúng có khả năng tự động cao, được sử dụng trong cácnhiệm vụ trinh sát, phát hiện mục tiêu Mặc dù được ứng dụng nhiềutrong quân đội, nhưng việc sử dụng chúng đang dần mở rộng sang cácứng dụng khác như thương mại, giải trí, nông nghiệp, giám sát, chụpảnh trên không…
Hình 1.3 Máy bay không người lái.
b Mobile robot dưới nước
Mobie robot hoạt động ở dưới nước AUV (Autonomous UnderwaterVehicle) là một robot di chuyển dưới nước một cách tự động mà khôngcần sự can thiệp của người điều khiển AUV đầu tiên được phát triển tạiphòng thí nghiệm vật lý tại trường Đại học Washington vào đầu năm
Trang 24Hình 1.4 Mobile robot di chuyển dưới nước.
c Mobile robot di chuyển trên mặt đất
Mobile robot di chuyển trên mặt đất ngày nay được sử dụng nhiềutrong công nghiệp, quân sự, các viện nghiên cứu… Loại robot này đangđược tập chung phát triển theo hướng tự hành thay thế cho con ngườitrong các công việc nguy hiểm
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 25Hình 1.5 Mobile robot trên mặt đất.
1.3.2 Phân loại theo phương pháp di chuyển
a Mobile robot di chuyển sử dụng bánh xe
Phương thức sử dụng bánh xe để di chuyển là phương thức phổbiến nhất của hầu hết các loại robot, không những thiết kế nhỏ gọn màcòn đem lại những hiệu quả cao Mobile robot sử dụng bánh xe đượcthiết kế sao cho các bánh xe luôn tiếp xúc với địa hình đảm bảo sự cânbằng khi di chuyển, tăng sự cơ động, khả năng linh hoạt trong các hànhđộng của robot
Trang 26Hình 1.6 Mobile robot sử dụng bánh xe.
b Mobile robot di chuyển sử dụng chân
Đặc trưng của những robot di chuyển bằng chân là sự tiếp xúcgiữa robot và bề mặt địa hình theo điểm, điều này giúp tăng khả năngthích ứng và độ cơ động của robot trên những địa hình gồ ghề Mặc dùvậy nhưng phương pháp di chuyển này lại có nhược điểm như thiết kếphức tạp, trong điều khiển phải chính xác
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 27Hình 1.7 Mobile robot sử dụng chân.
1.3.3 Phân loại theo phương pháp điều khiển
a Mobile robot tự trị (AMR - autonomous mobile robot)
Mobile robot tự trị có nghĩa là chúng có khả năng tự vận động,kiểm soát mà không cần các thiết bị dẫn hướng, điều khiển Ngày naycùng với sự bùng nổ của cách mạng công nghệ 4.0, những robot tự trị
đã và đang ngày càng phát triển mạnh mẽ đáp ứng nhu cầu của conngười
b Mobile robot di chuyển theo dẫn hướng
Mobile robot di chuyển dựa vào các thiết bị dẫn đường cho phépchúng di chuyển trên một tuyến đường được xác định từ trước và đượckiểm soát
Trang 28Đây là phương pháp điều khiển robot bằng cách sử dụng các bộđiều khiển để kiểm soát các hành động của robot Các bộ điều khiển cóthể qua sóng không dây như Wifi, Bluetooth, RF…
1.4.ỨNG DỤNG CỦA MOBILE ROBOT
Ngày nay, robot di động đã trở nên phổ biến được thương mại hóa
và được áp dụng vào thực tế Mobile robot đã được phát triển phục vụcho nhiều mục đích, lĩnh vực khác nhau như: trong quân sự, côngnghiệp, trong các bệnh viện, trường học, các viện nghiên cứu…
Trong các khu công nghiệp sử dụng robot di động để di chuyển cácvật liệu và phụ kiện cần thiết Các robot này được lập trình để chạytheo một đường nhất định, được phân công theo từng nhiệm vụ cụ thể
Hình 1.8 Robot tự động vận chuyển hàng trong nhà máy.
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 29Trong quân sự, các mobile robot được ứng dụng nhiều trong cáchoạt động trinh sát như máy bay không người lái, hay các robot tự động
dò bom mìn…
Trong các viện nghiên cứu, mobile robot được sử dụng để thámhiểm những vùng mà con người không để đặt chân tới như bên ngoàikhông gian, trên các hành tinh ngoài trái đất, dưới lòng đất sâu, dướiđại dương, trong các hang động…Trong các bệnh viện sử dụng cácrobot tự động vận chuyển các dụng cụ y tế Trong các trường học ngàynay các robot tự động cũng là một vấn đề được nghiên cứu phát triểnmạnh mẽ, được ứng dụng trong các cuộc thi robocon… Trong đời sống,robot tự động cũng được phát triển nhiều phục vụ cho các mục đíchkhác nhau của con người như các robot mini hút bụi, làm vườn, hay đểlàm đồ chơi giải trí như các oto đồ chơi điều khiển, fly cam…
1.5.MÊ CUNG
Mê cung còn được gọi là mê lộ hay mê đạo, là một hệ thống đườnggồm nhiều nhánh ngang dọc nối chằng chịt với nhau Mê cung cũngdùng để gọi tên những công trình gồm nhiều hành lang, lối đi được baobọc xung quanh với vô vàn ngã rẽ, ngõ cụt
Trang 30Hình 1.9 Một số hình dạng của mê cung.
Mê cung được sử dụng trong đề tài là mê cung đường (maze line) –thường là những đường màu đen trên nền trắng hoặc đường trắng nềnđen Mê cung có điểm bắt đầu và kết thúc và trên đường di chuyển cónhiều ngã rẽ, ngõ cụt Robot sẽ dò theo các đường đen theo thuật toán
để tìm lối thoát
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 31Hình 1.10 Hình dạng mê cung sử dụng trong đề tài.
1.6.BÀI TOÁN DI CHUYỂN THEO TƯỜNG
Thuật toán di chuyển theo tường là một trong những phương pháp
để giải mê cung giúp robot thoát khỏi mê cung có sẵn Để thực hiệnđược mục tiêu trên, trong đề tài này bọn em tập chung nghiên cứu vàgiải quyết các vấn đề sau:
- Nghiên cứu về thuật toán tìm đường đi trong mê cung
- Nghiên cứu về cách điều khiển động cơ
- Thiết kế và chế tạo một mobile robot
- Lập trình điều khiển cho robot thực hiện theo thuật toán
- Nhận xét kết quả và kết luận
Trang 32CHƯƠNG 2 THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƯỜNG TRONG MÊ CUNG
2.1.GIỚI THIỆU
Mục tiêu của đồ án là thiết kế, chế tạo ra robot có thể tự động dichuyển trong mê cung theo một chương trình đã định sẵn; tìm ra conđường ngắn nhất để thoát khỏi mê cung Qua đó ứng dụng bluetoothđiều khiển robot di chuyển dưới sự dám sát của người điều khiển, hạnchế được lỗi phát sinh của robot trong quá trình di chuyển trong mêcung; giúp robot hoàn thành được nhiệm vụ đặt ra
Với mục tiêu đã đặt ra ở trên để chế tạo ra robot dò mê cung tựđộng kết hợp điều khiển qua bluetooth ta cần các linh kiện sau đây:
- 1 khung xe 3 bánh (bao gồm 1 bánh dẫn hướng và 2 bánh động
Arduino UNO R3 khiển động cơModule điều
L298N
Động cơDC
Module thu phát
hồng ngoại,
module bluetooth
LM2596
Trang 33Hình 2.1 Sơ đồ khối toàn hệ thống.
Khi cấp nguồn cho Arduino và module điều khiển động cơ L298toàn bộ hệ thống hoạt động, cảm biến thu phát hồng ngoại FC51 nhậnbiết sự xuất hiện của vật cản gửi tín hiệu về cho Arduino Sau đó,Arduino xử lý tín hiệu mà cảm biến gửi về điều khiển cho module L298hoạt động làm động cơ đi thằng, rẽ phải, rẽ trái, dừng hay tăng tốc độ
2.3 SƠ ĐỒ NGUYÊN LÝ
Hình 2.2 Sơ đồ nguyên lý.
Trang 34Vi điều khiển được coi như là một máy tính nhỏ được tích hợptrên một vi mạch, nó thường được sử dụng để điều khiển các thiết bịđiện tử Vi điều khiển thực chất là một hệ thống bao gồm một vi xử lý
có hiệu suất đủ dùng kết hợp với các khối ngoại vi như bộ nhớ (ROM,RAM), các module vào/ra… Vi điều khiển có thể dễ dàng giao tiếp vớithiết bị ngoại vi bên ngoài như cổng ADC, DAC; các module nhưBluetooth, Wifi, L289…
2.4.2 Giới thiệu về Arduino
a Khái niệm Arduino
Arduino là một board mạch vi xử lý được sử dụng để xây dựng cácứng dụng điện tử tương tác với nhau hoặc tương tác với môi trườngđược thuận tiện hơn Arduino được ví như một máy tính nhỏ để ngườidùng có thể lập trình và thực hiện các dự án điện tử mà không cần phải
có các công cụ chuyên biệt phục vụ việc nạp code Arduino tương tácvới môi trường thông qua các cảm biến, động cơ, đèn…
Arduino gồm phần cứng và phần mềm Phần cứng của Arduinogồm một board mạch tích hợp vi điều khiển, còn phần mềm là công cụdùng để soạn thảo, biên dịch và nạp chương trình cho board mạch
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 35Hình 2.3 Một số loại Arduino
b Ứng dụng của Arduino
Phần cứng và phần mềm của arduino đều là mã nguồn mở chonên arduino có rất nhiều ứng dụng Dưới đây là một số ứng dụng sửdụng arduino:
Trang 36 Làm máy in 3D.
Máy bay không người lái (Fly cam)
Điều khiển đèn Led (ứng dụng làm biển quảng cáo, đèn giaothông)
2.4.3 Arduino Uno R3
a Thông số Arduino Uno R3
Arduino UNO là dòng sản phẩm thông dụng nhất trong họArduino, hiện nay dòng mạch này đã phát triển tới thế hệ thứ 3 (R3).Arduino Uno được xây dựng với phân nhân là vi điều khiển Atmega328P
sử dụng thạch anh có chu kỳ dao động là 16 MHz Với vi điều khiển này,
ta có tổng cộng 14 chân digital (ngõ) ra/vào được đánh số từ 1 đến 13(trong đó có 6 chân PWM được đánh ký hiệu dấu “~” trước các chân).Bên cạnh đó ta có thêm 6 chân nhận tín hiệu analog được đánh ký hiệu
từ A0 – A5, 6 chân này cũng có thể sử dụng được như các ngõ ra/vàobình thường giống như các chân digital Trong các chân giới thiệu trênđây có chân 13 là chân đặc biệt vì nó nối trực tiếp với đèn LED trạngthái trên board Trên board mạch còn có 1 nút reset, 1 ngõ kết nối vớimáy tính qua cổng USB và 1 ngõ cấp nguồn DC sử dụng jack 2,1 mm.Dưới đây là bảng thông số kỹ thuật của Arduino UNO R3
Bảng 2.1 Thông số kỹ thuật của Arduino UNO R3
Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên 7-12V-DC
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 37Dòng tối đa trên mỗi
Trang 38Hình 2.4 Board mạch Arduino UNO R3.
b Cấp nguồn
Có 3 cách để cấp nguồn cho board Arduino UNO R3 hoạt động:
- Cách 1: Lấy nguồn 5V từ cổng USB
- Cách 2: Lấy nguồn từ pin cắm vào jack DC (điện áp khuyên dùng
từ 7 – 12 VDC)
- Cách 3: Cũng lấy nguồn từ pin, cực dương (+) nối với chân V¿ vàcực âm (-) nối với chân GND
Lưu ý với cách 2 và 3 cấp nguồn từ ngoài với điện áp khuyên dùng
là 7-12V DC và giới hạn là 6-20V Thông thường thì ta cấp nguồn bằng
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh
Trang 39pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB Nếucấp nguồn vượt quá ngưỡng giới hạn trên sẽ làm hỏng mạch ArduinoUNO.
Hình 2.5 Các cách cấp nguồn cho board mạch Arduino Uno R3.
c Các chân năng lượng
- GND (Ground): Cực âm của nguồn điện áp cấp cho Arduino Uno.
- 5V: Cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là
50 Ma
- 3.3V: Cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân
Trang 40- IOREF: Điện áp hoạt động của vi điều khiển trên Arduino UNO có
thể được đo ở chân này Chú ý không được lấy nguồn từ chânnày để sử dụng vì chức năng của nó không phải là cấp nguồn
- RESET: Khi nhấn nút Reset trên board để Reset vi điều khiển
tương đương với việc chân Reset được nối với GND qua 1 điện trở10KΩ
Hình 2.6 Các chân năng lượng.
Board mạch Arduino Uno R3 có 14 chân digital dùng để đọc hoặcxuất tín hiệu Chúng chỉ có 2 mức tín hiệu điện áp hoạt động là0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40 Ma Trên các
SVTH: Phạm Quang Huy GVHD: CN Trịnh Tuấn Dương
Nguyễn Mạnh Linh