1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công mô hình robot thu thập ảnh và vẽ bản đồ môi trường trong nhà dùng camera 3d

67 8 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 4,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

THÀNH PHỐ HỒ CHÍ MINHBỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG THIẾT KẾ VÀ THI CÔNG MÔ HÌNH ROBOT THU THẬP ẢNH VÀ VẼ BẢ

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH ROBOT THU THẬP ẢNH VÀ VẼ BẢN ĐỒ MÔI TRƯỜNG

TRONG NHÀ DÙNG CAMERA 3D

GVHD: NGÔ BÁ VIỆT SVTH: ĐÀO NGUYỄN DU SVTH: NGUYỄN ĐỨC LÂM

SKL 0 0 7 3 5 6

Trang 2

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 – Y SINH

NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH ROBOT THU THẬP ẢNH VÀ VẼ BẢN ĐỒ MÔI TRƯỜNG

TRONG NHÀ DÙNG CAMERA 3D

GVHD: ThS Ngô Bá Việt SVTH1: Đào Nguyễn Du MSSV1: 13141035

SVTH2: Nguyễn Đức Lâm MSSV2: 14141159

Trang 3

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 – Y SINH

SVTH2: Nguyễn Đức Lâm MSSV2: 14141159

Trang 4

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÖC

Tp HCM, ngày 4 tháng 8 năm 2020

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Đào Nguyễn Du Lớp: 113141DT1C MSSV: 13141035

Họ tên sinh viên 2: Nguyễn Đức Lâm Lớp: 14141DT1A MSSV: 14141159

Tên đề tài: THIẾT KẾ VÀ THI CÔNG ROBOT THU THẬP ẢNH VÀ VẼ BẢN ĐỒ MÔI TRƯỜNG TRONG NHÀ DÙNG CAMERA 3D

Trang 5

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÖC

I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH ROBOT THU THẬP

ẢNH VÀ VẼ BẢN ĐỒ MÔI TRƯỜNG TRONG NHÀ DÙNG CAMERA 3D

II NHIỆM VỤ

1 Các số liệu ban đầu:

- Ngôn ngữ sử dụng: Python, thư viện OpenCV, Giáo trình Xử lý ảnh

- Các tài liệu về Arduino và thư viện Arduino

2 Nội dung thực hiện:

- Tìm hiểu về công nghệ quét 3D

- Tìm hiểu về camera 3D và các Module liên quan

- Xây dựng chương trình điều khiển Robot

- Xây dựng chương trình trên Python

- Hoàn thành mô hình

- Đánh giá kết quả thực hiện

Trang 6

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/08/2020

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Ngô Bá Việt

Trang 7

LỜI CAM ĐOAN

Đề tài này là do nhóm tự thực hiện dựa vào một số tài liệu có sẵn dưới sự hướng dẫn của Th.S Ngô Bá Việt và không sao chép từ tài liệu hay công trình đã có trước đó Nếu phát hiện gian dối nhóm sẽ hoàn toàn chịu trách nhiệm

Người thực hiện đề tài

Trang 8

Tiếp theo chúng tôi xin cảm ơn tới các Anh, Chị khóa trên cùng các bạn sinh viên đã tạo điều kiện giúp đỡ, từ những tài liệu liên quan tới đề tài cho tới những kinh nghiệm sống thực tế Nhờ họ mà chúng tôi có thể phát triển được đề tài

Cuối cùng là lời cảm ơn đến Cha, Mẹ nếu không có hai đấng sinh thành thì ngày hôm nay cũng không có chúng tôi hiện diện ở đâu để thực hiện những việc mình muốn, học đã tạo điều kiện để giúp con của mình hướng tới một tương lai tốt đẹp hơn

Một lần nữa chúng tôi xin gửi lời cảm ơn chân thành đến tất cả!

Người thực hiện đề tài

Đào Nguyễn Du – Nguyễn Đức Lâm

Trang 9

MỤC LỤC

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii

LỜI CAM ĐOAN iv

LỜI CẢM ƠN v

MỤC LỤC vii

LIỆT KÊ HÌNH VẼ ixx

LIỆT KÊ BẢNG xii

BẢNG LIỆT KÊ TỪ VIẾT TẮT xiii

TÓM TẮT xiii

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU 1

1.3 NỘI DUNG NGHIÊN CỨU 2

1.4 GIỚI HẠN 2

1.5 BỐ CỤC 2

Chương 2 CƠ SỞ LÝ THUYẾT 4

2.1 CÁC PHƯƠNG PHÁP XÂY DỰNG BẢN ĐỒ 4

2.1.1 SLAM 4

2.1.2 3D Structured Light 5

2.1.3 Xây dựng bản đồ bằng phương pháp quét Laser 6

2.1.4 Xây dựng bản đồ bằng cách chụp ảnh từ nhiều vị trí khác nhau………….7

2.2 HỆ ĐIỀU HÀNH ROS 8

2.3 ẢNH 3D VÀ PHƯƠNG PHÁP HIỆU CHỈNH 11

