1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

118 801 4

Đ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 118
Dung lượng 6,1 MB

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

Nội dung

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

Trang 1

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

Lương Hồng Duy Khanh: 1111095 Ths Nguyễn Tăng Khả Duy Nguyễn Thành Long: 1111104 Ths Nguyễn Văn Mướt

Cần Thơ, 5/2015

Trang 2

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

Lương Hồng Duy Khanh: 1111095 Ths Nguyễn Tăng Khả Duy Nguyễn Thành Long: 1111104 Ths Nguyễn Văn Mướt

Cần Thơ, 5/2015

Trang 3

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

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

Trang 4

ii

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

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

Trang 5

iii

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

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

………

Trang 6

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

Trang 7

v

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

Trang 8

vi

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ẢIQUYẾTVẤ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.1KHÁI NIỆM CƠ BẢN VỀ STEREO VISION VÀ HÌNH ẢNH 3 CHIỀU 8

2.2LEAP 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.3PHẦ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

Trang 9

vii

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.5CÔNG NGHỆ IN 3D VÀ PHƯƠNG PHÁP TẠO MẪU NHANH 29

2.6MÔ 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.7MÔ 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.8KẾT HỢP MÔ HÌNH XE TĂNG VÀ CÁNH TAY ROBOT 39

2.9MÁY BAY NANO QUADCOPTER 40

2.10ARDUINO 42

2.10.1 Tổng quan về Arduino 42

2.10.2 Board Arduino Nano 42

2.11MẠCH RF433MHZ HC-11 43

2.12MẠ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

Trang 10

viii

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

Trang 11

ix

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

Trang 12

x

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

Trang 13

xi

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

Trang 14

xii

Bảng 3.2: Định dạng gói dữ liệu không dây điều khiển joystick 79

Trang 15

xiii

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)

Trang 16

1

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 17

2

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 18

3

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 19

4

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 20

5

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

- 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

Trang 21

6

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

- 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

Trang 22

7

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 23

8

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 24

9

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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

Trang 25

10

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

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]

Trang 26

11

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Bên trong Leap Motion được trang bị 2 camera hồng ngoại, hoạt động như

hệ stereo vision và 3 LED hồng ngoại, cho phép tạo nguồn sáng cho các vật thể cần ghi nhận hình ảnh Do đó ngay cả trong môi trường thiếu ánh sáng, Leap Motion vẫn hoạt động tốt

Hình 0.6: Thiết kế bên trong Leap Motion

Hình 0.7: Camera và LED hồng ngoại của Leap Motion

Trang 27

12

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

2.2.2 Đặc điểm của Leap Motion

Thông số kỹ thuật của Leap Motion như sau:

- Tần số cập nhật: 150 - 980Hz (phụ thuộc số lượng bàn tay và ngón tay ghi nhận được)

- Cho phép nhận dạng cả hai tay và 10 ngón tay riêng biệt

- Cho phép nhận dạng một số vật thể (thanh thẳng, viết, … )

- Nhận dạng vị trí, tốc độ di chuyển ở đơn vị milimet

- Độ phân giải lên đến 0.01mm

Trang 28

13

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

2.2.3 Các thông tin có được từ Leap Motion

Leap Motion có khả năng cung cấp các thông tin sau:

- Thông tin về tốc độ xử lý ảnh (Frame Per Seconds – FPS)

- Thông tin về hướng, vị trí và tốc độ của từng đối tượng quan sát (hình 2.10)

- Thông tin về vị trí các khớp xương bàn tay và ngón tay trong không

gian (hình 2.11 – 2.12)

- Thông tin về sự xoay tròn ngón tay (hình 2.13)

- Thông tin về sự trỏ ngón tay (hình 2.14)

- Thông tin về sự vẫy ngón tay (hình 2.15)

- Thông tin về sự vẫy bàn tay (vẫy trái, phải, tới, lùi, lên, xuống) (hình 2.16)

