Tải bản đầy đủ (.pdf) (65 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 65 trang )

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

ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ 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
GVHD: ThS. Ngơ Bá Việt
SVTH1: Đào Nguyễn Du
MSSV1: 13141035
SVTH2: Nguyễn Đức Lâm
MSSV2: 14141159

Tp. Hồ Chí Minh - 08/2020


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

ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ 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

GVHD: ThS. Ngơ Bá Việt
SVTH1: Đào Nguyễn Du
MSSV1: 13141035
SVTH2: Nguyễn Đức Lâm
MSSV2: 14141159

Tp. Hồ Chí Minh - 08/2020


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

Tuần/ngày

Xác nhận
GVHD

Nội dung

Tuần 1
(26/04 - 03/05)

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 đề
tài.

Tuần 2

(04/05 - 17/05)

Viết đề cƣơng tóm tắt nội dung đồ án.

Tuần 3 - 4
(11/05 - 24/05)

Tìm hiểu phƣơng pháp thu thập ảnh bằng
Camera 3D.

Tuần 5
(25/05 - 31/05)
Tuần 6 - 7
(01/06 - 14/06)
Tuần 8
(15/06 - 21/06)

Nghiên cứu và tìm hiểu ngơn ngữ Python.

Tuần 9 - 10
(22/06 - 05/07)

Thi công phần cứng, chạy thử nghiệm.

Tuần 11
(06/07 - 12/07)
Tuần 12 - 13
(13/07 - 26/07)
Tuần 14
(27/7- 02/08)


Hiệu chỉnh hệ thống, hoàn thiện bản đồ.

Tuần 15
(03/08 - 09/08)

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

Thiết kế mơ hình robot.
Viết chƣơng trình trên Python.

Viết báo cáo những nội dung đã làm.
Hoàn thiện báo cáo và gởi cho GVHD để xem xét
góp ý lần cuối trƣớc khi in và báo cáo.

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

i


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
----o0o---Tp. HCM, ngày 6 tháng 5 năm 2020


NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên:

Đào Nguyễn Du

MSSV: 13141035

Nguyễn Đức Lâm

MSSV: 14141159

Chuyên ngành:

Kỹ thuật Điện - Điện tử

Mã ngành:

01

Hệ đào tạo:

Đại học chính quy

Mã hệ:

1

Khóa:

2015


Lớp: 13141-14141

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ệ qt 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.
- Hồn thành mơ hình.
- Đánh giá kết quả thực hiện.
III. NGÀY GIAO NHIỆM VỤ:

02/03/2020
ii


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:

CÁN BỘ HƢỚNG DẪN

ThS. Ngô Bá Việt


BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

iii


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ẽ hồn tồn chịu trách nhiệm.

Ngƣời thực hiện đề tài
Đào Nguyễn Du – Nguyễn Đức Lâm

iv


LỜI CẢM ƠN
Đầu tiên, chúng tôi xin đƣợc gửi lời cảm ơn chân thành tới Thầy Ngô Bá Việt,
Thầy đã tận tình hƣớng dẫn chúng tơi để có thể hồn thành tốt đề tài.
Chúng tôi xin gửi lời cảm ơn chân thành tới các Thầy Cô trong Khoa Điện –
Điện tử đã tạo điều kiện tốt nhất cho chúng tôi có thể hồn thành đề tài. Những kiến
thức bổ ích mà các Thầy Cơ đã truyền đạt, nó đƣợc áp dụng vào đề tài Đồ Án Tốt
Nghiệp rất nhiều, từ những kiến thức nhỏ nhặt cho tới những bài học lớn. Một lần nữa
chúng tôi xin đƣợc gửi lời cảm ơn đến tất cả Thầy Cơ, nếu khơng có Thầy Cơ thì chắc
giờ này chúng tơi sẽ khó có thể hồn thành đƣợc đề tài này.
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

v


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


3.3.1

Khối xử lý và hiển thị ............................................................................... 16
vi


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


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

viii



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ơ đồ ngun lý mơ hình robot thu thập ảnh .............................................. 23
Hình 3.13. Sơ đồ khối mơ tả q 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 ngồi bộ điều khiển. ....................................................................... 32
Hình 4.3. Ảnh bên trong robot. ..................................................................................... 32
ix


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


x


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

xi


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

Simultaneous Localization And Mapping

ROS

Robot Operating System

SIFT

Scale-Invariant Feature Transform

2D


Two - Dimensional

3D

Three – Dimensional

RGB

Red – Green - Blue

xii


TĨM TẮT
Cơng nghệ qt 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.

xiii


CHƢƠNG 1. TỔNG QUAN

CHƢƠNG 1: TỔNG QUAN
1.1

ĐẶT VẤN ĐỀ

Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kỹ thuật trong một vài
thập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tƣơng đối mới mẻ so với
các ngành khoa học khác nhƣng hiện nay đang là một trong những lĩnh vực phát triển
rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trung tâm
nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này [1]. Xử lý ảnh đóng vai trị quan trọng
trong nhiều ứng dụng thực tế về khoa học kỹ thuật cũng nhƣ trong cuộc sống hằng
ngày nhƣ: sự di chuyển của Robot, các phƣơng tiện đi lại tự trị, công cụ hƣớng dẫn
cho ngƣời khuyết tật [2].
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ệ qt 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.

1.2

MỤC TIÊU

Mục tiêu của đề tài là thiết kế mơ hình robot thu thập ảnh và vẽ bản đồ môi
trƣờng trong nhà sử dụng camera 3D Kinect, cụ thể là:
-

Thiết kế mơ hình robot đƣợc điều khiển thơng qua Bluetooth.

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

1


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ệ qt 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: Hồ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ỏ.

-

Sử dụng ngơn ngữ lập trình Python.

-


Mộ hình hoạt động trong điều kiện ánh sang đầy đủ, các bề mặt ánh xạ tốt.

1.5

BỐ CỤC

 Chƣơng 1: Tổng quan
Chƣơng này trình bày vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung
nghiên cứu, các giới hạn thông số và bố cục đồ án.
 Chƣơng 2: Cơ sở lý thuyết
Chƣơng này sẽ trình bày cơ bản về cơng nghệ qt 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 tố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à q 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 đồ.
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

2


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 hồn thiện hơn.


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

3


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 ngồ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, ngồ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.

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

4


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 q lớn, mơi trƣờng có q nhiều hoặc q í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 đó
mơ hình ánh sáng chiếu vào đối tƣợng đƣợc tính tốn. Vị trí của các điểm này trên bề

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

5


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 hồ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ệ qt á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.

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


6


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 qt. Tuy nhiên, q trình qt 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ể. Ngồ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
điểm trong không gian.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH


7


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.

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

8



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,
topics với nha.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

9


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

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

10


×