Đề tài Nghiên cứu thuật toán tìm đường bao phủ cho một nhóm robot di động nghiên cứu nhằm tìm hiểu tổng quan về các thuật toán tìm đường bao phủ, nghiên cứu, tìm hiểu lý thuyết về thuật toán tìm bao phủ STC với nhóm robot (thuật toán MSTC), lập trình thuật toán tìm đường bao phủ STC với nhóm robot trong môi trường được biết trước (Offline - MSTC); lập trình phát triển thuật toán MSTC trên môi trường chưa biết (Online-MSTC). Thực hiện chạy thử nghiệm kết quả đã lập trình được trong môi trường mô phỏng và trong môi trường thực tế.
LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng tơi có giúp đỡ lớn thầy hướng dẫn TS Ngô Lam Trung Các nội dung nghiên cứu, số liệu kết nêu luận văn trung thực chưa cơng bố cơng trình khác Trong luận văn, tơi có tham khảo đến số tài liệu liệt kê phần Tài liệu tham khảo cuối luận văn Các tài liệu tham khảo trích dẫn trung thực luận văn Hà Nội, ngày… tháng … năm 2016 Tác giả Nguyễn Thùy Linh i LỜI CẢM ƠN Trước tiên, xin chân thành cảm ơn TS Ngô Lam Trung dành thời gian quý báu, tận tình hướng dẫn bảo, góp ý cho tơi suốt q trình thực luận văn tốt nghiệp Tôi xin cảm ơn giúp đỡ nhiệt tình Thầy giáo, Cơ giáo trường Đại học Bách Khoa Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo, Cô giáo Viện Công nghệ thông tin Truyền thông tham gia giảng dạy q trình học tập Trường Các thầy tận tình giảng dạy, truyền đạt kiến thức, tạo tiền đề cho tơi hồn thành luận văn Tơi xin cám ơn bạn sinh viên phịng Phịng thí nghiệm Hệ thống Máy tính đặc biệt với hai bạn sinh viên Trần Đức Sơn Nguyễn Hữu Mạnh nhóm nghiên cứu irobot hỗ trợ tơi mặt để tơi hồn thành luận văn Cuối cùng, tơi xin chân thành cảm ơn bạn bè, đồng nghiệp gia đình tơi quan tâm tạo điều kiện tốt nhất, động viên, cổ vũ tơi suốt q trình học tập nghiên cứu để hoàn thành tốt luận văn tốt nghiệp Xin trân trọng cảm ơn! Hà Nội, ngày 14 tháng 11 năm 2016 Tác giả Nguyễn Thùy Linh ii PHỤ LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii PHỤ LỤC iii DANH MỤC HÌNH VẼ vi DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ viii LỜI MỞ ĐẦU .1 CHƯƠNG 1: TỔNG QUAN .3 1.1 Lý chọn đề tài 1.2 Giới thiệu số khái niệm liên quan .4 1.2.1 Robot dịch vụ gì? 1.2.2 Các ứng dụng robot dịch vụ 1.2.3 Tìm đường bao phủ gì? 1.3 Các phương pháp giải cơng cụ tiếp cận tốn bao phủ .6 1.3.1 Phương pháp giải toán bao phủ 1.3.2 Các công cụ tiếp cận toán 1.4 Nội dung đề tài kết thực 1.4.1 Nội Dung đề tài 1.4.2 Kết thực CHƯƠNG 2: PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN BAO PHỦ 2.1 Một số phương pháp giải toán bao phủ với đơn robot .9 2.1.1 Phương pháp phân chia vùng làm việc cổ điển 2.1.1.1 Thuật tốn phân chia theo hình thang 10 2.1.1.2 Thuật toán phân chia Boustrophedon 11 2.1.2 Phương pháp dựa lưới ô vuông 12 2.1.2.1 Thuật tốn tràn sóng wavefront .13 2.1.2.2 Thuật toán bao trùm .14 iii 2.2 Phương pháp giải sử dụng nhóm robot 16 CHƯƠNG 3: LÝ THUYẾT VÀ PHÁT TRIỂN THUẬT TOÁN MSTC 19 3.1 Các tiêu chí đánh giá 19 3.2 Thuật tốn bao phủ với nhóm robot dựa bao trùm môi trường biết 19 3.2.1 Khu vực bao phủ 19 3.2.2 Thuật toán MSTC Offline 20 3.2.2.1 Xây dựng bao trùm 20 3.2.2.2 MSTC Offline không quay lui .22 3.2.2.3 Phân tích tiêu chí thuật tốn 25 3.3 Thuật toán bao phủ với nhóm robot với mơi trường chưa rõ 26 3.3.1 Khu vực bao phủ 26 3.3.2 Thuật toán ORMSTC .27 3.3.3 Phân tích tiêu chí thuật tốn 31 3.3.3.1 Tính mạnh mẽ 31 3.3.3.2 Tính bao phủ tồn .31 3.3.3.3 Tính không dư thừa 32 3.4 Đề xuất cải tiến phát triển thuật toán MSTC .32 3.4.1 Đề xuất phát triển thuật toán ORMSTC dựa cách tạo MSTC-offline 32 3.4.1.1 Khu vực bao phủ 32 3.4.1.2 Ý tưởng cải tiến thuật toán .33 3.4.1.3 Phát triển thuật toán .35 3.4.1.4 Phân tích tiêu chí thuật toán cải tiến 38 3.4.2 Triển khai thuật toán MSTC - Full 40 3.4.2.1 Khu vực bao phủ 40 3.4.2.2 Ý tưởng thuật toán 41 3.4.2.3 Phát triển thuật toán .43 3.4.2.4 Phân tích tiêu chí đánh giá thuật tốn cải tiến 47 iv CHƯƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM CÁC THUẬT TOÁN MSTC 50 4.1 Giới thiệu số công cụ, phần mềm sử dụng 50 4.1.1 Giới thiệu ROS 50 4.1.2 Giới thiệu Gazebo .51 4.1.3 Giới thiệu robot Kobuki 51 4.1.4 Giới thiệu Hokuyo 52 4.2 Giải toán giao tiếp robot .53 4.2.1 Vấn đề phát sinh 53 4.2.2 Áp dụng lập trình socket với thuật toán MSTC .54 4.3 Vấn đề quay lui robot giải tính mạnh mẽ thử nghiệm thuật toán 57 4.3.1 Vấn đề phát sinh 57 4.3.2 Áp dụng phương pháp khoảng cách để di chuyển đến cell cần 59 4.4 Vấn đề tính mạnh mẽ thuật tốn MSTC 60 4.5 Kết thử nghiệm 61 4.5.1 Thử nghiệm môi trường mô phỏng: 61 4.5.2 Đánh giá thuật tốn mơi trường giả lập 68 4.5.3 Thử nghiệm môi trường thực tế .69 KẾT LUẬN .73 A Kết luận 73 B Những điểm chưa hoàn thiện 73 C Hướng phát triển đề tài .74 TÀI LIỆU THAM KHẢO .75 v DANH MỤC HÌNH VẼ Hình 1.1: Một ứng dụng thực tế robot dịch vụ .5 Hình 2.1: Bao phủ cell hình chữ nhật thao tác ziczag 10 Hình 2.2: Ví dụ thuật tốn phân chia hình thang 11 Hình 2.3: Ví dụ thuật toán BA* 12 Hình 2.4: Ví dụ phương pháp phân chia dựa lưới ô vuông với hai chướng ngại vật 13 Hình 2.5: Gán có số cho cách lan truyền bước sóng với bắt đầu (S) đích (G) .14 Hình 2.6: Kế hoạch bao phủ sử dụng biến đổi khoảng cách với thuật toán wavefront 14 Hình 2.7: Phân chia cell thuật tốn bao trùm 15 Hình 2.8: Đường bao phủ robot áp dụng thuật toán Spiral – STC .16 Hình 2.9: Robot thực bao phủ cell theo thuật toán phân chia boustrophedon sử dụng nhóm robot 18 Hình 3.1: Xây dựng bao trùm .22 Hình 3.2: Đường cho đa robot 23 Hình 3.3: Nhóm robot sử dụng ORMSTC thuật toán Spiral-STC 34 Hình 3.4: Nhóm robot sử dụng MSTC- Offline 35 Hình 3.5: (a): Cạnh có hai phía; (b): Cạnh có phía; (c): Gấp đôi nút cell kết nối cục 41 Hình 3.6: Vấn đề gặp phải thực MSTC-full 42 Hình 3.7: Các subcell cell định nghĩa 43 Hình 3.8: Vấn đề gặp phải cell kế nối cục 46 Hình 3.9: Vấn đề gặp phải cell kế nối cục 47 Hình 4.1: Robot Kobuki 52 Hình 4.2: Laze Hokuyo .53 Hình 4.3: Mơ hình client-server sử dụng 54 vi Hình 4.4: Tình robot chết nằm hai subcell .58 Hình 4.5: Tình robot cịn sống khơng thể giúp robot chết 61 Hình 4.6: Sơ đồ hệ thống triển khai môi trường mô 62 Hình 4.7: Sơ đồ cấu trúc chương trình 63 Hình 4.8: Thuật toán MSTC_Offline chạy với robot 65 Hình 4.9: Thuật tốn ORMSTC chạy với robot .65 Hình 4.10: Thuật tốn MSTC chạy với robot 66 Hình 4.11: Thuật toán MSTC-full chạy với robot 66 Hình 4.12: Thuật tốn MSTC-full chạy biết kịp thời robot chết 67 Hình 4.13 Thuật toán MSTC-full chạy xong thực kiểm tra để quay lui để bao phủ cho robot lỗi .68 Hình 4.14: Sơ đồ hệ thống triển khai môi trường thực tế 70 Hình 4.15: Hình ảnh chạy thuật tốn thực tế 72 vii DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Thuật ngữ/Chữ viết tắt Viết đầy đủ STC Spanning Tree Coverage BA* Boustrophedon online A* search MSTC Multi-robot Spanning Tree Coverage ORMSTC On-line Robust Multi-robot STC IFR The International Federation of Robotics CPP Coverage Path Planning ROS Robot Operating System viii LỜI MỞ ĐẦU Ý tưởng việc chế tạo cỗ máy làm việc tự động có từ thời cổ đại, nghiên cứu chức khả ứng dụng khơng có bước tiến đáng kể kỷ 20 Xuyên suốt lịch sử, robot học thường nhìn nhận để bắt chước hành vi người, thường quản lý nhiệm vụ theo cách thức tương tự Ngày nay, robot lĩnh vực phát triển nhanh chóng, nhờ cơng nghệ phát triển liên tục, robot chế tạo để phục vụ cho nhiều mục đích khác Nhiều robot thay người làm công việc độc hại tháo ngịi nổ bom, mìn, thăm dị tàu bị đắm, vào thu thập thông tin nơi độc hại, có phóng xạ, Việc sử dụng robot để giải toán bao phủ ứng dụng nhiều thực tiễn Nhiệm vụ robot tìm kiếm di chuyển theo thuật tốn nhằm bao phủ hết khu vực giao Khu vực làm việc robot chứa vật cản Robot trạng bị cảm biến thiết bị hỗ trợ khác để hỗ trợ cho cơng việc Những năm gần đây, sử dụng nhóm nhiều robot tốn bao phủ ngày quan tâm tính hiệu mạnh mẽ Lý nhiều robot hồn thành nhiệm vụ nhanh so với robot, cách phân chia khu vực làm việc chúng Lý thứ hai sử dụng nhóm robot đảm bảo việc hồn thành xong cơng việc tốt Khi nhiều robot sử dụng, giả sử có thành viên bị lỗi khơng thể hồn thành phần việc giao, đồng nghiệp khác hỗ trợ để đảm bảo công việc chung hoàn thành Từ mong muốn muốn thử nghiệm thuật tốn tìm đường bao phủ cho nhóm robot, luận văn tập trung nghiên cứu, tìm hiểu, giải vấn đề cụ thể sau: - Tìm hiểu tổng quan thuật tốn tìm đường bao phủ - Nghiên cứu, tìm hiểu lý thuyết thuật tốn tìm bao phủ STC với nhóm robot (thuật tốn MSTC) - Lập trình thuật tốn tìm đường bao phủ STC với nhóm robot mơi trường biết trước (Offline - MSTC) - Lập trình phát triển thuật tốn MSTC mơi trường chưa biết (Online-MSTC) Thực chạy thử nghiệm kết lập trình môi trường mô môi trường thực tế Cấu trúc luận văn gồm bốn chương với nội dung sau: Chương 1: Tổng quan - Lý chọn đề tài - Giới thiệu số khái niệm liên quan - Giới thiệu phương pháp giải quết cơng cụ tiếp cận tốn bao phủ - Nội dung kết thực Chương 2: Cơ sở lý thuyết - Trình bày phương pháp tiếp cận giải toán bao phủ với robot - Trình bày phương pháp tiếp cận giải tốn bao phủ với nhóm robot Chương 3: Lý thuyết phát triển thuật toán MSTC - Giới thiệu tiêu chí đánh giá - Thuật tốn bao phủ với nhóm robot dựa bao trùm môi trường biết - Thuật tốn bao phủ với nhóm robot với mơi trường chưa rõ - Đề xuất thuật toán MSTC Chương 4: Thử nghiệm mô thực tế - Giới thiệu số công cụ, phần mềm sử dụng để phát triển - Trình bày vấn đề phát sinh lập trình thuật tốn MSTC - Trình bày kết đạt thử nghiệm mơ thực tế Hình 4.5: Tình robot cịn sống khơng thể giúp robot chết Trong tình mơ tả hình trên, robot phía chết điểm nút thắt Cell có robot chết vật cản nên cell bị coi có vật cản khơng thể vào Lúc này, robot cịn sống khác khơng thể giúp đỡ để bao phủ vùng làm việc cell chết Thuật tốn trở nên thực coi robot chết vật cản thực vào 4.5 Kết thử nghiệm 4.5.1 Thử nghiệm môi trường mô phỏng: Sơ đồ hệ thống Sau sơ đồ mô hình hệ thống mơi trường mơ phỏng: 61 Hình 4.6: Sơ đồ hệ thống triển khai môi trường mô Mô tả môi trường mô - Khu vực làm việc: Mô Gazebo chạy với khu vực làm việc có kích thước 4Dx4D - Vật cản: Mơ Gazebo, có kích thước DxD Có vật cản khu vực làm việc - Robot: Mơ robot Kobuki Gazebo, kích thước robot D - Laze: Mô laze Hokuyo gắn robot Gazebo Cấu trúc chương trình: Phần lập trình được áp dụng theo tầng sau: 62 Hình 4.7: Sơ đồ cấu trúc chương trình - Tầng vật lý: Đóng vai trị giao tiếp với phần cứng, ánh xạ tập lệnh, ghi nhận truyền thông điệp từ chương trình xuống phận điều khiển robot Tầng gồm file launch: file đơn giản giúp khởi động môi trường giao tiếp tới robot, file giúp trao đổi tham số tới node có cấu trúc sau: - Các thẻ arg: Định nghĩa đối số cung cấp thơng tin kích thước dụng cụ qt (qua giúp robot hình dung kích thước cell subcell), tên giải thuật (tùy giải thuật dạng quét mà cách thử nghiệm khác nhau) tọa độ điểm xuất phát (không quan trọng thực bao phủ thuận tiện cho trình ghi nhật ký để kiểm thử gỡ lỗi) - Các thẻ remap: Ánh xạ biến khai báo chương trình thành cấu hình cho robot để truyền nhận thông điệp điều khiển nguồn, tốc độ tịnh tiến tốc độ góc thời truy vấn trạng thái từ tọa độ laser - Các thẻ param: Khai báo số mẫu cho trình điểu khiển robot thiết lập cố định sẵn tốc độ tịnh tiến tốc độ góc khởi tạo tối đa - Tầng giao tiếp: Nhận thông điệp từ file launch gửi lên truyền lệnh điều khiển xuống Tầng thực nhiệm vụ: 63 - Đọc thông số báo cáo tham số đầu vào kích thước dụng cụ quét, tên giải thuật, tọa độ điểm xuất phát để thiết lập cấu hình khởi tạo - Tiếp nhận tình trạng thời robot: Vị trí, tốc độ tịnh tiến, tốc độ góc, xuất vật cản bên trái phải trước mặt - Truyền lệnh điều khiển bản: Thiết lập tốc độ tịnh tiến, tốc độ góc miền lấy mẫu cho cảm biến - Kết nối với server bắt đầu chạy ngắt kết nối với server hoàn thành xong - Tầng điều khiển: Trừu tượng hóa xử lí tầng thấp hơn, cung cấp hàm hỗ trợ robot thực thao tác phức tạp đến điểm cho trước, xoay góc bất kỳ, tìm kiếm vật cản miền lấy mẫu Tầng đóng vai trị trung gian lệnh phức tạp tầng với giải thuật sử dụng tầng - Tầng thuật toán: Chứa mã nguồn giải thuật Các giải thuật lập trình tầng Ngồi việc thực thi xử lí theo mơ tả giải thuật, hàm đoạn mã truyền xuống tầng để robot hiểu thể bên giải thuật thực chạy Kết mơ phỏng: Sau mà số hình ảnh tiến hành chạy robot môi trường mô phỏng: - Trường hợp chạy bình thường thuật tốn offline: 64 Hình 4.8: Thuật tốn MSTC_Offline chạy với robot - Trường hợp chạy với OMSTC Hình 4.9: Thuật toán ORMSTC chạy với robot 65 - Trường hợp chạy bình thường thuật tốn MSTC đề xuất Hình 4.10: Thuật toán MSTC chạy với robot - Trường hợp chạy bình thường thuật tốn MSTC-full đề xuất: Hình 4.11: Thuật tốn MSTC-full chạy với robot 66 - Trường hợp chạy với robot chết sớm: Hình 4.12: Thuật tốn MSTC-full chạy biết kịp thời robot chết Khi robot kịp thời biết robot chết xem robot vật cản thực bao phủ Robot sống tới điểm gặp lần robot nhận robot khơng cịn sống qt ln cho robot chết - Trường hợp chạy với robot chết muộn: 67 Hình 4.13 Thuật tốn MSTC-full chạy xong thực kiểm tra để quay lui để bao phủ cho robot lỗi Khi robot không kịp thời biết robot chết gửi đến cho robot gửi đến server xem robot chết Khi có câu trả lời tìm đến cell cần quay lui giúp đỡ cho robot chết 4.5.2 Đánh giá thuật tốn mơi trường giả lập Việc đánh giá thời gian làm việc thiếu toán bao phủ Việc xây dưng thuật toán nhóm robot để giảm thiểu thời gian bao phủ khu vực làm việc Nên việc đánh giá thời gian thuật tốn với nhóm robot khơng thể bỏ qua Trong thuật tốn áp dựng cho nhóm robot hai yếu tố ảnh hưởng đến thời gian bao phủ vị trí ban đầu số lượng robot Vị trí ban đầu robot khu vực làm việc ảnh hưởng đáng kể thời gian hoàn thành phạm vi bao phủ nên đánh giá tương quan môi trường gazebo Ở xét đánh giá với thuật tốn chạy bình thường khơng có robot bị lỗi khơng quay lui xét với thuật toán với robot chạy thuật tốn SpiralSTC xét mơi trường tính thời gian trung bình thực thuật tốn Với thuật toán MSTC đề xuất chạy với robot thời gian nhanh tối 68 thiểu 1,6 lần tránh robot cell gần nút thắt hay nói xác tùy vào vị trí ban đầu robot mà cải thiện Và thuật tốn MSTC đề xuất nhanh số lượng robot nhiều Với thuật tốn MSTC full đề xuất việc sửa dụng tính tốn khoảng cách Manhattan chưa thấy tính mạnh mẽ Giả sử khơng có vật cản, cell xung chưa thăm robot vị trí subcell thứ Robot tìm thấy cell cell bên cell bên phải thực vào cell vào subcell thứ ngược lại vào subcell thứ Tại subcell vào tìm thấy cell thực vào cell Do việc áp dụng dựa vào khoảng cách Manhattan thuật tốn khơng thể rõ rang Việc quét với robot thuật toán nhanh gấp 1,4 so với robot 4.5.3 Thử nghiệm môi trường thực tế Mô tả môi trường mô - Khu vực làm việc: Khu vực làm việc thực tế có kích cỡ 3Dx3D - Vật cản: Khơng có - Robot: robot Kobuki - Laze: laze hokuyo gắn robot Sơ đồ hệ thống 69 Hình 4.14: Sơ đồ hệ thống triển khai môi trường thực tế Cấu trúc chương trình Khi thử nghiệm robot chạy thực tế, có điểm khác với chạy mô phỏng: - Ở tầng thấp nhất, file launch khởi tạo môi trường trở nên đơn giản cần thiết lập giao tiếp với robot, không cần mô tả khởi tạo lúc mô - Robot Kobuki thực tế chạy có số sai sót nên phải đưa thêm vào tham số hiệu chỉnh, tùy robot khác mà sai số khác nên trình kết hiệu chỉnh khác nhau: - Laser Hokuyo lúc quét xuất lỗi định, mặt khác robot di chuyển laser gắn bị xê dịch dẫn đến nhận định hướng tọa độ tương đối laser với robot không đồng xuất, làm cho tính 70 tốn để tìm vị trí vật cản trước mặt trả giá trị khơng xác Các tham số hiệu chỉnh tỉ lệ ngưỡng lấy mẫu độ lớn miền lấy mẫu thêm vào giúp tăng khả chịu lỗi để sai số xuất chấp nhận Trong trình robot chuyển động, địa hình khơng phẳng làm cho robot bị trượt thêm quãng ngắn lúc phanh, robot chạy bề mặt có ma sát lớn lập mã bánh xe xử lí khơng thích hợp, làm cho tọa độ mà robot nhận trở nên khác biệt dần với tọa độ thực tế theo thời gian Ở vài tham số điều chỉnh hướng độ lớn vận tốc tịnh tiến vận tốc góc độ lệch tọa độ giới hạn hỗ trợ robot phần di chuyển xác tự điều chỉnh chệch hướng Trên thực tế, số robot có bên động yếu nên ln bị lệch, tham số sửa đổi để tăng tốc bên động yếu giúp robot lấy lại cân tốt Kết thực tế Ưu điểm MSTC-full bao phủ trường hợp hính 3.4 Mỗi hai robot gần kề tránh trường hợp robot chặn đường robot Rất thích hợp hài tốn thực tế robot thực tế đặt gần Việc chạy mơi trường thực tế áp dụng cho thuật tốn MSTC-full sử dụng môi trường 3x3 với việc thiết lập tọa độ vị trí Robot dựa vào laze robot hiểu môi trường 4x4 vật cản xung quanh làm cho việc quay lui nhiều Cũng giống đánh giá thuật tốn mơi trường giả lập thuật toán MSTC-full sửa dụng áp dụng cho mơi trường việc sử dụng khoảng cách Manhattan không cao nên việc phân chia cell cho robot phụ thuộc nhiều vị trí ban đầu robot giống môi trường giả lập Trong chạy giả lập robot có tốc độ giống thực tế tốc độ robot khác nên việc phân chia cell chưa thể hiệu 71 Hình 4.15: Hình ảnh chạy thuật toán thực tế 72 KẾT LUẬN A Kết luận Luận văn tốt nghiệp tác giả với đề tài: “Nghiên cứu thuật tốn tìm đường bao phủ cho nhóm robot di động” hồn thành Đề tài tìm hiểu vấn đề sau: - Tìm hiểu khái niệm robot dịch vụ, ứng dụng cần thiêt robot dịch vụ, phải cần giải toán bao phủ cho robot dịch vụ - Tìm hiểu phương pháp giải toán bao phủ cho robot phương pháp chia ô cổ điển, phương pháp dựa lưới vng - Tìm hiểu phương pháp giải tốn bao phủ cho nhóm robot phương pháp MSTC – Offline phương pháp ORMSTC - Tìm hiểu cơng cụ phần mếm sử dụng lập trính nhúng ROS tập hợp framework cung cấp chức tương tự hệ điều hành để phát triển phần mềm sử dụng cho robot Các kết đ ạt đề tài: - Đề tài dựa vào tìm hiểu phương pháp giải tốn bao phủ cho nhóm robot phương pháp MSTC – Offline phương pháp ORMSTC để giải toán bao phủ MSTC - Tác giả đề xuất ý tưởng phát triển thuật toán MSTC - Mơ thực tế thuật tốn MSTC tìm hiểu MSTC đề xuất Đề tài hồn thành việc thử nghiệm thuật tốn MSTC chạy robot môi trường mô với Gazebo chạy tình bình thường với hai robot chạy mơi trường thực tế Phần lập trình bám sát theo ý tưởng chung thuật toán Dựa vào kết thử nghiệm thấy rõ điểm mạnh, điểm yếu thuật toán B Những điểm chưa hoàn thiện - Khi thực theo sở tốn dựa vào tính tốn lý thuyết robot biết vị trí ban đầu phân tích chia cell lưới 73 - Khi thử nghiệm theo thuât toán sửa dụng ý tưởng lý thuyết thuật tốn ORMSTC đưa ra, tính mạnh mẽ đảm bảo với thuật toán đề xuất MSTC – full, cịn thuật tốn đề xuất MSTC chưa thực đảm bảo tính mạnh mẽ - Thuật tốn quay lui cịn chưa tối ưu - Khi cho chạy thuật tốn mơ phỏng, môi trường mô chưa thể thêm mô tả đường đi, khiến cho việc theo dõi robot q trình thực thi khó quan sát - Khi cho chạy thuật tốn mơi trường thực tế, robot chưa thể chạy ổn định, dẫn đến kết không mong đợi môi trường mô C Hướng phát triển đề tài - Cố gắng khắc phục điểm yếu tính mạnh mẽ thuật toán ORMSTC cho thuật toán MSTC đề xuất Như hình 4.5 cho phép thuật tốn vào subcell cell robot chết để thực bao phủ - Cố gắng xây dựng môi trường dựa thông tin client robot cung cấp để triển khai thuật toán A* để quay lui tối ưu - Tìm hiểu cách hiển thị đường robot di chuyển mô phỏng, nhằm thuận tiện quan sát kết thử nghiệm 74 TÀI LIỆU THAM KHẢO [1] Enric Galceran, Marc Carreras, A survey on coverage path planning for robotics, Robotics and Autonomous Systems, Volume 61, Issue 12, December 2013, Pages 1258-1276 [2] Yasutomi, F., Yamada, M., and Tsukamoto, K (1988), Cleaning robot control In Proc Conf IEEE IntcRobotics and Automation, pages 1839–1841 [3] Noam Hazon, Dr Gal, A Kaminka; Robustandefficient multi-robot coverage; Bar-Ilan University Department of Computer Science,Ramat-Gan, Israel; October 2005 [4] Bộ slide môn học IT4062: Network Programming (HEDSPI), thầy Bùi Trọng Tùng, Đại học Bách Khoa Hà Nội URL:http://soict.hust.edu.vn/~tungbt/it4062/ [5] Service robot - Wikipedia, the free encyclopedia URL: https://en.wikipedia.org/wiki/Service_robot [6] Robot Operating System - Wikipedia, the free encyclopedia URL: https://en.wikipedia.org/wiki/Robot_Operating_System [7] kobuki/Tutorials - ROS Wiki URL: http://wiki.ros.org/kobuki/Tutorials/ [8] Gazebo: Tutorial: Beginner: Overview URL: http://gazebosim.org/tutorials?cat=guided_b&tut=guided_b1 75 ... thử nghiệm thuật tốn tìm đường bao phủ cho nhóm robot, luận văn tập trung nghiên cứu, tìm hiểu, giải vấn đề cụ thể sau: - Tìm hiểu tổng quan thuật tốn tìm đường bao phủ - Nghiên cứu, tìm hiểu lý... sau: - Tìm hiểu tổng quan phương pháp giải toán bao phủ: - Tìm hiểu nghiên cứu thuật tốn tìm đường bao phủ MSTC cho nhóm robot (MSTC-Offline ORMSTC) - Đề xuất thuật tốn MSTC cho nhóm robot -... cầu tìm đường, chúng tốn NP-khó Các thuật tốn bao phủ phân loại thành thuật tốn bao phủ tối ưu bao phủ đầy đủ Nếu khả bao phủ toàn vùng làm việc thuật tốn chứng minh chặt chẽ thuật tốn gọi bao phủ