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

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

Đ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

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 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 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 năm 2015 … NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Cần Thơ, ngày 23 tháng năm 2015 … ii NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Cần Thơ, ngày 23 tháng năm 2015 ……………………………… iii LỜI CAM ĐOAN Với mục tiêu điều khiển thiết bị kỹ thuật cử bàn tay với Leap Motion dựa tảng lập trình đồ họa LabVIEW, chọn đề tài làm luận văn tốt nghiệp cho Trong trình thực đề tài, nhiều thiếu sót kiến thức hạn chế nội dung trình bày báo cáo hiểu biết thành đạt hướng dẫn ThS Nguyễn Tăng Khả Duy ThS Nguyễn Văn Mướt Chúng xin cam đoan rằng: nội dung trình bày báo cáo luận văn tốt nghiệp chép từ công trình có trước Nếu không thật, xin chịu trách nhiệm trước nhà trường Cần Thơ, ngày 23 tháng năm 2015 Nhóm sinh viên thực Lương Hồng Duy Khanh Nguyễn Thành Long iv LỜI CẢM ƠN Trong suốt trình thực đề tài, gặp phải không khó khăn hạn chế kiến thức, kinh nghiệm tài hạn hẹp Để vượt qua tất cả, bên cạnh nỗ lực cá nhân nhiều quan tâm giúp đỡ, động viên từ phía thầy cô, gia đình bạn bè Chúng chân thành gửi lời cảm ơn đến ThS Nguyễn Tăng Khả Duy ThS Nguyễn Văn Mướt tận tình hướng dẫn, dạy, giúp đỡ, hỗ trợ thiết bị tạo điều kiện thuận lợi để thực đề tài Cảm ơn hai thầy cố vấn học tập Lưu Trọng Hiếu Trần Nhựt Thanh giảng dạy, giúp đỡ định hướng suốt 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 … thầy cô môn Tự Động Hoá, môn Kỹ Thuật Cơ Khí, môn Điện Tử Truyền Thông môn khác tận tình giảng dạy thời gian học tập trường Cảm ơn anh Nguyễn Đình Tứ hỗ trợ ý tưởng cho đề tài luận văn Cảm ơn anh Lý Kim Khôi câu lạc máy bay mô hình Cần Thơ tận tình hỗ trợ giúp đỡ in 3D điều khiển máy bay trình thực luận văn Cảm ơn bạn bè lớp Cơ Điện Tử K37 động viên, chia sẻ, giúp đỡ trình học tập trường Cảm ơn gia đình đặc biệt cha mẹ bỏ công sức nuôi nấng, dạy dỗ, giúp đỡ tài cho học hành để có ngày hôm Nhóm sinh viên thực đề 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 .II NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 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 ABSTRACT CHƯƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1.3 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI 1.3.1 Mục tiêu đề tài: 1.3.2 Phạm vi đề tài: 1.4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ 1.5 CẤU TRÚC BÀI BÁO CÁO CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 KHÁI NIỆM CƠ BẢN VỀ STEREO VISION VÀ HÌNH ẢNH CHIỀU 2.2 LEAP MOTION 2.2.1 Tổng quan Leap Motion 2.2.2 Đặc điểm Leap Motion 12 2.2.3 Các thông tin 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 LabVIEW 17 2.3.2 Một số đặc điểm 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 21 2.4 BỘ LỌC KALMAN 23 2.4.1 Nguyên nhân cần sử dụng lọc 23 2.4.2 Bộ lọc Kalman 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 bước 33 2.6.3 Mạch công suất điều khiển động 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 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 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 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 cánh tay robot 48 3.1.3 Thiết kế mạch truyền nhận 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 cánh tay robot với Arduino 54 3.1.5 Lâp trình thu thập xử lý 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ý liệu với Leap Motion LabVIEW 62 3.1.6 Tiến hành thí nghiệm 67 3.1.7 Kết đạt 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 đ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 xử lý liệu Leap Motion với LabVIEW 80 3.2.5 Tiến hành thí nghiệm 83 3.2.6 Kết đạt 87 CHƯƠNG 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 Luận văn tốt nghiệp Điều khiển thiết bị cử tay với Leap Motion LabVIEW 4.2 ĐỀ NGHỊ Leap Motion thiết bị lĩnh vực xử lý ảnh để điều khiển tiềm phát triển lớn Để cải thiện vấn đề mà đề tài gặp phải, tạo ứng dụng thực tiễn nhóm đưa giải pháp cho nghiên cứu sau: - Xây dựng giải thuật điều khiển thông minh hơn, có khả nhận biết trường hợp bàn tay không nằm vùng quan sát đưa giải pháp xử lý hiệu - Tìm hiểu giao tiếp mở rộng LabVIEW với Leap Motion với mong muốn can thiệp sâu nhằm tận dụng tối đa khả Leap Motion - Nghiên cứu giải pháp cải thiện không gian quan sát cho Leap Motion - Nghiên cứu giải pháp khắc phục tình trạng tầm nhìn ngón tay đặt thẳng hàng với hướng nhìn Leap Motion - Mở rộng xây dựng thiết bị thực tế để ứng dụng lĩnh vực khác giáo dục, đào tạo, nghiên cứu, thám, y sinh, giải trí… 89 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ị cử tay với Leap Motion LabVIEW TÀI LIỆU THAM KHẢO [1] Leap Motion, www.leapmotion.com/product, truy cập ngày 28/12/2014 [2] Wikipedia, “Leap Motion”, www.en.wikipedia.org/wiki/Leap_Motion, truy cập ngày 28/12/2014 [3] Akira Utsumi, Jun Ohya, “MultipleHand-Gesture Tracking using Multiple Cameras”, IEEE Xplore Digital Library, 1999 [4] John Krumm, Steve Shafer, “Multi-Camera Multi-Person Tracking for EasyLiving”, Third IEEE International Workshop on Visual Surveillance, 2000 [5] Wikipedia, “Kinect”, www.en.wikipedia.org/wiki/Kinect, truy cập ngày 28/12/2014 [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 [7] Bruce D Lucas, Takeo Kanade, “An Iteraltive Image Registration Technique with an Application to Stereo Vision”, page 121-130, DRAPA Image Workshop, 1981 [8] “Fundamental Guide for Stereo Vision Cameras in Robotics”, www.intorobotics.com/fundamental-guide-for-stereo-vision-cameras-inrobotics-tutorials-and-resources, truy cập ngày 11/5/2015 [9] NATIONAL INSTRUMENTS, “LabVIEW System Design Software”, www.ni.com/labview , 2015 [10] LabVIEW Hacker, “LVH-Leap”, www.labviewhacker.com, truy cập ngày 2/1/2015 [11] Greg Welch, Gary Bishop, "An Introduction to the Kalman Filter", University of North Carolina at Chapel Hill Department of Computer Science, 2001 [12] M.S.Grewal, A.P Andrews, "Kalman Filtering - Theory and Practice Using MATLAB", Wiley, 2001 [13] Bilgin Esme, “Kalman Filter For Dummies”, www.bilgin.esme.org, truy cập ngày 12/2/2015 [14] Wikipedia, “3D Printing”, www.en.wikipedia.org/wiki/3D_printing, truy cập ngày 18/1/2015 90 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ị cử tay với Leap Motion LabVIEW [15] Kollmorgen, “Stepper Motor CT Series”, www.kollmorgen.com/enus/products/motors/stepper/ct-series, truy cập ngày 11/5/2015 [16] Allegro, “A4988: DMOS Microstepping Driver with Translator and Overcurrent Protection”, www.allegromicro.com, truy cập ngày 10/5/2015 [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 [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 [19] Funcasetoy, “mini Ninja Hybrid Quadcopter”, www.funcasetoy.com/#!mini-ninja-hybrid-727/cijj, truy cập ngày 2/3/2015 [20] Arduino, www.arduino.cc, truy cập ngày 11/1/2015 [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 [23] Prolific, “PL2303 USB to Serial”, www.prolific.com.tw, truy cập ngày 15/1/2015 [24] TEXAS INSTRUMENTS, “DAC8568 datasheet”, www.ti.com, truy cập ngày 2/3/2015 91 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ị cử tay với Leap Motion LabVIEW 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 #include #define servo_Point // Pin - Point RC_Servo #define servo_Arm1 // Pin - Arm1 RC_Servo #define servo_Arm2 // Pin - Arm2 RC_Servo #define servo_Base // Pin - Base RC_Servo #define RD A0 // Right Stepper Motor - Dir #define RS A1 // Right Stepper Motor - Step #define EN A2 // Stepper Motor - Enable #define LD A3 // Left Stepper Motor - Dir #define LS A4 // Left Stepper Motor - Step Servo s_Point; Servo s_Base; Servo s_Arm1; Servo s_Arm2; unsigned char sData[15]; // UART Data unsigned char minArm1 = 0; const unsigned char maxArm1 = 138; unsigned char maxArm2 = 140; unsigned char minPoit = 20; const unsigned char maxPoit = 137; unsigned char dir, sp, LSP, RSP, LSPData, RSPData; unsigned int RFtimeout; boolean boolRSP, boolLSP; 92 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ị cử tay với Leap Motion LabVIEW void setup(){ s_Point.attach(servo_Point); s_Base.attach(servo_Base); s_Arm1.attach(servo_Arm1); s_Arm2.attach(servo_Arm2); s_Point.write(112); s_Base.write(80); s_Arm1.write(133); s_Arm2.write(53); pinMode(LD, OUTPUT); pinMode(LS, OUTPUT); pinMode(RD, OUTPUT); pinMode(RS, OUTPUT); pinMode(EN, OUTPUT); digitalWrite(EN, LOW); // ACTIVE ENABLE digitalWrite(LD, LOW); digitalWrite(LS, LOW); digitalWrite(RD, LOW); digitalWrite(RS, LOW); dir = 0; sp = 0; LSP = RSP = 0; boolRSP = boolLSP = true; setDirect(1); LSPData = 50; RSPData = 50; RFtimeout = 20000; // Timeout when lost RF data 93 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ị cử tay với Leap Motion LabVIEW pinMode(13, OUTPUT); digitalWrite(13, HIGH); delay(1000); /* Init Motion */ s_Point.write(0x40); s_Arm2.write(0x25); delay(150); s_Point.write(0x80); s_Arm1.write(0x75); delay(150); s_Point.write(0x40); s_Arm2.write(0x35); delay(150); s_Point.write(0x80); s_Arm1.write(0x85); delay(150); s_Point.write(0x40); s_Arm2.write(0x25); delay(150); s_Point.write(0x80); s_Arm1.write(0x75); delay(150); s_Point.write(0x40); s_Arm2.write(0x35); delay(150); s_Point.write(0x80); s_Arm1.write(0x85); delay(150); s_Point.write(0x70); s_Arm1.write(0x7E); s_Arm2.write(0x30); Serial.begin(115200); } void loop(){ steperRun(); // Stepper Motor Control } /* UART Interrupt Handler */ void serialEvent() { for(unsigned char x = 0; x < 255; x++) steperRun(); unsigned char av = Serial.available(); for(unsigned char i = 0; i < av; i++) sData[i] = Serial.read(); if(sData[7] == 0x0A){ if(sData[2] > maxArm1) sData[2] = maxArm1; 94 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ị cử tay với Leap Motion LabVIEW maxArm2 = 206 - sData[2]; if(sData[3] > maxArm2) sData[3] = maxArm2; else if(sData[3] < 15) sData[3] = 15; if(sData[0] > maxPoit) sData[0] = maxPoit; else if(sData[0] < minPoit) sData[0] = minPoit; s_Point.write(sData[0]); s_Base.write(sData[1]); s_Arm1.write(sData[2]); s_Arm2.write(sData[3]); RFtimeout = 0; setDirect(sData[4]); RSPData = 255 - sData[5]; LSPData = 255 - sData[6]; sData[7] = 0; Serial.println("OK"); } } /* Stepper Motor - Step (Pulse) Control */ void LPulse(){ if(boolLSP){ digitalWrite(LS, HIGH); boolLSP = false; } else { digitalWrite(LS, LOW); boolLSP = true; } } void RPulse(){ if(boolRSP){ digitalWrite(RS, HIGH); boolRSP = false; } else { digitalWrite(RS, LOW); boolRSP = true; } 95 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ị cử tay với Leap Motion LabVIEW } /* Stepper Motor - Direction Control */ void setDirect(unsigned char Direct){ if(Direct == 0){ // STOP digitalWrite(EN, HIGH); } else if (Direct == 1){ // UP digitalWrite(LD, LOW); digitalWrite(RD, LOW); digitalWrite(EN, LOW); } else if (Direct == 2){ // DOWN digitalWrite(LD, HIGH); digitalWrite(RD, HIGH); digitalWrite(EN, LOW); } else if (Direct == 3){ // RIGHT digitalWrite(LD, HIGH); digitalWrite(RD, LOW); digitalWrite(EN, LOW); } else if (Direct == 4){ // LEFT digitalWrite(LD, LOW); digitalWrite(RD, HIGH); digitalWrite(EN, LOW); } } /* Stepper Motor - Motion Control */ void steperRun(){ if(LSP >= LSPData){ LPulse(); LSP = 0; } 96 GVHD: ThS Nguyễn Tăng Khả Duy ThS Nguyễn Văn Mướt Luận văn tốt nghiệp else { Điều khiển thiết bị cử tay với Leap Motion LabVIEW LSP ++; } if(RSP >= RSPData){ RPulse(); RSP = 0; } else { RSP ++; } if(RFtimeout >= 25000){ setDirect(0); RFtimeout = 0; } else { RFtimeout ++; } delayMicroseconds(20); } 97 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ị cử tay với Leap Motion LabVIEW PHỤ LỤC 2: CHƯƠNG TRÌNH ĐIỀU KHIỂN DAC VÀ JOYSTICK CỦA NANO QUADCOPTER VỚI ARDUINO #include #define SYNC // DAC #define CLR // DAC #define CrlEn // DAC #define Flip // Joystick #define LED // Joystick // RESET: 82 - 0x52 // Flip: 70 - 0x46 >>> 10ms >>> 102 - 0x66 unsigned char sData[6]; void setup(){ pinMode(CrlEn, OUTPUT); digitalWrite(CrlEn, LOW); pinMode(SYNC, OUTPUT); digitalWrite(SYNC, HIGH); pinMode(CLR, OUTPUT); digitalWrite(CLR, LOW); pinMode(Flip, OUTPUT); digitalWrite(Flip, HIGH); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); SPI.begin(); SPI.setDataMode(SPI_MODE2); delay(10); digitalWrite(CLR, HIGH); delay(10); DAC_Send(8, 0, 0x0000, 0x00); // Disable Internal Reference DAC_Send(4, 0, 0x002F, 0x0F); // Disable All Channel to 100k 10 GND DAC_Send(4, 0, 0x000D, 0x04); // Enable DAC Channel HCEG QuadCtl('H', 255); QuadCtl('B', 127); 98 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ị cử tay với Leap Motion LabVIEW QuadCtl('C', 127); QuadCtl('D', 127); digitalWrite(CrlEn, LOW); delay(900); digitalWrite(CrlEn, HIGH); delay(700); QuadCtl('H', 0); Serial.begin(115200); Serial.println("OK"); } void loop(){ } /* DAC Control */ void DAC_Send(unsigned char Control, unsigned char Address, unsigned int Data, unsigned char Feature){ unsigned char fControl = Control&0x0F; unsigned char fAddress = ((Address&0x0F)12); unsigned char fData = (Data&0xFF0)>>4; unsigned char fFeature = (Feature&0x0F) + ((Data&0x000F)[...]... 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.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 14 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.15: Cử chỉ vẫy ngón tay Hình 0.16: Cử chỉ vẫy bàn tay Hình 0.17:... 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... 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 11 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.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. .. 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ậ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... Điều khiển thiết bị bằng cử chỉ tay với Leap Motion và LabVIEW 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... 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... 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ý... đ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:... Đ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

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan