Tải bản đầy đủ - 0 (trang)
Chương 3: THƯ VIỆN XỬ LÝ ẢNH

Chương 3: THƯ VIỆN XỬ LÝ ẢNH

Tải bản đầy đủ - 0trang

Đề tài: Xe điện hệ tự động ứng dụng camera Kinect

d. Kinect SDK beta:

Kinect SDK [10] beta được Microsoft đưa ra vào ngày 16 tháng 6 năm 2011, là

một công cụ lập trình mạnh cho các nhà phát triển. Nó cho phép lập tình viên truy xuất

tồn bộ tính năng của thiết bị Kinect. Một điều bất tiện là thư viện chỉ hỗ trợ trên cơng

cụ lập trình của Micrisoft là Visual Studio 2011 với các ngơn ngữ lập trình là C++, C#,

Visual Basic. Các tính năng nổi bật như: thu ảnh từ các sensor, skeleton tracking và

điều khiển bằng giọng nói thơng qua cơng cụ nhận biết giọng nói, Windows Speech

Recognition API. Phiên bản beta hiện tại chỉ cho phép sử dụng vào mục đích phi lợi

nhuận, phiên bản thương mại hứa hẹn sẽ sớm ra mắt trong năm 2012. Phiên bản beta

mới nhất được cập nhật vào ngày 1 tháng 11 năm 2011 với nhiều lỗi được sửa và chạy

tốt trên Window 8 Developer Preview.

Tới thời điểm hiện tại, hai thư viện Open NI và Kinect SDK beta là lựa chọn

sáng suốt cho việc lập trình trên Kinect bởi tính năng hỗ trợ mạnh mẽ của hai thư viện

này. Mục 3.2 sẽ phân tích và so sánh hai thư viện này và chọn lựa thư viện phù hợp

cho đề tài luận văn.

3.2 SO SÁNH KINECT SDK BETA VÀ OPENNI

Sau đây là nhận định về ưu, khuyết điểm của hai thư viện trên [11].

a. Kinect SDK beta:

 Ưu điểm:

+ Hỗ trợ xử lý âm thanh.

+ Hỗ trợ động cơ điều khiển góc ngẩng.

+ Skeleton tracking ( bám đặc tính cơ thể người): không cần hiệu chỉnh

trước khi bám, vẫn bám tốt trong trương hợp cơ thể người quay theo nhiều

hướng.

+ Hỗ trợ truy xuất các sensor của Kinect đồng thời.

+ Việc cài đặt đơn giản.



SVTH: Thiên, Trung, Vạn, Phú



12



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect

 Khuyết điểm:

+ Chỉ dùng cho mục đích phi thương mại.

+ Chỉ hỗ trợ bám tồn thể đặc tính cơ thể người.

+ Không hỗ trợ nhận biết địa chỉ.

+ Chỉ hỗ trợ trên Win7.

+ Không hỗ trợ việc thu ảnh trực tiếp từ IR camera.

+ Vùng Kinect khơng nhìn thấy trong khoảng 0 mét trước Kinect.

b. Open NI:

 Ưu điểm:

+ Cho phép xây dựng các ứng dụng thương mại hóa.

+ Hỗ trợ phát hiện cử chỉ.

+ Skeleton tracking: hỗ trợ bám từng phần cơ thể người và hand tracking

thông qua liên kết với các middleware. Hơn nữa, tiêu thụ công suất của CPU ít

hơn so với khi sử dụng Kinect SDK.

+ Hỗ trợ truy xuất các sensor của Kinect đồng thời.

+ Hõ trợ cho Window, Linux và Mac OSX.

+ Cho phép truy xuất hình ảnh thu về từ IR camera.

+ Vung Kinect khơng nhìn thấy trong khoảng chấp nhận được là 0.5 mét

trước Kinect.

 Khuyết điểm:

+ Không hỗ trợ phần xử lý âm thanh cho dãy Microphone.

+Skeleton tracking: bám đặc tính cơ thể còn nhiều lỗi và chưa được ổn định

như trên Kinect SDK.

+ Không hỗ trợ động cơ điều khiển góc ngẩng.

+ Việc cài đặt có phần rối rắm hơn Kinect SDK.



SVTH: Thiên, Trung, Vạn, Phú



13



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect

Chương 4: PHẦN MỀM LabVIEW



4.1 GIỚI THIỆU

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

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. Ngồ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. Font 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.

4.2 CHỨC NĂNG CỦA LabVIEW

LabVIEW được dùng nhiều trong các phòng thí nghiệm, lĩnh vực khoa học kỹ

thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng khơng, hóa sinh, điện tử y

sinh,...Hiện này ngoài phiên bản LabVIEW cho các hệ điều hành Windows, Linux,

hãng NI đã phát triển các module LabVIEW cho máy hỗ trợ cá nhân (PDA).

Chức năng chính của labview có thể tóm tắt như sau:

 Thu thập tín hiệu từ các thiết bị bên ngoài như cảm biến nhiệt độ, hình ảnh từ

webcam, vận tốc của động cơ,...

 Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp như RS232,

USB, Ethernet,...

 Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đích

nghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn.

 Xây dựng các giao diện người dùng một cách nhanh chóng.

 Cho phép thực hiện các thuật toán điều khiển như PID một cách nhanh chóng

thơng qua các chức năng tích hợp sẵn trong LabVIEW.

SVTH: Thiên, Trung, Vạn, Phú



14



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect

 Cho phép kết hợp với các ngơn ngữ lập trình truyền thống như C++, Java...

4.3 CÁC PHIÊN BẢN CỦA LabVIEW

Từ khi ra đời đã có nhiệu thay đổi và cải tiến, ngày nay bản mới nhất tính tới

tháng 4 năm 2007 là bản LabVIEW 8.2 với nhiều tính năng mới và các mudule cũ và

mới tương thích với phiên bản này như: module mơ phỏng quá trình, module xử lý

ảnh, điều khiển chuyển động, cơ điện tử, cơng nghệ hóa sinh,...

4.4 XU HƯỚNG CỦA LabVIEW

Nhờ tính năng hỗ trợ mạnh và nhanh chóng cho các ứng dụng trong kỹ thuật, lĩnh

vực giáo dục nên LabVIEW được dùng nhiều trong các phòng thí nghiệm và trung tâm

nghiên cứu cũng như các hệ thống công nghiệp. Nhiều trường đại học đã đưa

LabVIEW trở thành môn học chính thức.

4.5 CÁC ỨNG DỤNG CỦA LabVIEW

 LabVIEW được sử dụng trong các lĩnh vực đo lường, tự động hóa, cơ điện tử,

robotics, vật lý, toán học, sinh học, vật liệu, ôtô, ...

 LabVIEW giúp kỹ sư kết nối bất kỳ cảm biến, và bất kỳ cơ cấu chấp hành nào

với máy tính.

 LabVIEW có thể được sử dụng để xử lý các kiểu dữ liệu như tín hiệu tương tự

(analog), tín hiệu số (digital) hình ảnh (vision), âm thanh (audio),...

 LabVIEW hỗ trợ các giao thức giao tiếp khác nhau như RS232,RS485, TCP /

IP, PCI, PXI, và như vậy.

Bạn cũng có thể tạo ra các thực thi độc lập và các thư viện chia sẻ (ví dụ thư

viện liên kết rộng DLL), bởi vì LabVIEW là một trình biên dịch 32-bit.

LabVIEW đã trở nên phổ biến ở các phòng thí nghiệm ở Nhật, Hàn,Mỹ, Anh,

Đức,... Phần này trình bày một số ứng dụng của LabVIEW tiêu biểu và các dự án tại

các phòng thí nghiệm trong và ngồi nước mà tác giả cuốn sách này đã tham gia thực

hiện dự án.

Ứng dụng đo lường,trong hình 4.1 là giao diện thu thập dữ liệu các thông tin cần

