Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

82 33 0
Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ ĐÀO HỒNG PHONG XÂY DỰNG BẢN ĐỒ 2D CHO ROBOT DI ĐỘNG SỬ DỤNG POINT CLOUD LIBRARY NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 S K C0 4 Tp Hồ Chí Minh, năm 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ ĐÀO HỒNG PHONG XÂY DỰNG BẢN ĐỒ 2D CHO ROBOT DI ĐỘNG SỬ DỤNG POINT CLOUD LIBRARY NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 Tp Hồ Chí Minh, năm 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ ĐÀO HỒNG PHONG XÂY DỰNG BẢN ĐỒ 2D CHO ROBOT DI ĐỘNG SỬ DỤNG POINT CLOUD LIBRARY NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 Hướng dẫn khoa học: TS Ngơ Văn Thun Tp Hồ Chí Minh, năm 2014 MỤC LỤC Chương 1: TỔNG QUAN 1.1 Giới thiệu .1 1.2 Kết nghiên cứu nước 1.3 Mục tiêu đề tài 1.4 Nội dung thực đề tài Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu chung Kinect Xbox 360 Point Cloud Library 2.1.1 Kinect Xbox 360 2.1.2 Point Cloud Library .9 2.2 Các bước ghép đám mây 11 2.3 Ghi liệu đám mây sử dụng phương pháp dời tọa độ .13 2.3.1 Chuyển từ tham chiếu cục thành tham chiếu toàn cục dùng ma trận biến đổi 13 2.3.2 Khởi tạo offset 15 2.4 Ghi đám mây sử dụng ICP (Iterative Closest Points) .16 2.4.1 Thuật toán ICP .16 2.4.2 Ghép đám mây điểm chồng phần sử dụng ICP 19 2.5 Ghi đám mây sử dụng SAC-IA 20 2.6 Quyết định lồng đám mây điểm 22 2.7 Xử lí cuối 23 2.8 Chuẩn bị cho lần lặp 23 2.9 Kỹ thuật lọc đám mây để giảm số lượng điểm ảnh 24 I 2.9.1 Lọc thông dải .24 2.9.2 Giảm số lượng mẫu (Down Sampling) 25 2.9.3 Loại bỏ Outliers 25 2.9.4 Xây dựng lại bề mặt .26 2.10 Kỹ thuật xác định cặp điểm tương đồng hai ảnh .26 2.11 Kỹ thuật xác định vị trí 3D (Pose) tương đối hai đám mây 28 2.11.1 Tối ưu hóa ma trận biến đổi hai đám mây điểm 29 2.11.2 Xác định ma trận biến đổi tốt [3] .30 Chương 3: THUẬT TOÁN THỰC HIỆN .32 3.1 Khởi tạo đám mây điểm 34 3.2 Giảm số lượng điểm ảnh cho đám mây điểm ảnh 34 3.3 Tìm điểm đặc trưng đám mây .35 3.4 Tìm điểm tương đồng hai đám mây 36 3.5 Tìm ma trận biến đổi hai đám mây điểm ảnh 39 3.6 Ghép nhiều đám mây điểm khác sử dụng thuật toán SAC-IA ICP .40 3.7 Chiếu đám mây xuống nhà 42 Chương 4: KẾT QUẢ 43 4.1 Thi công phần cứng phần mềm sử dụng .43 4.2 Giảm số lượng điểm ảnh 45 4.3 Thực ghép hai đám mây điểm ảnh với góc xoay 50o 46 4.4 Thực ghép hai đám mây robot tịnh tiến phía trước 47 4.5 Thực ghép liên tiếp nhiều đám mây chiếu xuống tạo đồ 2D .49 II Chương 5: KẾT LUẬN 51 5.1 Kết đạt 51 5.2 Hướng phát triển đề tài .51 III PHỤ LỤC: DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 1.1: Robot di chuyển dựa vào cảm biến Hình 1.2: Hiện tượng chồng ảnh frame ảnh hệ trục Kinect Hình 1.3: Các đám mây rời rạc không gian Hình 1.4: Ví dụ góc nhìn khác vị trí khác Hình 1.5: Các đám mây ghép lại thành tổng thể Hình 1.6: Dùng xe tơ trang bị thiết bị định vị GPS để lập đồ Hình 1.7 Dùng robot trang bị đầu đọc RFID thẻ tag để lập đồ Hình 1.8: Định vị robot di động sử dụng vật mốc nhân tạo Hình 1.9: Robot tự hành tránh vật cản Hình 1.10: Scan 3D đối tượng Hình 1.11: Bản đồ 3D môi trường nhà Hình 2.1: Thiết bị Kinect Hình 2.2: Logo số Module quan trọng PCL Hình 2.3: Cấu trúc tập tin *.pcd 10 Hình 2.4: Các bước thực ghi cặp liệu đám mây điểm ảnh 12 Hình 2.5: Bản đồ kết cộng đám mây sau xử lí roto-translation (a) sau xử lí ghi liệu dùng SAC-IA ICP (b) 12 Hình 2.6: Lưu đồ xây dựng lại đồ 13 Hình 2.7: Quá trình chuyển đổi đám mây tham chiếu 14 Hình 2.8: Hệ tọa độ camera Kinect chung quanh 14 Hình 2.9: Hệ tọa độ toàn cục mối liên quan với hệ tọa độ Kinect 15 Hình 2.10: Lưu đồ ghi liệu sử dụng ICP 16 Hình 2.11: Hai đám mây điểm chồng lấp phần 19 Hình 2.12: Lưu đồ ghi đám mây sử dụng SAC-IA ICP 21 IV Hình 2.13 : Lưu đồ tìm tính cần thiết cho xếp SAC-IA 21 Hình 2.14: Quy trình định lồng đám mây ghi vào đồ 23 Hình 2.15 Các bước lọc đám mây điểm ảnh 24 Hình 2.16: Mơ tả lọc dạng Voxel Grid 25 Hình 2.17: Các cặp điểm tương đồng hai đám mây điểm ảnh 27 Hình 2.18: Áp dụng Box filter, bước trình tăng tốc xác định điểm đặc trưng SURF 28 Hình 2.19: Mơ tả đặc trưng thơng qua hướng thông tin vùng lân cận 28 Hình 2.20: Đặc trưng điểm ảnh 28 Hình 2.21: Minh họa việc dùng RANSAC áp dụng cho việc tìm đường thẳng mặt phẳng 30 Hình 2.22: Minh họa kết ghép đám mây sau áp dụng Ransac Levenberg–Marquardt để xác định ma trận biến đổi 32 Hình 3.1: Lưu đồ tổng quát thực đề tài 33 Hình 3.2: Lưu đồ thuật toán khởi tạo đám mây điểm 34 Hình 3.3: Đám mây điểm ảnh thực tế thu từ camera liệu đám mây 34 Hình 3.4: Lưu đồ lọc đám mây dùng Voxel Grid 35 Hình 3.5: Lưu đồ tìm điểm đặc trưng đám mây 36 Hình 3.6: Lưu đồ điều khiển robot xoay phải 50o 37 Hình 3.7: Vùng trùng lắp hai đám mây điểm ảnh 37 Hình 3.8: Tìm độ rộng vùng giao hai frame ảnh 38 Hình 3.9: Tìm chiều cao vùng giao hai frame ảnh 38 Hình 3.10: Lưu đồ xác định cặp điểm tương đồng hai đám mây 39 Hình 3.11: Hàm biến đổi điểm ảnh đám mây gốc đến điểm ảnh đám mây đích 40 Hình 3.12: Lưu đồ ghép liên tiếp nhiều đám mây điểm ảnh dùng SAC-IA kết hợp ICP 40 Hình 3.13: Bề rộng frame ảnh robot cách tường mét 41 Hình 3.14: Chiếu điểm ảnh xuống nhà 42 Hình 3.15: Lưu đồ thực chiếu đám mây điểm ảnh xuống mặt phẳng nhà 42 Hình 4.1: Robot di động dùng đề tài 43 V Hình 4.2: Board điều khiển robot máy tính sử dụng đề tài 44 Hình 4.3: Hai đám mây điểm ảnh vật mốc tự nhiên (ghế) trước ghép 46 Hình 4.4: Ma trận biến đổi từ đám mây đích vào đám mây nguồn 46 Hình 4.5: Ghép hai đám mây điểm ảnh dùng SAC-IA ICP 47 Hình 4.6: Hai đám mây điểm ảnh ghép thành công với vật mốc tự nhiên ghế 47 Hình 4.7: Vật mốc xa (ảnh trái) vật mốc 48 Hình 4.8: Frame sau tịnh tiến (ảnh phải) 48 Hình 4.9: Hai đám mây điểm ảnh ghép thành cơng trường hợp robot tịnh tiến phía trước chạm tường 48 Hình 4.10: Hai đám mây điểm ảnh ghép thành công trường hợp robot tịnh tiến phía trước có vật mốc 49 Hình 4.11: Các vị trí dừng chụp đám mây điểm ảnh cho trường hợp ghép liên tiếp 49 Hình 4.12: Kết ghép liên tiếp nhiều đám mây chiếu xuống mặt phẳng nhà 50 VI PHỤ LỤC: DANH SÁCH CÁC BẢNG BIỂU Bảng 2.1: Góc mở tiêu cự RGB IR camera Bảng 4.1: Thông số robot di động 44 Bảng 4.2: Bảng mã lệnh điều khiển 44 Bảng 4.3: Thông số cài đặt giao tiếp cổng USB COM 45 Bảng 4.4: Bảng số lượng điểm ảnh frame sau lần lọc 45 VII PHỤ LỤC 3: CHƯƠNG TRÌNH CHÍNH ĐIỀU KHIỂN ROBOT /* Include thu vien chuan PCL */ //#include #include #include #include #include #include #include #include #include //#include #include #include #include #include #include #include #include #include #include // - Include thu vien giao tiep voi Robot -#include "usbserial_robot.h" #include "source1.h" // - Include namespace into project -using namespace std; using namespace pcl; const const const const const const string string string string string string DIR_PATH DIR_PATH_2 begin_pcd first_pcd second_pcd thirst_pcd const float const float const unsigned int = "F:\\PCD_Saved\\20141025\\"; //< - Path to save the *.pcd = "F:\\PCD_Saved\\cluster\\"; = "pcd_20141019 "; = "pcd_20141019 1"; = "pcd_20141019 2"; = "pcd_20141019 3"; scale nr_maxcorres nr_iteration = 20; = 0.1; //0.01 = 1; //=============================================================================// class SimpleOpenNIViewer { private: int frames_saved; bool save_one; public: SimpleOpenNIViewer () : viewer ("PCL Viewer") { 58 frames_saved = 1; save_one = false; } pcl::visualization::CloudViewer viewer; //=============================================================================// void cloud_cb_ (const pcl::PointCloud::ConstPtr &cloud_current) { if (!viewer.wasStopped()) { viewer.showCloud (cloud_current); if( save_one == true ) { save_one = false; std::stringstream out; out

