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

điều khiển thiết bị bằng cử chỉ tay với leap motion và labview

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 (6.1 MB, 118 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY
VỚI LEAP MOTION VÀ LABVIEW

Sinh viên thực hiện:

Cán bộ hướng dẫn:

Lương Hồng Duy Khanh: 1111095
Nguyễn Thành Long: 1111104

Ths. Nguyễn Tăng Khả Duy
Ths. Nguyễn Văn Mướt

Cần Thơ, 5/2015


TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY
VỚI LEAP MOTION VÀ LABVIEW

Sinh viên thực hiện:


Cán bộ hướng dẫn:

Lương Hồng Duy Khanh: 1111095
Nguyễn Thành Long: 1111104

Ths. Nguyễn Tăng Khả Duy
Ths. Nguyễn Văn Mướt

Cần Thơ, 5/2015


NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
Cần Thơ, ngày 23 tháng 5 năm 2015

…................................


NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 1
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
Cần Thơ, ngày 23 tháng 5 năm 2015

…................................

ii


NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 2
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

Cần Thơ, ngày 23 tháng 5 năm 2015

………………………………
iii


LỜI CAM ĐOAN
Với mục tiêu điều khiển thiết bị kỹ thuật bằng cử chỉ bàn tay với Leap
Motion dựa trên nền tảng lập trình đồ họa LabVIEW, chúng tôi đã chọn đề tài này
làm luận văn tốt nghiệp cho mình.
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức
hạn chế những nội dung trình bày trong quyển báo cáo này là những hiểu biết và
thành quả chúng tôi đạt được dưới sự hướng dẫn của ThS. Nguyễn Tăng Khả
Duy và ThS. Nguyễn Văn Mướt.
Chúng tôi xin cam đoan rằng: những nội dung trình bày trong quyển báo
cáo luận văn tốt nghiệp này không phải là bản sao chép từ bất kỳ công trình đã có
trước nào. Nếu không đúng sự thật, chúng tôi xin chịu mọi trách nhiệm trước nhà
trường.
Cần Thơ, ngày 23 tháng 5 năm 2015
Nhóm sinh viên thực hiện

Lương Hồng Duy Khanh

Nguyễn Thành Long

iv


LỜI CẢM ƠN
Trong suốt quá trình thực hiện đề tài, chúng tôi gặp phải không ít khó khăn do

hạn chế về kiến thức, kinh nghiệm cũng như tài chính hạn hẹp. Để vượt qua tất
cả, bên cạnh những nỗ lực cá nhân là rất nhiều sự quan tâm giúp đỡ, động viên từ
phía thầy cô, gia đình và bạn bè.
Chúng tôi chân thành gửi lời cảm ơn đến ThS. Nguyễn Tăng Khả Duy và
ThS. Nguyễn Văn Mướt đã tận tình hướng dẫn, chỉ dạy, giúp đỡ, hỗ trợ thiết bị
và tạo điều kiện thuận lợi để chúng tôi thực hiện đề tài.
Cảm ơn hai thầy cố vấn học tập Lưu Trọng Hiếu và Trần Nhựt Thanh đã giảng
dạy, giúp đỡ và định hướng trong suốt quá trình học tập.
Cảm ơn thầy Ngôn, thầy Trí, thầy Nghiệm, thầy Khanh, thầy Chánh, thầy
Hiếu, thầy Nhã, thầy Hải, cô Hoa … và các thầy cô trong bộ môn Tự Động Hoá,
bộ môn Kỹ Thuật Cơ Khí, bộ môn Điện Tử Truyền Thông và các bộ môn khác đã
tận tình giảng dạy chúng tôi trong thời gian học tập tại trường.
Cảm ơn anh Nguyễn Đình Tứ đã hỗ trợ ý tưởng cho đề tài luận văn này.
Cảm ơn anh Lý Kim Khôi tại câu lạc bộ máy bay mô hình Cần Thơ đã tận tình
hỗ trợ và giúp đỡ in 3D và điều khiển máy bay trong quá trình thực hiện luận văn.
Cảm ơn bạn bè trong lớp Cơ Điện Tử K37 đã động viên, chia sẻ, giúp đỡ trong
quá trình học tập tại trường.
Cảm ơn gia đình đặc biệt là cha mẹ đã bỏ ra vô vàn công sức nuôi nấng, dạy
dỗ, giúp đỡ tài chính cho chúng tôi học hành để có được ngày hôm nay.

Nhóm sinh viên thực hiện đề tài

Lương Hồng Duy Khanh

Nguyễn Thành Long
v


MỤC LỤC
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN ...................................................... I

NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 1 .....................................................II
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 2 ................................................... III
LỜI CAM ĐOAN .............................................................................................. IV
LỜI CẢM ƠN ..................................................................................................... V
MỤC LỤC ......................................................................................................... VI
DANH MỤC HÌNH .......................................................................................... IX
DANH MỤC BẢNG ........................................................................................XII
KÍ HIỆU VÀ VIẾT TẮT............................................................................... XIII
TÓM TẮT............................................................................................................. 1
ABSTRACT.......................................................................................................... 2
CHƯƠNG 1. TỔNG QUAN ............................................................................... 3
1.1 ĐẶT VẤN ĐỀ .................................................................................................. 3
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ.................................................................. 4
1.3 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI ............................................................... 4
1.3.1 Mục tiêu của đề tài: .............................................................................. 4
1.3.2 Phạm vi của đề tài:................................................................................ 4
1.4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ ......................................................................... 5
1.5 CẤU TRÚC BÀI BÁO CÁO................................................................................ 5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................... 7
2.1 KHÁI NIỆM CƠ BẢN VỀ STEREO VISION VÀ HÌNH ẢNH 3 CHIỀU ..................... 8
2.2 LEAP MOTION............................................................................................... 9
2.2.1 Tổng quan về Leap Motion .................................................................. 9
2.2.2 Đặc điểm của Leap Motion ................................................................ 12
2.2.3 Các thông tin có được từ Leap Motion ............................................... 13
2.2.4 Cấu hình máy tính tối thiểu cho Leap Motion .................................... 16
2.2.5 Bộ thư viện cần thiết cho Leap Motion .............................................. 16
2.2.6 Ngôn ngữ lập trình cho Leap Motion ................................................. 16
2.3 PHẦN MỀM LABVIEW................................................................................ 17
2.3.1 Khái quát về LabVIEW ...................................................................... 17
2.3.2 Một số đặc điểm chính của LabVIEW ............................................... 19

2.3.3 Bộ thư viện LVH-Leap giao tiếp Leap Motion .................................. 20
vi


2.3.4 Bộ thư viện truyền thông bất đồng bộ ................................................ 21
2.4 BỘ LỌC KALMAN........................................................................................ 23
2.4.1 Nguyên nhân cần sử dụng bộ lọc........................................................ 23
2.4.2 Bộ lọc Kalman và lập trình với LabVIEW ......................................... 24
2.5 CÔNG NGHỆ IN 3D VÀ PHƯƠNG PHÁP TẠO MẪU NHANH ............................. 29
2.6 MÔ HÌNH XE TĂNG ...................................................................................... 31
2.6.1 Nguồn gốc mô hình ............................................................................ 31
2.6.2 Động cơ bước ..................................................................................... 33
2.6.3 Mạch công suất điều khiển động cơ bước .......................................... 34
2.7 MÔ HÌNH CÁNH TAY ROBOT ....................................................................... 35
2.7.1 Nguồn gốc mô hình ............................................................................ 35
2.7.2 Động cơ RC Servo .............................................................................. 37
2.8 KẾT HỢP MÔ HÌNH XE TĂNG VÀ CÁNH TAY ROBOT ..................................... 39
2.9 MÁY BAY NANO QUADCOPTER .................................................................. 40
2.10 ARDUINO .................................................................................................. 42
2.10.1 Tổng quan về Arduino ...................................................................... 42
2.10.2 Board Arduino Nano ........................................................................ 42
2.11 MẠCH RF 433MHZ HC-11 ...................................................................... 43
2.12 MẠCH CHUYỂN ĐỔI USB/UART .............................................................. 44
CHƯƠNG 3. NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ............................ 45
3.1 ĐIỀU KHIỂN MÔ HÌNH XE TĂNG VÀ CÁNH TAY ROBOT VỚI LEAP MOTION . 46
3.1.1 Sơ đồ mô tả hệ thống .......................................................................... 46
3.1.2 Thiết kế mạch điện cho mô hình xe tăng và cánh tay robot ............... 48
3.1.3 Thiết kế mạch truyền nhận dữ liệu không dây RF HC-11 với máy tính
..................................................................................................................... 51
3.1.4 Lưu đồ điều khiển xe tăng và cánh tay robot với Arduino ................. 54

3.1.5 Lâp trình thu thập và xử lý dữ liệu Leap Motion với LabVIEW ....... 58
3.1.5.1 Phân vùng không gian điều khiển mô hình xe tăng .................... 58
3.1.5.2 Phân vùng không gian điều khiển mô hình cánh tay robot ......... 58
3.1.5.3 Lưu đồ xử lý dữ liệu với Leap Motion và LabVIEW.................. 62
3.1.6 Tiến hành thí nghiệm .......................................................................... 67
3.1.7 Kết quả đạt được ................................................................................. 72
3.2 ĐIỀU KHIỂN MÁY BAY NANO QUADCOPTER VỚI LEAP MOTION ................ 73

vii


3.2.1 Sơ đồ khối mô tả hệ thống .................................................................. 73
3.2.2 Thiết kế mạch điện bộ điều khiển cho máy bay Nano Quadcopter .... 74
3.2.3 Lưu đồ chương trình điều khiển máy bay Quadcopter với Arduino .. 77
3.2.3.1 Phân vùng không gian điều khiển ............................................... 77
3.2.3.2 Lưu đồ chương trình điều khiển Joystick với Arduino ............... 78
3.2.4 Lưu đồ thu thập và xử lý dữ liệu Leap Motion với LabVIEW .......... 80
3.2.5 Tiến hành thí nghiệm .......................................................................... 83
3.2.6 Kết quả đạt được ................................................................................. 87
CHƯƠNG 4. KẾT LUẬN VÀ ĐỀ NGHỊ ........................................................ 88
4.1 KẾT LUẬN ................................................................................................... 88
4.2 ĐỀ NGHỊ ...................................................................................................... 89
TÀI LIỆU THAM KHẢO ................................................................................. 90
PHỤ LỤC 1: CHƯƠNG TRÌNH ĐIỀU KHIỂN MÔ HÌNH XE TĂNG VÀ
CÁNH TAY ROBOT VỚI ARDUINO ............................................................ 92
PHỤ LỤC 2: CHƯƠNG TRÌNH ĐIỀU KHIỂN DAC VÀ JOYSTICK CỦA
NANO QUADCOPTER VỚI ARDUINO ....................................................... 98
PHỤ LỤC 3: CHƯƠNG TRÌNH ĐIỀU KHIỂN MÔ HÌNH XE TĂNG VÀ
CÁNH TAY ROBOT BẰNG LEAP MOTION VỚI LABVIEW ...............101
PHỤ LỤC 4: CHƯƠNG TRÌNH TÍNH GÓC ĐIỀU KHIỂN CÁNH TAY

ROBOT VỚI MATHSCRIPT VÀ LABVIEW .............................................102
PHỤ LỤC 5: CHƯƠNG TRÌNH ĐIỀU MÁY BAY NANO QUADCOPTER
BẰNG LEAP MOTION VỚI LABVIEW .....................................................103

viii


DANH MỤC HÌNH
Hình 1.1: Leap Motion trong giải trí ..................................................................... 3
Hình 2.1: Hình ảnh 2 chiều do mắt thu được ........................................................ 8
Hình 2.2: Hình ảnh 3 chiều được não xử lý từ hai ảnh 2 chiều ............................. 8
Hình 2.3: Một dạng stereo camera......................................................................... 9
Hình 2.4: Quá trình phát triển của Leap Motion ................................................. 10
Hình 2.5: Thiết bị Leap Motion và hệ trục tọa độ ............................................... 10
Hình 2.6: Thiết kế bên trong Leap Motion .......................................................... 11
Hình 2.7: Camera và LED hồng ngoại của Leap Motion .................................... 11
Hình 2.8: Tầm quan sát của Leap Motion ........................................................... 12
Hình 2.9: Cách sử dụng Leap Motion ................................................................. 12
Hình 2.10: Tọa độ lòng bàn tay ........................................................................... 13
Hình 2.11: Hướng và tọa độ của từng ngón tay .................................................. 13
Hình 2.12: Các khớp xương bàn tay được Leap Motion nhận dạng ................... 14
Hình 2.13: Cử chỉ xoay ngón tay ......................................................................... 14
Hình 2.14: Cử chỉ trỏ ngón tay ............................................................................ 14
Hình 2.15: Cử chỉ vẫy ngón tay ........................................................................... 15
Hình 2.16: Cử chỉ vẫy bàn tay ............................................................................. 15
Hình 2.17: Chi tiết cầm trên tay .......................................................................... 15
Hình 2.18: Bộ thư viện SDK cho Leap Motion ................................................... 16
Hình 2.19: Các ngôn ngữ phát triển ứng dụng cho Leap Motion ........................ 16
Hình 2.20: Phần mềm LabVIEW ........................................................................ 17
Hình 2.21: Các chức năng của LabVIEW ........................................................... 18

Hình 2.22: Một chương trình và giao diện được xây dựng bởi LabVIEW ......... 18
Hình 2.23: Thư viện LVH-Leap trên VI Packet Manager của LabVIEW .......... 20
Hình 2.24: Thư viện giao tiếp Leap Motion của LVH-Leap với LabVIEW ....... 21
Hình 2.25: Chương trình thu thập dữ liệu chuyển động bàn tay với LabVIEW . 21
Hình 2.26: Bộ thư viện giao tiếp UART của LabVIEW ..................................... 22
Hình 2.27: Quá trình giao tiếp UART với LabVIEW ......................................... 22
Hình 2.28: Vị trí bàn tay đặt yên trên Leap Motion trong 3.4 giây ..................... 23
Hình 2.29: Các rung động của bàn tay khi mỏi ................................................... 24
Hình 2.30: Chu trình của bộ lọc Kalman ............................................................. 25
Hình 2.31: Chu trình lọc Kalman rút gọn ............................................................ 25
ix


Hình 2.32: Bộ lọc Kalman rút gọn với LabVIEW .............................................. 26
Hình 2.33: Dữ liệu từ Leap Motion được lọc với bộ lọc Kalman ....................... 26
Hình 2.34: Bộ lọc Kalman với hệ số I = 0.2 ........................................................ 27
Hình 2.35: Bộ lọc Kalman với hệ số I = 0.05 ...................................................... 27
Hình 2.36: Bộ lọc Kalman với hệ số I = 0.02 ...................................................... 28
Hình 2.37: Một loại máy in 3D sử dụng tại nhà .................................................. 29
Hình 2.38: Một vài sản phẩm sau khi in 3D ........................................................ 30
Hình 2.39: Mô hình xe tăng in 3D của tác giả Atomfusion ................................ 31
Hình 2.40: Mô hình xe tăng hoàn chỉnh .............................................................. 32
Hình 2.41: Động cơ bước CT Series ................................................................... 33
Hình 2.42: Mạch điều khiển động cơ bước A4988 ............................................. 34
Hình 2.43: Mô hình cánh tay robot cắt laser của nhóm tác giả uFactory ............ 35
Hình 2.44: Mô hình cánh tay robot toàn khớp xoay hoàn chỉnh ......................... 36
Hình 2.45: Động cơ RC Servo MG996R ............................................................ 37
Hình 2.46: Động cơ RC Servo MG90S ............................................................... 38
Hình 2.47: Mô hình kết hợp giữa xe tăng và cánh tay robot ............................... 39
Hình 2.49: Máy bay Nano Quadcopter và bộ phụ kiện ....................................... 40

Hình 2.50: Board Arduino Nano được sử dụng trong đề tài ............................... 42
Hình 2.51: Mạch RF 433MHz HC-11 ................................................................. 43
Hình 2.52: Mạch chuyển đổi USB/UART sử dụng chip PL2303 ....................... 44
Hình 3.1: Sơ đồ mô tả hệ thống điều khiển mô hình xe tăng và cánh tay robot
với Leap Motion .................................................................................................. 46
Hình 3.2: Sơ đồ mạch điện mô hình xe tăng ....................................................... 48
Hình 3.3: Mạch điều khiển mô hình xe tăng ....................................................... 49
Hình 3.4: Sơ đồ mạch điện mô hình cánh tay robot với Arduino ....................... 50
Hình 3.5: Mạch điều khiển cánh tay robot hoàn chỉnh ........................................ 51
Hình 3.6: Sơ đồ kết nối board CC1101 và USB/UART ...................................... 52
Hình 3.7: Bản thiết kế SketchUp in 3D vỏ mạch phát sóng không dây .............. 53
Hình 3.8: Thiết bị phát sóng không dây hoàn chỉnh............................................ 53
Hình 3.9: Lưu đồ chương trình chính của Arduino điều khiển mô hình xe tăng và
cánh tay robot ...................................................................................................... 54
Hình 3.10: Lưu đồ chương trình ngắt của Arduino khi nhận được dữ liệu RF ... 55
Hình 3.11: Phân vùng không gian vị trí tay điều khiển mô hình xe tăng ............ 58
Hình 3.12: Mặt phẳng làm việc của cánh tay robot ............................................. 59
x


Hình 3.13: Mô tả cánh tay robot và không gian làm việc cho Leap Motion ....... 59
Hình 3.14: Mô hình hóa cánh tay robot trên mặt phẳng YZ của Leap Motion ... 60
Hình 3.15: Lưu đồ chương trình điều khiển mô hình xe và cánh tay robot với
Leap Motion và LabVIEW .................................................................................. 62
Hình 3.16: Giao diện điều khiển mô hình xe tăng và cánh tay robot với Leap
Motion và LabVIEW ........................................................................................... 63
Hình 3.17: Lưu đồ chương trình điều khiển xe từ dữ liệu của Leap Motion với
LabVIEW ............................................................................................................. 64
Hình 3.18: Lưu đồ chương trình điều khiển cánh tay robot từ dữ liệu của Leap
Motion.................................................................................................................. 65

Hình 3.19: Lưu đồ điều khiển kẹp gắp cánh tay robot với Leap Motion ............ 66
Hình 3.20: Kết nối mạch điều khiển cánh tay robot và xe tăng .......................... 67
Hình 3.21: Mô hình được thiết lập hoàn chỉnh .................................................... 67
Hình 3.22: Kết nối Leap Motion và thiết bị truyền RF vào máy tính ................. 68
Hình 3.23: Mục Device Manager nhận ra cổng COM9 từ thiết bị RF ................ 69
Hình 3.24: Giao diện và các thiết lập trên chương trình TANK & ARM ROBOT
của LabVIEW ...................................................................................................... 70
Hình 3.25: Chương trình điều khiển mô hình xe và cánh tay robot đang hoạt
động ..................................................................................................................... 71
Hình 3.26: Quá trình điều khiển mô hình xe và robot bằng cử chỉ tay ............... 71
Hình 3.27: Sơ đồ mô tả hệ thống điều khiển Quadcopter với Leap Motion ....... 73
Hình 3.28: Sơ đồ mạch điện điều khiển joystick và DAC thông qua Arduino ... 75
Hình 3.29: Mạch điện điều khiển joystick hoàn chỉnh ........................................ 76
Hình 3.30: Bản thiết kế SketchUp in 3D vỏ mạch điều khiển joystick ............... 76
Hình 3.31: Thiết bị điều khiển máy bay hoàn chỉnh ........................................... 77
Hình 3.32: Phân vùng không gian điều khiển máy bay cho Leap Motion .......... 78
Hình 3.33: Lưu đồ chương trình điều khiển DAC và joystick với Arduino ....... 79
Hình 3.34: Lưu đồ chương trình điều khiển máy bay với Leap Motion và
LabVIEW ............................................................................................................. 81
Hình 3.35: Kết nối Leap Motion và thiết bị điều khiển máy bay vào máy tính .. 83
Hình 3.36: Mục Device Manager nhận ra cổng COM từ Arduino Nano ............ 84
Hình 3.37: Giao diện và các thiết lập trên chương trình QUADCOPTER của
LabVIEW ............................................................................................................. 85
Hình 3.38: Chương trình điều khiển máy bay đang hoạt động ........................... 86
Hình 3.39: Quá trình điều khiển máy bay Quadcopter bằng cử chỉ tay .............. 86

xi


DANH MỤC BẢNG

Bảng 3.1: Định dạng gói dữ liệu không dây điều khiển mô hình xe tăng và cánh
tay robot ............................................................................................................... 56
Bảng 3.2: Định dạng gói dữ liệu không dây điều khiển joystick ........................ 79

xii


KÍ HIỆU VÀ VIẾT TẮT
3D:

3 Dimension (3 chiều).

ABS:

Acrylonitrin Butadien Styren (một loại nhựa nhiệt dẻo).

CAD:

Computer-Aided Design (thiết kế với sự hỗ trợ của máy tính).

COM:

Communication (giao tiếp).

DAC:

Digital-to-Analog Converter (chuyển đổi tín hiệu số sang tương tự).

EEPROM:


Electrically Erasable Programmable Read-Only Memory (bộ nhớ
không mất dữ liệu khi ngưng cấp điện).

FDM:

Fused Deposition Modeling (kỹ thuật in đùn từng lớp).

FPS:

Frame Per Second (số khung ảnh trong một giây).

GPS:

Global Positioning System (hệ thống định vị toàn cầu).

I2C:

Inter-Integrated Circuit (giao thức truyền nhận đồng bộ).

IC:

Integrated Circuit (mạch tích hợp).

PLA:

PolyLactic Axit (một loại nhựa nhiệt dẻo).

PWM:

Pulse Width Modulation (điều chế độ rộng xung).


RC:

Radio Control (điều khiển bằng sóng vô tuyến).

RF:

Radio Frequency (sóng vô tuyến).

SDK:

Software Developement Kit (bộ công cụ phát triển phần mềm).

SPI:

Serial Peripheral Interface (giao tiếp nối tiếp đồng bộ).

SRAM:

Static Random Access Memory (bộ nhớ truy xuất ngẫu nhiên tĩnh).

UART:

Universal Asynchronous Receiver Transmitter (giao tiếp nối tiếp
bất đồng bộ).

USB:

Universal Serial Bus (giao diện truyền dữ liệu nối tiếp).


xiii


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

TÓM TẮT
Ngày nay, các mô hình xe, máy bay và robot đang ngày càng phổ biến trong
nghiên cứu và đào tạo. Các thiết bị này thường được vận hành tự động hoặc điều
khiển trực tiếp bởi con người. Nhờ vào sự tiến bộ của công nghệ xử lý hình ảnh,
ngày càng nhiều các thiết bị có khả năng ghi nhận cử chỉ tay và chuyển đổi thành
các tín hiệu có thể xử lý bằng máy tính. Trong đề tài luận văn này, chúng tôi sử
dụng Leap Motion, một thiết bị cho phép ghi nhận các cử chỉ tay trong không gian
3 chiều với độ chính xác thấp hơn 0.01 milimet để điều khiển các mô hình trên
thông qua cử chỉ tay. Việc sử dụng thiết bị này sẽ tăng cường sự tương tác tự
nhiên giữa con người và máy móc. Ngoài ra, nhờ vào ngôn ngữ lập trình đồ họa
LabVIEW và ngôn ngữ lập trình Arduino giúp cho việc xây dựng các giải thuật
điều khiển trở nên đơn giản và nhanh chóng. Kết quả nghiên cứu cho thấy cho
thấy tính đúng đắn và tính ổn định cao trong việc điều khiển các mô hình xe, máy
bay, và cánh tay robot bằng cử chỉ tay với Leap Motion và LabVIEW.
Từ khóa: Leap Motion, hand gesture, LabVIEW, vehicle, robot arm,
quadcopter, National Instruments.

1

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt



Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

ABSTRACT
Nowadays, models of vehicle, aircraft, and robot are increasingly popular in
research and educational training. These devices are usually operated
automatically or controlled directly by human. Thanks to the advance of image
processing technology, more and more devices can capture the hand gestures and
convert into signals that can be processed by computer. In this thesis, we used
Leap Motion, a device allows us to capture our hand gestures in 3D space with
less than 0.01 millimeter accuracy, to control the aforementioned models through
hand gestures. The use of this device will enhance the natural interaction between
human and machinery. In addition, with the helps of LabVIEW graphical
programming and Arduino open-source platform, building control algorithms is
simpler and quicker than ever. The experimental results show that the correctness
and high stability in controlling these models of vehicle, aircraft, and robot arm
by hand gestures with Leap Motion and LabVIEW.
Keyword: Leap Motion, hand gesture, LabVIEW, vehicle, robot arm,
quadcopter, National Instruments.

2

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW


CHƯƠNG 1. TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Trải qua 4 năm học ngành kỹ thuật Cơ – Điện tử tại khoa Công Nghê, trường
Đại học Cần Thơ, nhóm sinh viên chúng tôi mong muốn nghiên cứu tạo ra một hệ
thống có thể tổng hợp được hầu hết các lĩnh vực trong công nghệ như cơ khí, điện
tử, lập trình, điều khiển, truyền thông, và nhất là áp dụng được các công nghệ tiến
bộ trong lĩnh vực kỹ thuật. Trong quá trình tìm hiểu, nhóm tìm ra được Leap
Motion [1] [2] là một thiết bị mới, có khả năng xử lý ảnh để cung cấp dữ liệu về
các cử chỉ, hành vi của bàn tay trong không gian 3 chiều và đang được ứng dụng
chủ yếu trong giải trí.

Hình 1.1: Leap Motion trong giải trí [1]

Nhận thấy tiềm năng ứng dụng Leap Motion không chỉ dừng lại ở việc điều
khiển các mô hình ảo trên máy tính mà còn ở khả năng điều khiển các thiết bị kỹ
thuật thông qua cử chỉ, hành vi của bàn tay trong không gian. Điều này sẽ giúp
mở ra một kênh giao tiếp mới, giúp việc tương tác giữa con người và thiết bị máy
móc trở nên tự nhiên, linh hoạt và hiệu quả hơn.
Việc ứng dụng cử chỉ tay để điều khiển các thiết bị kỹ thuật có thể ứng dụng
trong việc điều khiển các thiết bị như xe, robot, máy bay… đi đến những nơi có
địa hình khó khăn và môi trường nguy hiểm, nơi mà còn người khó có thể thể tiếp
cận được. Bên cạnh đó, việc ứng dụng cử chỉ tay để điều khiển thiết bị có thể áp

3

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt



Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

dụng cho vật lý trị liệu nhằm tạo sự hứng thú cho bệnh nhân trong quá trình luyện
tập, giúp cải thiện tốc độ hồi phục chức năng tay.
Dựa trên các mục tiêu trên và sự đồng ý của giáo viên hướng dẫn, nhóm
chúng tôi quyết định chọn đề tài “Điều khiển thiết bị bằng cử chỉ tay với Leap
Motion và LabVIEW” làm đề tài luận văn tốt nghiệp.
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Hiện nay, việc áp dụng kỹ thuật xử lý ảnh trong nhận diện cử chỉ con người
[3] [4] để điều khiển đã trở nên rất phổ biến trên toàn thế giới. Bên cạnh đó, các
thiết bị giúp nhận diện cử chỉ như camera, Kinect [5], Leap Motion,… cũng đang
phát triển một cách nhanh chóng nhằm đáp ứng các nhu cầu trong nhiều lĩnh vực
như sản xuất, điều khiển, an ninh, giải trí… Việc ứng dụng Leap Motion trong
lĩnh vực giải trí và điều khiển máy tính hiện nay đã tương đối phố biến. Tuy nhiên,
các ứng dụng này đa số là những tương tác với các mô hình đồ họa trên máy tính.
Đến thời điểm hiện tại, chưa có nhiều nghiên cứu chính thức nào đề cập đến ý
tưởng sử dụng Leap Motion để điều khiển các thiết bị kỹ thuật. Tại Việt Nam,
việc sử dụng Leap Motion để điều khiển các thiết bị là một hướng nghiên cứu còn
mới và chưa được khai thác. Do đó, việc điều khiển các thiết bị thông qua cử chỉ
tay với Leap Motion là một đề tài mới đối với khoa Công Nghệ, trường Đại Học
Cần Thơ nói riêng và trong nước nói chung.
1.3 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI
1.3.1 Mục tiêu của đề tài:
Để hoàn thiện đề tài, nhóm đưa ra các mục tiêu chính như sau:
-

Điều khiển mô hình xe tăng chạy tới, lùi, rẽ trái, phải và điều chỉnh
được tốc độ di chuyển theo vị trí của bàn tay trong không gian.


-

Điều khiển mô hình cánh tay robot di chuyển, gắp thả vật theo vị trí của
bàn tay và cử động của ngón tay trong không gian.

-

Điều khiển máy bay trực thăng 4 cánh (Quadcopter) bay theo hướng di
chuyển của bàn tay trong không gian 3 chiều.

1.3.2 Phạm vi của đề tài:
Đề tài tập trung vào việc xây dựng ứng dụng một cách nhanh chóng và ổn
định dựa trên nền tảng LabVIEW để điều khiển các mô hình xe, cánh tay robot và
máy bay quadcopter thông qua cử chỉ của bàn tay trong không gian 3 chiều.

4

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

1.4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ
Để giải quyết các yêu cầu của đề tài, nhóm cần trang bị Leap Motion và máy
bay Nano Quadcopter, xây dựng mô hình xe và cánh tay robot. Bằng cách sử dụng
LabVIEW để thu thập dữ liệu chuyển động bàn tay từ Leap Motion, sau đó lọc và

tính toán dữ liệu để đưa ra tín hiệu điều khiển và gửi đi thông qua chuẩn truyền
thông không dây để điều khiển các mô hình như xe tăng, cánh tay robot và máy
bay Nano Quadcopter hoạt động theo cử chỉ của bàn tay.
Để thực hiện các công việc nêu trên, đề tài sử dụng các thiết bị thí nghiệm
và phần mềm như sau:
- Cảm biến hình ảnh Leap Motion sử dụng trong việc thu thập dữ liệu tọa độ
của bàn tay trong không gian 3 chiều.
- Board Arduino Nano sử dụng trong việc nhận dữ liệu và điều khiển các thiết
bị chấp hành.
- Mạch thu phát dữ liệu không dây RF 433MHz với khoảng cách tối đa 200m.
- Trang bị máy bay Nano Quadcopter.
- Phần mềm LabVIEW và Matlab được sử dụng để thu thập, tính toán và xử lý
dữ liệu.
Đề tài sẽ được thực hiện như sau:
- Thí nghiệm khảo sát khả năng xử lý dữ liệu Leap Motion trên LabVIEW.
- Xây dựng mô hình xe tăng và cánh tay robot thông qua nguồn tài nguyên mở.
- Trang bị máy bay Nano Quadcopter.
- Thiết kế mạch điện truyền dữ liệu không dây.
- Lập trình LabVIEW để thu thập, tính toán và xử lý dữ liệu của Leap Motion.
- Thí nghiệm điều khiển mô hình xe tăng thông qua cử chỉ tay.
- Thí nghiệm điều khiển mô hình cánh tay robot thông qua cử chỉ tay.
- Thí nghiệm điều khiển máy bay quadcopter thông qua cử chỉ tay.
1.5 CẤU TRÚC BÀI BÁO CÁO
Bài báo cáo được chia thành 6 phần với các nội dung chính như sau:
-

Tóm lược đề tài.

-


Chương 1: Đặt vấn đề, mục tiêu và hướng giải quyết cho đề tài.

5

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

-

Chương 2: Trình bày các cơ sở lý thuyết và những mô hình, thiết bị
được sử dụng trong đề tài.

-

Chương 3: Trình bày các giải pháp giải quyết vấn đề, thiết kế mạch
điện, lưu đồ giải thuật điều khiển và kết quả thí nghiệm.

-

Chương 4: Đưa ra những kết luận và kiến nghị để phát triển trong việc
điều khiển thiết bị thông qua Leap Motion.

-

Tài liệu tham khảo và phụ lục.


6

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Nội dung chính của chương 2 bao gồm:
-

Xác định nguyên lý xử lý ảnh của Leap Motion, khái niệm cơ bản về
kỹ thuật Stereo Vision, cũng như các thông tin và dạng cử chỉ tay
được Leap Motion xử lý.

-

Khái quát về ngôn ngữ lập trình đồ họa LabVIEW và bộ thư viện giao
tiếp giữa LabVIEW và Leap Motion để thu thập dữ liệu cử chỉ tay.

-

Xây dựng bộ lọc Kalman trên LabVIEW để lọc các giá trị tọa độ của
bàn tay trên Leap Motion nhằm làm giảm các ảnh hưởng bởi sự rung
động bàn tay đến quá trình điều khiển thiết bị.


-

Giới thiệu về công nghệ in 3D, cũng như khả năng áp dụng vật liệu in
3D cho các mô hình thiết bị của đề tài.

-

Trình bày mô hình xe tăng, cánh tay robot, máy bay Nano Quadcopter
và các phần cứng, cơ cấu chấp hành cho mô hình.

-

Khái quát về ngôn ngữ lập trình Arduino, vi điều khiển Arduino Nano
và các mạch điện hỗ trợ truyền dữ liệu không dây được sử dụng cho
việc giao tiếp giữa Leap Motion với các mô hình xe tăng cánh tay
robot và máy bay Quadcopter.

7

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

2.1 KHÁI NIỆM CƠ BẢN VỀ STEREO VISION VÀ HÌNH ẢNH 3 CHIỀU
Được lấy ý tưởng từ đôi mắt của con người và các loài động vật khác có
khả năng ghi nhận hình ảnh 2 chiều từ hai mắt, và được bộ não xử lý để tạo ra

hình ảnh có chiều sâu trong không gian (hình 2.1 – 2.2).

Hình 0.1: Hình ảnh 2 chiều do mắt thu được [6]

Hình 0.2: Hình ảnh 3 chiều được não xử lý từ hai ảnh 2 chiều [6]

Stereo Vision là một phương pháp ghi nhận hình ảnh 3 chiều, dựa trên hai
hình ảnh 2 chiều thu được từ 2 camera có cùng hướng nhìn và đặt cách nhau một
khoảng cách nhất định (hình 2.3) và thường được lấy tương đối so với đôi mắt
của con người, do đó hai hình ảnh thu được sẽ có cùng hình dạng nhưng khác góc

8

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

nhìn. Hình ảnh 2 chiều từ 2 camera được ghi nhận và trải qua các bước hiệu chỉnh
ảnh, tính toán và xử lý bản đồ độ lệch để xây dựng lại hình ảnh 3 chiều [6] [7].

Hình 0.3: Một dạng stereo camera [8]

2.2 LEAP MOTION
2.2.1 Tổng quan về Leap Motion
Leap Motion là một thiết bị ghi nhận hình ảnh về sự chuyển động của đôi
tay trong không gian 3 chiều, do tổ chức Leap Motion (Leap Motion, Inc.) của

Mỹ hình thành dự án từ năm 2008. Phiên bản đầu tiên của Leap Motion được đưa
ra vào tháng 8 năm 2011 với cấu trúc ở dạng thử nghiệm. Trải qua 7 phiên bản,
đến tháng 12 năm 2012, phiên bản Leap Motion hoàn chỉnh được đưa ra thị
trường.

9

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt


Luận văn tốt nghiệp

Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW

Hình 0.4: Quá trình phát triển của Leap Motion [1]

Leap Motion được thiết kế để đặt trên các máy tính hoặc laptop một cách
thuận tiện và có tầm nhìn hướng lên. Hệ trục tọa độ của Leap Motion là hệ trục
Descartes [1].

Hình 0.5: Thiết bị Leap Motion và hệ trục tọa độ [1]

10

GVHD: ThS. Nguyễn Tăng Khả Duy
ThS. Nguyễn Văn Mướt



×