Đồ án Lập trình robot 3 bánh di chuyển theo người sử dụng camera Kinect (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Lập trình robot 3 bánh di chuyển theo người sử dụng camera Kinect (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:
do_an_lap_trinh_robot_3_banh_di_chuyen_theo_nguoi_su_dung_ca.pdf
Nội dung text: Đồ án Lập trình robot 3 bánh di chuyển theo người sử dụng camera Kinect (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 ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG LẬP TRÌNH ROBOT 3 BÁNH DI CHUYỂN THEO NGƯỜI SỬ DỤNG CAMERA KINECT GVHD:Ths. NGUYỄN TẤN NHƯ SVTH: VÕ NGỌC THẨM MSSV: 13141608 SVTH: NGUYỄN HỮU MINH ANH MSSV: 13141005 S K L 0 0 4 9 7 9 Tp. Hồ Chí Minh, tháng 07/2017
- TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP LẬP TRÌNH ROBOT 3 BÁNH DI CHUYỂN THEO NGƯỜI SỬ DỤNG CAMERA KINECT SVTH1: VÕ NGỌC THẨM MSSV : 13141608 SVTH2: NGUYỄN HỮU MINH ANH MSSV : 13141005 Khóa : 2013 – 2017 Ngành : CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG GVHD :Ths. NGUYỄN TẤN NHƯ Tp. Hồ Chí Minh, tháng 7 năm 2017 i
- CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc Tp. Hồ Chí Minh, ngày 11 tháng 7 năm 2017 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: Võ Ngọc Thẩm MSSV: 13141608 Nguyễn Hữu Minh Anh MSSV: 13141005 Ngành: Công Nghệ Kỹ Thuật Điện tử, Truyền thông Lớp: 13141CLDT2 Giảng viên hướng dẫn: Nguyễn Tấn Như ĐT: 0983483098 Ngày nhận đề tài: 21/02/2017 Ngày nộp đề tài: 11/7/2017 1. Tên đề tài: Lập trình Robot 3 bánh di chuyển theo người sử dụng camera Kinect. 2. Các số liệu, tài liệu ban đầu: Bên cạnh kiến thức cơ bản về các môn Mạch điện, Điện tử cơ bản, Vi xử lý và Lập trình nhúng. Đồ án đã được thực hiện trên cơ sở nghiên cứu và tham khảo những đồ án tốt nghiệp, công trình nghiên cứu khoa học trong lĩnh vực điều khiển Robot ứng dụng trên thực tế, ứng dụng lợi ích của camera Kinect và sự hỗ trợ rất phong phú của hệ điều hành mã nguồn mở ROS cùng việc kết hợp các linh kiện để tạo ra một con Robot có chức năng di chuyển theo con người nhằm ứng dụng vào thực tiễn cuộc sống. 3. Nội dung thực hiện đề tài: - Tìm hiều về động cơ servo DC. - Tìm hiều về board arduno DUE. - Tìm hiểu về camera Kinect. ii
- - Tìm hiều về phần mềm viết chương trình cho Arduino DUE. - Tìm hiểu về phần mềm ROS. - Tìm hiều thuật toán PID. - Thiết kế mạch điện bên trong. - Viết chương trình xử lí cho board Arduino. - Cho robot chạy thực nghiệm. - Điều chỉnh cho robot hoạt động ổn định. - Viết quyển báo cáo đồ án tốt nghiệp. - Báo cáo đề tài tốt nghiệp. 4. Sản phẩm: Một Robot 3 bánh di chuyển theo người sử dụng camera Kinect. TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN iii
- CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên Sinh viên: Võ Ngọc Thẩm MSSV: 13141608 Nguyễn Hữu Minh Anh MSSV: 13141005 Ngành: Công Nghệ Kỹ Thuật Điện Tử, Truyền Thông Tên đề tài: Lập trình Robot 3 bánh di chuyển theo người sử dụng camera Kinect. Họ và tên Giáo viên hướng dẫn: Nguyễn Tấn Như NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: . 2. Ưu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không? 5. Đánh giá loại: 6. Điểm: (Bằngchữ: ) Tp. Hồ Chí Minh, ngày tháng năm 2017 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) iv
- CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên: Võ Ngọc Thẩm MSSV: 13141608 Nguyễn Hữu Minh Anh MSSV: 13141005 Ngành: Công Nghệ Kỹ Thuật Điện Tử, Truyền Thông Tên đề tài: Lập trình Robot 3 bánh di chuyển theo người sử dụng camera Kinect. Họ và tên Giáo viên phản biện: . NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: . 2. Ưu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không? 5. Đánh giá loại: 6. Điểm (Bằng chữ: ) Tp. Hồ Chí Minh, ngày tháng năm 2017 Giáo viên phản biện (Ký & ghi rõ họ tên) v
- LỜI CẢM ƠN Lời đầu tiên, sinh viên thực hiện đề tài xin được phép chân thành gửi lời cảm ơn đến thầy giáo Nguyễn Tấn Như, là giảng viên hướng dẫn đề tài đã định hướng và trao đổi những kinh nghiệm quý báu để sinh viên thực hiện những nội dung trong đề tài một cách hoàn chỉnh. Sinh viên thực hiện đề tài cũng xin trân trọng cảm ơn các thầy(cô) trong trường Đại Học Sư Phạm Kỹ Thuật nói chung và thầy(cô) bộ môn Điện Tử Công Nghiệp nói riêng đã tận tình truyền đạt những kiến thức nền tảng để sinh viên thực hiện hoàn thành tốt đề tài. Sau cùng xin cảm ơn những người thân, bạn bè đã giúp đỡ để đồ án này được hoàn thành tốt đẹp. Tuy nhiên do kinh nghiệm thiết kế hệ thống vi điều khiển, hệ thống Robot, trình độ và kỹ năng giải quết các vấn đề phát sinh trong lúc thực hiện còn hạn chế, nắm bắt thông tin chưa kịp thời nên không tránh khỏi những sai sót. Người thực hiện đề tài rất mong nhận được sự thông cảm, góp ý và chỉ dẫn thêm của thầy cô cùng các bạn. Em xin chân thành cảm ơn. Tp. Hồ Chí Minh, ngày tháng năm 2017 Sinh viên thực hiện 1 Sinh viên thực hiện 2 Võ Ngọc Thẩm Nguyễn Hữu Minh Anh vi
- TÓM TẮT Robot đang dần thay thế con người làm những công việc nặng nhọc và trong môi trường độc hại. Việc tạo ra những robot thông minh có thể hoạt động hoàn toàn tự động để giúp đỡ con người trong cuộc sống hằng ngày cũng như trong nhà máy, xí nghiệp là một nhiệm vụ cấp thiết, nhất là khi thế giới đang bước vào cuộc cách mạng công nghệ mới. Với mục đích nghiên cứu và thi công được sản phẩm có tính ứng dụng cao vào thực tiễn, nhóm quyết định chọn đề tài “Lập trình Robot 3 bánh di chuyển theo người sử dụng camera Kinect” sẽ nghiên cứu và thi công được một Robot có chức năng di chuyển theo con người và thay thế con người bưng bê, vận chuyển những vật nặng nhọc. Dựa trên cơ sở thu thập dữ liệu hình ảnh bằng camera, qua bộ xử lý để điều khiển cơ cấu chấp hành là bánh xe di chuyển. Cụ thể, trong đề tài này nhóm chúng em sử dụng camera Kinect với gói thư viện Openni_tracker hỗ trợ để đọc dữ liệu toạ độ vị trí hông của con người truyền về bộ xử lý trung tâm là máy tính. Tại đây máy tính sẽ tính toán tốc độ di chuyển của robot rồi gửi dữ liệu xuống board Arduino DUE để điều khiển cho các bánh xe chuyển động và tất cả các quá trình này đều được thực hiện dựa trên việc ứng dụng hệ điều hành điều khiển Robot là Robot Operating System (ROS). Sau hơn 4 tháng thực hiện đề tài, nhóm đã thi công được Robot di chuyển hoàn toàn tự động theo người và hoạt động một cách ổn định. Đây là một điểm nổi bật hơn so với các ứng dụng Robot điều khiển bằng tay trước đây. Sau khi được cải tiến về mặt cơ khí thì đề tài có ý nghĩa rất lớn trong cuộc sống, là cơ sở để phát triển ứng dụng Robot nhằm hỗ trợ tối đa cho con người. vii
- SUMMARY Humans are gradually replaced by robots, which do hard work in hazardous environments. Making intelligent robots which can completely automatic operate to help humans in daily life, even in factory is such a necessary mission, especially, when the whole world is approaching the new technological age. With the purpose to research and make applied products to reality, our team make decision to choose project named “Programming 3 wheels Robot following human using Kinect camera”, which is made to follow human, carry, transport heavy things for human. Based on collecting image data using camera, processor controls wheels to move. In detail, in this project, our team uses Kinect camera with Openni_tracker package to read co-ordinate data of human head then transmit to central processing unit. The PC will compute moving velocity of the robot, then send data to Arduino DUE board to control the wheels to move and all the processes are implemented based on application operating system to control the Robot (ROS). After over 4 months implementing this project, our team made a completely automatic operating Robot following human and it worked stably. This project is more outstanding than the former projects. After being improved mechanics aspect, this project is meaningful to our life, it is a base to develop Robot application in order to assist people ultimately. viii
- MỤC LỤC ĐỒ ÁN TỐT NGHIỆP i NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN iv PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN v LỜI CẢM ƠN vi TÓM TẮT vii SUMMARY viii MỤC LỤC ix DANH MỤC CÁC CHỮ VIẾT TẮT xii DANH MỤC CÁC BẢNG BIỂU xiii DANH MỤC CÁC HÌNH ẢNH BIỂU ĐỒ xiv Chương 1 1 TỔNG QUAN 1 1.1. Lý do chọn đề tài 1 1.2. Tình hình nghiên cứu hiện nay 2 1.3. Mục tiêu 2 1.4. Nội dung nghiên cứu 2 1.5. Giới hạn 3 1.6. Phương pháp nghiên cứu 3 1.7. Bố cục đồ án 3 Chương 2 5 CƠ SỞ LÝ THUYẾT 5 2.1. Hệ điều hành Robot Operating System (ROS) 5 2.1.1. ROS là gì? 5 2.1.2. Cấu trúc của ROS 6 2.2. Phương pháp chuyển ảnh từ 2D sang 3D của cảm biến Kinect 9 ix
- 2.2.1. Cảm biến hình ảnh (RGB-D) 9 2.2.2. Cảm biến đo chiều sâu (depth sensor) 9 2.2.3. Phương pháp tạo ra ảnh 3D 9 2.3. Mô hình toán robot 3 bánh 11 2.3.1. Thuật toán transform (/tf) 12 2.3.2. Mô hình động lực học. 16 2.4. Thuật toán PID 19 Chương 3 24 TÍNH TOÁN VÀ THIẾT KẾ 24 3.1. Sơ đồ khối hệ thống 24 3.2. Tính toán và thiết kế hệ thống 26 3.2.1. Khối điều khiển – Arduino DUE 26 3.2.2. Camera Kinect 28 3.2.3. Khối chấp hành – động cơ DC giảm tốc Faulhaber 12V 31 3.2.4. Khối cảm biến – Encoder 34 3.2.5. Khối công suất – Module mạch cầu HL298 37 3.2.6. Khối nguồn 39 3.3. Sơ đồ nguyên lý hệ thống 40 Chương 4 42 THI CÔNG HỆ THỐNG 42 4.1. Thi công hệ thống 42 4.1.1. Khung Robot 42 4.1.2. Các bộ phận bằng nhựa. 44 4.1.3. Linh kiện cơ khí. 45 4.2. LẬP TRÌNH HỆ THỐNG. 46 4.2.1. Sơ đồ hệ thống các Node trong chương trình. 46 4.2.2. Lưu đồ giải thuật của hệ thống. 47 4.3. VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 49 4.3.1. Viết tài liệu hướng dẫn sử dụng. 49 x
- 4.3.2. Quy trình thao tác. 49 Chương 5 55 KẾT QUẢ SO SÁNH, THỰC NGHIỆM VÀ PHÂN TÍCH 55 5.1. Kết quả quá trình thực hiện đề tài và phân tích 55 5.1.1. Kết quả nhận diện con người 55 5.1.2. Kết quả quá trình điều khiển Robot 66 5.2. Nhận xét và tổng hợp 75 Chương 6 77 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 77 6.1. Kết luận 77 6.2. Hướng phát triển 77 TÀI LIỆU THAM KHẢO 78 PHỤ LỤC 79 xi
- DANH MỤC CÁC CHỮ VIẾT TẮT - PC: Personal Computer - ROS: Robot Operating System - DC: Direct Current - PID: Proportional Integral Derivative - tf: Transformation - RGB: Red Green Blue - PWM: Pulse Width Modulation - RPM: Revolutions Per Minute xii
- DANH MỤC CÁC BẢNG BIỂU Bảng 2.1: Tác động của việc thay đổi một trong các thông số Kp, KI, KD độc lập. 21 Bảng 2.2 : Thông số điều chỉnh Kp, Ki, Kd. 23 Bảng 3.1: Thông số kỹ thuật của Arduino Due. 27 Bảng 5.1: Bảng thu thập dữ liệu của Kinect trong các điều kiện môi trường khác nhau. 66 xiii
- DANH MỤC CÁC HÌNH ẢNH BIỂU ĐỒ Hình 1.1: Robot mang vật nặng cho người già 1 Hình 1.2: Robot mang hành lý di chuyển theo người dùng GPS 2 Hình 2.1: Cấu trúc tầng File system 6 Hình 2.2: Phương pháp chuyển từ ảnh 2D sang 3D 10 Hình 2.4: Chương trình mô phỏng cho hệ thống 13 Hình 2.5: Con rùa thứ hai di chuyển theo con rùa thứ nhất. 14 Hình 2.6: /tf trên ROS 15 Hình 2.7: Chuyển đổi hệ trục tọa độ 16 Hình 2.8: Mô hình động lực học 16 Hình 2.9: Tọa độ Robot xoay và chạy theo người 18 Hình 2.10: Sơ đồ các node trong hệ thống 19 Hình 2.11: Mô hình bộ điều khiển PID. 20 Hình 2.13: Cách tính toán PID 22 Hình 3.2: Mặt trước và mặt sau board Arduino DUE 26 Hình 3.3: Sơ đồ chân của kit Arduino 27 Hình 3.4: Cảm biến Kinect 28 Hình 3.5: Cấu tạo bên trong của Camera Kinect. 29 Hình 3.6: Vùng hoạt động của Kinect. 29 Hình 3.7: Góc hoạt động của Kinect. 30 Hình 3.8: Bộ khung xương tạo ra từ Kinect. 31 Hình 3.9: Điều chỉnh độ rộng xung PWM 32 Hình 3.10: Động cơ Faulhaber 12V. 33 Hình 3.11: Hình đĩa quay của encoder tuyệt đối (a) và encoder tương đối (b) 34 Hình 3.12: Optical Encoder 34 Hình 3.13: Hai kênh A và B lệch pha nhau trong encoder. 35 Hình 3.14: Cách đấu nối encoder trên động cơ vào mạch 36 Hình 3.5 Module mạch cầu HL298 37 Hình 3.16: Sơ đồ chân Module L298. 38 xiv
- Hình 3.17: Nguồn Acquy RL1212 cấp cho khối chấp hành. 39 Hình 3.18: Sơ đồ nguyên lý hệ thống 40 Hình 4.1: Mô hình thực tế hệ thống 42 Hình 4.2: Bản vẽ hình chiếu đứng và hình chiếu cạnh khung Robot 43 Hình 4.3: Bản vẽ hình chiếu bằng khung Robot. 44 Hình 4.5: Các bộ phận bằng nhựa của Robot. 45 Hình 4.6: Các bộ phận cơ khí của Robot. 46 Hình 4.7: Sơ đồ hệ thống các Node. 46 Hình 4.8: Lưu đồ giải thuật điều khiển của hệ thống. 48 Hình 4.9: Hệ thống chạy thực tế. 49 Hình 4.10: Quy trình các bước thực hiện. 50 Hình 4.11: Chọn board Arduino. 51 Hình 2.13: Mở cổng giao tiếp giữa Arduino và máy tính 52 Hình 4.14: Upload chương trình cho board Arduino. 52 Hình 4.15: Build chương trình. 53 Hình 4.17: Hình ảnh hiện trên màn hình máy tính. 54 Hình 5.1: Động tác thực hiện để lấy khung xương từ camera Kinect 55 Hình 5.2: Camera Kinect nhận dạng được khung xương 56 Hình 5.3: Tọa độ từng vị trí của khung xương 56 Hình 5.4: Khoảng cách Kinect đo được trên lý thuyết 57 Hình 5.5: Khoảng cách xa nhất camera Kinect đo được trong điều kiện trong nhà 57 Hình 5.6: Khoảng cách xa nhất đo được trong điều kiện ngoài trời không có nắng 58 Hình 5.7: Khoảng cách xa nhất Kinect đo được trong điều kiện ngoài trời có nắng 58 Hình 5.8: Khoảng cách xa nhất camera Kinect đo được trong điều kiện không có ánh sáng 59 Hình 5.9: Khoảng cách gần nhất camera Kinect đo được trong điều kiện trong nhà 59 xv
- Hình 5.10: Khoảng cách gần nhất camera Kinect đo được trong điều kiện ngoài trời không có nắng 60 Hình 5.11: Khoảng cách gần nhất camera Kinect đo được trong điều kiện ngoài trời có nắng 60 Hình 5.12: Khoảng cách gần nhất camera Kinect đo được trong điều kiện không có ánh sáng 61 Hình 5.13: Góc lớn nhất camera Kinect đo được trong điều kiện trong nhà 62 Hình 5.14: Góc lớn nhất camera Kinect đo được trong điều kiện ngoài trời không có nắng 62 Hình 5.15: Góc lớn nhất Kinect đo được trong điều kiện ngoài trời có nắng 63 Hình 5.16: Góc lớn nhất Kinect đo được trong điều kiện không có ánh sáng 63 Hình 5.17: Góc nhỏ nhất camera Kinect đo được trong điều kiện trong nhà 64 Hình 5.18: Góc nhỏ nhất camera Kinect đo được trong điều kiện ngoài trời không có nắng 64 Hình 5.19: Góc nhỏ nhất Kinect đo được trong điều kiện ngoài trời có nắng 65 Hình 5.20: Góc nhỏ nhất Kinect đo được trong điều kiện không có ánh sáng 65 Hình 5.21: Tốc độ của 2 bánh xe khi Angular_Kinect nhỏ. 67 Hình 5.22: Tốc độ của 2 bánh xe khi Angular_Kinect lớn. 67 Hình 5.23: Biểu đồ vận tốc khi con người đứng ở giữa Kinect. 68 Hình 5.24: Biểu đồ vận tốc khi con người đứng bên phải Kinect. 68 Hình 5.25: Biểu đồ vận tốc khi con người đứng bên trái Kinect. 69 Hình 5.26: Tốc độ của 2 bánh xe khi Kp_Angular bằng 2. 69 Hình 5.27: Tốc độ của 2 bánh xe khi Kp_Angular bằng 6. 70 Hình 5.28: Sự thay đổi tốc độ bánh xe khi con người di chuyển từ trái sang phải. . 71 Hình 5.29: Tốc độ của 2 bánh xe khi Linear_Kinect nhỏ. 72 Hình 5.30: Tốc độ của 2 bánh xe khi Linear_Kinect lớn. 72 Hình 5.31: Biểu đồ thể hiện tốc độ 2 bánh xe khi con người di chuyển lại gần Robot. 73 Hình 5.32: Biểu đồ thể hiện tốc độ 2 bánh xe khi con người di chuyển ra xa Robot. 73 xvi
- Hình 5.33: Tốc độ của 2 bánh xe khi Kp_Linear bằng 0.1. 74 Hình 5.34: Tốc độ của 2 bánh xe khi Kp_Linear bằng 0.5. 74 Hình 5.35: Sự thay đổi tuyến tính của tốc độ của bánh xe khi con người di chuyển. 75 Hình 5.35: Kết quả thực tế và mô phỏng của đề tài. 76 xvii
- Chương 1 TỔNG QUAN 1.1. Lý do chọn đề tài Thay thế con người làm việc trong môi trường độc hại, nặng nhọc là nhu cầu hết sức cần thiết đối với con người ở hiện tại và trong tương lai. Chính vì vậy, ý tưởng tạo ra một robot có thể mang, vác, bưng bê những vật nặng giúp cho con người trong cuộc sống hằng ngày, trong nhà máy xí nghiệp là việc làm mang tính cấp thiết. Robot di chuyển theo người là một loại Robot được ứng dụng rộng rãi. Nó có thể vận chuyển đồ cho người già như hình 1.1 hoặc robot có thể chở em bé đi theo sau người chăm sóc, có thể ứng dụng vào xe lăn để làm phương tiện di chuyển cho người khuyết tật mà không cần người đẩy v.v Robot di chuyển theo người được gắn một cảm biến Kinect để có thể nhận biết được người cần đi theo. Hình 1.1: Robot mang vật nặng cho người già Kinect là một thiết bị đầu vào, là cảm biến chuyển động do hãng Microsoft sản xuất dành cho Xbox 360 và máy tính Windows. Dựa trên một webcam kiểu add-on ngoại vi cho Xbox 360, nó cho phép người dùng điều khiển và tương tác với Xbox 360 mà không cần phải dùng đến một bộ điều khiển tay cầm, thông qua một giao diện người dùng tự nhiên bằng cử chỉ và lệnh nói. Chức năng chính của Kinect là một công cụ để người dùng tương tác với Xbox 360 bằng cử chỉ và lệnh nói. Vì lý do này, các bộ cảm biến có khả năng thu thập dữ liệu ở độ phân giải 640x480 điểm ảnh. Với các dữ liệu chiều sâu, có thể lấy được một khung xương của người đứng phía trước của cảm biến. Và với bộ xương đó, nó có thể nhận biết được cử chỉ của người sử dụng. Từ khi cảm biến Kinect ra đời đã tạo thành một cơn sốt cho việc chế tạo Robot nhận biết người. 1
- Từ những lí do trên, nhóm chúng em đã chọn đề tài: “Lập Trình Robot 3 Bánh Di Chuyển Theo Người Sử Dụng Cảm Biến Kinect” để vận chuyển vật nặng. Đề tài hoàn thành xong sẽ có ứng dụng rộng rãi trong đời sống và trong công nghiệp. 1.2. Tình hình nghiên cứu hiện nay Hơn nửa thế kỷ qua robot đã có những bước phát triển và tiến hóa mạnh mẽ. Các hướng nghiên cứu robot đang chuyển từ robot công nghiệp sang phát triển các robot dịch vụ và đưa robot hòa nhập vào các hoạt động của xã hội loài người. Việc tạo ra một robot có thể tự động di chuyển theo con người, thay thế con người mang vác những vật nặng nhọc trở nên rất cần thiết và hữu dụng trong cuộc sống. Hiện nay, đã có khá nhiều đề tài nghiên cứu về robot di chuyển theo người như: Robot di chuyển theo người dùng cảm biến siêu âm, robot di chuyển theo người dùng định vị GPS như hình 1.2. Hình 1.2: Robot mang hành lý di chuyển theo người dùng GPS Năm 2010 Microsoft cho ra mắt cảm biến Kinect với những tính năng vượt trội, như khả năng tương tác trực tiếp với con người. Đã có một số robot đi theo người được tạo ra sử dụng Kinect như Turtlebot1, turtlebot2. 1.3. Mục tiêu Lập trình cho mô hình Robot 3 bánh hoạt động tốt đúng như đề tài đặt ra, sử dụng cảm biến Kinect để nhận biết và xác định khung xương sau đó xuất ra vị trí con người từ đó Robot có thể di chuyển theo con người với khoảng cách xác định d. 1.4. Nội dung nghiên cứu Trong quá trình nghiên cứu đề tài, nhóm chúng em lần lượt thực hiện các bước cụ thể như sau: Giao tiếp PC với cảm biến Kinect - Phát hiện khung xương - Lấy được 1 điểm bất kì trên khung xương 2
- - Lấy được tọa độ của điểm bất kì đó (x,y,z) Giao tiếp PC với Arduino - Ros serial - Điều khiển tốc độ động cơ - Nghiên cứu mô hình toán của xe 2 bánh - Động cơ quay với tốc độ bao nhiêu Cho Robot chạy thực nghiệm. Điều chỉnh cho Robot hoạt động ổn định. Viết quyển báo cáo đồ án tốt nghiệp. Báo cáo đề tài tốt nghiệp. 1.5. Giới hạn Đề tài nghiên cứu Robot 3 bánh di chuyển theo con người sử dụng cảm biến Kinect được thực hiện trong những giới hạn cụ thể như sau: - Chỉnh sửa lại mô hình Robot. - Sử dụng động cơ servo DC 12V để cho Robot di chuyển. - Robot nhận biết vật thể bằng cảm biến Kinect. - Khoảng cách nhận biết tối đa là 4m. - Vận tốc tối đa của robot là 0.5 m/s. - Robot có thể chở vật nặng 3kg. 1.6. Phương pháp nghiên cứu Phương pháp thu thập thông tin, tự nghiên cứu, sau đó tổng hợp và đưa ra phương án thực hiện đề tài. Ý tưởng: Dùng máy tính để thu thập dữ liệu từ cảm biến Kinect, xử lý và gửi dữ liệu điều khiển xuống board Arduino. Board Arduino sẽ nhận tín hiệu điều khiển từ máy tính để điều khiển robot di chuyển. 1.7. Bố cục đồ án Chương 1: Tổng Quan : Đặt vấn đề liên quan đến đề tài, tìm hiểu những lý do và sự cần thiết để thực hiện đề tài, mục tiêu hoàn thành, giới hạn cũng như những bước đi từ cơ bản đến cụ thể mà nhóm sẽ thực hiện trong quá trình nghiên cứu đề tài. Chương 2: Cơ Sở Lý Thuyết : Giới thiệu về các kiến thức lý thuyết cơ bản về hệ chuyển đổi từ 2D sang 3D, mô hình toán robot 3 bánh , PID, các giải thuật được sử dụng trong chương trình đề thực hiện đề tài. Chương 3: Tính Toán và Thiết Kế: Trình bày sơ đồ khối của hệ thống, tính toán lựa chọn các thiết bị, linh kiện sử dụng trong đề tài. Thiết kế sơ đồ nguyên lý, sơ đồ đi dây cho toàn hệ thống. 3
- S K L 0 0 2 1 5 4