2.3.1 Ảnh 3D 11

2.3.2 Phương pháp hiệu chỉnh 13

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ 15

3.1 GIỚI THIỆU 15

3.2 SƠ ĐỒ KHỐI HỆ THỐNG 15

3.3 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 16

Trang 10

3.3.2 Khối thu tín hiệu hình ảnh 16

3.3.3 Khối điều khiển 17

3.3.4 Khối giao tiếp không dây 19

3.3.5 Khối động lực 19

3.3.6 Khối nguồn 21

3.3.7 Sơ đồ nguyên lý 22

3.4 PHƯƠNG PHÁP XÂY DỰNG BẢN ĐỒ 3D MÔI TRƯỜNG TỪ CAMERA KINECT 23

3.4.1 Khối thu thập dữ liệu và tiền xử lý 24

3.4.2 Nhận dạng các cặp điểm tương đồng của ảnh 2D 25

3.4.3 Ghép các đám mây 3D 28

3.4.4 Xây dựng bản đồ 3D 38

Chương 4 THI CÔNG HỆ THỐNG 30

4.1 GIỚI THIỆU 30

4.2 THI CÔNG HỆ THỐNG 30

4.2.1 Các linh kiện, thiết bị cần thiết cho mô hình 30

4.2.2 Lắp ráp và kiểm tra 30

4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 31

4.3.1 Đóng gói bộ điều khiển 31

4.3.2 Kết nối bộ phận điều khiển với nguồn và motor 32

4.3.3 Kết nối cảm biến với laptop 33

4.4 LẬP TRÌNH HỆ THỐNG 33

4.4.1 Lưu đồ giải thuật hệ thống thu thập ảnh và vẽ bản đồ 33

4.4.2 Lập trình Arduino với Arduino IDE 37

4.4.3 Ứng dụng Arduino Bluetooth Robot Car 37

4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 38

4.5.1 Hướng dẫn sử dụng Arduino Bluetooth Robot Car 38

4.5.2 Hướng dẫn tạo bản đồ 3D 38

Chương 5 KẾT LUẬN – NHẬN XÉT – ĐÁNH GIÁ 40

5.1 KẾT QUẢ THI CÔNG MÔ HÌNH 40

5.1.1 Mô hình robot thu thập ảnh 40

5.1.2 Đánh giá kết quả thu được 40

Trang 11

5.2 KẾT QUẢ THU THẬP ẢNH 3D MÔI TRƯỜNG 41

5.3 KẾT QUẢ VẼ BẢN ĐỒ 3D MÔI TRƯỜNG 44

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47

6.1 KẾT LUẬN 47

6.2 HƯỚNG PHÁT TRIỂN 47

TÀI LIỆU THAM KHẢO 489

PHỤ LỤC 50

Trang 12

LIỆT KÊ HÌNH VẼ

Hình Trang

Hình 2.1 Bản đồ vẽ bằng phương pháp SLAM 5

Hình 2.2 Bản đồ vẽ bằng phương pháp Structured Light 6

Hình 2.3 Bản đồ vẽ bằng phương pháp quét laser 7

Hình 2.4 Bản đồ vẽ bằng phương pháp quang trắc 8

Hình 2.5 ROS trong điều khiển Robot 8

Hình 2.6 Cách thức hoạt động của ROS 9

Hình 2.7 ROS Computation Graph 10

Hình 2.8 Ảnh 3D môi trường 11

Hình 2.9 Các phép xoay trong 3D 12

Hình 2.10 Mô hình các thông số của camera 14

Hình 3.1 Sơ đồ hệ thống 15

Hình 3.2 Thiết bị dùng để xử lý và hiển thị 16

Hình 3.3 Cảm biến Kinect 16

Hình 3.4 Sơ đồ cấu tạo cảm biến Kinect 17

Hình 3.5 Arduino Nano 17

Hình 3.6 Sơ đồ chân Arduino Nano 18

Hình 3.7 Module bluetooth HC-05 19

Hình 3.8 Ảnh sơ đồ chân module HC-05 19

Hình 3.9 Mạch điều khiển động cơ DC HW39 20

Hình 3.10 Sơ đồ chân mạch điều khiển động cơ DC HW39 20

Hình 3.11 Động cơ robot 21

Hình 3.12 Sơ đồ nguyên lý mô hình robot thu thập ảnh 23

Hình 3.13 Sơ đồ khối mô tả quá trình vẽ bản đồ của robot 24

Hình 3.14 Ảnh RGB và ảnh chiều sâu chụp từ camera Kinect 24

Hình 3.15 Mô tả 26 vị trí được so sánh với X để tìm giá trị cực đại cực tiểu 26

Hình 3.16 Cách mô tả điểm đặc trưng dùng SIFT 27

Hình 3.17 Các điểm đặc trưng tương đồng của hai ảnh RGB 28

Hình 4.1 Ảnh bên trong bộ điều khiển 31

Hình 4.2 Ảnh bên ngoài bộ điều khiển 32

Hình 4.3 Ảnh bên trong robot 32

Trang 13

