Mô tả môi trường mô phỏng
- 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: 2 robot Kobuki.
- Laze: 2 laze hokuyo gắn trên mỗi robot.
Hình 4.14: Sơ đồ hệ thống khi triển khai trong môi trường thực tế
Cấu trúc chương trình
Khi thử nghiệm robot chạy trong thực tế, có 2 điểm khác với khi chạy trong mô phỏng:
- Ở tầng thấp nhất, file launch khởi tạo môi trường sẽ trở nên đơn giản hơn vì chỉ cần thiết lập giao tiếp với robot, không cần những mô tả khởi tạo như lúc mô phỏng.
- Robot Kobuki trên thực tế khi chạy có một số sai sót nên phải đưa thêm vào những tham số hiệu chỉnh, tùy từng robot khác nhau mà sai số khác nhau nên quá trình và kết quả hiệu chỉnh cũng khác nhau:
- Laser Hokuyo lúc quét sẽ xuất hiện những lỗi nhất định, mặt khác khi robot di chuyển thì laser gắn trên đó có thể bị xê dịch dẫn đến nhận định về hướng và tọa độ tương đối của laser với robot là không đồng xuất, làm cho các tính
toán để tìm ra vị trí vật cản trước mặt trả về giá trị không chính xác. Các tham số hiệu chỉnh về tỉ lệ ngưỡng khi lấy mẫu và độ lớn miền lấy mẫu được thêm vào giúp tăng khả năng chịu lỗi để những sai số trên nếu xuất hiện là chấp nhận được.
Trong quá trình robot chuyển động, nếu địa hình không bằng phẳng sẽ làm cho robot bị trượt thêm một quãng rất ngắn lúc phanh, còn nếu robot chạy trên bề mặt có ma sát lớn thì bộ lập mã trên bánh xe sẽ xử lí không thích hợp, làm cho tọa độ mà robot nhận được trở nên khác biệt dần với tọa độ thực tế theo thời gian. Ở đây một vài tham số điều chỉnh hướng và độ lớn vận tốc tịnh tiến cùng vận tốc góc cũng như độ lệch tọa độ giới hạn sẽ hỗ trợ robot phần nào di chuyển chính xác hơn và tự điều chỉnh khi đi chệch hướng. Trên thực tế, một số robot có một bên động cơ yếu hơn nên luôn bị đi lệch, các tham số trên được sửa đổi dần dần để tăng tốc bên động yếu giúp robot lấy lại cân bằng tốt hơn.
Kết quả thực tế
Ưu điểm của MSTC-full là nó có thể bao phủ trên mọi trường hợp như trong hính 3.4. Mỗi khi hai robot gần kề nhau nó tránh được các trường hợp robot này chặn đường đi của robot kia. Rất thích hợp trong hài toán thực tế vì hầu như các robot trong thực tế đặt gần nhau. Việc chạy trong môi trường thực tế áp dụng cho thuật toán MSTC-full khi sử dụng trong môi trường 3x3 với việc thiết lập tọa độ vị trí. Robot dựa vào laze robot sẽ hiểu được môi trường 4x4 và các vật cản xung quanh làm cho việc quay lui nhiều hơn. Cũng giống như trong đánh giá thuật toán trên môi trường giả lập thuật toán MSTC-full sửa dụng trên áp dụng cho các môi trường thì việc sử dụng khoảng cách Manhattan là không cao nên việc phân chia cell cho robot cũng phụ thuộc rất nhiều vị trí ban đầu của mỗi robot cũng giống môi trường giả lập. Trong chạy giả lập mỗi robot sẽ có tốc độ giống nhau nhưng trong thực tế tốc độ các robot là khác nhau nên việc phân chia cell trên cây con chưa thể
KẾT LUẬN A. Kết luận
Luận văn tốt nghiệp của tác giả với đề tài: “Nghiên cứu thuật toán tìm đường
bao phủ cho một nhóm robot di động” đã cơ bản hoàn thành. Đề tài đã tìm hiểu
được các vấn đề sau:
- Tìm hiểu những khái niệm về robot dịch vụ, ứng dụng cần thiêt của robot dịch vụ, tại sao phải cần giải quyết bài toán bao phủ cho robot dịch vụ.
- Tìm hiểu các phương pháp giải quyết bài toán bao phủ cho một robot như phương pháp chia ô cổ điển, phương pháp dựa trên lưới ô vuông.
- Tìm hiểu các phương pháp giải quyết bài toán bao phủ cho một nhóm robot như phương pháp MSTC – Offline và phương pháp ORMSTC.
- Tìm hiểu các công cụ phần mếm sử dụng trong lập trính nhúng như ROS tập hợp các framework cung cấp những chức năng tương tự hệ điều hành để phát triển các phần mềm sử dụng cho robot.
Các kết quả chính đạt được trong đề tài:
- Đề tài dựa vào tìm hiểu các phương pháp giải quyết bài toán bao phủ cho một nhóm robot như phương pháp MSTC – Offline và phương pháp ORMSTC để giải quyết bài toán bao phủ MSTC.
- Tác giả đề xuất ý tưởng mới phát triển thuật toán MSTC.
- Mô phỏng và trên thực tế các thuật toán MSTC tìm hiểu được và MSTC đề xuất.
Đề tài đã hoàn thành việc thử nghiệm được thuật toán MSTC chạy trên robot trong môi trường mô phỏng với Gazebo và chạy được tình huống bình thường với hai robot chạy trong môi trường thực tế. Phần lập trình đã bám sát được theo ý tưởng chung của thuật toán. Dựa vào kết quả thử nghiệm có thể thấy được rõ điểm mạnh, điểm yếu của thuật toán này.
- Khi thử nghiệm theo và thuât toán trên đã sửa dụng ý tưởng lý thuyết thuật toán ORMSTC đưa ra, tính mạnh mẽ mới chỉ đảm bảo với thuật toán đề xuất MSTC – full, còn thuật toán đề xuất MSTC chưa thực sự được đảm bảo về tính mạnh mẽ.
- Thuật toán quay lui hiện tại còn chưa được tối ưu.
- Khi cho chạy thuật toán trong mô phỏng, môi trường mô phỏng chưa thể thêm mô tả được đường đi, khiến cho việc theo dõi các robot trong quá trình thực thi khó quan sát.
- Khi cho chạy thuật toán trong môi trường thực tế, robot chưa thể chạy ổn định, dẫn đến kết quả không được như mong đợi như trong môi trường mô phỏng.
C. Hướng phát triển đề tài
- Cố gắng khắc phục được điểm yếu trong tính mạnh mẽ của thuật toán ORMSTC cho thuật toán MSTC đề xuất. Như trong hình 4.5 cho phép thuật toán có thể đi vào các subcell của cell robot đã chết để thực hiện bao phủ. - Cố gắng xây dựng môi trường dựa trên thông tin các client của robot cung
cấp để triển khai thuật toán A* để quay lui được tối ưu hơn.
- Tìm hiểu cách hiển thị được đường robot đã di chuyển trong mô phỏng, nhằm thuận tiện hơn khi quan sát kết quả thử nghiệm.
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