Ngày đăng: 26/12/2021, 11:27

Hình ảnh liên quan

Hình 1.3: Các đám mây rời rạc trong không gian - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 1.3.

Các đám mây rời rạc trong không gian Xem tại trang 13 của tài liệu.
Hình 2.5: Bản đồ kết quả của cộng các đám mây sau khi xử lí roto-translation (a) và sau khi xử lí ghi dữ liệu dùng SAC-IA và ICP (b)  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.5.

Bản đồ kết quả của cộng các đám mây sau khi xử lí roto-translation (a) và sau khi xử lí ghi dữ liệu dùng SAC-IA và ICP (b) Xem tại trang 22 của tài liệu.
Hình 2.4: Các bước thực hiện ghi một cặp dữ liệu đám mây điểm ảnh - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.4.

Các bước thực hiện ghi một cặp dữ liệu đám mây điểm ảnh Xem tại trang 22 của tài liệu.
Hình 2.6: Lưu đồ xây dựng lại bản đồ - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.6.

Lưu đồ xây dựng lại bản đồ Xem tại trang 23 của tài liệu.
 xy 0, 0, 0  0,0,0 . Hình 2.9 [6] cho thấy mối quan hệ giữa ba hệ tọa độ khác nhau - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

xy.

0, 0, 0  0,0,0 . Hình 2.9 [6] cho thấy mối quan hệ giữa ba hệ tọa độ khác nhau Xem tại trang 25 của tài liệu.
Hình 2.10: Lưu đồ ghi dữ liệu chỉ sử dụng ICP - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.10.