Hình 4.4 Ảnh dưới đấy của robot 32

Hình 4.5 Kết nối cảm biến Kinect với laptop 33

Hình 4.6 Lưu đồ giải thuật thu thập ảnh và vẽ bản đồ 35

Hình 4.7 Lưu đồ giải thuật chương trình điều khển robot 36

Hình 4.8 Giao diện Arduino IDE 37

Hình 4.9 Giao diện Arduino IDE 37

Hình 4.10 Giao diện ứng dụng Android 38

Hình 4.11 Giao diện ứng dụng Android 38

Hình 4.12 Cửa sổ RTB-Map* (ROS) 39

Hình 4.13 Lưu bản đồ 3D 39

Hình 4.14 Phần mềm MeshLab 39

Hình 5.1: Mô hình robot thu thập ảnh và vẽ bản đồ 3D 40

Hình 5.2: Loop Closure Detection 42

Hình 5.3: Các điểm đặc trưng 42

Hình 5.4: 3D Map 43

Hình 5.5: 3D Loop Closure 43

Hình 5.6: GraphView 44

Hình 5.7: Bản đồ 2D với các chuyển động của robot để lập bản đồ 3D 44

Hình 5.8: Bản đồ 3D của phòng góc nhìn thứ nhất 45

Hình 5.9: Bản đồ 3D của phòng góc nhìn thứ hai 45

Hình 5.10: Bản đồ 3D của phòng góc nhìn thứ ba 46

Trang 14

LIỆT KÊ BẢNG

Bảng Trang

Bảng 3.1: Bảng thống kê thực nghiệm tầm nhìn của camera Kinect … 17

Bảng 3.2: Liệt kê công suất các tải dùng điệp áp 5V 22

Bảng 4.1: Danh sách các linh kiện,thiết bị 30

Bảng 5.1: Bảng so sánh kích thướt của một số vật thể 41

Trang 15

BẢNG LIỆT KÊ TỪ VIẾT TẮT

SLAM Simultaneous Localization And Mapping

ROS Robot Operating System

SIFT Scale-Invariant Feature Transform

Trang 16

TÓM TẮT

Công nghệ quét 2D và 3D đang phổ biến hơn bao giờ hết và các doanh nghiệp trên toàn thế giới đang nắm lấy công nghệ đa năng này để tăng năng suất, loại bỏ các chi phí không cần thiết để tạo ra các sản phẩm và dịch vụ mới lạ, thú vị nhằm kích thích sự tò mò của người tiêu dùng

Hiện nay, công nghệ quét 2D và 3D được sử dụng rộng rãi trong thiết kế công nghiệp, kỹ thuật, sản xuất, do khả năng nắm bắt nhanh chóng và chính xác các dữ liệu cần thiết Nếu không có các thiết bị công nghệ 3D tiên tiến này, các phép đo sẽ phải được thu thập bằng các phương pháp thủ công lỗi thời, có thể tốn kém về chi phí và mất thời gian Các công nghệ quét 3D mạnh mẽ giúp tăng tốc đáng kể quy trình làm việc, giúp tránh những sai lầm và nâng cao năng suất

Với đề tài “Thiết kế mô hình robot thu thập ảnh và vẽ bản đồ môi trường trong nhà dùng camera 3D” nhóm muốn thu thập và vẽ lại bản đồ môi trường xung quanh góp phần ứng dụng vào nhiều lĩnh vực khác Nhóm thu thập hình ảnh và vẽ lại bản đồ dựa trên phương pháp SLAM, đây là một vấn đề phổ biến trong lĩnh vực điều khiển tự động

Kết quả cuối cùng mà nhóm thu được là một bản đồ 3D môi trường xung quanh tương đối hoàn chỉnh và chi tiết, thể hiện được các vật thể trong nhà Bên cạnh đó, nhóm cũng kết hợp việc vẽ bản đồ với điều khiển robot góp phần làm cho ứng dụng mang tính thực tế nhiều hơn

Trang 17

Công nghệ quét 3D là một quá trình xác định hình dạng bề mặt của vật thể trong không gian ba chiều để tạo ra mô hình kỹ thuật số 3D [3] Quét 3D đã mở ra một bước ngoặt mới trong công nghệ 3D, bất kỳ mô hình vật chất nào tồn tại trên trái đất đều có thể mô hình hóa bằng dữ liệu kỹ thuật số chỉ trong vài giờ đồng hồ Công nghệ này được ứng dụng trong nhiều lĩnh vực từ sản xuất cơ khí, khảo cổ học, y tế đến giao thông và xây dựng [4] Ứng dụng công nghệ quét 3D sẽ giúp tiết kiệm thời gian, giảm chi phí và nâng cao chất lượng của sản phẩm

Camera 3D hiện đang được xem là loại camera có độ ứng dụng cao trong khoa học kỹ thuật vì camera này có khả năng ghi nhận chiều sâu của đối tượng, tương tự như mắt con người [5] Dựa trên các nghiên cứu cùng với các hoạt động thực tiễn hiện nay, chúng ta có thể nhận ra công nghệ quét 2D và 3D đang phổ biến hơn bao giờ hết,