- Thông tin về công cụ cầm nắm trên tay (viết, các thanh thẳng tròn, dài)

(hình 2.17)

Hình 0.10: Tọa độ lòng bàn tay

Hình 0.11: Hướng và tọa độ của từng ngón tay

Trang 29

14

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Hình 0.12: Các khớp xương bàn tay được Leap Motion nhận dạng

Hình 0.13: Cử chỉ xoay ngón tay

Hình 0.14: Cử chỉ trỏ ngón tay

Trang 30

15

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Hình 0.15: Cử chỉ vẫy ngón tay

Hình 0.16: Cử chỉ vẫy bàn tay

Hình 0.17: Chi tiết cầm trên tay

Trang 31

16

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

2.2.4 Cấu hình máy tính tối thiểu cho Leap Motion

Leap Motion không có khả năng tự xử lý hình ảnh, mà chỉ có khả năng thu thập thông tin hình ảnh và gửi dữ liệu lên máy tính xử lý [1] Do đó để xử lý được

dữ liệu từ Leap Motion, yêu cầu cần phải có máy tính với các thông số tối thiểu như sau:

- Windows 7 hoặc 8 hoặc Mac OS X 10.7 Lion

- Bộ xử lý: AMD PhenomTM hoặc Intel CoreTM i3

- RAM: 2GB

- USB Port: 2.0

2.2.5 Bộ thư viện cần thiết cho Leap Motion

Để máy tính và các ngôn ngữ lập trình khác có thể giao tiếp và xử lý được

dữ liệu của Leap Motion, người sử dụng cần tải và cài đặt gói thư viện SDK, được phổ biến tại trang chủ của Leap Motion: developer.leapmotion.com Phiên bản SDK hiện tại cho phép hoạt động ở các hệ điều hành Windows, OSX và Linux

Hình 0.18: Bộ thư viện SDK cho Leap Motion

2.2.6 Ngôn ngữ lập trình cho Leap Motion

Leap Motion được hỗ trợ bởi rất nhiều ngôn ngữ lập trình để xây dựng và phát triển ứng dụng [1] như: JavaScript, Unity/C#, C++, Java, Python, Objective-

C, LabVIEW Trong đề tài này, nhóm sử dụng LabVIEW làm nền tảng xử lý dữ liệu Leap Motion, đồng thời có khả năng điều khiển và xây dựng giao diện người dùng

Hình 0.19: Các ngôn ngữ phát triển ứng dụng cho Leap Motion

Trang 32

17

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

2.3 PHẦN MỀM LABVIEW

2.3.1 Khái quát về LabVIEW

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench)

là một phần mềm máy tính được phát triển bởi công ti National Instruments [9] LabVIEW được dùng trong hầu hết các phòng thí nghiệm thuộc nhiều lĩnh vực khoa học kỹ thuật như tự động hoá, điều khiển, điện tử, cơ điện tử, hàng không, hoá sinh, điện tử y sinh… ở các nước, đặc biệt là Mỹ, Hàn Quốc, Nhật Bản

Hình 0.20: Phần mềm LabVIEW

Ngôn ngữ lưu đồ, đồ hoạ của LabVIEW đã hấp dẫn các kĩ sư và nhà khoa học trên toàn thế giới như một phương pháp trực quan hơn trong việc tự động hoá các hệ thống đo lường và điều khiển Ngôn ngữ lưu đồ kết hợp với các card giao tiếp sử dụng giao diện tương tác với người dùng làm cho LabVIEW trở thành một

sự lựa chọn lý tưởng cho kĩ sư và nhà khoa học Ngoài ra, người dùng hoàn toàn

có thể tự thiết kế hệ thống phần cứng giao tiếp với LabVIEW, cũng như xây dựng giao diện điều khiển cho riêng mình

Trang 33

18

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Hình 0.21: Các chức năng của LabVIEW

LabVIEW là một phần mềm (bản chất là một môi trường để lập trình sử dụng ngôn ngữ đồ hoạ) được sử dụng rộng rãi trong khoa học, kỹ thuật, giáo dục, nhằm nhanh chóng và dễ dàng tạo ra các ứng dụng giao tiếp máy tính, đo lường, mô phỏng hệ thống, kết nối thiết bị ngoại vi với máy tính theo thời gian thực Lập trình đồ hoạ hoàn toàn giống như các ngôn ngữ khác, điểm khác biệt ở đây là giao diện, cách thức tạo ra chương trình không còn là những dòng lệnh như trong Pascal, C… mà là những biểu tượng (icon) và dây nối (wire)

Hình 0.22: Một chương trình và giao diện được xây dựng bởi LabVIEW

Trang 34

19

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

2.3.2 Một số đặc điểm chính của LabVIEW

Một số đặc điểm nổi trội của LabVIEW so với các công cụ lập trình hiện có:

- Ngôn ngữ mở: Gỡ rối bằng đồ hoạ tích hợp, phân phối ứng dụng đơn giản, nhiều công cụ phát triển cao cấp, công cụ phát triển nhóm, điều khiển mã nguồn, quản lý hệ thống

- Thu thập, phân tích và hiển thị:

Thu thập: Môi trường LabVIEW mở tương thích với mọi phần cứng đo lường với các trợ giúp tương tác, tạo mã nguồn và khả năng kết nối tới hàng nghìn thiết bị, giúp tập hợp dữ liệu dễ dàng Vì LabVIEW cung cấp tính kết nối tới hầu hết mọi thiết bị đo nên bạn

có thể dễ dàng kết hợp những ứng dụng LabVIEW mới vào các hệ thống hiện tại

Đo lường: Nhiệt độ, sức căng, độ rung, âm thanh, điện áp, dòng điện, tần số, ánh sáng, điện trở, xung, thời gian (giai đoạn), tín hiệu số,…

Phân tích: Tính năng phân tích mạnh mẽ, dễ sử dụng là điều không thể thiếu cho các ứng dụng phần mềm LabVIEW có hơn 500 chức năng lập trình sẵn để trích xuất thông tin hữu ích từ dữ liệu thu nhận được, phân tích các phép đo và xử lý tín hiệu Các chức năng phân tích tần số, phát tín hiệu, toán học, chỉnh lí đường cong, phép nội suy cho phép nhận được số liệu thống kê quan trọng từ dữ liệu của mình Dù thuật toán có phức tạp thì công cụ phân tích của LabVIEW vẫn rất dễ sử dụng Hơn 15 Express Vis làm giảm độ phức tạp của việc phân tích phép đo trong các ứng dụng của bạn thông qua hộp thoại cấu hình tương tác để xem trước kết quả phân tích

Hiển thị dữ liệu: trực quan, tạo báo cáo và quản lý dữ liệu LabVIEW bao gồm các công cụ trực quan, giúp hiển thị dữ liệu hấp dẫn, sinh động, trong đó có các tiện ích vẽ biểu đồ và đồ thị cùng các công cụ trực quan 2D, 3D cài sẵn Bạn có thể nhanh chóng cấu hình lại các thuộc tính của phần hiển thị như màu sắc, kích cỡ font, kiểu đồ thị như quay, phóng to, thu nhỏ, quay quét (pan) đồ thị khi đang chạy Ngoài ra, bạn có thể xem và điều khiển Vis quan Internet bằng LabVIEW Đối với việc tạo báo cáo, NI cung cấp một số tuỳ

Trang 35

20

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

chọn như công cụ tạo tài liệu, báo cáo dạng HTML, Work, Excel và báo cáo tương tác với NI DIAdem

- LabVIEW có thể đo lường từ bất kỳ cảm biến (tín hiệu dạng điện

áp, dòng điện, xung…), có thể điều khiển được bất kỳ cơ cấu chấp hành (động cơ AC/DC, động cơ xăng, bơm thuỷ lực, lò nhiệt, piston thuỷ khí…), truyền thông qua bất kỳ chuẩn giao tiếp máy tính, thiết

bị chuẩn RS232, USB, PCI, PXI, Wifi, Bluetooth, TCP/IP…

- LabVIEW hỗ trợ đắc lực cho các kĩ sư ngành Cơ khí, Cơ điện tử, Robotics, Ôtô, Viễn thông và Điện tử trong việc tính toán và thiết

kế sản phẩm, sản xuất mẫu (prototyping), mô phỏng và đánh giá chất lượng sản phẩm…

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

LabVIEW Hacker – Leap (LVH-Leap) là một bộ thư viện cho phép LabVIEW truy cập và nhận các dữ liệu của Leap Motion thông qua gói thư viện SDK [10] LVH Leap được phát triển bởi nhóm tác giả Milan Raj, Sam Kristoff, Justin Dailey, Adrien Auge, Alex Drane của trường Đại học MIT và phát hành miễn phí vào tháng 6 năm 2014

Hình 0.23: Thư viện LVH-Leap trên VI Packet Manager của LabVIEW

Trang 36

21

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

LVH-Leap cung cấp cho người dùng các khối giao tiếp và trích xuất dữ liệu về vị trí, tốc độ và cử chỉ bàn tay của Leap Motion trên LabVIEW một cách đơn giản, dễ dàng và nhanh chóng

Hình 0.24: Thư viện giao tiếp Leap Motion của LVH-Leap với LabVIEW

Hình 0.25: Chương trình thu thập dữ liệu chuyển động bàn tay với LabVIEW

2.3.4 Bộ thư viện truyền thông bất đồng bộ

Một trong những ưu điểm chính của LabVIEW là khả năng liên kết với các thiết bị bên ngoài để trao đổi dữ liệu Để giao tiếp với các thiết bị thông qua chuẩn UART, LabVIEW hỗ trợ gói thư viện Serial tại mục Instrument I/O

Trang 37

22

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Hình 0.26: Bộ thư viện giao tiếp UART của LabVIEW

Các khối chính của bộ thư viện Serial như sau:

- Configure Port: Mở cổng giao tiếp UART và thiết lập các thông số giao tiếp như baudrate, parity, data bit, termination byte,

timeout,…

- Write: Truyền dữ liệu từ máy tính sang thiết bị UART khác

- Read: Đọc dữ liệu từ thiết bị UART khác gửi đến

Trang 38

23

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

2.4 BỘ LỌC KALMAN

2.4.1 Nguyên nhân cần sử dụng bộ lọc

Dữ liệu của Leap Motion cung cấp cho LabVIEW có độ chính xác lên đến

0.01mm [1] và nhiễu rất thấp (hình 2.28) Đồng thời, khi bàn tay di chuyển, các

thông số thay đổi rất nhanh theo vị trí thực của bàn tay Điều này có lợi trong việc điều khiển các thiết bị cần sự thay đổi nhanh chóng theo vị trí của bàn tay

Hình 0.28: Vị trí bàn tay đặt yên trên Leap Motion trong 3.4 giây

Trên thực tế, con người khó có thể giữ yên bàn tay ở một vị trí cố định do các yếu tố sinh lý, sức khỏe cũng như sự mỏi cánh tay khi đặt trong không gian

Sự rung động không mong muốn này có thể gây ra các hoạt động sai lệch vị trí

của các thiết bị như cánh tay robot, máy bay (hình 2.29) Ngoài ra, trong một

vài trường hợp, các thiết bị (như cánh tay robot) có quán tính lớn do hạn chế về

cơ khí Việc di chuyển quá nhanh theo cử chỉ tay có thể gây các hư hỏng cho thiết

bị Vì vậy, việc lọc các dao động lớn của bàn tay và làm chậm trễ giá trị vị trí thu được từ Leap Motion nhưng vẫn đảm bảo độ chính xác của các giá trị là cần thiết cho sự vận hành ổn định của hệ thống

Vì Leap Motion không tạo ra nhiễu (hình 2.28) nên không cần bộ lọc thông

thấp (Low-Pass Filter) Do đó bộ lọc Kalman được áp dụng để lọc các thay đổi nhanh chóng của tọa độ bàn tay trên Leap Motion

Trang 39

24

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Hình 0.29: Các rung động của bàn tay khi mỏi

2.4.2 Bộ lọc Kalman và lập trình với LabVIEW

Kalman là một bộ lọc thích nghi, sử dụng các phương trình toán học đệ quy

để ước lượng trạng thái của một quá trình [11], theo cách tối thiểu hóa giá trị trung

bình của phương sai Bộ lọc rất hiệu quả trên các khía cạnh sau: Nó cho phép ước

lượng trạng thái quá khứ, hiện tại thậm chí cả tương lai, và bộ lọc có thể hoạt động ngay cả khi độ chính xác thực sự của mô hình hệ thống là chưa biết Bộ lọc Kalman

có thể lọc các dữ liệu tuyến tính và rời rạc [12], do đó dễ dàng áp dụng với các giá trị tọa độ bàn tay của Leap Motion

Bộ lọc Kalman ước lượng một quá trình bằng cách sử dụng một dạng của điều khiển phản hồi (feedback control): bộ lọc ước lượng trạng thái của quá trình tại một thời điểm sau đó có được phản hồi từ các đo đạc (có nhiễu) Như vậy, các phương trình của bộ lọc Kalman được chia thành hai nhóm: cập nhật theo thời gian (time update) và cập nhật theo giá trị đo lường (measurement update) Các phương trình cập nhật theo thời gian để dự đoán trạng thái hiện tại và vector hiệp phương sai lỗi nhằm ước lượng trạng thái tiền nghiệm cho bước tiếp theo Các phương trình cập nhật theo giá trị đo lường dùng để cung cấp phản hồi – ví dụ như kết hợp một giá trị đo lường mới với ước lượng trước đó để có được ước

lượng trạng thái hiện tại (hình 2.30)

Trang 40

25

GVHD: ThS Nguyễn Tăng Khả Duy

ThS Nguyễn Văn Mướt

Hình 0.30: Chu trình của bộ lọc Kalman [11]

Hình 0.31: Chu trình lọc Kalman rút gọn [13]

Ở đây:

- k: thời điểm thứ k của quá trình lọc

- zk: giá trị cần lọc tại thời điểm hiện tại (k)

- x k: giá trị ước lượng (đã lọc) tại thời điểm trước đó (k-1)

- P k : hiệp phương sai tại thời điểm hiện tại (k)

- P k: hiệp phương sai ở thời điểm trước đó (k-1)

- Kk: độ lợi của bộ lọc

- I: hệ số lọc

Bộ lọc Kalman được rút gọn (hình 2.31) vì dữ liệu tọa độ bàn tay với Leap

Motion là dữ liệu rời rạc [13] của ba thông số X, Y, Z Trước khi bộ lọc hoạt động,

Ngày đăng: 05/06/2016, 13:19

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Wikipedia, “Leap Motion”, www.en.wikipedia.org/wiki/Leap_Motion, truy cập ngày 28/12/2014 Sách, tạp chí
Tiêu đề: Leap Motion”
[3] Akira Utsumi, Jun Ohya, “MultipleHand-Gesture Tracking using Multiple Cameras”, IEEE Xplore Digital Library, 1999 Sách, tạp chí
Tiêu đề: “MultipleHand-Gesture Tracking using Multiple Cameras”
[4] John Krumm, Steve Shafer, “Multi-Camera Multi-Person Tracking for EasyLiving”, Third IEEE International Workshop on Visual Surveillance, 2000 Sách, tạp chí
Tiêu đề: “Multi-Camera Multi-Person Tracking for EasyLiving”
[5] Wikipedia, “Kinect”, www.en.wikipedia.org/wiki/Kinect, truy cập ngày 28/12/2014 Sách, tạp chí
Tiêu đề: Kinect”
[6] Hoàng Đình Chiến, Nguyễn Văn Đức, Nguyễn Hồng Đức, “Ứng dụng kỹ thuật stereo vision cho robot”, 2012 Sách, tạp chí
Tiêu đề: “Ứng dụng kỹ thuật stereo vision cho robot”
[7] Bruce D. Lucas, Takeo Kanade, “An Iteraltive Image Registration Technique with an Application to Stereo Vision”, page. 121-130, DRAPA Image Workshop, 1981 Sách, tạp chí
Tiêu đề: “An Iteraltive Image Registration Technique with an Application to Stereo Vision”
[8] “Fundamental Guide for Stereo Vision Cameras in Robotics”, www.intorobotics.com/fundamental-guide-for-stereo-vision-cameras-in-robotics-tutorials-and-resources, truy cập ngày 11/5/2015 Sách, tạp chí
Tiêu đề: “Fundamental Guide for Stereo Vision Cameras in Robotics”
[9] NATIONAL INSTRUMENTS, “LabVIEW System Design Software”, www.ni.com/labview , 2015 Sách, tạp chí
Tiêu đề: “LabVIEW System Design Software”
[10] LabVIEW Hacker, “LVH-Leap”, www.labviewhacker.com, truy cập ngày 2/1/2015 Sách, tạp chí
Tiêu đề: “LVH-Leap”
[11] Greg Welch, Gary Bishop, "An Introduction to the Kalman Filter", University of North Carolina at Chapel Hill Department of Computer Science, 2001 Sách, tạp chí
Tiêu đề: An Introduction to the Kalman Filter
[12] M.S.Grewal, A.P. Andrews, "Kalman Filtering - Theory and Practice Using MATLAB", Wiley, 2001 Sách, tạp chí
Tiêu đề: Kalman Filtering - Theory and Practice Using MATLAB
[13] Bilgin Esme, “Kalman Filter For Dummies”, www.bilgin.esme.org, truy cập ngày 12/2/2015 Sách, tạp chí
Tiêu đề: “Kalman Filter For Dummies”
[14] Wikipedia, “3D Printing”, www.en.wikipedia.org/wiki/3D_printing, truy cập ngày 18/1/2015 Sách, tạp chí
Tiêu đề: “3D Printing”
[15] Kollmorgen, “Stepper Motor CT Series”, www.kollmorgen.com/en- us/products/motors/stepper/ct-series, truy cập ngày 11/5/2015 Sách, tạp chí
Tiêu đề: “Stepper Motor CT Series”
[16] Allegro, “A4988: DMOS Microstepping Driver with Translator and Overcurrent Protection”, www.allegromicro.com, truy cập ngày 10/5/2015 Sách, tạp chí
Tiêu đề: “A4988: DMOS Microstepping Driver with Translator and Overcurrent Protection”
[17] “MG996R High Torque Metal Gear Dual Ball Bearing Servo Catalog”, www.skippy.org.uk/wp-content/uploads/MG996R_Tower-Pro.pdf, truy cập ngày 10/5/2015 Sách, tạp chí
Tiêu đề: “MG996R High Torque Metal Gear Dual Ball Bearing Servo Catalog”
[18] “MG90S High Torque Metal Gear Dual Ball Bearing Servo Catalog”, www.skippy.org.uk/wp-content/uploads/MG90S_Tower-Pro.pdf, truy cập ngày 10/5/2015 Sách, tạp chí
Tiêu đề: “MG90S High Torque Metal Gear Dual Ball Bearing Servo Catalog”
[19] Funcasetoy, “mini Ninja Hybrid Quadcopter”, www.funcasetoy.com/#!mini-ninja-hybrid-727/cijj, truy cập ngày 2/3/2015 Sách, tạp chí
Tiêu đề: “mini Ninja Hybrid Quadcopter”
[21] SEEED catalog, “HC-11 433MHz Wireless Serial Port Module”, 2013 [22] Clarence D. Lewis, “Universal asynchronous receive/transmit circuit with flow control”, Texas Instruments Incorporated, 1997 Sách, tạp chí
Tiêu đề: “HC-11 433MHz Wireless Serial Port Module”, "2013 [22] Clarence D. Lewis, "“Universal asynchronous receive/transmit circuit with flow control”
[23] Prolific, “PL2303 USB to Serial”, www.prolific.com.tw, truy cập ngày 15/1/2015 Sách, tạp chí
Tiêu đề: “PL2303 USB to Serial”

HÌNH ẢNH LIÊN QUAN

Hình 0.24: Thư viện giao tiếp Leap Motion của LVH-Leap với LabVIEW - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.24 Thư viện giao tiếp Leap Motion của LVH-Leap với LabVIEW (Trang 36)
Hình 0.26: Bộ thư viện giao tiếp UART của LabVIEW - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.26 Bộ thư viện giao tiếp UART của LabVIEW (Trang 37)
Hình 0.44: Mô hình cánh tay robot toàn khớp xoay hoàn chỉnh - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.44 Mô hình cánh tay robot toàn khớp xoay hoàn chỉnh (Trang 51)
Hình 0.47: Mô hình kết hợp giữa xe tăng và cánh tay robot - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.47 Mô hình kết hợp giữa xe tăng và cánh tay robot (Trang 54)
Hình 0.4: Sơ đồ mạch điện mô hình cánh tay robot với Arduino - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.4 Sơ đồ mạch điện mô hình cánh tay robot với Arduino (Trang 65)
Hình 0.5: Mạch điều khiển cánh tay robot hoàn chỉnh - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.5 Mạch điều khiển cánh tay robot hoàn chỉnh (Trang 66)
Hình 0.8: Thiết bị phát sóng không dây hoàn chỉnh - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.8 Thiết bị phát sóng không dây hoàn chỉnh (Trang 68)
Hình 0.14: Mô hình hóa cánh tay robot trên mặt phẳng YZ của Leap Motion - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.14 Mô hình hóa cánh tay robot trên mặt phẳng YZ của Leap Motion (Trang 75)
Hình 0.24: Giao diện và các thiết lập trên chương trình TANK & ARM ROBOT - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.24 Giao diện và các thiết lập trên chương trình TANK & ARM ROBOT (Trang 85)
Hình 0.25: Chương trình điều khiển mô hình xe và cánh tay robot đang hoạt động - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.25 Chương trình điều khiển mô hình xe và cánh tay robot đang hoạt động (Trang 86)
Hình 0.26: Quá trình điều khiển mô hình xe và robot bằng cử chỉ tay - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.26 Quá trình điều khiển mô hình xe và robot bằng cử chỉ tay (Trang 86)
Hình 0.28: Sơ đồ mạch điện điều khiển joystick và DAC thông qua Arduino - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.28 Sơ đồ mạch điện điều khiển joystick và DAC thông qua Arduino (Trang 90)
Hình 0.31: Thiết bị điều khiển máy bay hoàn chỉnh - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.31 Thiết bị điều khiển máy bay hoàn chỉnh (Trang 92)
Hình 0.34: Lưu đồ chương trình điều khiển máy bay với Leap Motion và - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.34 Lưu đồ chương trình điều khiển máy bay với Leap Motion và (Trang 96)
Hình 0.37: Giao diện và các thiết lập trên chương trình QUADCOPTER của - điều khiển thiết bị bằng cử chỉ tay với leap motion và labview
Hình 0.37 Giao diện và các thiết lập trên chương trình QUADCOPTER của (Trang 100)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w