Luận văn Xây dựng bản đồ 3D trong không gian chưa xác định sử dụng camera Kinect (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Xây dựng bản đồ 3D trong không gian chưa xác định 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:
luan_van_xay_dung_ban_do_3d_trong_khong_gian_chua_xac_dinh_s.pdf
Nội dung text: Luận văn Xây dựng bản đồ 3D trong không gian chưa xác định 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 ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CƠNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THƠNG XÂY DỰNG BẢN ĐỒ 3D TRONG KHƠNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT GVHD: ThS. NGUYỄN TẤN NHƯ SVTH: LƯU VĂN TÂN MSSV: 12141201 SVTH: DƯƠNG MINH QUANG MSSV: 12141623 S K L 0 0 4 3 4 9 Tp. Hồ Chí Minh, tháng 07/2016
- BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ-CƠNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP NGÀNH CƠNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: XÂY DỰNG BẢN ĐỒ 3D TRONG KHƠNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT GVHD: ThS. Nguyễn Tấn Như SVTH: Lưu Văn Tân MSSV: 12141201 SVTH: Dương Minh Quang MSSV: 12141623 Tp. Hồ Chí Minh - 7/2016
- BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ-CƠNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP NGÀNH CƠNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: XÂY DỰNG BẢN ĐỒ 3D TRONG KHƠNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT GVHD: ThS. Nguyễn Tấn Như SVTH: Lưu Văn Tân MSSV: 12141201 SVTH: Dương Minh Quang MSSV: 12141623 Tp. Hồ Chí Minh – 7/2016
- NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thơng tin sinh viên Họ và tên: Dương Minh Quang MSSV: 12141623 Tel: 01223935930 Email: 12141623@student.hcmute.edu.vn Họ và tên: Lưu Văn Tân MSSV: 12141210 Tel: 01223120047 Email: 12141210@student.hcmute.edu.vn 2. Thơng tin đề tài Tên của đề tài: XÂY DỰNG BẢN ĐỒ TRONG KHƠNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT Mục đích của đề tài: Hồn thành việc xây dựng một bản đồ 3D trong một khơng gian bất kì bằng việc sử dụng camera Kinect và các thuật tốn xử lý. Đồ án tốt nghiệp được thực hiện tại: Bộ mơn Điện Tử Viễn Thơng, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Thời gian thực hiện: Từ 3/2016 đến 7/2016 3. Các nhiệm vụ cụ thể của đề tài - Tìm hiểu về ROS (Robot Operating System) - Tìm hiểu về các phương thức xử lý ảnh sử dụng OpenCV và PCL - Chuyển đổi dữ liệu ảnh 2D cĩ được từ cảm biến Kinect sang ảnh 3D - Nhận diện cả điểm đặc trưng sử dụng thuật tốn SIFT - Ghép các điểm tương đồng của đám mây 3D 4. Lời cam đoan của sinh viên Chúng tơi Dương Minh Quang và Lưu Văn Tân cam đoan ĐATN là cơng trình nghiên cứu của bản thân chúng tơi dưới sự hướng dẫn của thạc sỹ Nguyễn Tấn Như. Các kết quả cơng bố trong ĐATN là trung thực và khơng sao chép từ bất kỳ cơng trình nào khác. Tp.HCM, ngày 1 tháng 4 năm 2016 SV thực hiện đồ án Dương Minh Quang Lưu Văn Tân Xác nhận của Bộ Mơn Tp.HCM, ngày 1 tháng 4 năm2016 Giáo viên hướng dẫn (Ký ghi rõ họ tên và học hàm học vị) i
- TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc Bộ Mơn Điện Tử Cơng Nghiệp Tp. Hồ Chí Minh, ngày 1 tháng 4 năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Lưu Văn Tân Lớp: 12141DT1D MSSV: 12141201 Họ tên sinh viên 2: Dương Minh Quang Lớp: 12141DT1D MSSV: 12141623 Tên đề tài: XÂY DỰNG BẢN ĐỒ TRONG KHƠNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT. Xác nhận Tuần/ngày Nội dung GVHD Tuần 1 01/04/2016 Gặp giáo viên hướng dẫn, chọn đề tài. Tuần 2 11/04/2016 Cài đặt chương trình và cơng cụ để sử dụng cho đề tài (Ubuntu 14.04, ROS Indigo) 12-15/04/2016 Tìm hiểu về ROS phần cơ bản (filesystem, stack, package, service ) Tuần 3 18-22/04/2016 Tìm hiểu về ROS phần nâng cao (Computation Graph, node, message, topic, Bags ) Tuần 4 27-30/04/2016 Viết một số chương trình ví dụ mà sử dụng ROS để làm quen hơn với cơng cụ ROS Tuần 5 02/05/2016 Tìm hiểu về visuazilation (cloudviewer). 03-04/05/2016 Nghiên cứu bộ lọc, passthrough, voxelgrid. 05-06/05/2016 Nghiên cứu bộ lọc extract indices, remove outdier. Tuần 6 09/05/2016 Cài đặt gĩi hỗ trợ driver cho Kinect (OpenNI), chụp ảnh vật mẫu. 11/05/2016 Tìm hiểu về điểm đặc trưng (keypoint). Tuần 7 16-19/05/2015 Nghiên cứu về thuật tốn tìm điểm đặc trưng SIFT. Tuần 8 23-24/05/2016 Tìm hiểu về ma trận dịch chuyển và tìm ra sự tương quan giữa hai đám mây điểm. Tuần 9 30/05/2016 ii
- Tiến hành chụp ảnh và xử lý ghép lọc vật mẫu, thu 01/06/2016 thập vật mẫu. Tiến hành lọc và tìm mặt phẳng vector điểm. Tuần 10 06-07/06/2016 Tiến hành viết luận văn (nội dung cơ sở lý thuyết). 08/06/2016 Tiến hành tìm điểm mơ tả điểm đặc trưng. Tuần 11 15/06/2016 Tiến hành tìm điểm tương đồng, ma trận dịch chuyển, ghép các dữ liệu lại với nhau. Tuần 12 Viết luận văn. Tuần 13 Chỉnh sửa và hồn thành luận văn. GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) iii
- LỜI CAM ĐOAN Đề tài này là do tơi tự thực hiện dựa vào một số tài liệu trước đĩ và khơng sao chép từ tài liệu hay cơng trình đã cĩ trước đĩ. Người thực hiện đề tài Dương Minh Quang Lưu Văn Tân iv
- LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi đến Thầy, ThS. Nguyễn Tấn Như lời cảm ơn chân thành và sâu sắc nhất. Nhờ cĩ sự hướng dẫn và giúp đỡ tận tình của Thầy trong suốt thời gian qua, chúng em đã cĩ thể thực hiện và hồn thành Đồ Án Tốt Nghiệp. Những lời nhận xét, gĩp ý và hướng dẫn tận tình của Thầy đã giúp chúng em cĩ một định hướng đúng đắn trong suốt quá trình thực hiện đề tài, giúp chúng em nhìn ra được những ưu khuyết điểm của đề tài và từng bước hồn thiện hơn. Đồng thời, chúng em xin trân trọng cảm ơn các Thầy Cơ của Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nĩi chung và của khoa Điện – Điện tử nĩi riêng đã dạy dỗ chúng em suốt quãng thời gian ngồi trên ghế giảng đường Đại học. Những lời giảng của Thầy Cơ trên bục giảng đã trang bị cho chúng em những kiến thức và giúp chúng em tích lũy thêm những kinh nghiệm. Bên cạnh đĩ, chúng tơi xin cảm ơn sự hỗ trợ và giúp đỡ của bạn bè trong thời gian học tập tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh và trong quá trình hồn thành luận văn tốt nghiệp này. Cuối cùng, chúng con cũng chân thành cảm ơn sự động viên và sự hỗ trợ của gia đình và cha mẹ trong suốt thời gian học tập. Đặc biệt, chúng con xin gửi lời cảm ơn trân trọng nhất đến cha mẹ, người đã sinh ra và nuơi dưỡng chúng con nên người. Sự quan tâm, lo lắng và hy sinh lớn lao của cha mẹ luơn là động lực cho chúng con cố gắng phấn đấu trên con đường học tập của mình. Một lần nữa, chúng con xin gửi đến cha mẹ sự biết ơn sâu sắc nhất. Người thực hiện đề tài Dương Minh Quang Lưu Văn Tân v
- MỤC LỤC TRANG NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii LỜI CAM ĐOAN iv LỜI CẢM ƠN v MỤC LỤC vi LIỆT KÊ HÌNH VẼ ix LIỆT KÊ BẢNG xi TĨM TẮT xii Chương 1. TỔNG QUAN 13 1.1. ĐẶT VẤN ĐỀ 13 1.2. MỤC TIÊU 14 1.3. NỘI DUNG NGHIÊN CỨU 15 1.4. GIỚI HẠN 15 1.5. BỐ CỤC 15 Chương 2. CƠ SỞ LÝ THUYẾT 17 2.1 HỆ ĐIỀU HÀNH ROS – ROBOT OPERATING SYSTEM 17 2.1.1 Giới thiệu tổng quan về ROS 17 2.1.2 Trao đổi dữ liệu trong ROS 18 2.2 THUẬT TỐN SIFT – SCALE INVARIAN FEATURE TRANSFORM 19 2.2.1 Xác định điểm đặc trưng trong ảnh 19 2.2.2 Mơ tả đặc tính các điểm đặc trưng 23 2.2.3 Nhận dạng các cặp điểm tương đồng của hai ảnh 2D 24 2.3 TÍNH MA TRẬN HOMOGRAPHY BẰNG THUẬT TỐN RANSAC 25 2.3.1 Thuật tốn RANSAC 25 vi
- 2.3.2 Giới thiệu về ma trận Homography 26 2.3.3 Tính ma trận Homography bằng thuật tốn RANSAC 27 2.4 CÁC PHÉP BIẾN ĐỔI TRONG TỌA ĐỘ BA CHIỀU VÀ PHƯƠNG PHÁP GHÉP CÁC ĐÁM MÂY 3D 28 2.4.1 Phép tịnh tiến 29 2.4.2 Phép xoay 29 2.4.3 Ghép các cặp điểm tương đồng của hai đám mây 3D 31 2.4.4 Ghép các cặp điểm tương đồng của nhiều đám mây 3D 33 2.5 NGUYÊN LÍ ĐO ĐỘ SÂU CỦA CAMERA KINECT 34 2.5.1 Giới thiệu về camera Kinect 34 2.5.2 Những thành phần chính của Kinect 34 2.5.3 Thơng số kỹ thuật của camera Kinect 35 2.5.4 Nguyên lí đo độ sâu 36 2.6 CHUYỂN ĐỔI DỮ LIỆU ẢNH 2D THU ĐƯỢC TỪ CAMERA KINECT THÀNH ẢNH 3D 38 Chương 3. THIẾT KẾ 40 3.1 SƠ ĐỒ KHỐI TỔNG QUÁT CỦA CHƯƠNG TRÌNH XỬ LÝ 40 3.2 SƠ ĐỒ KHỐI QUY TRÌNH XỬ LÝ CỦA CHƯƠNG TRÌNH VẼ BẢN ĐỒ 41 Chương 4. THI CƠNG HỆ THỐNG 43 4.1 LƯU ĐỒ GIẢI THUẬT 43 4.2 KẾT QUẢ THI CƠNG 45 4.2.1 Thu thập dữ liệu từ Kinect 45 4.2.2 Tìm điểm đặc trưng của vật thể trong ảnh RGB dùng thuật tốn SIFT 48 4.2.3 Tìm các cặp điểm đặc trưng tương đồng của hai ảnh RGB 50 4.2.4 Xác định các điểm đặc trưng của hai đám mây 3D 51 4.2.5 Xác định các cặp tương đồng của hai đám mây 3D tương ứng với các cặp điểm tương đồng của hai ảnh RGB 51 vii
- 4.2.6 Ghép các cặp điểm tương đồng của các đám mây 3D với nhau 52 4.3 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 55 Chương 5. KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 56 5.1 KẾT QUẢ THỰC HIỆN 56 5.2 ĐÁNH GIÁ 59 Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66 6.1 KẾT LUẬN 66 6.2 HƯỚNG PHÁT TRIỂN 67 TÀI LIỆU THAM KHẢO 68 PHỤ LỤC 69 viii
- LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1. Cấu trúc trao đổi dữ liệu trong ROS 18 Hình 2.2. Các phiên bản ảnh của vật mẫu tương ứng với các hệ số k và σ 21 Hình 2.3. Các phiên bản ảnh sai khác Dx, y, kσ tương ứng với các hệ số và σ 22 Hình 2.4. Hai mươi sáu vị trí được so sánh với vị trí X để tìm 22 Hình 2.5. 16x16 điểm ảnh xung quanh điểm đặc trựng và vector Gradient tương ứng cho mỗi điểm ảnh [6] 23 Hình 2.6. Các vector Gradient được thống kê thành 8 giá trị gĩc quay khác nhau [6] 24 Hình 2.7. Phép chiếu Homography 27 Hình 2.8. Hệ toạ độ Decartes và ′ ′ ′ ′ 28 Hình 2.9. Hai đám mây nắm trên hai hệ trục toạ độ khác nhau và cĩ các điểm x tương đồng 31 Hình 2.10. Hai đám mây cĩ các điểm tương đồng y được ghép với nhau 32 Hình 2.11. Ghép các cặp điểm tương đồng của bốn đám mây lại với nhau 33 Hình 2.12. Camera Kinect 34 Hình 2.13. Các thành phần của Kinect 35 Hình 2.14. Lược đồ thể hiện mối quan hệ giữa độ sâu với độ sai lệch 36 Hình 2.15. Dữ liệu ảnh 2D thu được từ camera Kinect 38 Hình 2.16. Camera lấy thơng tin độ sâu của điểm ảnh 38 Hình 2.17. Hệ trục toạ độ Decartes của ảnh 3D 39 Hình 3.1. Sơ đồ khối tổng quát hệ thống vẽ bản đồ 3D 40 Hình 3.2. Sơ đồ mơ tả chi tiết chương trình vẽ bản đồ 3D 42 Hình 4.1. Lưu đồ giải thuật chương trình 44 Hình 4.2. Kết nối Kinect với máy tính qua cổng USB 45 Hình 4.3. Cấp nguồn cho Kinect 46 Hình 4.4. Kết nối phần cứng hồn chỉnh 46 Hình 4.5. Chạy lệnh hồn thành việc giao tiếp giữa Kinect và máy tính 47 Hình 4.6. Hai ảnh RGB được chụp ở hai gĩc độ khác nhau 48 Hình 4.7. Hai đám mây 3D tương ứng với hai ảnh RGB được chụp ở Hình 4.6 48 Hình 4.8. Điểm đặc trưng trên ảnh RGB thứ nhất 49 ix
- Hình 4.9. Điểm đặc trưng trên ảnh RGB thứ hai 49 Hình 4.10. Các điểm đặc trưng trên hai ảnh RGB 50 Hình 4.11. Kết nối các cặp điểm tương đồng trên hai ảnh RGB 50 Hình 4.12. Các điểm đặc trưng trên đám mây 3D 51 Hình 4.13. Kết nối các cặp điểm tương đồng trên hai đám mây 3D 52 Hình 4.14. Ma trận chuyển đổi được tính tốn 53 Hình 4.15. Hai đám mây 3D được kết nối lại với nhau 53 Hình 4.16. Khơng gian 3D của lối đi trong phịng học (ở gĩc nhìn thứ nhất) 54 Hình 4.17. Khơng gian 3D của lối đi trong phịng học (ở gĩc nhìn thứ hai) 54 Hình 5.1. Khơng gian 3D hồn chỉnh của phịng học (ở gĩc nhì thứ nhất) 56 Hình 5.2. Khơng gian 3D hồn chỉnh của phịng học (ở gĩc nhì thứ hai) 57 Hình 5.3. Khơng gian 3D hồn chỉnh của phịng học (ở gĩc nhì thứ ba) 57 Hình 5.4. Khơng gian 3D của phịng học khi xoay Kinect quanh vị trí cố định (gĩc nhìn thứ nhất) 58 Hình 5.5. Khơng gian 3D của phịng học khi xoay Kinect quanh vị trí cố định (gĩc nhìn thứ hai) 58 Hình 5.6. Biểu đồ thể hiện sai số khoảng cách khi di chuyển Kinect tịnh tiến 60 Hình 5.7. Biểu đồ thể hiện sai số gĩc quay khi xoay Kinect 61 Hình 5.8. Biểu đồ thể hiện sai số khoảng cách giữa đo thực tế và tính tốn từ Kinect 62 Hình 5.9. Đám mây khơng gian 3D của lối đi tự nhiên 63 Hình 5.10. Ảnh 2D lối đi tự nhiên (khơng được sắp xếp các chi tiết) 63 Hình 5.11. Ảnh 2D lối đi được sắp xếp cĩ nhiều chi tiết 64 Hình 5.12. Biểu đồ thống kê sự chênh lệch số lượng điểm đặc trưng trong từng khung hình chụp 65 x
- LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Bảng thống kê tầm nhìn của camera Kinect 36 Bảng 5.1. Bảng thống kê sai số khoảng cách khi di chuyển tịnh tiến Kinect 59 Bảng 5.2. Bảng thống kê sai số gĩc quay khi xoay Kinect 60 Bảng 5.3. Bảng thống kê sai số khoảng cách đo từ Kinect đến đối tượng. 62 Bảng 5.4. Bảng thống kê số lượng điểm đặc trưng 64 xi
- TĨM TẮT Đề tài này sẽ thực hiện việc xây dựng một bản đồ 3D của một phịng học. Để cĩ thể hồn thành mục đích của đề tài thì việc đầu tiên là cần một camera cĩ thể thu thập dữ liệu ảnh RGB và ảnh độ sâu của khung cảnh, trong đề tài này nhĩm đã sử dụng camera Kinect cho việc thu thập dữ liệu và từ hai dữ liệu này ta chuyển thành dữ liệu các đám mây điểm 3D của khung cảnh. Sau đĩ, nhĩm sử dụng thuật tốn SIFT trên hai gĩc khác nhau của một khung cảnh để tìm các cặp điểm tương đồng của hai ảnh RGB này. Tiếp theo, xác định các cặp điểm tương đồng trong hai đám mây điểm 3D tương ứng với hai ảnh RGB. Cuối cùng, xác định ma trận chuyển đổi để ghép các cặp điểm tương đồng này lại với nhau, đồng nghĩa với việc ghép hai đám mây 3D của hai khung cảnh lại thành một đám mây lớn hơn tương ứng với khung cảnh lớn hơn. Tương tự khi chụp nhiều gĩc của khung cảnh căn phịng và thực hiện ghép nhiều đám mây 3D lại với nhau thì sẽ tạo thành bản đồ 3D của phịng học. Đám mây 3D của phịng học sau khi được tạo thành tương đối rõ ràng và giống với khơng gian thực tế của phịng học. Bên cạnh đĩ, việc xây dựng bản đồ 3D cĩ vai trị quan trọng trong lĩnh vực robot tự hành, cung cấp cho robot một bản đồ 3D của khơng gian mà nĩ di chuyển để robot cĩ thể định vị và di chuyển cho phù hợp. xii
- CHƯƠNG 1. TỔNG QUAN Chương 1. TỔNG QUAN 1.1. ĐẶT VẤN ĐỀ Bản đồ 3D được ứng dụng rộng rãi trong Robot tự hành và đĩng vai trị quan trọng trong việc điều hướng, thao tác, điều khiển từ xa Robot. Sau khi tìm tịi nghiên cứu nhĩm cảm thấy thích thú với lĩnh vực này nên quyết định thực hiện đồ án mơ phỏng lại khơng gian 3D sử dụng camera Kinect. Camera Kinect sẽ trả về dữ liệu là ảnh RGB và ảnh độ sâu của khơng gian - ảnh 3D. Với ảnh RGB thu được, nhĩm sẽ sử dụng thuật tốn SIFT để xác định các cặp điểm đặc trưng tương đồng giữa hai khung ảnh được chụp liên tiếp. Sau đĩ, nhĩm đối chiếu tọa độ của các cặp điểm đặc trưng tương đồng trên ảnh RGB lên ảnh cặp ảnh 3D tương ứng. Dựa vào các cặp điểm tương đồng đĩ, nhĩm tính tốn để suy ra ma trận chuyển đổi với mục đích đồng hĩa gốc tọa độ của đám mây thứ hai với đám mây thứ nhất và thực hiện ghép ảnh giữa hai đám mây. Đám mây sau khi ghép tiếp tục được so sánh với đám mây kế tiếp. Cứ tiếp tục thực hiện việc ghép ảnh như vậy, kết quả thu được là đám mây ngày càng hồn thiện hơn. Để cĩ thể hồn thành đồ án này, nhĩm đã tham khảo qua các bài báo cĩ liên quan trên thế giới về lĩnh xây dựng bản đồ 3D của một khơng gian sử dụng camera Kinect. Trong bài báo “ 2D Mapping of a Closed Area by a Range Sensor ” của nhĩm tác giả Shinya OGAWA, Kajiro WATANABE, Kazuyuki KOBAYASHI. Với mục đích là muốn điều khiển những chiếc xe khơng người lái trong một khơng gian kín như nhà kho,xưởng, căn phịng, Việc cĩ được bản đồ và định vị cho những chiếc xe là rất cần thiết. Nhĩm đã sử dụng laser rangefinder để xác định sự phân ngưỡng của vật thể kết hợp với vị trí và hướng của robot để xây dựng nên bản đồ 2D. Với bản đồ thu được cĩ thể sử dụng cho robot tự hành trong khơng gian kín nhưng giá trị trả về chỉ cĩ 2 tọa độ x,y nên sẽ cĩ nhiều bất lợi trong những tháo tác điều khiển nâng cao [1]. Trong bài báo “ 3D Mapping With a RGB-D Camera ” của nhĩm tác giả Felix Endres, Jurgen Hess, J ¨ urgen Sturm, Daniel Cremers, and Wolfram Burgard đã trình bày phương BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 13
- CHƯƠNG 1. TỔNG QUAN pháp định vị và vẽ bản đồ sử dụng camera RGB-D như là Kinect hoặc Asus Xtion Pro Live. Bằng cách sử dụng thuật tốn ICP (iterative-closest-point) và phương pháp RANSAC (Random Sample Consensus) để xử lý dữ liệu thu được từ camera và xây dựng lại bản đồ. Điểm đặc biệt của hệ thống là cĩ thế thực thi trong các trường hợp khác nghiệt như là camera di chuyển với tốc độ cao, trong mơi trường ít điểm đặc trưng và nhiều mơi trường khác nữa [2]. Với bài báo “ 3D map reconstruction with sensor Kinect ” của nhĩm tác giả Peter Beňo, František Duchoň, Michal Tưlgyessy, Peter Hubinský, Martin Kajan đến từ trường đại học Slovak. Nhĩm đã khảo sát việc xây dựng bản đồ theo hai cách là sử dựng thuật tốn RGBD-6D-SLAM và Truncated signed distance function (TSDF). Điểm hạn chế của đề tài này đĩ là cần phải cĩ một máy tính cĩ cấu hình mạnh để xử lý các thuật tốn mới cho được kết quả chính xác [3]. Ngồi ra, với bài báo “ Indoor Mapping using Kinect and ROS ” của nhĩm tác giả Hesham Ibrahim, Mohamed Ahmed Omara, Khairul Salleh Mohamed Sahari đến từ đại học Tenaga Nasional của Malaysia đã trình bày việc lấy dữ liệu từ camera Kinect trên nền tảng ROS (Robot Operating System). Tuy nhiên bài báo chưa chắc chắn về độ tin cậy của camera Kinect, phương pháp thực hiện trong điều kiện căn phịng trơn, nhẵn, thiếu ánh sáng [4]. Bằng việc tham khảo và kết hợp các đề tài đã nghiên cứu cĩ trước đĩ của nhiều tác giả trên thế giới, nhĩm đã cải tiến sử dụng camera giá rẻ Kinect của hãng Mircosoft nhưng kết quả trả về tương đối chính xác để thu thập dữ liệu từ mơi trường mà cụ thể là tồn bộ khơng gian trong nhà. Sau đĩ truyền dữ liệu xuống camera trên nền tảng ROS và sử dụng thuật tốn SIFT, phương pháp chuyển tọa độ ma trận 3D, nhằm khơi phục lại khơng gian theo ba chiều. Kết quả là ảnh cho ra tương đối chính xác khoảng 60%, tốc độ xử lý khơng quá lâu. 1.2. MỤC TIÊU Mục tiêu của đề tài là hồn thành việc xây dựng một bản đồ khơng gian 3D của một căn phịng học. Bản đồ sau khi được xây dựng sẽ là một khơng gian ba chiều gồm các đám mây ghép lại. Mỗi đám mây dùng để xây dựng bản đồ 3D được chuyển đổi từ các ảnh 2D BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 14
- CHƯƠNG 1. TỔNG QUAN và được chụp từ camera Kinect. Sau khi xử lí các dữ liệu bằng thuật tốn, bản đồ 3D của phịng học sẽ được hồn thành. 1.3. NỘI DUNG NGHIÊN CỨU 1- Tìm hiểu về ROS. 2- Tìm hiểu về openCV và thư viện Point Cloud. 3- Tìm hiểu về thiết bị KINECT. 4- Kết nối KINECT với máy tính. 5- Thu thập các ảnh chụp từ KINECT lưu dưới dạng ảnh và dạng đám mây. 6- Tìm các điểm tương đồng trong đám mây 3D. 7- Ghép các đám mây 3D để được khơng gian hồn thiện. 8- Chỉnh sửa thuật tốn, lọc nhiễu từ mơi trường để cĩ được khơng gian tốt nhất. 9- Viết báo cáo luận văn. 10- Báo cáo đề tài tốt nghiệp. 1.4. GIỚI HẠN Đề tài hồn thành được việc xây dựng một khơng gian chưa xác định từ các dữ liệu ảnh thu được của camera KINECT. Bên cạnh đĩ, khơng gian sau khi được xây dựng cĩ thể bị nhiễu hoặc bị sai lệch ít nhiều so với khơng gian thực tế do các tác động của các yếu tố mơi trường như: ánh sáng, độ chi tiết của các vật thể. 1.5. BỐ CỤC Chương 1: Dẫn nhập. Đưa ra vấn đề, lí do chọn đề tài. Đề tài cĩ tính cấp thiết như thế nào trong đời sống cũng như kết quả sẽ đạt được sau khi hồn thành cùng với đĩ là những giới hạn của đề tài. Chương 2: Cơ sở lí thuyết. Giới thiệu một cách khái quát về camera KINECT, các thuật tốn cĩ liên quan cũng như các cơng cụ và thư viện để xử lí ảnh 3D. Đưa ra nguyên lí để xử lí trên các điểm ảnh, các đám mây được thu thập về từ KINECT. Chương 3: Thiết kế. Đưa ra sơ đồ khối của chương trình, cách ghép nối các đám mây lại để tạo thành một khơng gian lớn hơn. Nêu cụ thể các bước thực hiện. BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 15
- CHƯƠNG 1. TỔNG QUAN Chương 4: Thi cơng hệ thống. Đưa ra lưu đồ giải thuật chương trình, giải thích và kết quả từng phần thực hiện. Chương 5: Kết quả và đánh giá. Đưa ra hình ảnh kết quả đã thực hiện được. Đánh giá ưu, nhược điểm của kết quả đạt được. Chương 6: Kết luận và hướng phát triển. Kết luận về đề tài và đưa ra hướng phát triển tiếp theo. BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 16
- CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2. CƠ SỞ LÝ THUYẾT 2.1 HỆ ĐIỀU HÀNH ROS – ROBOT OPERATING SYSTEM 2.1.1 Giới thiệu tổng quan về ROS Robot là sự kết hợp từ các mơ-đun nhỏ hơn tạo thành. Mỗi mơ-đun thực hiện một nhiệm vụ khác nhau. Ví dụ robot dị line là kết hợp của bộ thu phát hồng ngoại, hai động cơ encoder, bộ xử lý trung tâm. Cịn đối với những robot lớn hơn yêu cầu càng nhiều mơ đun sẽ gây khĩ khăn trong việc kiểm sốt và giao tiếp giữa chúng. Để khắc phục nhược điểm này, năm 2007, ROS – Robot Operating System [5] đã được phát triển và đến tháng 2 năm 2013 chính thức trở thành hệ điều hành mã nguồn mở và ROS trở thành nền tảng cho lĩnh vực Robotic. Tất cả các phần mềm ROS được tổ chức dưới dạng các gĩi. Một gĩi của ROS là kết hợp của nhiều tập tin bao gổm cả tập tin thực thi và tập tin hỗ trợ. ROS khơng chỉ cung cấp các gĩi cĩ sẵn trong thư viện mà cịn cĩ cả một cộng đồng hỗ trợ từ nhiều nơi trên thế giới, điều này sẽ hỗ trợ rất tốt cho người nghiên cứu. ROS là một mã nguồn mở, là một siêu hệ điều hành dành cho lĩnh vực điều khiển robot. Nĩ cung cấp các tính năng cần thiết ở một hệ điều hành, như là khái niệm về phần cứng, điều khiển thiết bị cấp thấp, thực hiện các chức năng thơng dụng như quản lý các quá trình, các gĩi. ROS cũng cung cấp các cơng cụ và thư viện cho việc thu thập, viết và chạy code thơng qua nhiều máy tính. Một hệ thống ROS bao gồm các node độc lập, khi chạy các node thì đồng thời các message của các node đã được gửi lên node master, các node sẽ giao tiếp với nhau thơng qua các message bằng hình thức publish và subscribe. Ưu điểm của ROS: Đầu tiên, phải nĩi đến ưu điểm nổi bật là ROS giúp ta xây dựng ứng các dụng robotics trên nền ROS sẽ giảm đi một lượng đáng kể các cơng việc lập trình, thiết lập hệ thống bằng việc tận dụng nguồn tài nguyên mã nguồn mở vơ cùng phong phú của cộng đồng ROS và các phần cứng đã được thiết kế sẵn để sử dụng trên ROS như là: Amigo, Quadrobot, Barret hand. BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 17
- CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 2.1.2 Trao đổi dữ liệu trong ROS ROS được tích hợp một vài chuẩn giao tiếp khác nhau bao gồm: giao tiếp đồng bộ theo chuẩn RPC qua các services, truyền dữ liệu bất đồng bộ qua topics và lưu trữ dữ liệu trên Parameter Server. ROS Master Messages Messages Messages Registration Registration ROS ROS ROS Node 1 Node 2 Node n Hình 2.1. Cấu trúc trao đổi dữ liệu trong ROS Mục đích chính của ROS là để điều khiển phần cứng ở mức thấp, cung cấp các hàm phổ biến cho mỗi mơ-đun và tạo sự kết nối giữa các mơ-đun thơng qua thơng qua cổng TCP/IP. ROS tổ chức mơ-đun bao gồm nhiều node độc lập và một node Master. Mỗi node thực hiện một chức năng cụ thế như là cảm biến nhiệt độ, độ ẩm, đọc dữ liệu encoder, điều khiển phần cứng và nhiều thứ khác. Vai trị của node Master khơng chỉ là quản lý các node mà cịn tạo mối lien kết giữa chúng trong lớp ứng dụng để cho phép các node gửi và nhận dữ liệu với nhau hoặc là node Master sử dụng mơ đun để nhắn tin giữa các Publisher và Subsciber. Cấu trúc của ROS được mơ tả như Hình 2.1 Master: Là trung tâm trao nhận dữ liệu. Nếu khơng cĩ master các node khơng thể tìm thấy nhau để trao đổi các message(message là các tin nhắn với mục đích muốn lấy thơng tin gì đĩ) hoặc yêu cầu dịch vụ. BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 18
- S K L 0 0 2 1 5 4



