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

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

66 41 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 66
Dung lượng 3,87 MB

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

Nội dung

Dựa trên các nghiên cứu cùng với các hoạt động thực tiễn hiệnnay, 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

Trang 1

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 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

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

Trang 3

Tp Hồ Chí Minh - 08/2020

Trang 4

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH 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 – Y SINH

o0o 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

GVHD

Tuần 1 Gặp GVHD để nghe phổ biến yêu cầu làm đồ án,

tiến hành chọn đề tài, GVHD tiến hành xét duyệt đề(26/04 - 03/05) tài.

Tuần 2 Viết đề cương tóm tắt nội dung đồ án.

Tuần 14 Hoàn thiện báo cáo và gởi cho GVHD để xem xét

(27/7- 02/08) góp ý lần cuối trước khi in và báo cáo

Tuần 15 Nộp quyển báo cáo và báo cáo đề tài, thiết kế Slide

(03/08 - 09/08) báo cáo

GV HƯỚNG DẪN(Ký và ghi rõ họ và tên)

i

Trang 5

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Hệ đào tạo: Đại học chính quy Mã hệ: 1

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

CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

iii

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

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

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 sinhviê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 kinhnghiệ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ìnhmuố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

v

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

vii

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 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

ix

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 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

xi

Trang 15

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

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ệptrê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ácchi 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íchthí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ôngnghiệ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ệucầ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àmviệ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 trongnhà dùng camera 3D” nhóm muốn thu thập và vẽ lại bản đồ môi trường xung quanhgó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 xungquanh 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 ứngdụng mang tính thực tế nhiều hơn

xiii

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ộtbướ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 giaothô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ảmchi 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 khoahọ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ệnnay, 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ôitrườ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à

Đề 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 ảnhthu đượ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àixung 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ộtquá 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áctrong 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 độngtrong 2 trục Sau đó là 3D SLAM, chủ yếu tập trung vào đo lường và lập bản đồ 3Dchí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ầunhư 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 đếnmộ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ì

mô hình ánh sáng chiếu vào đối tượng được tính toán Vị trí của các điểm này trên bề

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ốicù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ặccamera được di chuyển để chụp một góc khác Nhiều bức ảnh được chụp theo kiếunà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ềnthâ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áchơ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 đó tialaser 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 độ ánhsá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ạngcủ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 đượcchiế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ặtvậ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ảnnhấ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ácvậ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ắclậ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ênmộ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 ảnhtrở 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ậndiệ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ìnhhọ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ể trongkhô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ủacác điểm ảnh trong không gian Các quan sát bổ sung (co-ordinatesfrom n views) đóngvai 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 điểmtrong không gian

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

ROS (Robot Operating System) là một hệ thống phần mềm chuyên dụng để lậptrì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ựctiế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ốimộ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ànhthờ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ôngthườ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ìnhtrướ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ácchứ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 vicủ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ênquan 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, sourcefiles 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ơikhai 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,topics với nha

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ộtrobot 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ácnode khác nhau Master bao quát thông tin về tất cả các node chạy trong môitrường ROS Nó sẽ trao đổi chi tiết của một node với các node khác để thiếtlập kết nối giữa chúng Khi chạy một chương trình ROS, lúc nào ros_mastercũ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ữahai 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ụngtương tác publish hoặc subcrible nhưng trong Service lại tương tác theokiểu request – response Một node sẽ hoạt động như một server thườngxuyê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 Conngườ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ậnthứ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ềusâ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ócnhì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ãonghĩ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ìnvào một hình ảnh phẳng 2D

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

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ềurộ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 matrậ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].

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.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ấukí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ỉnhlạ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ủacamera khi chụp một bức hình Những công việc đó cũng được sử dụng trong các ứngdụng nhờ thị giác máy tính để phát hiện và đo đối tượng, trong robotics, hệ thống điềuhướ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ểm3D 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ụngnhiề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 khingườ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ớimà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áncalibration 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ủacamera đại diện cho tâm quang và tiêu cự của camera

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ốicho 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ừngkhố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ệutọ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àinguyê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ếtquả 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 thuthậ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ềusâ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ếnKinect 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âuTầm nhìn Chiều ngang 62⁰ 58⁰

của camera

Kinect

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 giaotiế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ênkhố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

Hình 3.5: Arduino Nano

Ngày đăng: 26/05/2021, 10:39

TỪ KHÓA LIÊN QUAN

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

w