nó được ứng dụng trên mọi lĩnh vực, trong mọi mặt của đời sống Đề tài: “Thiết kế mô

hình robot thu thập ảnh và vẽ bản đồ môi trường trong nhà dùng camera 3D” được

lựa chọn thực hiện sẽ có chức năng thu thập hình ảnh và tái hiện lại bản đồ ở môi trường xung quanh dựa trên các thông tin được thu thập từ camera 3D

Trang 18

CHƯƠNG 1 TỔNG QUAN

- Ứng dụng hệ thống ROS trên nền tảng thư viện có sẵn để thu thập, xử lý hình ảnh 3D, trên cơ sở đó vẽ được bản đồ môi trường trong nhà

1.3 NỘI DUNG NGHIÊN CỨU

Đề tài: “Thiết kế mô hình robot thu thập ảnh và vẽ bản đồ môi trường trong nhà

dùng camera 3D” có những nội dung sau:

 NỘI DUNG 1: Tìm hiểu về công nghệ quét 3D

 NỘI DUNG 2: Tìm hiểu về camera 3D và các Module liên quan

 NỘI DUNG 3: Xây dựng mô hình và chương trình điều khiển Robot

 NỘI DUNG 4: Xây dựng chương trình trên Python

 NỘI DUNG 5: Hoàn thành mô hình

 NỘI DUNG 6: Đánh giá kết quả thực hiện

1.4 GIỚI HẠN

Với đề tài: “Thiết kế và thi công mô hình robot thu thập ảnh và vẽ bản đồ môi

trường trong nhà dùng camera 3D” có các giới hạn bao gồm:

- Thiết kế mô hình sử dụng camera 3D để thu thập hình ảnh và bản đồ trong không gian nhỏ

Chương 2: Cơ sở lý thuyết

Chương này sẽ trình bày cơ bản về công nghệ quét 3D, và các thuật ngữ liên quan, giới thiệu cơ bản về camera 3D và thư viện liên quan

Chương 3: Thiết kế và tính toán

Chương này sẽ đi tìm hiểu kỹ các thuật toán biến đổi tọa độ, các ma trận chuyển đổi và thiết kế mô hình Robot

Chương 4: Thi công hệ thống

Nội dung của chương là quá trình thi công cùng với việc chạy chương trình về thu thập hình ảnh và vẽ lại bản đồ

Trang 19

CHƯƠNG 1 TỔNG QUAN

Chương 5: Kết quả nhận xét và đánh giá

Đây là chương tổng hợp các kết quả đạt được sau khi thi công mô hình

Chương 6: Kết luận và hướng phát triển

Kết quả nhận được khi hoàn thiện đề tài, đưa ra các hướng phát triển đề đề tài được hoàn thiện hơn

Trang 20

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 CÁC PHƯƠNG PHÁP XÂY DỰNG BẢN ĐỒ

2.1.1 SLAM

SLAM (Simultaneous Localization and Mapping) là hệ thống lấy dữ liệu ảnh thu được từ các cảm biến và camera để tái tạo xây dựng lại môi trường bên ngoài xung quanh bằng cách đưa thông tin môi trường vào một bản đồ (2D và 3D) [6] SLAM đại diện cho định vị (Localization) và tái tạo bản đồ (Mapping) Từ đó, thiết bị (Robot, camera, xe) có thể định vị vị trí của chúng đang ở đâu, trạng thái, tư thế của nó trong bản đồ để tự động thiết lập đường đi trong môi trường hiện tại SLAM là một quá trình lặp đi lặp lại – thiết bị càng lặp lại nhều lần, nó càng có thể định vị chính xác trong không gian đó

Có nhiều loại SLAM khác nhau Có SLAM sử dụng dữ liệu trực quan (hình ảnh

từ camera) làm nguồn thông tin chính Có 2D SLAM, chỉ chú trọng đến chuyển động trong 2 trục Sau đó là 3D SLAM, chủ yếu tập trung vào đo lường và lập bản đồ 3D chính xác về môi trường

Để tái tạo môi trường vào bản đồ, thực thể phải nhận thông tin các phần tử trong môi trường xung quanh nhờ các cảm biến ngoại vi và cảm biến nội vi Và hầu như mọi cảm biến đều bị ảnh hưởng bởi nhiễu và khả năng có hạn của chúng

 Cảm biến ngoại vi (Exteroceptive Sensor)

Cảm biến ngoại vi nhận và đo thông tin các thành phần ở môi trường xung quanh Một số loại cảm biến thông dụng :

- Sonar : Thiết bị sử dụng sóng âm thanh thu được để dò tìm và xác định vị trí của đối tượng dưới nước, ngoài ra nó còn được sử dụng cả trên đất liền

- Laser Rangefinder : Thiết bị sử dụng tia laser để xác định khoảng cách đến một đối tượng, phương pháp được sử dụng phổ biến là toán tử Time – Of – Flight (gởi một chùm tia laser đến đối tượng và đo thời gian phản xạ lại từ đối tượng về nơi bắn tia laser)