Lưu đồ ghi dữ liệu chỉ sử dụng ICP Xem tại trang 26 của tài liệu.
Hình 2.14: Quy trình quyết định lồng một đám mây đã được ghi vào trong bản đồ - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.14.

Quy trình quyết định lồng một đám mây đã được ghi vào trong bản đồ Xem tại trang 33 của tài liệu.
Hình 2.15 Các bước lọc một đám mây điểm ảnh - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.15.

Các bước lọc một đám mây điểm ảnh Xem tại trang 34 của tài liệu.
Hình 2.16: Mô tả lọc dạng VoxelGrid - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.16.

Mô tả lọc dạng VoxelGrid Xem tại trang 35 của tài liệu.
Hình 2.17: Các cặp điểm tương đồng giữa hai đám mây điểm ảnh - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.17.

Các cặp điểm tương đồng giữa hai đám mây điểm ảnh Xem tại trang 37 của tài liệu.
Hình 2.21: Minh họa việc dùng RANSAC áp dụng cho việc tìm đường thẳng trong - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.21.

Minh họa việc dùng RANSAC áp dụng cho việc tìm đường thẳng trong Xem tại trang 40 của tài liệu.
best_model - mô hình tốt nhất - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

best.

_model - mô hình tốt nhất Xem tại trang 41 của tài liệu.
Hình 2.22: Minh họa kết quả ghé p2 đám mây sau khi áp dụng Ransac và Levenberg–Marquardt để xác định ma trận biến đổi  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 2.22.