thiết của tàu vũ trụ cỡ nhỏ tại cơ quan hàng không và vũ trụ NASA, Hoa Kỳ.



SVTH: Thiên, Trung, Vạn, Phú



15



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect



Hình 4.1 Thu thập dữ liệu tại Cơ quan hàng không và vũ trụ - NASA



Ứng dụng hình 4.2 này giới thiệu áp dụng của việc sử dụng LabVIEW và card

Hocdelam USB 9001 hoặc NI USB 6008 để thực hiện đo tín hiệu, vẽ biểu đồ đặc

tuyến các cảm biến trong ôtô và thực nghiệm thuật toán chuyển đổi cảm biến nhằm hạ

giá thành sửa chữa xe ơtơ.



Hình 4.2 Thu thập dữ liệu từ cảm biến đo gió trong ơtơ và thí nghiệm thuật tốn chuyển đổi

cảm biến



Điều khiển xe ơ tơ từ xa, hình 4.3 là giao diện điều khiển ơtơ bảy chỗ (xe

Captival) từ xa được thực hiện bởi thành viên Hocdelam Group tại phòng thí nghiệm

Biorobotics, Hàn Quốc. Giao diện này hồn tồn được xây dựng trong mơi trường lập

trình LabVIEW có khả năng hiển thị cácthơng số và tín hiệu thực như: vận tốc xe, mực

xăng, vị trí tay số của xe,video truyền từ xe qua mạng không dây, âm thanh từ động cơ



SVTH: Thiên, Trung, Vạn, Phú



16



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect

tỷ lệ thuận với vị trí bướm ga cũng được giả lập làm cho việc điều khiển xe từ xa

giống với việc lái xe trực tiếp nhằm nâng cao chất lượng điều khiển xe.



Hình 4.3 Giao diện lái ơtơ từ xa



SVTH: Thiên, Trung, Vạn, Phú



17



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect

Mơ phỏng 3D, hình 4.4 mơ tả ứng dụng mơ phỏng một cánh tay robot đơn giản.



Hình 4.4 Điều khuyển tay Robot



Thu thập hình ảnh và mơ phỏng động lực học, hình 4.5 trình bày ứng dụng mô

phỏng hệ thống lái không trục lái trong ô tô.



SVTH: Thiên, Trung, Vạn, Phú



18



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect



Hình 4.5 Hệ thống lái khơng trục lái tại phòng thí nghiệm Biorobotics, KUT, Hàn Quốc



Chương 5: VI ĐIỀU KHIỂN ARDUINO MEGA VÀ MODULE ĐIỀU KHIỂN

ĐỘNG CƠ L298N



5.1 GIỚI THIỆU ARDUINO



SVTH: Thiên, Trung, Vạn, Phú



19



Đề tài: Xe điện hệ tự động ứng dụng camera Kinect



Hình 5.1 Arduino Mega



Arduino Mega2560 là một vi điều khiển

Bao gồm:

- 54 chân digital (15 có thể được sử dụng như các chân PWM)

- 16 đầu vào analog

- 4 UARTs (cổng nối tiếp đầu cứng)

- 1 thạch anh 16MHz

- 1 cổng kết nối USB

- 1 jack cắm điện

- 1 đầu ICSP

- 1 nút reset

Nó chứa tất cả mọi thứ cần thiết để hổ trợ các vi điều khiển. Arduino Mega 2560

khác với tất cả các vi xử lý trước giờ vì khơng sử dụng FTDI chip điều khiển chuyển

tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng Atmega 16U2 lập trình như là một

cơng cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega 2560 cơ bản vẫn giống

Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn, nên các

bạn vẫn có thể lập trình cho con vi điều khiển này bằng chương trình lập trình cho

Arduino Uno R3.



SVTH: Thiên, Trung, Vạn, Phú



20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương 3: THƯ VIỆN XỬ LÝ ẢNH

Tải bản đầy đủ ngay(0 tr)

×