Điều hướng cho robot tự hành là công việc đòi hỏi phải thực hiện được một số khả năng khác nhau, bao gồm : khả năng di chuyển ở mức cơ bản, ví dụ như hoạt động đi tới vị trí cho trước;[r]
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
-
PHẠM DỰ
NGHIÊN CỨU, THIẾT KẾ ROBOT DÒ ĐƯỜNG
ĐI BẰNG SÓNG SIÊU ÂM
LUẬN VĂN THẠC SĨ
Chuyên ngành: Kỹ thuật Cơ điện tử
Mã số ngành: 60520114
TP HỒ CHÍ MINH, tháng 8 năm 2015
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
-
PHẠM DỰ
NGHIÊN CỨU, THIẾT KẾ ROBOT DÒ ĐƯỜNG
ĐI BẰNG SÓNG SIÊU ÂM
Chuyên ngành: Kỹ thuật Cơ điện tử
Mã số ngành: 60520114
CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS NGUYỄN DUY ANH
TP HỒ CHÍ MINH, tháng 8 năm 2015
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học: TS Nguyễn Duy Anh
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày
16 tháng 8 năm 2015
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa
Chủ tịch Hội đồng đánh giá luận văn
Trang 4TRƯỜNG ĐH CÔNG NGHỆ TP HCM
PHÒNG QLKH – ĐTSĐH
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên : PHẠM DỰ Giới tính: Nam
Ngày, tháng, năm sinh: 15/10/1986 Nơi sinh: Gia Lai Chuyên ngành: Kỹ Thuật Cơ Điện Tử MSHV: 1341840005
I- Tên đề tài:
NGHIÊN CỨU, THIẾT KẾ ROBOT DÒ ĐƯỜNG ĐI BẰNG SÓNG SIÊU ÂM
II- Nhiệm vụ và nội dung:
Nhiệm vụ: Điều khiển mobile robot dò đường đi trong mê cung và tìm đường đi
ngắn nhất
Nội dung:
˗ Nghiên cứu các thuật toán tìm đường đi trong mê cung
˗ Giao tiếp module cảm biến siêu âm với vi điều khiển
˗ Điều khiển mobile robot dò đường đi trong mê cung
III- Ngày giao nhiệm vụ: ngày 18 tháng 8 năm 2014 IV- Ngày hoàn thành nhiệm vụ: ngày 11 tháng 7 năm 2015 V- Cán bộ hướng dẫn: TS.NGUYỄN DUY ANH
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
Trang 5
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Phạm Dự
Trang 6
LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời cảm ơn chân thành và sâu sắc đến quý thầy giảng viên Trường Đại học Công Nghệ Tp.HCM đã nhiệt tình giảng dạy, truyền đạt những kiến thức
và kinh nghiệm quý báu cho chúng em trong quá trình giảng dạy khóa cao học tại trường Đại học Công Nghệ Tp HCM
Em xin gửi lời cám ơn chân thành đến Thầy TS Nguyễn Duy Anh đã tận tình hướng dẫn em về chuyên môn và kinh nghiệm để giúp em thực hiện luận văn tốt nghiệp
Em cũng xin gửi lời cám ơn đến các anh/chị, các bạn học viên đã giúp đỡ, cùng trau dồi kiến thức trong suốt quá trình học tập và làm luận văn tốt nghiệp
Phạm Dự
Trang 7TÓM TẮT NỘI DUNG LUẬN VĂN
Luận văn đề xuất phương pháp để điều khiển robot di động dò đường với mê cung bất kì Mục đích của luận văn là điều khiển, thi công một robot di động, xây dựng dữ liệu mê cung từ đó tìm đường đi ngắn nhất
Robot có hai chức năng: dò đường trong mê cung và truyền dữ liệu bản đồ mê cung tìm được lên máy tính Mô hình của Robot di động được sử dụng có hai bánh xe chủ động và 1 bánh xe tự lựa
Robot di chuyển độc lập trong mê cung mà không có sự can thiệp từ bên ngoài Robot có ba cảm biến siêu âm được sử dụng để dò đường đi và phát hiện thông tin của các bức tường trong mê cung
Robot sau khi có được dữ liệu của các bức tường trong mê cung sẽ truyền dữ liệu lên máy tính thông qua module RF UART Đồng thời dữ liệu sẽ được lưu lại trong bộ nhớ của robot để robot có thể sử dụng để dò những bức tường tiếp theo trong mê cung Kết hợp với giao diện Matlab GUI người dùng có thể theo dõi chính xác vị trí đang đứng của Robot trong mê cung
Thuật toán Tremaux được đề xuất để giải bái toán tìm đường đi ngắn nhất khi Robot đã dò được toàn bộ mê cung Đường đi này sẽ được hiển thị lên giao diện Matlab GUI
Toàn bộ kết quả của việc dò đường, tìm đường đi ngắn nhất, thông tin mê cung
sẽ được lưu trong máy tính qua file text của Matlab Kết quả này sẽ được sử dụng cho những lần di chuyển tiếp theo
Việc tính toán ước lượng các thông số của robot: các loại sai số, vận tốc góc, vận tốc dài, khoảng cách….cũng được thực hiện dựa trên các thông số về mô hình, linh kiện của hệ thống thực tế
Phần cứng được thi công bao gồm các khối chính: module cảm biến siêu âm, module RF UART và module mạch động lực cho robot Mạch điều khiển cho robot sử dụng vi điều khiển ARM
Trang 8ABSTRACT
The thesis proposes a method to control a mobile robot which finds a way with any maze The aim is controlling, operating the robot, constructing a maze data to find the nearest way to destination
Robot has two main functions: finding the way to the maze, transmitting the map data of the maze to Laptop The model of Robot is used two wheels with two motors and one wheel controlled
Robot can move in maze by itself There are 3 ultrasonic sensors which are used to detect the way and discover a signal that is caused from the wall in the maze
After receiving the data from the walls in the maze, Robot transmits it to Laptop by RF UART module At the time, Robot saves the data in its memory to detect different walls in the maze
According to Matlab graphic interface, user can know exactly Robot‟s location
in the maze
Flood fill algorithm solves the problem how to find the nearest way in the maze, as well as Robot scan all about maze This way will be showed in Matlab graphic interface
All results about finding, detecting the nearest way, the maze data will be saved
in computer by Matlab‟s file text These results will be used for the next steps
The calculating of the parameters of Robot such as: errors, angular velocity, velocity, distance…etc is performed basing on the parameters of the model, the components of the actual system
The main blocks of Robot platform: the ultrasonic sensor module, RF UART module and power circuits The robot controller is ARM microcontroller
Trang 9MỤC LỤC
Chương 1: TỔNG QUAN 1
Giới thiệu chung 1
1.1 Phân loại robot tự hành 2
1.2 1.2.1 Robot tự hành di chuyển bằng chân (Legged Robot) 2
1.2.2 Robot tự hành di chuyển bằng bánh (Wheel Robot) 4
Phương pháp điều hướng cho robot tự hành 8
1.3 1.3.1 Phương pháp điều hướng có tính toán 8
1.3.2 Phương pháp điều hướng robot theo phản ứng 9
1.3.3 Phương pháp điều hướng lai ghép 11
Tính cấp thiết của đề tài 11
1.4 Mục tiêu và nội dung nghiên cứu 11
1.5 1.5.1 Mục tiêu của đề tài 11
1.5.2 Nội dung nghiên cứu 12
Tổng quan về lĩnh vực nghiên cứu 12
1.6 1.6.1 Giới thiệu tổng quan chung về lĩnh vực nghiên cứu 12
1.6.2 Tình hình nghiên cứu trên thế giới 13
1.6.3 Tình hình nghiên cứu trong nước 17
Lựa chọn và cách bố trí bánh xe 18
1.7 Chương 2: MÊ CUNG VÀ GIẢI THUẬT TÌM ĐƯỜNG TRONG MÊ CUNG 21 Robot vẽ bản đồ 21
2.1 2.1.1 Vấn đề định vị của Robot tự hành 21
2.1.2 Sóng siêu âm 22
2.1.3 Camera xử lí hình ảnh 23
Trang 102.1.4 Lựa chọn phương án định vị và nhận diện vật cản 24
Mê cung và các thuật toán tìm đường trong mê cung 24
2.2 Thuật toán tìm đường ngẫu nhiên 25
2.3 Thuật toán bám theo tường 25
2.4 Thuật toán Pledge 26
2.5 Thuật toán Trémaux 27
2.6 Thuật toán lấp kín đường cụt 28
2.7 Thuật toán tìm đường đi ngắn nhất (floodfill) 29
2.8 Chương 3: THIẾT KẾ MÔ HÌNH XE DÒ MÊ CUNG 34
Cơ sở lý thuyết 34
3.1 3.1.1 Sơ lược các loại động cơ phổ biến 34
3.1.2 Động cơ DC thường 34
3.1.3 Các phương pháp điều khiển động cơ DC cho Robot tự hành 36
Thiết kế cơ khí 37
3.2 3.2.1 Thiết kế xe dò mê cung 37
3.2.2 Thiết kế mê cung thực nghiệm 40
Hệ thống điện 41
3.3 3.3.1 Sơ đồ khối robot dò đường 41
3.3.2 Các thành phần của hệ thống điều khiển 41
3.3.3 Tổng thể kết nối giữa các module trong hệ thống 50
Chương 4: GIẢI THUẬT ĐIỀU KHIỂN 53
Đặt vấn đề 53
4.1 Nguyên tắc xây dựng giải thuật điều khiển cho xe 53
4.2 Mảng dữ liệu lưu trữ 53
4.3 4.3.1 Mảng dữ liệu lưu trữ tức thời 53
Trang 114.3.2 Mảng dữ liệu lưu trữ cố định 55
Lưu đồ giải thuật 56
4.4 4.4.1 Giải thuật điều khiển trên vi điều khiển 56
4.4.2 Giải thuật quản lí dữ liệu và vẽ mê cung 59
Thiết kế giao diện mê cung bằng phần mềm matlab GUI 61
4.5 Chương 5: THỰC NGHIỆM ĐIỀU KHIỂN VÀ KẾT LUẬN 63
Đánh giá 63
5.1 5.1.1 Khả năng di chuyển của robot 63
5.1.2 Khả năng nhận dạng vật cản của bộ 3 cảm biến siêu âm: 63
5.1.3 Khả năng di chuyển trong mê cung theo thuật toán: 63
Thực nghiệm 64
5.2 5.2.1 Mê cung thực nghiệm 64
5.2.2 Kết quả thực nghiệm 64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 69
1 Những vấn đề đã làm được: 69
2 Những vấn đề chưa làm được: 69
3 Hướng phát triển đề tài: 69
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT RF: Radio Frequency
DANH MỤC CÁC BẢNG Bảng 1: Sơ đồ bánh xe của Robot tự hành 5 Bảng 2: Sơ đồ chân của Module MB3A 46 Bảng 3: Sơ đồ chân của Module RF Transceiver CC1101 49 Bảng 4: Tổng hợp các chân trên của vi điều khiển nối với các chân trên các
module 50
Bảng 5 Bảng quy ước bit tường trong mảng 56
Trang 13DANH MỤC CÁC HÌNH
Hình 1.1 Robot SDR-4X, chết tạo năm 2003 của hãng Sony 3
Hình 1.2 Robot 6 chân 3
Hình 1.3 Mô hình robot 4 chân 4
Hình 1.4 Các loại bánh xe dùng trong Robot tự hành 5
Hình 1.5 Robot tự hành Rover thám hiểm sao Hoả 7
Hình 1.6 Robot cắt cỏ 7
Hình 1.7 Robot hút bụi Trilobite 8
Hình 1.8 Sơ đồ cấu trúc phương pháp điều khiển có tính toán 8
Hình 1.9 Sơ đồ tìm đường đi của giải thuật 14
Hình 1.10 Giao diện mô phỏng mê cung 14
Hình 1.11 Giao diện (GUI) mô phỏng mê cung 15
Hình 1.12 Tọa độ ảo của mê cung 15
Hình 1.13 Robot cỡ nhỏ sử dụng trong bài báo 16
Hình 1.14 Mê cung thiết kế và mê cung thực tế 16
Hình 1.15 Robot thí nghiệm 17
Hình 1.16 Kết quả thí nghiệm 17
Hình 1.17 Sơ đồ khối Mobile Robot 18
Hình 1.18 Robot chạy trong mê cung 18
Hình 1.19 Hai bánh chuyển động vi sai 19
Hình 1.20 Hai bánh truyền động phía sau 19
Hình 1.21 Hai bánh truyền động ở giữa có điểm thứ ba tiếp xúc 20
Hình 2.1 Mê cung đơn kết nối 24
Hình 2.2 Mê cung đa kết nối 25
Hình 2.3 Thuật toán bám theo tường 26
Hình 2.4 Thuật toán Pledge 27
Hình 2.5 Thuật toán Tremaux 28
Hình 2.6 Bước 1 giải thuật lấp đường cụt 29
Hình 2.7 Bước 2 giải thuật lấp đường cụt 29
Hình 2.8 Bước 1 của giải thuật floodfill 30
Hình 2.9 Bước 2 của giải thuật Floodfill 31
Trang 14Hình 2.10 Bước 3 của giải thuật Floodfill 31
Hình 2.11 Mảng val sau khi hoàn thành giải thuật 32
Hình 2.12 Đường đi ngắn nhất tìm được từ giải thuật Floodfill 32
Hình 3.1 Cấu tạo động cơ DC 34
Hình 3.2 Động cơ DC 34
Hình 3.3 Động cơ DC Servo 35
Hình 3.4 Cấu tạo động cơ bước 35
Hình 3.5 Mô hình Mobile Robot 36
Hình 3.6 Họ đặc tính cơ của động cơ điện một chiều 37
Hình 3.7 Động cơ DC Servo NF5475E 38
Hình 3.8 Bánh xe chủ động của Robot 38
Hình 3.9 Bánh trước của Robot 38
Hình 3.10 Hình chiếu bằng của Robot 39
Hình 3.11 Hình chiếu cạnh của Robot 39
Hình 3.12 Hình thực tế của Robot 40
Hình 3.13 Các tấm foam làm tường mê cung 40
Hình 3.14 Sơ đồ khối Robot dò đường 41
Hình 3.15 Mô phỏng lan truyền sóng siêu âm 41
Hình 3.16 Phạm vi góc hoạt động tốt nhất của Module 42
Hình 3.17 Module cảm biến siêu âm HC-SR04 và sơ đồ đấu dây 42
Hình 3.18 Biểu đồ thời gian của cảm biến siêu âm SRF-04 43
Hình 3.19 Nguyên lý TOF 44
Hình 3.20 Hiện tượng đọc chéo 44
Hình 3.21 Sự phản xạ của sóng siêu âm 45
Hình 3.22 Hiện tượng Forescasting 45
Hình 3.23 Mạch cầu H 46
Hình 3.24 Sơ đồ kết nối của Module MB3A 47
Hình 3.25 Cấu tạo và ngoại vi của vi điều khiển STM32F407VGT6 49
Hình 3.26 Sơ đồ đấu dây của Module RF Transceiver CC1101 50
Hình 3.27 Sơ đồ khối mạch nguồn cho Robot 52
Hình 4.1 Sơ đồ điều khiển chương trình chính 56
Trang 15Hình 4.2 Giải thuật đi thẳng theo tường mê cung 57
Hình 4.3 Giải thuật rẽ hướng của xe 58
Hình 4.4 Giải thuật xác định tọa độ của xe 59
Hình 4.5 Chương trình chính trên matlab 60
Hình 4.6 Giải thuật vẽ mê cung 61
Hình 4.7 Giao diện hiển thị mê cung 62
Hình 5.1 Robot và 1 góc của mê cung 64
Hình 5.2 Mê cung chưa biết trước kích thước 8x8 64
Hình 5.3 Bản đồ mê cung sau khi chạy lần 1 66
Hình 5.4 Bản đồ mê cung sau khi chạy lần 2 66
Hình 5.5 Bản đồ mê cung sau khi chạy lần 3 67
Hình 5.6 Kết quả bản đồ mê cung trên Matlab GUI 67
Hình 5.7 Kết quả thuật toán Floodfill 68
Trang 16Chương 1: TỔNG QUAN Giới thiệu chung
1.1.
Ngày nay, Robot học đã đạt được những thành tựu to lớn trong nền sản xuất công
nghiệp Những cánh tay robot có khả năng làm việc với tốc độ cao, chính xác và liên tục làm năng suất lao động tăng nhiều lần Chúng có thể làm việc trong các môi trường độc hại như hàn, phun sơn, các nhà máy hạt nhân, hay lắp ráp các linh kiện điện tử tạo
ra điện thoại, máy tính…một công việc đòi hỏi sự tỉ mỉ, chính xác cao Tuy nhiên những robot này có một hạn chế chung đó là hạn chế về không gian làm việc Không gian làm việc của chúng bị giới hạn bởi số bậc tự do tay máy và vị trí gắn chúng Ngược lại, các Robot tự hành lại có khả năng hoạt động một cách linh hoạt trong các môi trường khác nhau
Robot tự hành là loại Mobile robot có khả năng tự hoạt động, thực thi nhiệm vụ
mà không cần sự can thiệp của con người Với những cảm biến, chúng có khả năng nhận biết về môi trường xung quanh Robot tự hành ngày càng có nhiều ý nghĩa trong các ngành công nghiệp, thương mại, y tế, các ứng dụng khoa học và phục vụ đời sống của con người Với sự phát triển của ngành Robot học, robot tự hành ngày càng có khả năng hoạt động trong các môi trường khác nhau, tùy mỗi lĩnh vực áp dụng mà chúng
có nhiều loại khác nhau như robot sơn, robot hàn, robot cắt cỏ, robot thám hiểm đại dương, robot làm việc ngoài vũ trụ Cùng với sự phát triển của yêu cầu trong thực tế, robot tự hành tiếp tục đưa ra những thách thức mới cho các nhà nghiên cứu
Vấn đề của robot tự hành là làm thế nào để robot tự hành có thể hoạt động, nhận biết môi trường và thực thi các nhiệm vụ đề ra Vấn đề đầu tiên là di chuyển, Robot tự hành nên di chuyển như thế nào và cơ cấu di chuyển nào là sự lựa chọn tốt nhất Điều hướng là vấn đề cơ bản trong nghiên cứu và chế tạo Robot tự hành Trong hiệp hội nghiên cứu về Robot tự hành có 2 hướng nghiên cứu khác nhau:
Hướng thứ nhất là nghiên cứu về Robot tự hành có khả năng điều hướng ở tốc độ cao nhờ thông tin thu được từ cảm biến, đây là loại robot có khả năng hoạt động ở mối trường trong phòng cũng như môi trường bên ngoài Loại robot này yêu cầu khả năng tính toán đồ sộ và được trang bị cảm biến có độ nhạy cao, dải đo lớn để có thể điều khiển robot di chuyển ở tốc độ cao, trong những môi trường có địa hình phức tạp Hướng thứ hai nhằm giải quyết các vấn đề về các loại robot tự hành chỉ dùng để hoạt động trong môi trường trong phòng Loại robot tự hành này có kết cấu đơn giản hơn loại trên, thực hiện những nhiệm vụ đơn giản