Luận văn Điều khiển Robot bằng board Raspberry Pi và ứng dụng Andoird (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Điều khiển Robot bằng board Raspberry Pi và ứng dụng Andoird (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
luan_van_dieu_khien_robot_bang_board_raspberry_pi_va_ung_dun.pdf
Nội dung text: Luận văn Điều khiển Robot bằng board Raspberry Pi và ứng dụng Andoird (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG ĐIỀU KHIỂN ROBOT BẰNG BOARD RASPBERRY PI VÀ ỨNG DỤNG ANDROID GVHD: TS.NGUYỄN MẠNH HÙNG SVTH: PHẠM QUAN SƠN MSSV: 12141641 S K L 0 0 4 3 6 8 Tp. Hồ Chí Minh, tháng 07/2016
- PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin sinh viên Họ và tên: Phạm Quan Sơn MSSV: 12141641 Tel: 0985 578 851 Email: quanson1608@gmail.com Họ và tên: . . . . . . . . . . . . . . . . . . MSSV: . Tel: Email: 2. Thông tin đề tài Tên của đề tài: Điều khiển Robot bằng board Raspberry Pi và ứng dụng Andoird. Mục đích của đề tài: Nghiên cứ u, thiết kế và điều khiển Robot. Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Thời gian thực hiện: Từ ngày 25 – 03 – 2016 đến 25 – 06 – 2016. 3. Các nhiệm vụ cụ thể của đề tài - Ky ̃ thuật lâp trình ngôn ngữ Python trong môi trường Linux. - Cách sử dụng phần mềm Android Studio để viết một ứ ng dụng điều khiể n Robot và nhận dữ liệu hình ảnh từ Robot gử i về. - Cách giao tiếp giữa board Raspberry Pi và ứng dụng Android. - Cách điều khiể n động cơ DC. - Thiết kế khung xe Robot. - Đánh giá và hiệu chỉnh việc điều khiển Robot. - Tổng hợp và viết báo cáo đề tài 4. Lời cam đoan của sinh viên Tôi Phạm Quan Sơn cam đoan ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Tiến Sĩ Nguyễn Mạnh Hùng. Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình nào khác. Tp.HCM, ngày 08 tháng 07 năm 2016 SV thực hiện đồ án Phạm Quan Sơn Tp.HCM, ngày tháng năm 2016 Xác nhận của Bộ Môn Giáo viên hướng dẫn (Ký ghi rõ họ tên và học hàm học vị) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP i
- TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP. HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Tp. HCM, ngày 25 tháng 3 năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Phạm Quan Sơn MSSV: 12141641 MSSV: Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: D510302 Hệ đào tạo: Đại học chính quy Mã hệ: 1 Khóa: 2012 Lớp: 12141DT2D I. TÊN ĐỀ TÀI: ĐIỀ U KHIỂ P ROBOT BẰ NG BOARD RASPBERRY PI VÀ Ứ NG DỤNG ADNROID II. NHIỆM VỤ 1. Các số liệu ban đầu: (ghi những thông số, tập tài liệu tín hiệu, hình ảnh ) - Phạm Hoàng Anh - Trần Hoàng Đạt, Đồ án tốt nghiệp” Thiết kế xe tránh vật cản trên board Raspberry Pi”, trường ĐH Sư Phạm Kỹ Thuật TpHCM, 2014. - Russell Bames, The Official Raspberry Pi Project Book, TheMagPi, 2016. 2. Nội dung thực hiện: (Ghi những nội dung chính cần thực hiện như trong phần tổng quan) - Kỹ thuật lập trình ngôn ngữ Python. - Kỹ thuật lập trình Android. - Thiết lập kết nối giữa ứng dụng Android và board Raspberry Pi. - Cách điều khiển động cơ Robot. - Chạy thử và hiệu chỉnh Robot. - Tổng hợp và viết báo cáo. III. NGÀY GIAO NHIỆM VỤ: 25/03/2016 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 01/07/2016 V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS. Nguyễn Mạnh Hùng CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP ii
- TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc Bộ Môn Điện Tử Công Nghiệp Tp. Hồ Chí Minh, ngày 08 tháng 07 năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Bản lịch trình này được đóng vào đồ án) Họ tên sinh viên 1: Phạm Quan Sơn Lớp: 12141DT2D MSSV: 12141641 Họ tên sinh viên 2: Lớp: MSSV: Tên đề tài: ĐIỀU KHIỂN ROBOT BẰNG BOARD RASPBERRY PI VÀ ỨNG DỤNG ANDROID Xác nhận Tuần/ngày Nội dung GVHD Gặp GVHD để nghe phổ biến yêu cầu làm đồ Tuầ n 1 án, tiến hành chọn đề tài đồ án. Tuầ n 2 GVHD tiến hành xét duyệt đề tài. Tuầ n 3 Viết tóm tắt yêu cầu đề tài. Tiến hành thiết kế sơ đồ khối, giải thích chức Tuầ n 4 năng các khối. Tuầ n 5 Kết nố i phầ n cứ ng: Raspberry, Robot và các thiết bị ngoại vi. Tuầ n 6 Thiết kế phầ n mềm: Xây dựng ứ ng dụng Android trên điện thoại. Tuầ n 7 Ghép nố i giữa phần cứ ng và phần mềm. Tuầ n 8 Kiể m tra hoạt động của Robot. Tuẩ n 9 Hiệu chỉnh Robot. Tuầ n 10 Viết báo cáo những nội dung đã làm Hoàn thiện báo cáo và gởi cho GVHD để xem Tuầ n 12 xét góp ý lần cuối trước khi in và báo cáo Tuầ n 15 Nộp quyển báo cáo và báo cáo đề tài GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP iii
- TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP. HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ Độc lập - Tự do - Hạnh phúc BÔ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP (Dùng cho giáo viên hướng dẫn) I. Thông tin chung - Họ và tên sinh viên: Phạm Quan Sơn MSSV: 12141641 - Tên đề tài: Điều khiển Robot bằng board Raspberry Pi và ứng dụng Android. - Họ và tên giáo viên hướng dẫn: TS. Nguyễn Mạnh Hùng. II. Nhận xét về khóa luận 2.1. Đánh giá chung (hoàn thành bao nhiêu phần trăm mục tiêu của đề tài): 2.2. Ưu điểm của đề tài: 2.3. Khuyết điểm của đề tài: 2.4. Thái độ làm việc của sinh viên: 2.5. Kết quả chính thu được: 2.6. Đề nghị: Được bảo vệ Không được bảo vệ Tp. HCM, ngày 8 tháng 7 năm 2016 Giáo viên hướng dẫn (Ký và ghi rõ họ tên) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP iv
- LỜI CAM ĐOAN Đề tài này là do tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó. TP.HCM, ngày 8 tháng 7 năm 2016 Người thực hiện đề tài Phạm Quan Sơn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP v
- LỜI CẢM ƠN Lời đầu tiên em xin chân thành cảm ơn các thầy cô trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Mính đã quan tâm, tạo điều kiện để em có thể hoàn thành tốt khoá học tại trường. Em xin gởi lời cảm ơn chân thành đến Thầy Nguyễn Mạnh Hùng - Giảng viên bộ môn Điện Tử Công Nghiệp đã tận tình hướng dẫn, chỉ bảo những kiến thức, kinh nghiệm và hỗ trợ phương tiện trong suốt quá trình tìm hiểu, nghiên cứu và thực hiện đề tài. Em cũng cảm ơn Thầy Huỳnh Hoàng Hà - Giảng viên bộ môn Điện Tử Viễn Thông đã tạo điều kiện cung cấp kiến thức cơ bản, góp ý cần thiết cho em hoàn thành tốt đề tài. Đồng thời, em xin chân thành cảm ơn các thầy cô trong Khoa Điện-Điện Tử đã tạo những điều kiện, cung cấp những kiến thức cơ bản, những vật tư cần thiết để em có điều kiện tốt nhất để hoàn thành đề tài. Ngoài ra, em cũng gửi lời đồng cảm ơn đến các bạn tại phòng D401 đã chia sẻ, đóng góp và trao đổi kiến thức quý báu trong thời gian thực hiện đề tài. Các anh chị đã hướng dẫn và giới thiệu tài liệu tham khảo, cách thực hiện nghiên cứu tại phòng D401. Em xin trân trọng cảm ơn! TP.HCM, ngày 8 tháng 7 năm 2016 Người thực hiện đề tài Phạm Quan Sơn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP vi
- MỤC LỤC Trang PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP iv LỜI CAM ĐOAN v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH VẼ x LIỆT KÊ BẢNG xiii TÓM TẮT xiv Chương 1. TỔNG QUAN 1 1.1. ĐẶT VẤN ĐỀ 1 1.2. MỤC TIÊU 2 1.3. NỘi DUNG NGHIÊN CỨU 2 1.4. GIỚI HẠN 3 1.5. BỐ CỤC 3 Chương 2. CƠ SỞ LÝ THUYẾT 5 2.1 TỔNG QUAN VỀ ROBOT 5 2.1.1 Robot di động 6 2.1.2 Robot dùng cơ cấu bánh xe 8 2.2 GIỚI THIỆU MẠNG KHÔNG DÂY – Wireless LAN 9 2.2.1 Công nghệ mạng không dây 9 2.2.2 Phân loại các loại mạng không dây 10 2.2.3 Tiêu chuẩn mạng không dây 11 2.2.4 Ưu điểm của mạng không dây WLAN 11 2.2.5 Nhược điểm của mạng không dây WLAN 12 2.3 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 12 2.3.1 Kiến trúc hệ điều hành Android: 13 2.3.2 Công cụ phát triển Android: 14 2.3.3 Cấu trúc cơ bản trong một dự án Android: 15 2.3.4 Vòng đời của ứng dụng Android: 16 2.3.5 Các thành phần trong một ứng dụng Android: 16 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP vii
- 2.3.6 Cảm biến IMU 19 2.4 LẬP TRÌNH SOCKET TCP 21 2.4.1. Khái niệm Socket 21 2.4.2. Đặc điểm Socket 22 2.4.3. Lập trình Socket dùng ngôn ngữ Python 22 2.4.4. Lập trình Socket dùng ngôn ngữ Java trong Android 23 2.5 GIỚI THIỆU PHẦN CỨNG 24 2.5.1 Board Raspberry Pi 25 2.5.2 USB Wifi TP-Link 29 2.5.3 USB Webcam Logitech 30 2.5.4 Mạch điều khiển động cơ L298 31 2.5.5 Động cơ điện một chiều 34 Chương 3. TÍNH TOÁN VÀ THIẾT KẾ 36 3.1 GIỚI THIỆU 36 3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 36 3.2.1 Thiết kế sơ đồ khối hệ thống 36 3.2.2 Tính toán và thiết kế mạch 38 3.2.3 Sơ đồ nguyên lý của toàn mạch 40 Chương 4. THI CÔNG HỆ THỐNG 41 4.1 GIỚI THIỆU 41 4.2 THI CÔNG HỆ THỐNG 41 4.2.1 Thi công mạch 41 4.2.2 Thi công khung Robot 41 4.2.3 Lắp ráp và kiểm tra 44 4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 44 4.4 LẬP TRÌNH HỆ THỐNG 46 4.4.1 Lưu đồ giải thuật 46 4.4.2 Phần mềm lập trình cho board Raspberry Pi 53 4.4.3 Phần mềm lập trình cho điện thoại: 59 4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC 78 Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 81 5.1 KẾT QUẢ 81 5.1.1 Cảm biến Orientation 81 5.1.2 Raspberry Pi 81 5.1.3 Module Wifi 81 5.1.4 Module L298 81 5.1.5 Thiết kế Robot 81 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP viii
- 5.1.6 Khối nguồn 82 5.1.7 Lập trình ưng dụng Android điều khiển 82 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 84 Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85 6.1 KẾT LUẬN 85 6.2 HƯỚNG PHÁT TRIỂN 85 TÀI LIỆU THAM KHẢO 87 PHỤ LỤC 89 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP ix
- LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1. Robot Dante lấy mẫu phân tích từ núi lửa 5 Hình 2.2. Sự phát triển của Robot 6 Hình 2.3. Robot di động dùng cơ cấu khớp và bánh xe. 8 Hình 2.4. Các loại Robot di động dùng cơ cấu bánh xích 8 Hình 2.5. Các loại bánh xe Robot 9 Hình 2.6. Robot di chuyển bằng bánh xe 9 Hình 2.7. Các loại mạng không dây 10 Hình 2.8. Các phiên bản của hệ điều hành android. 13 Hình 2.9. Kiến trúc hệ điều hành Android. 13 Hình 2.10. Công cụ lập trình cho Android. 14 Hình 2.11. Các file trong Android Project. 15 Hình 2.12. Vòng đời của một Activity. 17 Hình 2.13. Phướng hướng của cảm biến Accelerometer 19 Hình 2.14. Cảm biến con quay hồi chuyển 20 Hình 2.15. Cảm biến Magnetic 21 Hình 2.16. Mô hình giao tiếp giữa Server và Client sử dụng Socket. 22 Hình 2.17. Board Raspberry Pi 25 Hình 2.18. Sơ đồ các chân GPIO của board Raspberry Pi 28 Hình 2.19. Sự tương thích các thiết bị ngoại vi và Raspberry Pi 28 Hình 2.20. USB Wifi 29 Hình 2.21. Chipset trong USB Wifi 29 Hình 2.22. Webcam Logitech 30 Hình 2.23. Module L298. 31 Hình 2.24. Mạch cầu H được cấu tạo bởi hai cặp transistor 32 Hình 2.25. Dạng sóng điều chế PWM 34 Hình 2.26. Động cơ điện một chiều 34 Hình 3.1: Sơ đồ khối hệ thống. 37 Hình 3.2. Sơ đồ kết nối các thành phần trên Robot. 40 Hình 4.1. Mặt dưới và mặt trên của khung Robot 42 Hình 4.2. Các mảnh ghép mặt bên của khung Robot 42 Hình 4.3. Gá đỡ động cơ 43 Hình 4.4. Bánh xe dẫn động. 43 Hình 4.5. Động cơ DC 12V và bộ giảm tốc (1:48). 43 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP x
- Hình 4.6. Nguồn cung cấp cho Robot 43 Hình 4.7. Bố trí linh kiện mặt trên của Robot. 45 Hình 4.8. Bố trí linh kiện mặt dưới của Robot 45 Hình 4.9. Giao diện ứng dụng điều khiển Robot 46 Hình 4.10. Lưu đồ chương trình chính trên ứng dụng Android. 47 Hình 4.11. Lưu đồ kiểm tra đăng nhập ứng dụng. 48 Hình 4.12. Lưu đồ kiểm tra đăng nhập chương trình. 49 Hình 4.13. Xử lý thông số cảm biến Orientation, gửi tín hiệu điều khiển Robot 50 Hình 4.14. Xử lý thông tin hình ảnh Camera gửi về từ Robot. 51 Hình 4.15. Lưu đồ chương trình trên board Raspberry Pi. 52 Hình 4.16. Chương trình định dạng thẻ nhớ 53 Hình 4.17. Chương trình ghi hệ điều hành Raspbian 54 Hình 4.18. Chương trình kết nối Raspberry và máy tính 54 Hình 4.19. Màn hình đăng nhập vào kit Raspberry Pi 55 Hình 4.20. Đường dẫn cài đặt Java JDK phiên bản 8. 60 Hình 4.21. Lựa chọn phiên bản JDK phù hợp với hệ điều hành sử dụng. 60 Hình 4.22. File cài đặt Java JDK phiên bản 8 61 Hình 4.23. Bắt đầu cài đặt Java JDK phiên bản 8. 61 Hình 4.24. Tuỳ chọn nơi cài đặt Java JDK phiên bản 8. 61 Hình 4.25. Kết thúc cài đặt Java JDK kết thúc 62 Hình 4.26. Mở cửa sổ cấu hình Java JDK. 62 Hình 4.27. Cấu hình biến môi trường JAVA_HOME 63 Hình 4.28. Cấu hình đường dẫn biến môi trường JAVA_HOME. 63 Hình 4.29. Quá trình download Android Studio. 64 Hình 4.30. File cài đặt Android Studio. 64 Hình 4.31. Chương trình cài đặt Andorid Studio 64 Hình 4.32. Tuỳ chọn cài đặt Android Studio 65 Hình 4.33. Điều khoản của phần mềm Android Studio 65 Hình 4.34. Đường dẫn thư mục cài đặt Android Studio 66 Hình 4.35. Tuỳ chọn máy ảo của phần mềm Android Studio 66 Hình 4.36. Cài đặt chương trình 67 Hình 4.37. Cài đặt chương trình hoàn thành 67 Hình 4.38. Kết thúc cài đặt phần mềm Android Studio 68 Hình 4.39. Tuỳ chọn thiết lập phần mềm Android Studio 68 Hình 4.40. Tuỳ chọn giao diện phần mềm Android Studio 69 Hình 4.41. Cập nhật thành phần của phần mềm Android Studio 69 Hình 4.42. Kết thúc thiết lập phần mềm Android Studio 70 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xi
- Hình 4.43. Cửa sổ tạo project trong phần mềm Android Studio. 70 Hình 4.44. Đặt tên và chọn đường dẫn lưu project. 71 Hình 4.45. Chọn đối tượng Phone and Tablet để lập trình 72 Hình 4.46. Chọn cấu hình Activity trống để lập trình. 72 Hình 4.47. Đặt tên cho Activity và tên file layout của Activity chính. 73 Hình 4.48. Quá trình khởi tạo project dùng Android Studio. 73 Hình 4.49. Cửa sổ mẹo vặt của phần mềm. 73 Hình 4.50. Cửa sổ MainActivity. 74 Hình 4.51. Cửa sổ AndroidManifest. 74 Hình 4.52. Cửa sổ Layout giao diện đồ hoạ. 74 Hình 4.53. Cửa số Layout giao diện dòng lệnh. 74 Hình 4.54. Chọn thiết bị để biên dịch chương trình. 75 Hình 4.55. Cửa sổ chọn thiết bị để phần mềm biên dịch. 75 Hình 4.56. Ứng dụng sau khi được biên dịch trên thiết bị thực tế. 75 Hình 4.57. Lưu đồ điều khiển Robot dùng điện thoại Andoird 78 Hình 4.58. Cấp nguồn cho hệ thống 79 Hình 4.59. Khởi động ứng dụng điều khiển trên điện thoại Android 80 Hình 4.60. Giao diện điều khiển Robot 80 Hình 5.1. Mô hình Robot 82 Hình 5.2. Giao diện đăng nhập của ứng dụng 83 Hình 5.3. Giao diện điều khiển và nhận hình ảnh của ứng dụng 83 Hình 6.1. Màn hình hiển thị Robot khi trang bị cảm biến laser scanner. 86 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xii
- LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Bảng phân chia mạng không dây theo tiêu chuẩn IEEE 802.11. 11 Bảng 2.2: Các phương thức chung cho Socket: 23 Bảng 2.3. Phân loại board Raspberry Pi 26 Bảng 2.4. Thông số webcam 30 Bảng 2.5. Thông số Module L298 31 Bảng 2.6. Chức năng các chân Module L298 31 Bảng 2.7. Bảng tín hiệu điều khiển Robot. 33 Bảng 3.1. Điện áp và dòng điện hệ thống . 39 Bảng 4.1. Danh sách các linh kiện. 41 Bảng 4.2. Chương trình hệ thống trên board Raspberry Pi 57 Bảng 4.3. Khai báo quyền truy cập mạng 76 Bảng 4.4. Khai báo cảm biến Orientation. 76 Bảng 4.5. Xử lý tín hiệu điều khiển Robot. 76 Bảng 4.6. Chương trình nhận dữ liệu hình ảnh. 77 Bảng 4.7. Chương trình khởi tạo Socket. 77 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xiii
- TÓM TẮT Trong những năm gần đây, công nghệ kỹ thuật cao trong việc chế tạo linh kiện điện tử tích hợp phát triển vượt bậc. Việc sử dụng điện thoại thông minh để hỗ trợ các công việc trong công tác quan sát, điều khiển các thiết bị nơi nguy hiểm càng phổ biến. Trong đó, điện thoại thông mình dùng hệ điều hành Android rất đa dạng, giá thành rẻ được mọi người ưa chuộng. Các máy tính nhúng như Raspberry Pi dùng hệ điều hành mở Linux được các nhà tài trợ phát triển và hỗ trợ cung cấp đến mọi đối tượng. Đề tài sử dụng điện thoại dùng hệ điều hành Android điều khiển hướng di chuyển của Robot bằng cảm biến Orientation. Việc điều khiển được thực hiện bằng cách nghiêng điện thoại theo các hướng muốn Robot di chuyển. Khi Robot di chuyển sẽ có hình ảnh truyền về từ Robot và hiển thị lên màn hình điện thoại. Tất cả thông tin điều khiển được hiển thị trên màn hình điện thoại. Hệ thống sẽ giúp người điều khiển quan sát được hình ảnh từ xa thông qua Robot, đồng thời giúp người điều khiển có cảm giác đang điều khiển xe thật sự. Hệ thống sử dụng môi trường mạng không dây Wifi để truyền tải hình ảnh được rõ nét và việc điều khiển chính xác nhất. Tuy nhiên, Robot hoạt động dưới sự kiểm soát của board Raspberry Pi thông qua điều khiển động cơ DC còn chưa nhạy, sai số khi điều khiển chưa thấp được như mong đợi. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xiv
- CHƯƠNG 1. TỔNG QUAN Chương 1. TỔNG QUAN 1.1. ĐẶT VẤN ĐỀ Trong những năm gần đây, việc áp dụng khoa học – kỹ thuật vào việc nghiên cứu, xây dựng, thám hiểm và cứu hộ ngày càng phát triển. Các công trình ngầm hóa như: các tuyến hầm thông xe, các hệ thống cấp thoát nướ c, các hệ thố ng điện lực, viễn thông . Ngoài ra, các cuộc thám hiển hang động, các di tích có không gian chật hẹp cũng như công tác cứu hộ khi xảy ra tai nạn lao động như sập hầm, môi trường rò rỉ khí gas, khí metan mà con người không thể trực tiếp tiếp xúc. Đối với các công trình xây dựng, ngay từ khâu khảo sát xây dựng đã phải có kế hoạch đảm bảo an toàn lao động cho con người bằng cách phân tích môi trường, khảo sát địa chất. Khi công trình hoàn thành, việc vận hành và bảo trì cũng như khi gặp sự cố cũng gặp khó khăn do không gian chật hẹp của hầm ngầm cũng như điều kiện môi trườ ng như thiếu ánh sáng, thiếu khí ô-xy. Đối với công tác thám hiểm, việc khảo sát trước địa hình mà con người đặt chân đến cũng rất quan trọng, nó đảm bảo sự an toàn cho cả đoàn khảo sát. Đối với công tác cứu hộ, khi môi trường lao động không còn được đảm bảo, việc cứu hộ không đúng quy trình rất nguy hiểm choự l c lượng cứu hộ. Với lý do vừa nêu, Robot di động sẽ thay thế con người trong làm các nhiệm vụ nguy hiểm đó. Robot có thể di chuyển linh hoạt trong không gian chật hẹp do có kích thước nhỏ gọn và linh hoạt. Ngoài ra, Robot còn được trang bị camera để người điều khiển có thể quan sát khoảng không gian bên trong hay các loại cảm biến để xử lý các thông tin điều kiện môi trường như: nhiệt độ, độ ẩm và gửi dữ liệu đó về cho người điều khiển để có thể nhận biết được điều kiện môi trường nơi cần khảo sát. Vớ i mục tiêu thay con ngườ i làm việc ở vùng nguy hiể m, hiện tại đã có các ứ ng dụng Robot sử dụng các vi điều khiể n như PIC, Atmel, Freescale . Đặc biệt là board Arduino sử dụng dòng chip AVR được thiết kế ở Italia và phát hành năm 2005. Board Arduino có một thư viện mã nguồn mở đầy đủ, bao gồm cả thư viện, sơ đồ nguyên lý giúp cho những người chưa từng tiếp xúc với việc lập trình cũng có thể sử dụng được. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 1
- CHƯƠNG 1. TỔNG QUAN Tuy nhiên, đối với các yêu cầu cao hơn mà các loại vi điều khiển hay board Arduino chưa làm được thì các máy tính nhúng như Raspberry Pi và Intel Galileo giúp cho việc xử lý và truyền tải lượng lớn dữ liệu được dễ dàng hơn. So với các máy tính nhúng khác, Raspberry Pi được trang bị cấu hình phần cứng chuyên dùng cho các tác vụ liên quan đến xử lý hình ảnh, giúp cho việc sử dụng đơn giản hơn. Mặt khác, các điện thoại sử dụng hệ điều hành Android cũng đang được mọi người lựa chọn sử dụng càng nhiều nên chúng tôi chọn đề tài:” Điều khiển Robot bằ ng board Raspberry Pi và ứng dụng Android”. 1.2. MỤC TIÊU Thiết kế một mô hình Robot điều khiể n từ xa bằng điện thoại sử dụng hệ điều hành Android di chuyể n trong địa hình bằng phẳ ng. Ứ ng dụng Android được xây dựng sử dụng cảm biến phương hướ ng (orientation) để gử i tín hiệu điều khiể n. Board Raspberry Pi nhận lệnh để điều khiể n các động cơ và xử lý hinh̀ ảnh thu được trên Robot. Sau đó, hình ảnh được truyền về hiể n thị trên điện thoại. 1.3. NỘi DUNG NGHIÊN CỨU Để có thể thiết kế được một Robot có thể di chuyể n linh hoạt và gử i được hình ảnh thu được về điện thoại sử dụng hệ điều hành Android cần tim̀ hiể u các nội dung: NỘI DUNG 1: Ky ̃ thuật lập triǹ h ngôn ngữ Python trong môi trường Linux. NỘI DUNG 2: Cách sử dụng phần mềm Android Studio để viết một ứ ng dụng điều khiể n Robot và nhận dữ liệu hình ảnh từ Robot gử i về. NỘI DUNG 3: Tìm hiểu phương thức lập trình “Socket” giữa board Raspberry Pi và ứ ng dụng Android. NỘI DUNG 4: Cách truyền nhận tín hiệu hình ảnh giữa camera trên board Raspberry Pi và úng dụng Android. NỘI DUNG 5: Cách điều khiể n động cơ DC bằng phương pháp băm xung – PWM. NỘI DUNG 6: Cách sử dụng phần mềm Solidworks để thiết kế khung xe Robot. NỘI DUNG 7: Đánh giá và hiệu chỉnh sự làm việc của ứ ng dụng Android điều khiể n Robot. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2
- CHƯƠNG 1. TỔNG QUAN 1.4. GIỚI HẠN Đề tài: Điều khiển Robot bằng board Raspberry Pi và ứng dụng Android gặp phải các giới hạn bao gồm: Robot có kích thước: 25 cm x 15 cm x 10cm (dài x rộng x cao). Điều khiể n Robot di chuyể n tốc độ: 20 cm/s. Địa hình di chuyển cóê b ̀ mặt bằng phẳng, it́ gồ ghề, ít dốc cao. Khoảng cách điều khiể n qua môi trường không dây sử dụng phương pháp lập trình “Socket” giớ i hạn ở 20 mét. Hình ảnh không gian có chất lượng tốt. Giao diện điều khiể n ứng dụng Android đơn giả n. 1.5. BỐ CỤC Chương 1: Tổng Quan Chương 2: Cơ Sở Lý Thuyết. Chương 3: Thiết Kế và Tính Toán. Chương 4: Thi Công Hệ Thống. Chương 5: Kết Quả, Nhận Xét và Đánh Giá Chương 6: Kết Luận và Hướng Phát Triển Nội dung các chương như sau: Chương 1: Tổng quan. Chương này trình bày tổ ng quan về đề tài nghiên cứ u, các nhiệm vụ, các giớ i hạn và bố cục của đề tài phải thực hiện. Chương 2: Cơ sở lý thuyế t. Chương này trình bày cơ sở lý thuyết khái quát về Robot di động. Công nghệ truyền dữ liệu trong môi trường mạng không dây. Giới thiệu và cấu trúc của hệ điều hành Android. Các cảm biến tích hợp trong điện thoại thông minh. Lập trình Socket trong Python. Chuẩn hình ảnh sử dụng trong Webcam Camera. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3
- CHƯƠNG 1. TỔNG QUAN Chương 3: Tính toá n và thiết kế. Chương này gồ m các bướ c thiết kế phần cứ ng và phần mềm. Sơ đồ khối hệ thống. Điều khiển động cơ sử dụng cầu H và phương pháp băm xung – PWM. Cách truyền hình ảnh giữa board Raspberry Pi và ứng dụng Android. Thiết lập kết nối giữa Robot và Android. Lựa chọn và kết nối linh kiện, module cho Robot Chương 4: Thi công hệ thống. Chương này gồ m các bước thi công mô hình, lập trình hệ thống. Lưu đồ giải thuật hệ thống. Hướng dẫn cài đặt hệ điều hành, cài đặt phần mềm lập trình và biên dịch chương trình hệ thống. Hướng dẫn sử dụng hệ thống. Chương 5: Kế t quả, nhận xét và đá nh giá . Chương này trình bày kết quả sau khi thi công hệ thống, các hình ảnh về hệ thống. Nhận xét về ưu điể m, nhược điể m và đánh giá so với mục tiêu của đề tài. Chương 6: Kế t luận và hướ ng phá t triển. Chương này trình bày kết luận nghiên cứ u đề tài và đề ra các giải pháp phát triể n cho đề tài. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4
- CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2. CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ ROBOT Theo tốc độ phát triển của xã hội, nhu cầu tự động hoá trong sản xuất, đời sống, nghiên cứu khoa học, tìm kiếm cứu nạn, y tế và quốc phòng ngày càng cấp thiết. Do đó, nhu cầu của con người cần làm ra một sản phẩm có thể thay thế con người hoạt động trong các lĩnh vực đó một cách chính xác, hiệu quả và an toàn. Từ đó, các Robot được nghiên cứu, phát triển và sản xuất ngày càng đa dạng, phục vụ trong mọi lĩnh vực của con người. Robot là một sản phẩm hoạt động một cách có hệ thống, được điều khiển bởi các thuật toán được lập trình sẵn bởi các vi mạch điện tử. Con người chế tạo Robot thường được sử dụng các công việc lặp đi lặp lại, các công việc nguy hiểm Robot là sự ghép nối giữa thành phần phần cứng và phần mềm điều khiển, dùng để thực hiện các nhiệm vụ lắp ráp theo dây chuyền, quan sát, do thám, thu thập thông tin hay để vận chuyển các sản phẩm khác có mục đích xác định. Hình 2.1. Robot Dante lấy mẫu phân tích từ núi lửa BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5
- CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Ở thập niên 20s của thế kỷ XX, thuật ngữ Robot xuất hiện trong một vở kịch. Kể từ đó, các Robot thương mại và các Robot công nghiệp được sản xuất với nhiều ưu điểm chính xác, giá thành rẻ hơn và đáng tin cậy hơn. Có nhiều cách để phân loại Robot như: không gian làm việc, phương thức điều khiển hay thế hệ Robot. Trải qua nhiều thế hệ, các Robot đầu tiên hoạt động mà không thay đổi được chu trình, Robot sử dụng các cảm biến để giao tiếp với môi trường bên ngoài, Robot sử dụng các bộ điều khiển PLC (Programmable Logic Controller), Robot dùng ngôn ngữ lập trình cấp cao như C, C++ hoặc các chương trình để lập trình và thế hệ hiện náy sử dụng trí tuệ nhân tạo (hình ảnh, tiếng nói, cảm xúc). Hiện nay, một chuyên ngành về khoa học Robot (Robotics) đã hình thành và phát triển rất rộng, bao gồm nhiều vấn đề trong cơ cấu chấp hành, cơ cấu vận động, các giác quan và cảm xúc nhân tạo. Hình 2.2. Sự phát triển của Robot 2.1.1 Robot di động Lĩnh vực Robot rất rộng, tuy nhiên thì lĩnh vực cơ bản là Robot di động rất thường gặp trong đời sống. Robot có khả năng di động được dưới sự điều khiển là loại Robot được trang bị các khớp chuyển động hoặc bằng bánh xe để đạt được một mục tiêu cụ thể. Robot có thể hoạt động trong môi trường, khí hậu khắc nghiệt. Địa hình di chuyển của Robot vì thế cũng rất đa dạng. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6
- S K L 0 0 2 1 5 4