Minh họa kết quả ghé p2 đám mây sau khi áp dụng Ransac và Levenberg–Marquardt để xác định ma trận biến đổi Xem tại trang 42 của tài liệu.
Hình 3.2: Lưu đồ thuật toán khởi tạo đám mây điểm đầu tiên - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.2.

Lưu đồ thuật toán khởi tạo đám mây điểm đầu tiên Xem tại trang 44 của tài liệu.
Hình 3.4: Lưu đồ lọc đám mây dùng VoxelGrid - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.4.

Lưu đồ lọc đám mây dùng VoxelGrid Xem tại trang 45 của tài liệu.
Hình 3.5: Lưu đồ tìm điểm đặc trưng của đám mây - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.5.

Lưu đồ tìm điểm đặc trưng của đám mây Xem tại trang 46 của tài liệu.
Hình 3.6: Lưu đồ điều khiển robot xoay phải 50o - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.6.

Lưu đồ điều khiển robot xoay phải 50o Xem tại trang 47 của tài liệu.
Hình 3.8: Tìm độ rộng của vùng giao nhau giữa hai frame ảnh - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.8.

Tìm độ rộng của vùng giao nhau giữa hai frame ảnh Xem tại trang 48 của tài liệu.
Hình 3.11: Hàm biến đổi điểm ản hở đám mây gốc đến điểm ản hở đám mây đích - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.11.

Hàm biến đổi điểm ản hở đám mây gốc đến điểm ản hở đám mây đích Xem tại trang 50 của tài liệu.
Hình 3.13: Bề rộng của frame ảnh khi robot cách tường 1 mét - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 3.13.

Bề rộng của frame ảnh khi robot cách tường 1 mét Xem tại trang 51 của tài liệu.
Bảng 4.4: Bảng số lượng điểm ảnh mỗi frame sau mỗi lần lọc Số điểm ảnh  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Bảng 4.4.

Bảng số lượng điểm ảnh mỗi frame sau mỗi lần lọc Số điểm ảnh Xem tại trang 55 của tài liệu.
Bảng 4.3: Thông số cài đặt giao tiếp cổng USB COM Thông số Giá trị cài đặt  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Bảng 4.3.

Thông số cài đặt giao tiếp cổng USB COM Thông số Giá trị cài đặt Xem tại trang 55 của tài liệu.
Hình 4.3: Hai đám mây điểm ảnh và vật mốc tự nhiên (ghế) trước khi ghép - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.3.

Hai đám mây điểm ảnh và vật mốc tự nhiên (ghế) trước khi ghép Xem tại trang 56 của tài liệu.
Hình 4.6: Hai đám mây điểm ảnh được ghép thành công với vật mốc tự nhiên là chiếc ghế  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.6.

Hai đám mây điểm ảnh được ghép thành công với vật mốc tự nhiên là chiếc ghế Xem tại trang 57 của tài liệu.
Hình 4.5: Ghép hai đám mây điểm ảnh dùng SAC-IA và ICP - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.5.

Ghép hai đám mây điểm ảnh dùng SAC-IA và ICP Xem tại trang 57 của tài liệu.
Hình 4.8: Frame sau khi tịnh tiến (ảnh phải) là một phần của frame trước (ảnh trái)  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.8.

Frame sau khi tịnh tiến (ảnh phải) là một phần của frame trước (ảnh trái) Xem tại trang 58 của tài liệu.
Hình 4.7: Vật mốc ở xa (ảnh trái) và vật mốc sau khi robot tịnh tiến đến gần (ảnh phải)  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.7.

Vật mốc ở xa (ảnh trái) và vật mốc sau khi robot tịnh tiến đến gần (ảnh phải) Xem tại trang 58 của tài liệu.
Hình 4.11: Các vị trí dừng chụp đám mây điểm ảnh cho trường hợp ghép liên tiếp - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.11.

Các vị trí dừng chụp đám mây điểm ảnh cho trường hợp ghép liên tiếp Xem tại trang 59 của tài liệu.
Hình 4.10: Hai đám mây điểm ảnh được ghép thành công trong trường hợp robot tịnh tiến về phía trước có vật mốc  - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.10.

Hai đám mây điểm ảnh được ghép thành công trong trường hợp robot tịnh tiến về phía trước có vật mốc Xem tại trang 59 của tài liệu.
Hình 4.12: Kết quả ghép liên tiếp nhiều đám mây và chiếu xuống mặt phẳng nền - Xây dựng bản đồ 2d cho robot di động sử dụng point cloud library

Hình 4.12.

Kết quả ghép liên tiếp nhiều đám mây và chiếu xuống mặt phẳng nền Xem tại trang 60 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan