Từ khi bộ điều khiển Leap Motion được giới thiệu vào năm 2013, rất nhiều ứng dụng đã được các kỹ sư, lập trình viên phát triển để khai thác khả năng của thiết bị này, trong đó có ứng dụn
Trang 1TRƯỜNG ĐẠI HỌC VINH
KHOA ĐIỆN TỬ VIỄN THÔNG
Trang 2MỤC LỤC
DANH MỤC HÌNH ẢNH VÀ BẢNG BIỂU 3
MỞ ĐẦU 5
Tóm tắt Error! Bookmark not defined CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 8
1.1 Giới thiệu đề tài 8
1.2 LabVIEW và ứng dụng 8
1.2.1 Giới thiệu về phần mềm LabVIEW 8
1.2.2 Các khối lệnh cơ bản cho Arduino 9
1.2.3 Ứng dụng của LabVIEW 17
1.3 Arduino và giao tiếp với máy tính qua Labview 18
1.3.1 Giới thiệu về Arduino 18
1.3.2 Arduino giao tiếp với máy tính qua LabVIEW 20
1.4 Tổng quan về Leap Motion 21
1.5 Tổng kết chương 1 27
2.1 Tổng quan về robot công nghiệp 28
2.1.1 Định nghĩa về Robot công nghiệp 28
2.1.2 Các thành phần cơ bản của Robot công nghiệp 29
2.1.3 Bậc tự do của Robot công nghiệp 32
2.1.4 Hệ toạ độ trong robot 33
2.1.5 Robot nối tiếp (series robot) 33
2.1.6 Robot song song (Parallel Robot) 36
2.2 Tay máy Robot 5 bậc tự do 38
2.3 Tổng kết chương 2 40
2.1 Sơ đồ khối hệ thống điều khiển 41
2.1.1 Khối điều khiển trung tâm 41
2.1.2 Khối điều khiển động cở Servo 46
2.2 Nhận dạng cử chỉ bằng Leap Motion qua LabVIEW 47
3.3 Xây dựng chương trình điều khiển 53
3.3.1 Chương trình điều khiển được xây dựng trên LabVIEW 53
3.3.2 Giao diện trên máy tính 54
Trang 3KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 54
Kết luận 55 Hướng phát triển 55
Trang 4DANH MỤC HÌNH ẢNH VÀ BẢNG BIỂU
Hình 1.1 Các khối cơ bản của Arduino 10
Hình 1.2 Khối Init 11
Hình 1.3 Khối close 12
Hình 1.4 Các khối cơ bản của khối low level 13
Hình 1.5 Các khối cơ bản của khối sensor 13
Hình 1.6 Các khối cơ bản của Leap 14
Hình 1.7 Khối open của Leap 14
Hình 1.8 Khối read all data 15
Hình 1.9 Khối read hand position velocity 15
Hình 1.10 Các khối lệnh boolean 16
Hình 1.11 Các khối lệnh so sánh 16
Hình 1.12 Khối lệnh select 17
Hình 1.13 Hình ảnh nhiều chiều của thiết bị Leap Motion 22
Hình 1.14 Leap Motion trong quá trình hoạt động thực tế như sau 23
Hình 1.15 Thiết kế trên autodesk sử dụng leap motion 25
Hình 1.16 Giao diện khi cảm biến nhận tay 26
Hình 2.1 Biểu diễn không gian của cánh tay máy 29
Hình 2.2 Cánh tay robot 29
Hình 2.3 Cấu tạo của motor một loại motor Servo 30
Hình 2.4 Robot PUMA 6 bậc tự do 32
Hình 2.5 Robot kiểu toạ độ Đề các 34
Hình 2.6 Robot kiểu toạ độ trụ 34
Hình 2.7 Robot kiểu toạ độ cầu 35
Hình 2.8 Robot kiểu Scara 35
Hình 2.9 Phân loại các loại robot chuyên dùng 36
Trang 5Hình 2.10 Một sản phẩm robot song song (Nguồn : PRSC’s) 37
Hình 2.11 Mobile robot ứng dụng trong các lĩnh vực khác nhau 37
Hình 1.12 Cánh tay Robot 5 bậc tự do 38
Hình 3.1 Sơ đồ khối hệ thống điều khiển 41
Hình 3.2 Board mạch Arduino Uno R3 42
Hình 3.3 Chân đọc xuất tín hiệu 44
Hình 3.4 Các khối cơ bản của Leap 47
Hình 3.5 Khối Open Của Leap 48
Hình 3.6 Khối Read All Data 48
Hình 3.7 Khối Read Hand Position Velocity 49
Hình 3.8 Khối read Point Position Velocity 49
Hình 3.9 Khối Read Circle Progress 50
Hình 3.11 Khối Read Circle 51
Hình 3.13 Khối Read Screen Tap Position 52
Hình 3.14 Khối Read Swipe Direction 53
Hình 3.15 Chương trình điều khiển của LabVIEW 54
Hình 3.16 Giao diện trên máy tính của chương trình 54
Trang 6MỞ ĐẦU
Cùng với sự phát triển của khoa học kỹ thuật thì việc điều khiển các thiết bị, máy móc từ xa cũng trở nên phổ biến hơn Cách thức điều khiển từ xa phổ biến bây giờ vẫn là dùng điện thoại thông minh, laptop kết nối qua bluetooth hay wifi để điều khiển, và việc này đòi hỏi người kỹ sư phải biết và hiểu rõ về lập trình truyền thống (gõ từng dòng lệnh) điều này gây khó khăn cho hầu hết các kỹ sư Điện tử Viễn thông là những người không chuyên về lập trình
Labview ra đời đã giải quyết được khó khăn trên, việc lập trình trên phần mềm labview đơn giản hơn rất nhiều, đối với labview việc lập trình đơn giản chỉ là kéo và thả các khối chức năng rồi kết nối chúng lại với nhau như việc chúng ta vẽ mạch điện tử Khả năng viết code dễ dàng là vậy nhưng việc cứ ngồi trước màn hình máy tính và điều khiển thiết bị bằng việc click chuột cũng gây nhàm chán cho người
sử dụng nên việc thay thế cách điều khiển mới là cần thiết
Từ khi bộ điều khiển Leap Motion được giới thiệu vào năm 2013, rất nhiều ứng dụng đã được các kỹ sư, lập trình viên phát triển để khai thác khả năng của thiết
bị này, trong đó có ứng dụng hữu ích là thay thế chuột máy tính
Việc kết hợp Labview và Leap Motion để điều khiển thiết bị đang còn khá
Mục đích của đề tài:
- Thứ nhất, tìm hiểu tổng quan về phần mềm labview và ứng dụng của nó trong điều khiển tự động
- Thứ hai, tìm hiểu về board mạch arduino
- Thứ ba, tìm hiểu về bộ điều khiển leap motion và cách kết nối với labview để điều khiển thiết bị
- Và cuối cùng là tổng hợp những hiểu biết trên để thiết kế một mô hình điều khiển thiết bị bằng cử chỉ kết hợp giữa labview và leap motion
Trang 7Đề tài được thực hiện bằng các phương pháp: tìm hiểu qua internet, các diễn đàn và sự hướng dẫn của giáo viên
Cấu trúc của đồ án, ngoài phần mở đầu, kết luận, danh mục bảng biểu, tài liệu tham khảo, nội dung của đồ án được trình bày trong 2 chương:
Chương 1: Cơ sở lý thuyết
Chương này trình bày các kiến thức cơ bản về board mạch arduino uno r3, kiến thức cơ bản về phần mềm labview và tìm hiểu về bộ điều khiển leap motion
Chương 2: Phân tích, thiết kế hệ thống
Chương này đi vào phân tích yêu cầu của đồ án và tiến hành xây dựng các khối lệnh để điều khiển động cơ
Chương 3: Mô phỏng và thi công
Trên cơ sở lý thuyết ở chương 1 cũng như các phân tích yêu cầu và thuật toán ở chương 2, chương này đi vào mô phỏng code trên phần mềm và tiến hành thi công mô hình điều khiển động cơ bằng sự kết hợp giữa labview và leap motion đảm bảo đúng mục đích yêu cầu đặt ra
Nghệ an, ngày tháng năm 2016
Sinh viên thực hiện
Nguyễn Khắc Thành
Trang 8TÓM TẮT
Đồ án này trình bày những kiến thức cơ bản về phần mềm labview, board mạch arduino uno r3, thiết bị cảm biến cử chỉ 3D (Leap Motion Controller) như là cấu tạo, nguyên lý hoạt động, khai thác một số cử chỉ mà bộ điều khiển Leap Motion
hỗ trợ như là vị trí và tốc độ của bàn tay, trình bày về cách viết lệnh để điều khiển arduino hay cách kết nối với leap motion Một số hiểu biết về động cơ một chiều và động cơ servo
Tập trung chủ yếu vào thiết kế mô hình leap motion , labview và arduino để điều khiến cánh tay robot, phân tích và xây dựng code điều khiển động cơ này trên phần mềm labview kết hợp với bộ điều khiển leap motion
Phân tích ưu, nhược điểm và xu thế phát triển của việc sử dụng labview và leap motion trong lĩnh vực tự động hóa
ABSTRACT
sensors 3D Leap motion as structure, operation principles exploiting some gestures that controllers Leap Motion support as position and speed of the hand, presentation
on how to write commands to control Arduino or how to connect Leap Motion some knowledge of DC motors and servo motors
Focus mainly on design model Leap Motion, Labview and Arduino to control robot arm, analyze and develop motor control code on software labview combined with the Leap Motion controller
Analyze strengths and weaknesses and the development trend of using LabVIEW and Leap Motion in the field of automation
Trang 9CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu đề tài
Cùng với sự phát triển của khoa học kỹ thuật thì việc điều khiển các thiết bị, máy móc từ xa cũng trở nên phổ biến hơn Cách thức điều khiển từ xa phổ biến bây giờ vẫn là dùng điện thoại thông minh, laptop kết nối qua bluetooth hay wifi để điều khiển, và việc này đòi hỏi người kỹ sư phải biết và hiểu rõ về lập trình truyền thống (gõ từng dòng lệnh) điều này gây khó khăn cho hầu hết các kỹ sư Điện tử Viễn thông là những người không chuyên về lập trình
Labview ra đời đã giải quyết được khó khăn trên, việc lập trình trên phần mềm labview đơn giản hơn rất nhiều, đối với labview việc lập trình đơn giản chỉ là kéo và thả các khối chức năng rồi kết nối chúng lại với nhau như việc chúng ta vẽ mạch điện tử Khả năng viết code dễ dàng là vậy nhưng việc cứ ngồi trước màn hình máy tính và điều khiển thiết bị bằng việc click chuột cũng gây nhàm chán cho người
sử dụng nên việc thay thế cách điều khiển mới là cần thiết
Từ khi bộ điều khiển Leap Motion được giới thiệu vào năm 2013, rất nhiều ứng dụng đã được các kỹ sư, lập trình viên phát triển để khai thác khả năng của thiết
bị này, trong đó có ứng dụng hữu ích là thay thế chuột máy tính
Trong đề tài này tôi sử dụng thiết bị Leap Motion để điều khiển cánh tay robot thông qua phần mềm lập trình LabVIEW để điều khiển
1.1 LabVIEW và ứng dụng.
1.1.1 Giới thiệu về phần mềm LabVIEW
Labview (Laboratory Virtual Instrument Engineering Workbench) là một nền tảng thiết kế hệ thống và là môi trường phát triển cho ngôn ngữ lập trình đồ họa Labview hỗ trợ tạo các ứng dụng với giao diện người dùng chuyên nghiệp một cách nhanh chóng và hiệu quả, labview được sử dụng để phát triển các ứng dụng đo
Trang 10lường, kiểm thử, và điều khiển tinh vi bằng cách sử dụng các khối lệnh trực quan và dây nối tín hiệu Ngoài ra, labview còn có thể được mở rộng cho nhiều nền tảng phần cứng và hệ điều hành khác nhau
Vì labview là chương trình mô phỏng giao diện và hoạt động của các thiết bị thực, nên chương trình labview được gọi là VI (virtual instrument) Một chương trình VI gồm có front panel và block diagram Front panel là giao diện người dùng nơi mà sẽ hiển thị các hình ảnh trực quan để người dùng dễ thao tác còn block diagram là nơi mà chúng ta viết lệnh cho chương trình
Chức năng chính của labview có thể tóm tắt như sau:
ảnh từ webcam, vận tốc của động cơ,
RS232, USB, Ethernet,
nghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn
chóng thông qua các chức năng tích hợp sẵn trong labview
Java…
1.2.2 Các khối lệnh cơ bản cho Arduino
Để lập trình được cho arduino trên phần mềm labview thì từ ứng dụng VI Package Manager (được cài đặt sẵn khi cài đặt labview) chúng ta phải cài đặt gói labview interface for arduino Đây là bộ công cụ hỗ trợ giao tiếp giữa labview và nền tảng vi điều khiển arduino
Trang 11Sau khi cài đặt xong, trên phần mềm labview bây giờ đã có thêm hàm arduino
hỗ trợ cho chúng ta lập trình
Đây là cửa sổ tích hợp các khối từ gói arduino:
Hình 1.1 Các khối cơ bản của Arduino
Một khối được chia làm hai dãy chân dữ liệu, dãy chân đưa dữ liệu vào hoặc
là các thiết lập ban đầu của tín hiệu và dãy chân đưa dữ liệu ra
Khối Init: Khối này có chức năng sẽ khởi tạo một kết nối tới Arduino Hình sau sẽ mô tả các cổng kết nối chính của khối Init:
Trang 12Hình 1.2 Khối Init
Khối init có nhiều chân song để thiết lập cho việc kết nối ta chỉ cần quan tâm: Chân VISA resource: sẽ lựa chọn cổng COM khi kết nối arduino với máy tính, tùy vào các máy tính khác nhau mà cổng COM này cũng khác nhau Chân này
sẽ thiết lập cổng COM để giao tiếp giữa Labview và Arduino
Chân Baud Rate: chân này cho phép lựa chọn tốc độ baud cho arduino Tùy vào các ứng dụng khác nhau mà ta lựa chọn tốc độ này cho phù hợp, arduino hỗ trợ nhiều tốc độ baud khác nhau nhưng giá trị mặc định khi khởi tạo khối là 115200
Chân Board Type cho phép chúng ta lựa chọn kiểu module arduino, ở đây hỗ trợ 3 kiểu là: uno, atmega 328 và mega 2560
Chân Connection Type cho phép chọn kiểu kết nối, có 3 chuẩn là: usb/serial, xbee và bluetooth
Chân Arduino Resource để kết nối với các khối khác
Để thiết lập bất kỳ chân nào của một khối ta di chuyển con trỏ chuột tới chân cần thiết lập rồi click chuột phải sau đó chọn create, ở đây sẽ có ba kiểu thiết lập là:
Trang 13constant (hằng số), control (điều khiển) và indicator (hiển thị), tùy vào mục đích mà
Trang 14Hình 1.4 Các khối cơ bản của khối low level
Khối sensors bao gồm các khối VI sensor thường dùng như: cảm biến nhiệt
độ, cảm biến ánh sáng, LCD, led 7 thanh,
Hình 1.5 Các khối cơ bản của khối sensor
Các khối lệnh cơ bản cho Leap Motion
Để lập trình cho leap motion trên phần mềm labview, chúng ta phải cài đặt gói MakerHub Interface for Leap Motion từ ứng dụng VI Package Manager
Sau khi cài đặt xong, trong cửa sổ làm việc Block Diagram, click chuột phải chúng ta sẽ có các khối cơ bản giao tiếp với Leap Motion như sau:
Trang 15Hình 1.6 Các khối cơ bản của Leap
Tương tự như arduino thì leap cũng có các khối open và close để phục vụ cho việc khởi tạo và kết thúc một kết nối của leap với labview
Khối open của leap chỉ gồm vài chân cơ bản như sau:
Hình 1.7 Khối open của Leap
Với chân Enable Gestures khi được thiết lập giá trị true (T) thì leap sẽ bật các
Trang 16Hình 1.8 Khối read all data
Khối read hand position velocity có chức năng đọc vị trí và tốc độ của bàn tay, hình dạng khối này như sau:
Hình 1.9 Khối read hand position velocity
Ngoài ra còn có một số khối các để đọc các cử chỉ khác mà bộ điều khiển leap
hỗ trợ như: ngón tay vẽ vòng tròn, chỉ ngón tay,
Một số khối lệnh khác sử dụng trong chương trình
- Các khối lệnh boolean
Trang 18Khối lệnh select:
Hình 1.12 Khối lệnh select
Phụ thuộc vào giá trị của s là 0 hay 1 mà đầu ra của khố select sẽ nhân giá trị t hay f
Cụ thể, nếu s có giá trị TRUE thì đầu ra của khối nhận giá trị là t và nếu s có giá trị FALSE thì đầu ra nhận giá trị là f
1.2.3 Ứng dụng của Labview
Từ các dự án đơn giản, hàng ngày…:
nhanh chóng tạo ra các ứng dụng đo lường phổ biến mà không cần lập trình
Đến phát triển lớn , theo hướng nhóm (team-oriented):
Trang 19 Quản lí đích
1.3 Arduino và giao tiếp với máy tính qua Labview
1.3.1 Giới thiệu về Arduino
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, được
gọi là shield Vài shield truyền thông với board Arduino trực tiếp thông qua các chân
khách nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560 Một vài các bộ vi xử lý khác cũng
Trang 20được sử dụng bởi các mạch Aquino tương thích Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại
8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị Một
vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL Các board Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232 Vài biến thể, như Arduino Mini và Boarduino không chính thức, sử dụng một board adapter hoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác (Khi sử dụng một công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thể được sử dụng như là 6 chân I/O số Những chân này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân header được ở mặt trên của board dùng để cắm vào các breadboard
Trang 21Có nhiều biến thể như Arduino-compatible và Arduino-derived Một vài trong
số đó có chức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại Nhiều mở rộng cho Arduino được thực thiện bằng cách thêm vào các driver đầu ra, thường sử dụng trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp'
và các robot nhỏ Những board khác thường tương đương về điện nhưng có thay đổi
về hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thích khác nhau
Arduino board có nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino Mega, Arduino LyliPad, Trong số đó, Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí rẻ và tính linh động của nó
1.3.2 Arduino giao tiếp với máy tính qua Labview
Trước tiên chúng ta cần tìm hiểu vi sao máy tính to lớn cồng kềnh lại dùng để điều khiển Arduino Bởi vì giữa máy tính và bất kỳ vi điều khiển (không chỉ Arduino) đều có giao tiếp với nhau công qua giao thức UART hay hiểu một cách nôm na là Serial Bạn có thể xem, máy tính và vi điều khiển là 2 hòn đảo nhiệt đới nằm giữa biển khơi, cái hay của máy tính là nó có rất nhiều "cây cầu" để bắt đến vùng đất hứa như "internet", "thiết bị ngoại vi phức tạp như Leap Motion, Kinect, ", ; cái hay của Arduino là bạn có thể xây dựng nên một hệ thống điện tử - phần cứng - tin học của riêng mình Nhưng nếu nó chỉ bó hẹp trong phạm vi 1 sản phẩm hay một nhóm các sản phẩm của bạn thì có vẻ là hơi phí
Vì vậy, nhiệm vụ của chúng ta là trở thành một kĩ sư cầu đường để xây dựng một cây cầu bắt giữa 2 hòn đảo trên Như vậy, những thứ tốt đẹp mà ta xây dựng có thể "giao tiếp" với thế giới bên ngoài, từ đó mang đến sự phát triển phồn thịnh (nếu
Trang 22có định hướng đúng đán và ý chí phát triển) Như mình đã nói ở trên, chúng ta sẽ sử dụng cổng Serial để xây dựng cầu
Nhưng cổng Serial vẫn phải dùng dây mà? KHÔNG Có vẻ cái từ "cổng" đã
bó hẹp ý nghĩa bao quát của nó Từ "cổng" trong từ "cổng Serial" có ý nghĩa rộng hơn, từ "cổng" ở đây có nghĩa giống như là một "con đường" (như ở trên), nhưng
"con đường" này lại không chỉ nằm trên "cạn" (dây dẫn), mà nó còn ám chỉ những loại "con đường" khác, chẳng hạn như "đường không" (không gian - dùng các loại sóng để tạo cổng Serial) Như vậy "cổng Serial" có ý nhắc chúng ta rằng, đó chỉ đơn thuần là tên gọi của một phương thức giúp chúng ta giao tiếp giữa 2 thiết bị Còn CÁCH NÓ TRUYỀN như thế nào thì tùy vào ý định của bạn (bạn muốn nó như thế nào thì bạn sẽ làm nó như thế)
1.4 Tổng quan về Leap Motion
Leap Motion là một thiết bị nhỏ, cỡ một chiếc USB Nó tạo ra không gian tương tác 3 chiều giúp bạn tương tác và sử dụng các phần mềm trên máy tính (laptop
và desktop) một cách trực quan và chính xác Để dễ hình dung, thiết bị giúp chúng ta thao tác với các đối tượng trên màn hình như thể chúng tồn tại ngoài đời thật vậy Leap Motion cảm biến được sự chuyển độ của bàn tay và những ngón tay một cách độc lập, thậm chí cả bút hay những vật dụng khác nữa Thực tế, Leap Motion được kiểm chứng là nhạy hơn 200 lần so với các công nghệ cảm ứng không chạm khác
Có 1 sự khác biệt lớn giữa việc chỉ nhận ra chuyển động của cả một cánh tay trong không trung với việc thu nhận chuyển động của 1 ngón tay hay đầu cây bút và chuyển thành tín hiệu số
Leap Motion sử dụng camera kèm theo cảm biến hồng ngoại Khi được cấp nguồn, bên trong sẽ có 3 đèn màu đỏ mờ, đèn LED màu xanh ở cạnh bên cũng sáng lên Leap Motion có thể cảm nhận được 10 ngón tay cùng lúc, với độ chính xác của
là 1/100 (mm) theo như thông tin từ nhà sản xuất, và tất cả chỉ dừng ở đó, không như
Trang 23Kinect, có thể cảm nhận được các bộ phận trên cơ thể Leap Motion không xài riêng
lẽ được với TV hoặc màn hình máy tính, nó phải được xài với 1 máy tính
Hình 1.13 Hình ảnh nhiều chiều của thiết bị Leap Motion
Ấn tượng đầu tiên về cái Leap Motion này là rất đẹp, nhỏ gọn và nhẹ (giống như 1 cái USB 3G) Thiết kế kín, chắc chắn, có viền nhôm bo tròn bao quanh, mặt trên làm bằng kính, bên trong là các sensor, mặt dưới làm bằng cao su dẻo giúp bám
dễ dàng lên các bề mặt Đi kèm theo đó là 2 sợi dây: một ngắn, một dài, tùy theo nhu cầu sử dụng Qua quá trình sử dụng, viền nhôm có xước nhẹ, tuy nhiên, mặt kính vẫn không hề trầy xước
Leap motion là một thiết bị ngoại vi, dùng để hỗ trợ người dùng tương tác với máy tính tương tự như chuột và bàn phím thông qua các cử chỉ tay như: chỉ, cầm, nắm, chạm Hình ảnh minh họa :
Trang 24Hình 1.14 Leap Motion trong quá trình hoạt động thực tế như sau
Cách thức Leap Motion hoạt động vẫn chưa thực sự rõ ràng Chỉ biết rằng một thuật toán toán học mới đã biến tính năng tưởng chừng là không tưởng này trở nên khả thi Leap Motion sử dụng 2 cảm biến ảnh CCD và 3 đèn LED hồng ngoại để thu được tín hiệu 3 chiều Thông tin được truyền qua cổng USB với tốc độ 290fps Thiết
bị được cấp điện qua cổng USB Với các camera này thiết bị có thể quan sát trong một vùng hình cầu với bán kính khoảng 0.6m mỗi camera sẽ tạo khoảng 290 khung hình mỗi giây cho các dữ liệu phản chiếu, sau đó các dữ liệu được gửi qua cổng usb đến máy chủ
Hiện tại, tính năng của leap motion gồm có: điều hướng bằng việc nhận dạng
cử chỉ chạm, chỉ, tương tác với các dữ liệu 3D ảo bằng các cử chỉ của tay như cầm, nắm, hỗ trợ các thao tác vẽ trên màn hình
Không gian tương tác mà Leap Motion tạo ra không gian tương tác 3 chiều
có thể tích khoảng 226 lít Tưởng tượng dung tích này là 1 quả bóng (dĩ nhiên là khoảng không này không có hình dạng 1 quả bóng đâu) bay ngay trên thiết bị và mọi
Trang 25cử động và đối tượng trong đó đều được nhận biết Khoảng cách xa nhất mà thiết bị
có thể "nhìn" được vào khoảng 1 mét
Mặc dù nhận dạng được cử chỉ tay với độ chính xác cao, tuy nhiên leap motion có độ nhạy chưa cao, sử dụng trong thời gian dài sản phẩm nóng lên rất nhiều Bên cạnh đó với các máy chủ có cấu hình thấp, việc xử lý các dữ liệu phản ánh do leap motion truyền tải cho máy chủ gặp khó khăn, dễ xảy ra hiện tượng treo máy
Leap Motion có thể đặt theo cách bạn muốn Nếu đặt nằm nghiêng, đối diện với bạn, thì mặt bàn của bạn sẽ trở thành một mặt phẳng cảm ứng đa điểm (để vẽ, thiết kế 2D chẳng hạn) Gắn Leap Motion lên đỉnh của màn hình, úp mặt xuống (hoặc đặt ở đáy và ngửa lên theo hướng thông thường) bạn sẽ có một chiếc màn hình cảm ứng đúng nghĩa
Leap Motion nhận diện cùng lúc được 2 bàn tay và cả 10 ngón tay Thiết bị cũng có thể nhận ra các dụng cụ khác như bút viết, bút lông, và các dụng cụ khác
Leap Motion kết nối với máy tính theo kiểu thiết bị có một cổng microUSB để kết nối với máy tính Phiên bản dùng kết nối không dây đang được lên kế hoạch phát triển
Tuy nhiên, tương lai của thiết bị này rất rộng mở, có thể phát triển các ứng dụng cho các ngành công nghiệp thiết kết sử dụng leap motion như hình sau minh họa việc thiết kế trên autodesk sử dụng leap motion:
Trang 26Hình 1.15 Thiết kế trên autodesk sử dụng leap motion
Đặc biệt trong lĩnh vực điện tử, tự động hóa Leap motion ứng dụng vào điều khiển các thiết bị như robot, máy in 3D,
Nói chung, bất cứ phần mềm nào có thể dùng chuột và bàn phím thì đều có thể dùng với Leap Motion Leap Motion và các lập trình viên luôn nỗ lực để tích hợp thiết bị vào các phần mềm sâu nhất có thể Đến nay, các phần mềm tạo hình 3D, hoạt họa, điêu khắc đang được ưu tiên Họ cũng hứng thú với việc dùng Leap Motion để thiết kế kiến trúc, chơi DJ, đồ họa 2D, ứng dụng y tế,
Leap Motion tương thích với Windows 7, Windows 8 (32&64bit), Mac OSX 10.6 trở lên, Ubuntu Linux 12.04 LTS và Ubuntu 13.04 Raring Ringtail Leap Motion cũng lên kế hoạch tích hợp vào một số thiết bị như điện thoại thông minh, laptop,
Bạn có thể vào Airspace Store để tải các game cho Leap Motion, trong đó có các game nổi tiếng như Cut the Rope, Fruit Ninja,… Mình rất mê Cut the Rope và
đã vượt qua tất cả các màn Cut the Rope phiên bản iOS, đang rất hào hứng với cảm giác dựa người trên ghế, nghe nhạc và di chuyển ngón tay qua lại trong… không khí
để chơi cái game cực hay này Tuy nhiên, sau khi chơi thử Cut the Rope, Leap
Trang 27Motion hoạt động không tốt, ví dụ như có những lúc sau khi quẹt ngang sợi dây, sợi dây sáng lên nhưng lại không đứt Phải quẹt lại nhiều lần, mất hết cả hứng, vì như bạn biết, chơi Cut the Rope có những màn phải canh thời gian để cắt dây
Ngoài games ra, trên Airspace Store vẫn còn rất nhiều ứng dụng mang tính giáo dục, ví dụ như Molecules hay Cyber Science 3D Motion Bạn có thể tương tác với các cấu trúc tinh thể, cũng như xoay qua xoay lại bộ xương cơ thể trong không gian 3 chiều với ghi chú từng bộ phận rõ ràng
Quá trình cài đặt cũng rất đơn giản, sau khi cài đặt, chỉ cần đăng nhập vào Airspace Store để tải các ứng dụng về và xài Ứng dụng free cũng khá nhiều, có một vài ứng dụng kiểu tutorials cho các bạn làm quen với Leap Motion
Các bạn đơn giản chỉ cần đặt trên mặt bàn bình thường là dùng được được (ban đầu mình nghĩ là phải đặt nghiêng để xoay mặt trên Leap Motion song song với lòng bàn tay để điều khiển) Tốt nhất là đặt tại vị trí nào mà cả 2 tay bạn cảm thấy thao tác dễ dàng, đối với máy tính để bàn, có thể đặt ở giữa màn hình và bàn phím Còn đối với laptop, có thể đặt nó phía cạnh dưới của laptop hoặc cạnh dưới của màn hình Khi mình đặt 2 bàn tay phía trước Leap Motion, đây là hình ảnh mà chương trình thu được
Hình 1.16 Giao diện khi cảm biến nhận tay
Trang 281.5 Tổng kết chương
Trong chương 1 chúng ta đã tìm hiểu vể khái niệm cấu tạo chức năng cách thức hoạt động của phần mềm LabVIEW, board mạch Arduino, thiết bị Leap Motion Đây là những thành phần cần thiết để thiết kế và điều khiển đề tài Phần tiếp theo chúng ta sẽ đi đến tìm hiều về cánh tay máy ( Robot arm)
Trang 29CHƯƠNG 2
ROBOT CÔNG NGHIỆP
2.1 Tổng quan về robot công nghiệp
Lĩnh vực nghiên cứu về Robot hiện nay rất đa dạng và phong phú Trong tài liệu này, chúng ta chỉ trình bày các kiến thức chủ yếu trên các loại Robot công
nghiệp, tức là các cánh tay máy Các bài toán cân bằng lực, các phương trình động học và động lực học là những nền tảng cơ bản để các bạn học viên có thể tiếp cận với chuyên nghành kỹ thuật Robot
2.1.1 Định nghĩa về Robot công nghiệp
Tuỳ thuộc mỗi quốc gia, tổ chức và mục đích sử dụng, chúng ta có nhiều định nghĩa về robot công nghiệp Vì vậy trong nhiều tài liệu khác nhau, định nghĩa về robot công nghiệp cũng khác nhau Theo từ điển Webster định nghĩa robot là máy tự động thực hiện một số chức năng của con người Theo ISO ( International Standards Organization ) thì : Robot công nghiệp là tay máy đa mục tiêu, có một số bậc tự do,
dễ dàng lập trình và điều khiển trợ động, dùng để tháo lắp phôi, dụng cụ hoặc các vật dụng khác Do chương trình thao tác có thể thay đổi nên thực hiện nhiều nhiệm
vụ đa dạng Tuy nhiên Robot công nghiệp được định nghĩa như vậy chưa hoàn toàn thoả đáng
Theo tiêu chuẩn của Mỹ RIA ( Robot Institute of America ) định nghĩa robot là loại tay máy vạn năng có thể lặp lại các chương trình đã được thiết kế để
di chuyển vật liệu, chi tiết, dụng cụ hay các thiết bị chuyên dùng, thông qua các chương trình chuyển động có thể thay đổi để hoàn thành các nhiệm vụ khác nhau