- Camera : Thu thập hình ảnh từ môi trường xung quanh

Trang 21

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

- Hệ thống định vị GPS : Xác định vị trí tọa độ của đối tượng dựa trên các vệ

tinh nhân tạo được đặt trên quỹ đạo không gian Cảm biến GPS không thể hoạt động dưới nước và ngay cả trong nhà

 Cảm biến nội vi (Proprioceptive Sensor)

Cảm biến nội vi giúp cho thực thể đo được tốc độ, sự thay đổi vị trí và gia tốc của chính thực thể Một số loại cảm biến sử dụng trong thực tế :

- Encoder : Là thiết bị được sử dụng phổ biến trong các hệ thống điều khiển

tự động để báo vận tốc

- Accelerometers : Máy đo gia tốc, gia tốc kế cho biết hai thông số là phương (Vector 3 chiều x, y, z) và chuyển động Được sử dụng nhiều trong một số game dựa vào cảm biến : đua xe

- Gyroscope : con quay hồi chuyển, là thiết bị để đo hoặc duy trì phương hướng

Hệ thống SLAM sẽ xảy ra lỗi khi hoạt động trong môi trường động, môi trường

có phạm vi quá lớn, môi trường có quá nhiều hoặc quá ít đặc trung, khi camera di chuyển không ổn định và khi các cảm biến xảy ra xung đột

Hình 2.1 : Bản đồ vẽ bằng phương pháp SLAM

2.1.2 3D Structured Light

3D Structured Light là công nghệ quét quang học không tiếp xúc, sử dụng các mẫu ánh sáng để thực hiện quét 3D Các mẫu ánh sáng khác nhau được chiếu lên vật thể và máy quét ghi lại vị trí và cách các mẫu ánh sáng bị biến dạng bởi vật thể Thông qua lượng giác đơn giản, khoảng cách và vị trí của hàng ngàn điểm dữ liệu trong đó

Trang 22

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

mặt vật thể là một hình tam giác, sử dụng camera là điểm tham chiếu Kết quả cuối cùng là một đám mây điểm minh họa cho vật thể[7]

Khi một lần chụp của vật thể được hoàn thành, vật thể sẽ được xoay hoặc camera được di chuyển để chụp một góc khác Nhiều bức ảnh được chụp theo kiếu này được lặp đi lặp lại cho đến khi hoàn thành một vòng quay 360°

Có hai loại ánh sáng được sử dụng chủ yếu là ánh sáng trắng và ánh sáng xanh

Cả hai ánh sáng này có liên quan chặt chẽ với nhau Quét 3D ánh sáng trắng là tiền thân của quét 3D ánh sáng xanh, được tạo ra để cải tiến công nghệ quét ánh sáng có cấu trúc ban đầu Quét ánh sáng xanh tạo ra độ phân giải cao hơn và quét chính xác hơn quét ánh sáng trắng

Hình 2.2: Bản đồ 3D vẽ bằng phương pháp Structured Light

2.1.3 Xây dựng bản đồ bằng phương pháp quét Laser

Camera ánh sáng chiếu một chùm tia laser lên bề mặt của vật thể, sau đó tia laser phản xạ và trở lại cảm biến Thời gian giữa phép chiếu và phản xạ được đo và diễn giải dưới dạng thông tin hình học [8]

Về cơ bản, khoảng cách giữa máy quét và vật thể được tìm thấy vì tốc độ ánh sáng (laser) là biến được biết đến Khi quét, có thể tạo ra các đám mây điểm (thay vì một vài trăm điểm) thể hiện một cách chính xác và chi tiết đối tượng trong thực tế mà các tia laser đã đi qua Những điểm này có thể được sử dụng để ngoại suy hình dạng của vật thể Mức độ chính xác của quét laser là khá cao vì hàng triệu xung laser được chiếu và nhận trong một khoảng thời gian ngắn

Trang 23

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Tốc độ quét phụ thuộc vào mật độ điểm muốn tái tạo của vật thể Quét laser được sử dụng khi một vật thể lớn cần được quét Tuy nhiên, quá trình quét còn khá chậm do hàng triệu triệu chùm tia laser cần phải chạm tới hàng triệu điểm trên bền mặt vật thể

Hình 2.3: Ảnh bản đồ vẽ bằng phương quét laser

2.1.4 Xây dựng bản đồ bằng cách chụp ảnh từ nhiều vị trí khác nhau

Xây dựng bản đồ bằng cách chụp ảnh từ nhiều vị trí khác nhau là cách đơn giản nhất để quét một vật thể Phương pháp này xác định các thuộc tính hình học của các vật thể từ các hình ảnh thu được Một kỹ thuật phức tạp hơn được gọi là quang trắc lập thể kỹ thuật này bao gồm việc ước lượng các tọa độ ba chiều của các điểm trên một vật thể Ngoài ra, các tọa độ còn được xác định bởi các phép đo từ hai hình ảnh trở lên được chụp từ các vị trí khác nhau Các điểm chung trên mỗi ảnh sẽ được nhận diện và đồng bộ với nhau Giao điểm của các tia “được vẽ” từ vị trí máy ảnh đến cái điểm trên vật thể xác định vị trí ba chiều của điểm đó [9]

Quang trắc dùng các phương pháp từ nhiều môn học gồm quang học và hình học phản xạ Mô hình dữ liệu của Georg Wiora cho biết những loại thông tin đầu vào

và đầu ra của phương pháp này

Các tọa độ 3D (3D co-ordinates) định nghĩa vị trí của các điểm của vật thể trong không gian 3D Các tọa độ ảnh định nghĩa vị trí của các điểm trong ảnh của vật thể Sự định hướng bên ngoài (exterior orientation) giúp xác định vị trí và khoảng cách của các điểm ảnh trong không gian Các quan sát bổ sung (co-ordinatesfrom n views) đóng vai trò vô cùng quan trọng: với các khung tỉ lệ, về cơ bản là khoảng cách giữa hai

Trang 24

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Hình 2.4: Bản đồ vẽ bằng phương pháp quang trắc

2.2 HỆ ĐIỀU HÀNH ROS

ROS (Robot Operating System) là một hệ thống phần mềm chuyên dụng để lập trình và điều khiển robot, bao gồm các công cụ để lập trình, hiển thị, tương tác trực tiếp với phần cứng và kết nối cộng đồng robot trên toàn thế giới [10]

Nói cách khác, ROS là một hệ điều hành dành cho robot Cũng giống như các

hệ điều hành cho PC, máy chủ hoặc các thiết bị độc lập, ROS là một hệ điều hành đầy

đủ được “sinh ra” cho robot ROS trên thực tế là một hệ điều hành meta, giúp kết nối một hệ điều hành và phần mềm trung gian

Hình 2.5: ROS trong điều khiển Robot

Trước khi ROS đươc tạo ra, các nhà thiết kế robot và nghiên cứu robot sẽ dành thời gian đáng kể để thiết kế phần mềm nhúng trong robot, cũng như chính phần cứng Điều này đòi hỏi kỹ năng về kỹ thuật cơ khí, điện tử và lập trình nhúng Thông thường, các chương trình được thiết kế theo cách này sẽ sử dụng lại các chương trình trước đó đáng kể, vì chúng được liên kết chặt chẽ với các phần cứng cơ bản

Trang 25

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Ý tưởng chính của ROS là tránh liên tục phát minh lại bánh xe và cung cấp các chức năng được tiêu chuẩn hóa để thực hiện trừu tượng hóa phần cứng, giống như một

hệ điều hành thông thường cho PC

Một lợi ích khác của các hệ điều hành robot như ROS là kết hợp chuyên môn từ các ngành khác nhau Trên thực tế, thiết kế và lập trình robot có nghĩa là:

- Quản lý phần cứng bằng cách viết trình điều khiển

- Quản lý bộ nhớ và các quy trình

- Quản lý đồng thời, song song và hợp nhất dữ liệu

- Cung cấp các thuật toán lý luận trừu tượng, sử dụng trí tuệ nhân tạo

Robotics do đó đòi hỏi các bộ kỹ năng rất khác nhau, thường vượt quá phạm vi của một cá nhân

Về cơ bản ROS file được bố trí và hoạt động như sau, từ trên xuống theo thứ tự: Metapackages, Packages, Packages Manifest, Misc, Messages, Services, Code

Hình 2.6: Cách thức hoạt động của ROS

Trong một gói tổng (Metapackages) là một nhóm các gói (Packages) có liên quan với nhau Khi chúng ta cài đặt gói tổng, nghĩa là tất cả các gói con trong nó cũng được cài đặt Trong một gói gồm có: ROS node, datasets, configuration file, source files Tuy nhiên, mặc dù có nhiều thứ trong một gói, nhưng để làm việc chúng ta chỉ cần quan tâm đến src folder - chứa source code của chúng ta, và file Cmake.txt – nơi khai báo những thư việc cần thiết để thực thi code

ROS Computation Graph là bức tranh toàn cảnh về sự tương tác của các nodes,

Trang 26

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Hình 2.7: ROS Computation Graph

Ở hình trên, có thể thấy Master chính là nodes kết nối tất cả các node còn lại, các nodes còn lại muốn giao tiếp với nhau phải thông qua node Master

- Nodes: ROS nodes là quá trình sử dụng ROS API để giao tiếp với nhau Một robot có thể có rất nhiều nodes để thực hiện quá trình giao tiếp của nó

Ví dụ: một robot tự lái sẽ có những node sau: node đọc dữ liệu từ Laser scaner, Kinect camera, Localization and Mapping, node gửi lệnh vận tốc cho hệ thống bánh lái

- Master: ROS master đóng vai trò như một node trung gian để kết nối các node khác nhau Master bao quát thông tin về tất cả các node chạy trong môi trường ROS Nó sẽ trao đổi chi tiết của một node với các node khác để thiết lập kết nối giữa chúng Khi chạy một chương trình ROS, lúc nào ros_master cũng phải được chạy trước

- Message: Các ROS node có thể giao tiếp với nhau bằng cách gửi và nhận dữ liệu dưới dạng ROS Message ROS Message là một cấu trúc dữ liệu được sử dụng bởi các ROS node để trao đổi dữ liệu Nó giống như một protocol, định dạng thông tin gửi đi giữa các node, ví dụ như: string, float, int

- Topic: Một trong những phương pháp để giao tiếp và trao đổi tin nhắn giữa hai node được gọi là ROS Topic ROS Topic giống như một kênh tin nhắn, trong kênh đó dữ liệu được trao đổi bằng ROS Message Mỗi chủ đề sẽ có một tên gọi khác nhau tùy thuộc vào những thông tin mà nó sẽ phụ trách

Trang 27

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

cung cấp Một node sẽ đăng bài (publish) thông tin cho một Topic và một node khác có thể đọc từ Topic bằng cách đăng ký (subcrible) với nó

- Service: Là một phương pháp giao tiếp khác với Topic Topic sử dụng tương tác publish hoặc subcrible nhưng trong Service lại tương tác theo kiểu request – response Một node sẽ hoạt động như một server thường xuyên chạy và khi Node Client gửi yêu cầu dịch vụ cho server, Server sẽ thực hiện dịch vụ và gửi kết quả cho Node client Node client phải đợi cho đến khi server phản hồi kết quả

2.3 ẢNH 3D VÀ PHƯƠNG PHÁP HIỆU CHỈNH

2.3.1 Ảnh 3D

3D (Three - Dimensional) là không gian ba chiều Các vật thể trong không gian

ba chiều được đặc trưng bởi ba thông số là chiều rộng, chiều cao và chiều sâu Con người chúng ta sống trong không gian vật chất, bằng thị giác của mình, chúng ta nhận thức được các vật thể xung quanh chúng ta là các hình khối, tức là hình ảnh ba chiều – 3D

Hình ảnh 3D là một kỹ thuật được phát triển để tạo ra những ảo giác về chiều sâu trong hình ảnh Một hình ảnh 3D được tạo ra bằng cách chụp hai hoặc nhiều bức ảnh cùng một cảnh và đặt chúng cạnh nhau trong đó các ảnh được quan sát dưới góc nhìn và khoảng cách khác nhau Điều này tuân theo nguyên tắc gọi là Stereopsis tức là

sẽ nhìn vật thể theo chiều sâu phối cảnh [11] Sự khác biệt nhỏ này đủ để lừa bộ não nghĩa rằng đang nhìn vào một hình ảnh có chiều sâu Nhưng trên thực tế, là đang nhìn vào một hình ảnh phẳng 2D

Trang 28

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Trong nội dung nghiên cứu của đề tài, bản đồ 3D là bản đồ thỏa mãn đầy đủ các đặc trưng bản chất của một bản đồ thông thường; mặt khác, bản đồ 3D là mô hình thể hiện các vật thể trong hệ quy chiếu không gian, thể hiện đầy đủ cả ba chiều là chiều rộng, chiều cao và chiều sâu của đối tượng theo đặc trung không gian của chúng

 Phép xoay trong 3D

Hình 2.9: Các phép xoay trong 3D

Bản chất của phép xoay là xoay quanh một trong các trục của hệ tọa độ Ba ma trận xoay cơ bản là xoay vectơ quanh trục Ox, Oy hoặc Oz theo một góc θ Theo đó, các ma trận tương tự cũng có thể biểu thị một trục quay theo chiều kim đồng hồ [12]

Xoay quanh trục 0z một góc bằng α:

( ) [ ] [ ] [ ] (2.4)

Trang 29

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Trong đó: [ ] là vector được nhân với ma trận xoay

Tiếp tục xoay quanh trục Oy một góc β, ta tiếp tục nhân với ma trận xoay :

( ) ( ) [

] [

[ ] [

] [ ]

(2.8)

2.3.2 PHƯƠNG PHÁP HIỆU CHỈNH

Phương pháp hiệu chỉnh chuẩn là công việc ước tính các thông số của thấu kính, cảm biến hình ảnh của máy ảnh Có thể sử dụng các thông số này để cân chỉnh lại hiện tượng biến dạng, đo kích thước một vật ngoài thế giới thực, tìm ra vị trí của camera khi chụp một bức hình Những công việc đó cũng được sử dụng trong các ứng dụng nhờ thị giác máy tính để phát hiện và đo đối tượng, trong robotics, hệ thống điều hướng, xây dựng ảnh 3D Các thông số camera bao gồm các thông số nội, thông số ngoại, các hệ số biến dạng Để ước tính các thông số camera, bạn cần có những điểm 3D thực và điểm ảnh 2D tương ứng Bạn có thể có những điểm trên bằng cách sử dụng nhiều hình chụp của một mẫu để cân chỉnh ảnh, chẳng hạn là một bàn cờ Sử dụng các ảnh đó, bạn có thể giải ra được thông số camera Mô hình camera pinhole là một mô

Trang 30

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

hình camera đơn giản Bạn có thể bắt gặp mô hình camera này được cài đặt đơn giản khi người ta muốn xem hiện tượng nhật thực Mô hình gồm một hộp đen kín, được đục một lỗ nhỏ gọi là lỗ kim Thuật ngữ gọi pinhole là Focal Point Khoảng cách từ Focal Point tới màn nhận ảnh là Focal length Độ mở của pinhole gọi là Aperture khẩu độ

Hình 2.10: Mô hình các thông số của camera

Các thông số ảnh được biểu diễn bởi ma trận 3×4 được gọi là ma trận camera

Ma trận camera này ánh xạ cảnh thế giới thực 3D vào mặt phẳng ảnh Thuật toán calibration tính ra ma trận camera sử dụng các thông số nội và thông số ngoại Thông

số ngoại của camera đại diện cho vị trí của camera trong thế giới 3D Thông số nội của camera đại diện cho tâm quang và tiêu cự của camera

S[ ] [

] [

] [ ] (2.9)

Trong đó:

- (X, Y, Z) là tọa độ của điểm ảnh trong không gian ba chiều

- (u, v) là tọa độ của điểm ảnh hai chiều

- (cx, cy) là điểm chính, thường là tâm ảnh

- fx, fy là độ dài tiêu cự biểu diễn ở đơn vị pixel

Trang 31

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ

3.1 GIỚI THIỆU

Để có thể thực hiện đề tài: “Thiết kế và thi công mô hình robot thu thập ảnh và

vẽ bản đồ môi trường trong nhà dùng camera 3D”, chúng ta cần phải tính toán và thiết

kế được mô hình hệ thống Cụ thể trong chương này, nhóm sẽ xây dựng sơ đồ khối cho hệ thống, thiết kế sơ đồ nguyên lý, tính toán lựa chon linh kiện, thiết bị cho từng khối

 Khối giao tiếp không dây: Là khối truyền và nhận tín hiệu bluetooth

 Khối động lực: Nhận tín hiệu từ khối điều khiển để vận hành robot chuyển động tùy ý

Trang 32

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

 Khối nguồn: Cung cấp nguồn cho toàn bộ hệ thống

3.3 THIẾT KẾ HỆ THỐNG PHẦN CỨNG

3.3.1 Khối xử lý và hiển thị

Khối xử lý và khối hiển thị có nhiệm vụ thu thập tín hiệu hình ảnh và tín hiệu tọa độ sau đó xử lý tính toán để vẽ bản đồ 3D và hiển thị Việc xử lý ảnh cần nhiều tài nguyên và tốc độ xử lý cao, nên ta không sử dụng vi điều khiển thông thường để xử lý

Do đó nhóm đã quyết định sử dụng laptop làm khối xử lý trung tâm sau đó hiển thị kết quả ra màn hình

Hình 3.2: Thiết bị dùng để xử lý và hiển thị

3.3.2 Khối thu tín hiệu hình ảnh

Khối thu tín hiệu có vai trò quan trọng nhất trong mô hình, có chức năng thu thập ảnh và gửi lên khối xử lý trung tâm Tín hiệu thu được yêu cầu các ảnh có chiều sâu, với độ phân giải cao, tương tự như mắt người nên ở đề tài này sử dụng cảm biến Kinect làm khối thu tín hiệu hình ảnh

Hình 3.3: Cảm biến Kinect

Thông số kỹ thuật:

- Điện áp hoạt động: 12V DC

- RGB Camera: thu nhận ảnh màu 8 bit, có độ phân giải 640x480

- Sử dụng chip PrimeSensor của Microsoft sản xuất

- Tầm hoạt động tốt nhất từ 0,8m đến 4,0m

Trang 33

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Bảng 3.1: Bảng thống kê thực nghiệm tầm nhìn của camera Kinect

Đặc tính Camera RGB Cảm biến độ sâu Tầm nhìn

Các bộ phận chính của cảm biến Kinect theo hình 3.4:

- RGB Camera: thu nhận ảnh màu 8 bit, có độ phân giải lên tới 640x480

- Cảm biến độ sâu: đo độ sâu thu về nhờ sự kết hợp của hai cảm biến: đèn

- Chiếu hồng ngoại (IR Projector) và camera hồng ngoại (IR Camera)

- Chip PrimeSensor của Microsoft sản xuất

- Micro 16 bit với tốc độ lấy mẫu là 16kHz (số mẫu/giây)

Hình 3.4: Sơ đồ cấu tạo cảm biến Kinect 3.3.3 Khối điều khiển

Khối điều khiển có hai chức năng chính: Nhận tín hiệu điều khiển từ khối giao tiếp không dây để điều khiển robot và nhận tín hiệu từ khối thu thập dữ liệu để gửi lên

khối xử lý trung tâm Từ yêu cầu đó mà nhóm đã chọn board Arduino Nano làm khối

điều khiển cho mô hình

Ngày đăng: 27/11/2021, 15:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w