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

Nghiên cứu ứng dụng leap motion điều khiển cánh tay robot bằng cử chỉ

58 10 0

Đ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

Tiêu đề Nghiên Cứu Ứng Dụng Leap Motion Điều Khiển Cánh Tay Robot Bằng Cử Chỉ
Tác giả ThS. Hồ Sỹ Phương, Nguyễn Khắc Thành
Trường học Trường Đại Học Vinh
Chuyên ngành Điện Tử Viễn Thông
Thể loại Đồ Án Tốt Nghiệp Đại Học
Năm xuất bản 2016
Thành phố Nghệ An
Định dạng
Số trang 58
Dung lượng 1,45 MB

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

Nội dung

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 1

TRƯỜNG ĐẠI HỌC VINH

KHOA ĐIỆN TỬ VIỄN THÔNG

Trang 2

MỤ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 3

KẾ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 4

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

Hì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 6

MỞ ĐẦ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 8

TÓ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 9

CHƯƠ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 10

lườ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 11

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

Hì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 13

constant (hằng số), control (điều khiển) và indicator (hiển thị), tùy vào mục đích mà

Trang 14

Hì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 15

Hì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 16

Hì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 18

Khố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 21

Có 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 22

có đị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 23

Kinect, 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 24

Hì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 25

cử độ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 26

Hì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 27

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

1.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 29

CHƯƠ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

Ngày đăng: 01/08/2021, 10:40

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