ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ VIỆT NAM ROBOT VẼ BẢN ĐỒ ĐỊA HÌNH LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ VIỆT NAM ROBOT VẼ BẢN ĐỒ ĐỊA HÌNH Ngành: Công nghệ thông tin Mã số: 60.48.01.03 Chuyên ngành: Kỹ thuật phần mềm LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS PHẠM BẢO SƠN Hà Nội – 2015 Lời cam đoan Tôi xin cam đoan: (i) Luận văn sản phẩm nghiên cứu tôi, (ii) Số liệu luận văn điều tra trung thực, (iii) Tôi xin chịu trách nhiệm nghiên cứu Học viên Lê Việt Nam LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy hướng dẫn tôi, Phó Giáo sư-Tiến sĩ Phạm Bảo Sơn Thầy cho hội quý giá để theo đuổi nghiên cứu lĩnh vực yêu thích Trong suốt trình thực luận văn, thầy tận tình hướng dẫn cho tôi, đồng thời thầy cung cấp tài liệu thiết bị cần thiết để hoàn thành luận văn Đó vinh dự cho nhận Thạc sĩ Tiếp đến, xin chân thành cảm ơn thầy cô giáo Khoa Công nghệ Thông tin, Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt cho kiến thức kinh nghiệm vô quí báu trình học tập nghiên cứu Tôi muốn cảm ơn bạn lớp đồng nghiệp cho lời động viên, hỗ trợ góp ý chuyên môn quý báu Cuối cùng, xin cảm ơn gia đình, bạn bè, người bên cạnh ủng hộ động viên 5 MỤC LỤC Lời cam đoan Danh mục ký hiệu, viết tắt Danh mục hình vẽ CHƯƠNG 1: MỞ ĐẦU 1.1 Giới thiệu toán lập đồ 1.3 Một số thuậtngữ 10 1.2 1.4 Lịch sử SLAM 10 Bài toán SLAM 11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 18 2.1 Lọc Kalman 18 2.1.1 Ý tưởng Kalman 18 2.1.2 Lọc Kalman SLAM 19 2.1.3 Nhiều trắng, đường cong Gausian, trình tuyến tính 19 2.1.4 Phát triển lọc đơn giản 20 2.1.5 Phát triển lọc Kalman cho robot chuyển động 25 2.1.6 Phát triển lọc Kalman với môi trường thực tế cho SLAM 28 2.1.7 Bộ lọc Kalman mở rộng 32 2.1.8 Hạn chế kĩ thuật lọc Kalman 33 2.2 FastSLAM 35 2.2.1 Cách tiếp cận SLAM Bayes 35 2.2.2 Thuật toán FastSLAM 38 2.2.3 Fast SLAM particle 39 2.2.4 Ước lượng Pose 39 2.2.5 Ước lượng feature 40 2.2.6 Vòng lặp đóng với FastSLAM 41 2.3 DP-SLAM 43 2.3.1 Mô tảthuật toán DP-SLAM 43 2.3.2 Bản đồ phân bố Particle 44 2.3.3 DP-SLAM thực tế 45 CHƯƠNG 3: THỰC NGHIỆM 47 3.1 3.2 Mô hình thực nghiệm 47 Robot Lego NXT 48 3.2.1 Giới thiệu 48 3.2.3 Chương trình điều khiển 50 3.2.2 3.3 3.4 Lắp ráp robot 49 Chương trình Smartphone 51 Chương trình giám sát PC 54 KẾT LUẬN 57 TÀI LIỆU THAM KHẢO 59 Danh mục ký hiệu, viết tắt STT Từ viết tắt SLAM DP-SLAM KF Ý nghĩa Simultaneous Localization And Mapping – Đồng thời định vị lập đồ Distributed Particle for Simultaneous Localization And Mapping – Phân phối particle cho Đồng thời định vị lập đồ Kalman Filter – Bộ lọc Kalman EKF Extended Kalman filter – Bộ lọc Kalman mở rộng US sensor Ultrasonic sensor API PC IR sensor OS Infrared sensor – Cảm biến hồng ngoại Application Programming Interface – Giao diện lập trình ứng dụng Personal Computer – Máy tính cá nhân Operating System - Hệ điều hành Danh mục hình vẽ Hình 1.1 Tìm kiếm feature mô hình định vị 13 Hình 1.2 Cập nhật vị trí ước lượng mô hình định vị 14 Hình 1.3 Mô hình lập đồ 15 Hình 1.4 Sơ đồ thuật toán SLAM 17 Hình 2.1 Mô robot không gian chiều 20 Hình 2.2 Phân bố xác suất giá trị cảm biến không gian chiều 21 Hình 2.3 Phân bố xác suất kết hợp từ nhiều cảm biến 23 Hình 2.3 Ảnh hưởng chuyển động đến ước lượng trạng thái 27 Hình 2.4 Một ví dụ đóng vòng lặp 34 Hình 2.5 Mạng Bayesian đơn giản dùng cho SLAM 35 Hình 2.6 Minh họa d-khả ly 36 Hình 2.7 Mạng Bayesian liên quan đến vị trí robot 37 Hình 2.8 Lựa chọn particle tạm thời theo mật độ xác suất 40 Hình 2.9 Cây particle 44 Hình 2.10 Bản đồ phân bố particle 45 Hình 2.11 Bản đồ DP-SLAM với 9000 particle (Nguồn Eliazar Parr) 46 Hình 3.1 Các thành phần hệ thống 47 Hình 3.2 Các thành phần robot Lego 48 Hình 3.3 Sơ đồ lắp ráp Robot Lego 49 Hình 3.4 Robot sau lắp ráp 50 Hình 3.5 Cách bố trí Smartphone 52 Hình 3.6 Giao diện chương trình chạy mobile 54 Hình 3.7 Giao diện chương trình máy PC 55 Hình 3.8 Robot vẽ đồ phòng 56 1.1 CHƯƠNG 1: MỞ ĐẦU Giới thiệu toán lập đồ Bài toán lập đồ vấn đề nghiên cứu chủ yếu ngành Robot học Xét robot đơn giản sử dụng bánh xe có gắn động với thiết bị vật lý để kiểm soát tốc độ, hướng di chuyển cảm biến để thu thập thông tin môi trường Nhiệm vụ robot nàylà di chuyển để lập đồ nơi người không muốn tiếp cận, đồng thời robot tự xác định vị trí so với đối tượng xung quanh Kỹ thuật để robot thực nhiệm vụ gọi SLAM Một ví dụ đơn giản robot lập đồ sử dụng robot có điều khiển người Thông qua camera gắn robot, người điều khiển tiếp nhận thông tin để lập đồ nơi tiếp cận Trong trường hợp khác, lĩnh vực nghiên cứu SLAM ngành robot học cố gắng tìm phương pháp để robot hoạt động tự động mà không cần trợ giúp người Việc giải toán robot lập đồ giúp người nắm thông tin nơi có địa hình phức tạp có cấu trúc không ổn định Kỹ thuật SLAM giúp cho robot hoạt động nơi có địa hình thường xuyên thay đổi cập nhật lại thông tin đồ khu vực Robot vẽ đồ sử dụng để thăm dò nơi người tiếp cận lòng biển sâu, vùng bị thiên tai thảm họa, nơi có chiến sự, hành tinh khác,… Mục tiêu luận văn nghiên cứu kỹ thuật đưa số cải tiến để tăng hiệu cho toán SLAM tự động Luận văn đề cập đến lọc Kalman, xương sống thuật toán SLAM Tiếp đến luận văn trình bày phương pháp mở rộng Fast SLAM DP SLAM Cuối phần thực nghiệm robot Lego NXT kết đạt 10 1.2 Lịch sử SLAM SLAM lĩnh vực tương đối robot học Mãi đến năm 1980, Smith Durant –Whyte phát triển thể không chắn định vị Đây bước tiến lớn, quan trọng việc tìm kiếm giải pháp thực tế lý thuyết cho định vị robot Bài báo Smith Durrant-Whyte cung cấp tảng cho việc tìm kiếm cách hàn gắn lỗi Ngay sau báo Cheesman, Chatila, Crowley chứng minh tồn mối tương quan lỗi vị trí feature sai sót chuyển độngảnh hưởng đến tất định vị Đây bước cuối toán SLAM biết ngày 1.3 Một số thuậtngữ Trong mục này, đưa giải thích ngắn cho nhữngthuật ngữđược sử dụng nhiều luận văn - Thuật ngữ “feature” dùng để điểm cụ thể môi trường mà phát robot di động - Thuật ngữ “map” dùng để vector vị trí feature Trong thực tế feature vật thểnằm rải rác môi trường xung quanh robot, feature tường góc cạnh địa hình Khi feature tìm thấy, không tồn bền vững, robot thay đổi vị trí, theo dõi tất feature phát sẽcần phải tìm thấy chúng lần Một điều kiện cần để thực toán lập đồlà robot phải ước lượng khoảng cách từ đến feature tìm Khoảng cách ước lượng nhiều cách khác Nếu feature kích thước vật lý biết, kích cỡ ước lượng feature khoảng cách Một phương pháp khác sử dụng nhiều camera kĩ thuật ảnh để đo khoảng cách đường chéo [15] Ngoài ra, đo khoảng cách cảm biến hồng ngoại (IR sensor) cảm biến siêu âm (Ultrasonic 59 TÀI LIỆU THAM KHẢO [1] Austin Eliazar and Ronald Parr.“DP-SLAM: Fast, Robust Simultaneous Localization and Mapping Without Predetermined Landmarks” IJCAI'03 Proceedings of the 18th international joint conference on Artificial intelligence Pages 1135-1142 Morgan Kaufmann Publishers Inc San Francisco, CA, USA ©2003 [2] Castellanos, J.A., Neira, J., and Tardos, J.D “Limits to the consistencyof the EKF-based SLAM In Intelligent Autonomous Vehicles (IAV-2004) (Lisboa, PT, July 2004), IFAC/Elsevier M.I.Ribeiro and J.Santos-Victor, Eds., IFAC/EURON, [3] Castellanos, J.A., Neira, J., and Tardós, J.D “Multisensor fusion for simultaneous localization and map building” IEEE Transactions on Robotics and Automation 17, (December 2001), 908-914 [4] Durrant-Whyte, Hugh “Localization, Mapping, and the Simultaneous Localization and Mapping Problem.” AustralianCenter for Field Robotics Sydney 2002 [5] Durrant-Whyte, H and Bailey, T (2006) “Simultaneous localisation and mapping (slam): Part i the essential algorithms robotics and automation magazine”, IEEE Robotics and Automation Magazine, 2:2006 [6] Durrant-Whyte, “Uncertain geometry in robotics,” IEEE Trans Robot Automat., vol 4, pp 23–31, 1988 [7] Gerardo Oliveira, Ricardo Silva, Tiago Lira, Luis Paulo Reis “Environment Mapping using the Lego Mindstorms NXT and leJOS NXJ" the 14th Portuguese Conference on Artificial Intelligence, EPIA'2009 [8] Kalman, R.-E “A New Approach to Linear Filtering and Prediction Problems”, Transactions of the ASME - Journal of Basic Engineering 1960 82(D): p 35-45 60 [9] Li, J., Cheng, L., Wu, H., Xiong, L., and Wang, D., “An Overview of the Simultaneous Localization and Mapping on Mobile Robot”, Proceedings of 2012 International Conference on Modeling, Identification and Control, Wuhan, China, June 24‐26, 2012, pp 358‐364 [10] M Montemerlo, S Thrun, D Koller, and B Wegbreit “FastSLAM: A factored solution to the simultaneous localization and mapping problem” In AAAI-02, Edmonton, Canada, 2002 AAAI [11] MWMG Dissanayake, P Newman, S Clark, HF Durrant-Whyte, M Csorba.” A solution to the simultaneous localization and map building (SLAM) problem” Robotics and Automation, IEEE Transactions, 229-241 [12] Montemerlo, M and Thrun “Simultaneous localization and mapping with unknown data association using fastslam”.Trucco., and Alessandro Verri “Introductory Techniques for 3-D Computer Vision” Prentice Hall, 1998 [13] Stachniss, C., and Burgard, W “Exploration with active loop-closing for fastslam” In IROS (Sendai (Japan), Sep 2004), IEEE/RSJ [14] SB Williams, G Dissanayake, H Durrant-Whyte “An efficient approach to the simultaneous localisation and mapping problem” Robotics and Automation, 2002 Proceedings ICRA'02 IEEE International [15] Scharstein, Daniel “Computer Vision.” MiddleburyCollege Middlebury 2006 [16] Simon, D “Optimal State Estimation” New York: Wiley, 2006 [17] Tuna, G., Gulez, K., Gungor, V C., and Mumcu, T V “Evaluations of Different Simultaneous Localization and Mapping (SLAM) Algorithms” 38th Annual Conference on IEEE Industrial Electronics Society, Montreal, Canada, Oct 25‐28, 2012, pp 2693‐ 2698 [18] Trucco., and Alessandro Verri “Introductory Techniques for 3-D Computer Vision” Prentice Hall, 1998 [...]... Transactions on Robotics and Automation 17, 6 (December 2001), 908-914 [4] Durrant-Whyte, Hugh “Localization, Mapping, and the Simultaneous Localization and Mapping Problem.” AustralianCenter for Field Robotics Sydney 2002 [5] Durrant-Whyte, H and Bailey, T (2006) “Simultaneous localisation and mapping (slam): Part i the essential algorithms robotics and automation magazine”, IEEE Robotics and Automation... “Simultaneous localisation and mapping (slam): Part i the essential algorithms robotics and automation magazine”, IEEE Robotics and Automation Magazine, 2:2006 [6] Durrant-Whyte, “Uncertain geometry in robotics,” IEEE Trans Robot Automat., vol 4, pp 23–31, 1988 [7] Gerardo Oliveira, Ricardo Silva, Tiago Lira, Luis Paulo Reis “Environment Mapping using the Lego Mindstorms NXT and leJOS NXJ" the 14th Portuguese Conference... Transactions of the ASME - Journal of Basic Engineering 1960 82(D): p 35-45 60 [9] Li, J., Cheng, L., Wu, H., Xiong, L., and Wang, D., “An Overview of the Simultaneous Localization and Mapping on Mobile Robot , Proceedings of 2012 International Conference on Modeling, Identification and Control, Wuhan, China, June 24‐26, 2012, pp 358‐364 [10] M Montemerlo, S Thrun, D Koller, and B Wegbreit “FastSLAM:... mapping problem” In AAAI-02, Edmonton, Canada, 2002 AAAI [11] MWMG Dissanayake, P Newman, S Clark, HF Durrant-Whyte, M Csorba.” A solution to the simultaneous localization and map building (SLAM) problem” Robotics and Automation, IEEE Transactions, 229-241 [12] Montemerlo, M and Thrun “Simultaneous localization and mapping with unknown data association using fastslam”.Trucco., and Alessandro Verri “Introductory... active loop-closing for fastslam” In IROS (Sendai (Japan), Sep 2004), IEEE/RSJ [14] SB Williams, G Dissanayake, H Durrant-Whyte “An efficient approach to the simultaneous localisation and mapping problem” Robotics and Automation, 2002 Proceedings ICRA'02 IEEE International [15] Scharstein, Daniel “Computer Vision.” MiddleburyCollege Middlebury 2006 [16] Simon, D “Optimal State Estimation” New York: Wiley,