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

Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET

87 930 1

Đ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 87
Dung lượng 5,07 MB

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

Nội dung

Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET

Trang 1

CHƯƠNG 1 GIỚI THIỆU CHUNG

1.1 Giới thiệu chung

Chúng ta không thể phủ nhận rằng mắt là cơ quan có cấu tạo tinh vi nhất của conngười Nó lưu giữ mọi hình ảnh và gửi về não bộ để xử lý thông tin

Mắt gồm có nhãn cầu, dây thần kinh và những bộ phận phụ thuộc như mí mắt,lông mi, các cơ mắt, các gân mạc, tuyến lệ và màng tiếp hợp

Nhãn cầu là phần chính yếu nhất, thường được so sánh với chiếc máy ảnh vì đặctính chính xác quang học của nó

Nhãn cầu gồm 3 lớp màng tên gọi là:

-Màng ngoài gồm củng mạc và phía trước biến đổi thành giác mạc

-Màng giữa là màng bồ đào, thân bè và mạch mạc, chứa nhiều mạch máu, phíatrước dày lên thành cơ thể mi và mống mắt

-Màng trong là võng mạc, chứa các tế bào nhậy cảm ánh sáng là tế bào gậy và tế bào nón

Công nghệ “TET” (Tracking eye technology) là công nghệ theo dõi chuyển độngcủa mắt, sử dụng máy tính để xác định vị trí của mống mắt ( iris) Từ đó giúp chúng ta

có thể điều khiển được các thiết bị bằng máy tính Công nghệ điều khiển bằng mắt vẫncòn rất mới mẻ tại Việt Nam chúng ta chỉ biết công nghệ đó qua những chiếc điệnthoại smatphone với những tiện ích như cuộn trang, dừng video Dựa trên công nghệ

đó nhóm đã phát triển đề tài: “Nghiên cứu, thiết kế, chế tạo robot di động điều khiểnbằng công nghệ TET” Nhiệm vụ cụ thể của nhóm là thiết kế chế tạo một mô hìnhrobot dưới sự điều khiển trực tiếp của mắt người Robot có khả năng di chuyển linhhoạt

Trang 2

cũng là vấn đề khó khăn Việc thiết kế webcam cũng là một vấn đề khó khăn trongviệc xử lý: webcam thiết kế phải nhỏ gọn, linh động, phù hợp với điều kiện của đề tài.

- Việc xây dựng thuật toán và phương pháp điều khiển gặp nhiều khó khăn:Thuật toán xử lý ảnh vừa phải dò tìm chính xác, giảm được nhiễu trong quá trình xử lý

và tính toán xác xuất được tín hiệu điều khiển, giảm độ trễ đảm bảo tốc độ đáp ứng vàphải dự phòng được các lỗi xảy ra trong quá trình hoạt động

- Lập trình điều khiển và thu phát dữ liệu: Xây dựng thuật toán điều khiển động

cơ DC sử dụng vi điều khiển PIC 16F877A Xây dựng thuật toán thực hiện việc thuphát tín hiệu không dây sử dụng module NRF24L01 2.4Ghz với vi điều khiển PIC16F877A

1.3 Phương pháp nghiên cứu

Điều khiển bằng phương pháp truyền tín hiệu không dây là một phương phápđiều khiển tiên tiến ngày càng được ứng dụng nhiều và trên thị trường cũng có nhiềusản phẩm thông minh áp dụng phương pháp truyền tin này Điều khiển robot tự động

đã có trên thế giới nhưng vẫn còn mới lạ tại việt nam Với việc nghiên cứu đồ án này

sẽ mở ra nhiều điều mới lạ trong lĩnh vực điều khiển robot bằng xử lý ảnh Từ đó ápdụng thiết kế trong giới hạn đề tài

- Kết hợp giữa việc thiết kế tuần tự và đồng thời: Cụ thể là bước đầu tiên xâydựng một mô hình chứa đầy đủ các thành phần dự định sẽ có trong thiết kế (xây dựngkhối điều khiển, khối nguồn, hệ thống cơ khí, khối xử lí ảnh, thuật toán điều khiểnchung toàn hệ thống) qua đó có cái nhìn tổng quan về hệ thống chung và xác địnhthông số cơ bản Tiếp theo dựa vào bước đầu tiên nhóm tiến tới xây dựng chi tiết từngkhối đối với mỗi khối lại tiến hành xây dựng thuật toán trước khi đi vào phần lập trìnhdựa trên nguyên tắc phải phù hợp với khả năng của phần cứng đã xây dựng Sau khi đãhoàn chỉnh từng khối tiến hành ghép nối các khối với nhau để đi tới bước tiếp theo

- Quá trình thử nghiệm: Nhóm dựa trên kết quả thực tế để đánh giá, so sánh rồiđưa ra kết quả hiệu chỉnh và tìm ra phương pháp tối ưu nhất

Trang 3

- Sử dụng module thu phát sóng 2.4GHz có khả năng truyền phát sóng khôngdây trong bán kính <100m.

- Sử dụng vi điều khiển Pic 16f877a trong việc điều khiển

- Một webcam gắn với máy tính điều khiển trực tiếp robot

- Đối tượng xử lý là mắt

- Robot có khả năng di chuyển linh hoạt trên địa hình phẳng không có phản hồitốc độ

- Lập trình truyền thông nối tiếp RS232

- Giao diện điều khiển thông qua phần mềm visual studio 2010

Trang 4

CHƯƠNG 2 TỔNG QUAN ROBOT DI ĐỘNG ĐIỀU KHIỂN BẰNG

MẮT

2.1 Lịch sử phát triển

Năm 1936, bác sỹ nhãn khoa Frank Burch đã đề xuất khái niệm nhận dạng bằngmống mắt Nhưng phải mãi đến năm 1985, hai giáo sư Leonard Florn (Đại học NewYork) và Aran Safir (Đại học Connecticut) mới được cấp bằng sáng chế liên quan đến

“Công nghệ nhận diện mống mắt” Ngay sau đó, tiến sỹ John Daugman (Đại họcHarvard) đã được thuê để viết thuật toán nhận diện mống mắt Với sự nỗ lực của cả ba,thử nghiệm nhận diện mống mắt được thực hiện đã thành công tốt đẹp.Trong khi đó, ý tưởng về công nghệ nhận diện võng mạc đã được đưa ra trên một cuốntạp chí Y học vào năm 1935 Khi công nghệ bắt kịp thời đại, ý tưởng này mới có cơhội được triển khai và đến năm 1976, tập đoàn EyeDentify mới bắt đầu phát triển côngnghệ này Hiện tại, các bằng sáng chế liên quan đến hai công nghệ này đã được cấpcho nhiều công ty, tập đoàn với mục đích thương mại hóa

Hiện nay tại các trường đại học trên thế giới, công nghệ xử lý mắt đã được pháttriển và mở rộng rất nhiều Nhiều phương pháp đã được áp dụng, nhiều ý tưởng đãđược phát triển nhờ sự ra đời của công nghệ này Chúng ta có thể nhắc đến sản phẩmcủa hãng “tobii technology” với những chiếc máy tính có thể điều khiển bằng mắt,cùng với điều đó là những trò chơi giành riêng cho công nghệ thú vị này Ngoài rachúng ta không thể không nhắc đến sản phẩm điện thoại của hãng samsung(SamSungGalaxy S3), chúng ta có thể cuộn thanh trượt, dừng video, phóng to nhỏmàn hình bằng chuyển động của mắt

Chúng ta có thể nói rằng công nghệ này thật sự rất thú vị và có khả năng pháttriển rất rộng Sẽ còn rất nhiều ứng dụng nữa chúng ta có thể nói đến khi nhắc đếncông nghệ này

Trang 5

Hình 2.1 Máy tính của hãng tobii technology được điều khiển bằng mắt

Hình 2.2 Công nghệ “SideWays” của trường đại học Lancaster

Hình 2.3 Cảm biến cử chỉ mắt của Samsung galaxy S5

Trang 6

2.2 Tổng quan về xử lý ảnh

2.2.1 Giới thiệu về hệ thống xử lý ảnh

Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một nghànhkhoa học mới mẻ so với nghành khoa học khác nhưng tốc độ phất triển rất nhanh, kíchthích các trung tâm nghiên cứu ứng dụng, đặc biệt là máy tính chuyên dụng cho nó

Ta xét các bước trong hệ thống xử lý ảnh số Đầu tiên ảnh từ thế giới bên ngoàiđược thu nhận qua các thiết bị thu ảnh như camera, máy chụp ảnh Hình dưới đây mô

tả các bước quan trọng trong xử lý ảnh:

Hình 2.4 Các bước cơ bản trong xử lý ảnh

a Quá trình thu nhận ảnh:

- Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận quacamera là ảnh tương tự, cũng có loại camera đã số hoá (như loại CCD – ChangeCoupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh Camerathường dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thunhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)

- Cảm biến: Biến đổi năng lượng quang học thành năng lượng điện (lấy mẫu)

Sử dụng bộ cảm biến hoặc máy quét để biến tín hiệu quang của ảnh thành tín hiệu điệnliên tục Máy quét sẽ quét theo chiều ngang để tạo ra tín hiệu điện của ảnh kết quả cho

ra tín hiệu điện hai chiều f(x, y) liên tục

b Quá trình tiền xử lý ảnh: Do chất lượng hay đặc tính của thiết bị thu hình ảnh mà độtương phản, độ sáng, nhiễu có thể bị thay đổi Quá trình tiền xử lý có tác dụng nângcao chất lượng, giảm nhiễu của ảnh

Biểudiễn

Nhận dạng vànội suy

Cơ sở tri thức

Trang 7

c Phân đoạn ảnh: Đây là quá trình khoanh vùng các vùng cần nhận biết nằm trên ảnh(nhận biết biên của ảnh) Biên là vấn đề quan trọng trong trích chọn đặc điểm nhằmtiến tới hiểu ảnh Cho đến nay chưa có định nghĩa chính xác về biên, trong mỗi ứngdụng người ta đưa ra các độ đo khác nhau về biên, một trong các độ đo đó là độ đo về

sự thay đổi đột ngột về cấp xám Ví dụ: Đối với ảnh đen trắng, một điểm được gọi làđiểm biên nếu nó là điểm đen có ít nhất một điểm trắng bên cạnh Tập hợp các điểmbiên tạo nên biên hay đường bao của đối tượng Xuất phát từ cơ sở này người tathường sử dụng hai phương pháp phát hiện biên cơ bản sau:

- Phát hiện biên trực tiếp: Phương pháp này làm nổi biên dựa vào sự biến thiênmức xám của ảnh Kỹ thuật chủ yếu dùng để phát hiện biên ở đây là dựa vào sự biếnđổi cấp xám theo hướng Cách tiếp cận theo đạo hàm bậc nhất của ảnh dựa trên kỹthuật Gradient, nếu lấy đạo hàm bậc hai của ảnh dựa trên biến đổi gia ta có kỹ thuậtLaplace

- Phát hiện biên gián tiếp: Ảnh số là một mảng số thực 2 chiều (Iij) có kích thước(M×N), trong đó mỗi phần tử Iij(i = 1, ,M; j = 1, ,N) biểu thị mức xám của ảnh tại (i,j) tương ứng Ảnh được gọi là ảnh nhị phân nếu các giá trị Iij chỉ nhận giá trị 0 hoặc 1

Ở đây ta chỉ xét tới ảnh nhị phân vì ảnh bất kỳ có thể đưa về dạng nhị phân bằng kỹthuật phân ngưỡng Ta ký hiệu D là tập các điểm vùng (điểm đen) và T là tập các điểmnền (điểm trắng) Giả sử (i, j) là một điểm ảnh, các điểm 4-láng giềng là các điểm kềtrên, dưới, trái, phải của (i, j):

N4 (i, j) = {(i’, j’) : |i - i’| + |j - j’| = 1}

Những điểm 8-láng giềng gồm:

N8 (i, j) = {(i’, j’) : max(|i - i’|, | j- j’|) =1}

Trong hình 2 biểu diễn ma trận 8 láng giềng kề nhau, các điểm P0, P2, P4, P6 làcác điểm 4-láng giềng của điểm P, còn các điểm P0, P1, P2, P3, P4, P5, P6, P7 là cácđiểm 8-láng giềng của P

Hình 2.5 Ma trận 8 điểm ảnh liền kề nhau

P3 P2 P1

P 4 P P0 P5 P6 P7

Trang 8

Hai điểm Ps, Pe ∈ E, E ⊆ D hoặc T được gọi là 8-liên thông (hoặc 4- liên thông) trong

E nếu tồn tại tập các điểm được gọi là đường đi (io,jo) (in, jn) sao cho (io, jo)= Ps,(in, jn)= Pe, (ir, jr) ∈ E và (ir, jr) là 8-liên thông (hoặc 4-liên thông tương ứng) của (ir-

1, jr-1) với r = 1,2, ,n Quan hệ k-liên thông trong E (k=4,8) là một quan hệ phản xạ,đối xứng và bắc cầu Bởi vậy đó là một quan hệ tương đương Mỗi lớp được gọi là mộtthành phần k-liên thông của ảnh Về sau ta sẽ gọi mỗi thành phần k-liên thông của ảnh

là một đối tượng ảnh.Sau khi đã xây dựng được biên của ảnh ta tiến hành bước tiếptheo là phân vùng của ảnh Một số phương pháp phân vùng ảnh

- Phân vùng ảnh theo ngưỡng biên độ: Các đặc tính đơn giản, cần thiết nhất củaảnh là biên độ và các tính chất vật lý như độ tương phản, độ truyền sáng, màu sắc hoặcđáp ứng phổ Như vậy, có thể dùng ngưỡng biên độ để phân vùng khi biên độ đủ lớnđặc trưng cho ảnh Kỹ thuật phân ngưỡng theo biên độ rất có lợi đối với ảnh nhị phânnhư văn bản in, đồ họa, ảnh màu hay ảnh X-quang

- Phân vùng ảnh theo miền đồng nhất: Kỹ thuật phân vùng ảnh thành các miềnđồng nhất dựa vào các tính chất quan trọng nào đó của miền ảnh Việc lựa chọn cáctính chất của miền sẽ xác định tiêu chuẩn phân vùng Tính đồng nhất của một miềnảnh là điểm chủ yếu xác định tính hiệu quả của việc phân vùng Các tiêu chuẩn hayđược dùng là sự thuần nhất về mức xám, màu sắc đối với ảnh màu, kết cấu sợi vàchuyển động Một số phương pháp của kỹ thuật phân vùng này:

+ Phương pháp tách cây tứ phân: Về nguyên tắc, phương pháp này kiểm tratính đúng đắn của tiêu chuẩn đề ra một cách tổng thể trên miền lớn của ảnh Nếu tiêuchuẩn được thỏa mãn, việc phân đoạn coi như kết thúc Trong trường hợp ngược lại,chia miền đang xét thành 4 miền nhỏ hơn Với mỗi miền nhỏ, áp dụng một cách đệquy phương pháp trên cho đến khi tất cả các miền đều thỏa mãn điều kiện Tiêu chuẩnxét miền đồng nhất ở đây có thể dựa vào mức xám Ngoài ra, có thể dựa vào độ lệchchuẩn hay độ chênh giữa giá trị mức xám lớn nhất và giá trị mức xám nhỏ nhất Giả sửMax và Min là giá trị mức xám lớn nhất và nhỏ nhất trong miền đang xét Nếu :

|Max – Min| < T (ngưỡng)

Ta coi miền đang xét là đồng nhất Trường hợp ngược lại, miền đang xétkhông là miền đồng nhất và sẽ được chia làm bốn phần Giá trị trung bình được tínhbởi:

Tổng giá trị mức xám / tổng số điểm ảnh trong vùng

Trang 9

+ Phương pháp cục bộ: Ý tưởng của phương pháp là xét ảnh từ các miền nhỏnhất rồi nối chúng lại nếu thỏa mãn tiêu chuẩn để được một miền đồng nhất lớn hơn.Tiếp tục với các miền thu được cho đến khi không thể nối thêm được nữa Số miềncòn lại cho ta kết quả phân đoạn Như vậy, miền nhỏ nhất của bước xuất phát là điểmảnh Phương pháp này hoàn toàn ngược với phương pháp tách Song điều quan trọng ởđây là nguyên lý nối hai vùng Việc nối hai vùng được thực hiện theo nguyên tắc haivùng phải đáp ứng tiêu chuẩn, thí dụ như cùng màu hay cùng mức xám, hai vùng phải

kế cận nhau

+ Khái niệm kế cận: trong xử lý ảnh, người ta dùng khái niệm liên thông đểxác định tính chất kế cận Có hai khái niệm về liên thông là 4 liên thông và 8 liênthông Với 4 liên thông một điểm ảnh I (x, y) sẽ có 4 kế cận theo 2 hướng x và y ;trong khi đó với 8 liên thông, điểm I (x, y) sẽ có 4 liên thông theo 2 hướng x, y và 4liên thông khác theo hướng chéo 45 độ (hình 3)

Hình 2.6 Mô hình 4 liên thông và 8 liên thông điểm ảnh

d Biểu diễn ảnh: Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đãphân đoạn) cộng với mã liên kết với các vùng lận cận Việc biến đổi các số liệu nàythành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tínhchất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc táchcác đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sởđể phân biệtlớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: trong nhậndạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phânbiệt ký tự này với ký tự khác

e Nhận dạng và nội suy ảnh: Nhận dạng ảnh là quá trình xác định ảnh Quá trình nàythường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước.Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nétgạch ngang trên phong bì thư có thểđược nội suy thành mã điện thoại Có nhiều cáchphân loai ảnh khác nhau về ảnh

Trang 10

f Cơ sở tri thức (Knowledge Base) :Như đã nói ở trên, ảnh là một đối tượng khá phứctạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phúkéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa cácphương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quytrình tiếp nhận và xử lý ảnh theo cách của con người Trong các bước xử lý đó, nhiềukhâu hiện nay đã xử lý theo các phương pháp trí tuệ con người Vì vậy, ở đây các cơ

sở tri thức được phát huy

2.2.2 Những vấn đề cơ bản trong xử lý ảnh

a Điểm ảnh (Picture Element):

Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lýbằng máy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúng mộtảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng(mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt ngườikhông phân biệt được ranh giới giữa c, Độ phân giải chúng Mỗi một điểm như vậygọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel Trong khuôn khổ ảnh haichiều, mỗi pixel ứng với cặp tọa độ (x, y)

Định nghĩa:

Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặcmàu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợpsao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) củaảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh

b Độ phân giải của ảnh :

Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn địnhtrên một ảnh số được hiển thị Theo định nghĩa, khoảng cách giữa các điểm ảnh phảiđược chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảngcách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bốtheo trục x và y trong không gian hai chiều

Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là mộtlưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200)

Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân

Trang 11

giải 320*200 Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộnghơn thì độ mịn (liên tục của các điểm) kém hơn.

- Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mứcxám ở các điểm ảnh có thể khác nhau

- Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 21mức khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1

- Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thếgiới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 28 *

3 = 224 ≈ 16,7 triệu màu

2.2.3 Tổng quan về thư viện Opencv

Opencv(Open computer vision library) do Intel phát triển, được giới thiệu năm

1999 và hoàn thiện thành phiên bản 1.0 năm 2006 Thư viện opencv- gồm khoảng 500hảm được viết bằng ngôn ngữ lập trình C và tương thích với hệ điều hành windows,linux, maxOS… đóng vai trò xác lập chuẩn giao tiếp, dữ liệu , thuật toán lĩnh vực CV

và tạo điều kiện cho mọi người tham gia nghiên cứ và phát triển

Trước Opencv không có một công cụ chuẩn nào cho lĩnh vực xử lý ảnh Cácđoạn code đơn lẻ do các nhà nghiên cứu tự viết thường không thống nhất và không ổnđịnh Các bộ công cụ thương mại như Matlab, simulink, Halcon,… lại còn giá cao chỉthích hợp cho các công ty phát triển các ứng dụng lớn Ngoài ra còn các giải pháp kèmtheo thiết bị phần cứng mà phần lớn là mã đóng và được thiết kế riêng cho từng thiết

bị, rất khó khăn cho việc mở rộng ứng dụng

Opencv là công cụ hữu ích cho những người bước đầu làm quen với xử lý ảnh số

vì các ưu điểm sau:

- Opencv là công cụ chuyên dụng: được Intel phát triển theo hướng tối ưu hòacho các ứng dụng xử lý và phân tích ảnh, với cấu trúc dữ liệu hợp lý, thu viện tạo giao

Trang 12

diện, truy xuất thiết bị phần cứng được tích hợp sẵn Opencv thích hợp để phất triểnnhanh ứng dung.

- Opencv là công cụ mã nguồn mở: không chỉ là công cụ miễn phí( với BSDlicense), việc được xây dựng trên mã nguồn mở giúp opencv trở thành công cụ thíchhợp cho nghiên cứu và phát triển với khả năng thay đổi và mở rộng các mô hình, thuậttoán

- Opencv đã được sử dụng rộng rãi: từ năm 1999 đến nay, opencv đã thu hút sốlượng lopens người dùng, trong đó có các công ty lớn như microsoft, IBM, Sonny,Siemens, Google và các nhóm nghiên cứu ở Standford, MIT, CMU, Cambidge nhiềuforum hỗ trợ và cộng đồng người dùng đã được thành lập tạo nên kênh thông tin rộnglớn hữu ích cho việc tham khảo tra cứu

Hình 2.7 Tổ chức thư viện Opencv

HighGUI Giúp tạo nhanh giao diện đơn giản và hỗ trợ truy xuất ảnh/phim

từ file hoặc thiết bị ngoại vi.

IPP module thương mại cung cấp các đoạn mã mở rộng đã được tối ưu hóa cho

phần cứng của Intel giúp tăng tốc các ứng dụng lớn.

CXCORE

Tổ chức dữ liệu cơ sở, thực hiện các thuật toán (phép tính ma trận, tính toán), hỗ trợ chuẩn dữ liệu XML, các thao tác vẽ chú thích.

Trang 13

2.3 Một số phương pháp xử lý ảnh với thư viện Opencv

2.3.1 Giới hạn vùng xử lý

Khung ảnh bắt đầu xử lý luôn có khung cố định 640x480, chúng ta cần lựa chọnđược vùng nhận diện để giảm ảnh hưởng không cần có trong quá trình xử lý Trongthuật toán xử lý ảnh, chúng ta sẽ nhắc đến khái niệm ROI ( region of interest) haychúng ta có thể nói là vùng được chọn Phương pháp này cho phép chúng ta loại bỏkhung hình không cần thiết và chỉ xử lý trong vùng được chọn Và trong đề tài nàyvùng được chọn là mắt phải Việc thực hiện lệnh ROI sẽ cho phép chúng ta dễ dàngcăn chỉnh vị trí của mắt và giảm được nhiễu từ tóc và lông mày Sau khi thực hiện quátrình này, vấn đề chúng ta còn lại chỉ là xử lý mắt với vùng xử lý đã được giới hạn

2.3.2 Chuyển ảnh từ RGB sang GRAY

Đối với phương pháp nhận diện bằng đặc trưng về màu sắc như thế này, thì việcquan trong nhất là nhận biết xem không gian màu nào là dễ dàng xử lý Đối với ảnhban đầu khi thu nhận qua webcam là ở không gian màu là RGB thì quá trình xử lý trởnên rất khó khăn Đối với đặc trưng màu đen của đồng tử, chúng ta chọn không gianmàu xám để xử lý

- Không gian màu RGB: RGB là không gian màu rất phổ biến được dùng trong

đồ họa máy tính và nhiều thiết bị kĩ thuật số khác Ý tưởng chính của không gian màunày là sự kết hợp của 3 màu sắc cơ bản : màu đỏ (R, Red), xanh lục (G, Green) vàxanh lơ (B,Blue)để mô tả tất cả các màu sắc khác Nếu như một ảnh số được mã hóabằng 24bit, nghĩa là 8bit cho kênh R, 8bit cho kênh G, 8bit cho kênh B, thì mỗi kênhmàu này sẽ nhận giá trị từ 0-255 Với mỗi giá trị khác nhau của các kênh màu kết hợpvới nhau ta sẽ được một màu khác nhau, như vậy ta sẽ có tổng cộng 255x255x255 =1.66 triệu màu sắc Ví dụ: màu đen là sự kết hợp của các kênh màu (R, G, B) với giátrị tương ứng (0, 0, 0) màu trắng có giá trị (255, 255, 255), màu vàng có giá trị (255,

255, 0), màu tím đậm có giá trị (64, 0, 128) Nếu ta dùng 16bit để mã hóa một kênhmàu (48bit cho toàn bộ 3 kênh màu) thì dải màu sẽ trải rộng lên tới 3*2^16 Một con sốrất lớn

Trang 14

Hình 2.8 Không gian màu RGB

- Ảnh xám : Ảnh xám còn được gọi là ảnh đen trắng với giá trị biến thiên từ đenvới cường độ yếu nhất đến trắng với cường độ cao nhất Ảnh xám thu được nhờ việc

đo cường độ ảnh sáng tại một tần số nhất định trong dãy quang phổ ánh sáng nên nócòn được gọi là ảnh đơn sắc Ảnh xám được mã hóa bởi n bit sẽ có là 2n, đi từ mức đen( mức 0) tới trắng (mức 2n-1) Các mức từ 1 đến 2n-2 biễu diễn các sắc độ xám khácnhau

-Bước 2: Chuyển đổi ảnh màu sang ảnh đa mức xám

cvCvtColor( img, grayimage, CV_RGB2GRAY );

2.3.3 Nhị phân hóa với ngưỡng

Nhị phân hóa là quá trình biến đổi ảnh xám thành ảnh nhị phân Ảnh nhị phân chỉchứa hai giá trị 0 hoặc 1 ( 0 hoặc 255 tùy theo quy định cấu trúc ảnh) theo đó giá trị 0tương ứng với điểm đen trên ảnh và giá trị 1 hoặc 255 tương ứng với giá trị điểmtrắng Công thức nhị phân hóa ảnh là đặt tất cả giá trị điểm ảnh về 0 nếu chúng bé hơnđiểm ngưỡng T cho trước và về giá trị 1( hoặc 255) nếu chúng lớn hơn giá trị ngưỡng

T đó Vấn đề ở đây là xác định ngưỡng T là rất khó vì chúng phụ thuộc vào điều kiệnánh sáng của môi trường

Trang 15

Trong Opencv việc lấy ngưỡng được thực hiện bằng cách gọi hàm:

cvThreshold(const CvArr *src, CvArr *dst, double threshold, double max_value, intthreshold_type)

Trong đó, src là ảnh gốc, và phải là ảnh xám, dst là ảnh đích một kênh màu, cócùng kích thước với ảnh đầu Threshold là giá trị ngưỡng ta đặt cho việc nhị phân,max_value là giá trị lớn nhất của ảnh xám, thông thường là 255 threshold_type là kiểuthreshold mà ta muốn thực hiện, Thông thường là CV_THRESH_BINARY, còn muốnnhị phân ngược ta dùng CV_THRESH_BINARY_INV

Nhị phân hóa với ngưỡng mục đích để giúp máy tính có thể phân biệt được vùngđược chọn và vùng không được chọn Đối với ảnh xám chúng ta sẽ chỉ có một ngưỡng

T với một giá trị trong khoảng từ [0…255] đặc trưng cho giá trị mình cần phân biệt

2.3.4 Các phép toán hình thái học trong ảnh

Sau khi chuyển thành ảnh nhị phân máy tính đã có thể phân biệt được rõ ràngvùng xử lý nhưng việc theo dõi mắt sẽ không được diễn ra vì vùng xử lý nhỏ, diện tích

ít không thể phân biệt được với nhiễu do lông mi Để thực hiện được quá trình bámtheo chuyển động của đồng tử, chúng ta cần phải tăng diện tích màu trắng nhận diệnđồng tử tăng lên Quá trình đó chúng ta áp dụng phép toán đóng, có thể hiểu đơn giảnthuật toán này nhằm mục đích thay thế mọi lân cận màu đen của các điểm ảnh thànhmàu trắng

- Phép dịch chuyển A của điểm ảnh x(hàng, cột):

(A)x = {c | c = a+x, a ∈ A}

- Phép đối của tập A được định nghĩa như sau:

(A)x={c | c = -a, a ∈ A}

Đó là phép quay A 180o quanh gốc tọa độ

- Phần bù của điểm A là các đối tượng không phụ thuộc vào đối tượng A Theo lýthuyết tập hợp thì :

Ac = { c | c∉ A }

- Giao của 2 tập hợp của A và B là tập hợp các phần tử thuộc cả tập hợp A lẫn B kýhiệu:

A ∩ B = {c | ( c ∈ A) ∧ ( c ∈ B) }

Trang 16

- Hợp của 2 tập hợp A và B là tập của phần tử A hoặc / và B ký hiệu:

- Phép giãn nở (dilation) là tập hợp tất cả các phép dịch chuyển của cấu trúc, ký hiệu:

Tuy nhiên với vai trò bình đẳng của A và B, ta có thể coi là A là cấu trúc và B

là ảnh thì khi đó:

Trang 17

Từ những điều trên có thể giúp ta tiếp cận đến một thao tác giãn ảnh có thể được

“ máy tính hóa” Ta có thể xem những phần tử cấu trúc như là một mẫu và dịch chuyển

nó trên ảnh Khi gốc của phần tử cấu trúc hay mẫu khớp với ảnh đen trên ảnh, thì tất cảnhưng điểm ảnh tương ứng trên cấu trúc sẽ được đánh dấu và thay thế sau Sau khitoàn bộ ảnh đã được quét qua bởi mẫu, thao tác dãn ảnh xem như hoàn chỉnh Thôngthường máy tính sẽ làm như sau:

co trong ảnh Đối tượng trong ảnh được biểu diển bởi màu xám, cấu trúc phần tử ảnh

là khối có viền màu đỏ, x là điểm sau phép thỏa mãn phép co ảnh, 0 là điểm khôngthỏa mãn

Hình 2.12 Phép toán co (erosion)

Trang 18

Ta thấy rằng sau phép toán này đối tượng trong ảnh bị co lại, chính vì vậy mà nóđược ứng dụng trong việc giảm kích thước của đối tượng, tách rời các đối tượng gầnnhau và làm mảnh, tìm xương đối tượng.

Phép toán đóng: A ∙ B = ( A ⊕ B ) ⊖ B

Phép toán đóng được ứng dụng trong việc làm trơn đường bao đối tượng, lấp đầycác khoảng trống trên biên và loại bỏ những hố nhỏ ( một số pixel đứng thành cụm độclập )

Nguyên lí cơ bản của hàm contours đó là sau khi ảnh được xử lí thành ảnh đentrắng, tất cả các đối tượng quy định được nhận biết sẽ được vẽ một đường bao bênngoài biên dạng của chúng Một bước tiếp theo đó là xây dựng thuật toán so sánh ảnhtheo các tiêu chuẩn về kích thước cũng như tọa độ tương ứng với vật cần nhận biết.Sau khi có thuật toán hàm contours sẽ tự động tính toán vật có màu sắc và kích thướcchính xác nhất so với tiêu chuẩn để vẽ biên dạng chính xác và hiển thị duy nhất vật đó.CvFindContours(img, luutru, &contours, sizeof (CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0)) đây là đoạn code sử dụng trực tiếptrong bài của nhóm, Find contours thực hiện chức năng vẽ đường bao xung quanh cácvật đã được nhận biết về màu sắc với kích thước tương đồng, cùng lúc đó các đườngbao đó sẽ lưu lại giá trị về tọa độ trên ảnh CV_CHAIN_APPROX_SIMPLE là hàm cóchức năng loại bỏ các đường thừa và nén đường viền qua đó tiết kiệm bộ nhớ Ví dụ

để nhận biết một hình chữ nhật chúng ta cần vẽ đường viền với 1000 điểm ảnh thếnhưng với hàm trên chúng ta chỉ sử dụng 4 điểm (Hình 2.13)

Trang 19

Hình 2.13 Minh họa sử dụng CV_CHAIN_APPROX_SIMPLE

2.4 Khối điều khiển trung tâm

Trong hệ thống mạch điện tử vi điều khiển trung tâm đóng vai trò là bộ não, tiếpnhận, xử lí và đưa ra thông tin cho toàn hệ thống Dựa trên yêu cầu về chức năng vàtốc độ xử lí nhóm đã lựa chon vi điều khiển PIC 16F877A của hãng Microchip sảnxuất, với một số chức năng và thông số cơ bản sau:

- Sử dụng công nghệ tích hợp RISC CPU

- Người sử dụng có thể lập trình với 35 câu lệnh cơ bản

- Tất cả câu lệnh thực hiện trong một chu kỳ lệnh, ngoại trừ một số câu lệnh rẽnhánh thực hiện trong 2 chu kỳ lệnh

- Tốc độ hoạt động xung đồng hồ là 20MHZ

- Bộ nhớ hoạt động là flash 8k x14 words

- Bộ nhớ RAM 368x8 bytes

- Bộ nhớ EFPROM 256x8 bytes

- Khả năng ngắt lên đến 14 ngắt trong và ngắt ngoài

- Ngăn nhớ Stack được phân chia làm 8 mức

- Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp

- Nguồn khởi động (POR)

- Bộ tạo xung (PWRT) và bộ tạo dao động (OST)

- Bộ đếm thời gian (WDT) với nguồn dao động trên chíp (nguồn dao động RC)hoạt động đáng tin cậy

- Có mã chương trình bảo vệ

- Phương thức cất giữ SLEEP

- Có bảng lựa chọn dao động

- Công nghệ CMOS FLASH/EFPRO nguồn mức thấp tốc độ cao

- Thiết kế hoàn toàn tĩnh

- Mạch chương trình nối tiếp có 2 chân

Trang 20

- Mạch xử lý đọc ghi tới bộ nhớ chương trình.

- Dải điện thế hoạt động 2.0 đến 5.5V

- Nguồn điện sử dụng 25mA

- Dãy nhiệt độ công nghiệp và thuận lợi

- Công suất tiêu thụ thấp

- TIMER0: 8 bits của bộ định thời, bộ đếm với hệ số tỉ lệ trước

- TIMER1: 16 bits của bộ định thời, bộ đếm với hệ số tỉ lệ trước, có khả năngtăng trong khi ở chế độ sleep qua xung đồng hồ được cung cấp bên ngoài

- TIMER2: 8 bits của bộ định thời, bộ đếm với 8 bits của hệ số tỉ lệ trước, hệ số

tỉ lệ sau

- Sơ đồ chân của PIC 16F877A

Hình 2.14 Sơ đồ chân của PIC 16F877A

Chân 13, 14 là các chân kết nối với thạch anh tạo dao động cho chip Ta mắcthêm vào 2 tụ điện có điện dung =33pF để tăng độ ổn định cho dao động thạch anh

- PORTB vì PORTB lúc này đóng vai trò là ngõ xuất nên các thanh ghi TRISBtrong chíp phải được đặt giá trị logic 1 (Nếu ta đặt ngõ B là ngõ nhập thì ta phải đặt giátrị logic 0)

- VDD: Là điện áp cấp nguồn cho vi điều khiển, nguồn điện cấp là 5V

Trang 21

- GND: Là chân nối mass khi sử dụng cần thiết kế một mạch ổn áp để bảo vệcho vi điều khiển , thường sử dụng IC ổn áp 7805.

- PORTA: Có 6 pin từ chân 2 đến chân 7

- PORTB: Có 8 chân từ 34 đến 40, ngoài chức năng làm cổng xuất nhập còn cóthêm một số chức năng phụ khác

- PORTC, PORTE: Tương tự như PORTB

- Chân Reset (MCLR): Ngõ vào ở chân 1 dùng để thiết lập điều kiện đầu cho viđiều khiển

- OSC1, OSC2: Hai chân này được sử dụng để nhận nguồn xung clock từ bênngoài cụ thể là từ thạch anh dao động

- Các chân RC3, RC4 dùng để kết nối I2C

- Các chân RC6, RC7 là chân kết nối RS232

2.4.1 Giao tiếp UART trong PIC 16F877A

Trong PIC16F877A có tất cả năm thanh ghi cho quá trình điều khiển UART: Baogồm hai thanh ghi chức năng TXSTA, RCSTA, hai thanh ghi dữ liệu RCREG vàTXREG Thanh ghi tốc độ baund SPBRG Trong PIC16F877A có hai chế độ truyềnHigh speed và Low speed được quy định bởi Bit BRGH của thanh ghi TXSTA Việcphân chia hai mức tốc độ này để có sự chọn lựa cho trường hợp sai số với tốc độ baudchuẩn của PC: Mà trong PC có các mức chuẩn: 300, 2400, 9600, 19200, 28800

Trong PIC16F877A có nhiều chế độ truyền nhận khác nhau: Chế độ truyền nhậndùng bit 9 để định chẵn lẻ, hay cho mạng vi điều khiển một master và nhiều slave Vàchế độ chuyền đồng bộ ứng dụng cho việc giao tiếp với A/D, D/A hay với các EEPRO.Các chế độ này sẽ được thiết lập bởi các bit trong thanh ghi TXSTA, và TCSTA

- Quá trình nhận dữ liệu: Trong PIC16F877A để nhận biết được dữ liệu truyềntới người ta dùng bit cờ RCIF trong thanh ghi PIR1 Như vậy khi thanh ghi đệm dữliệu chứa dữ liệu thì RCIF sẽ được đưa lên 1 và chính cờ này cho phép PIC16F877A

có hai phương thức để nhận biết lúc nào có dữ liệu truyền tới Sử dụng ngắt và sử dụngkiểu Polling (quay vòng)

- Quá trình truyền dữ liệu: Trong quá trình truyền dữ liệu cũng có hai chế độ sửdụng ngắt và Polling , tuy nhiên quá trình truyền dữ liệu lên PC không phải là thờidiểm bất kỳ mà dặt dưới sự kiểm soát của chương trình cho nên người ta thưòng sửdụng kiểu polling khi cần truyền thì truyền đi

Trang 22

2.5 Cơ cấu chấp hành

Động cơ DC cũng là một cơ cấu chấp hành cơ-điện, biến năng lượng điện thànhcác chuyển động cơ học Động cơ DC hoạt động được dựa trên 2 định luật Loren vàFaraday Cấu tạo của động cơ DC gồm phần ứng, phần kích từ, chổi than và cổ góp

Có 5 loại động cơ DC là : động cơ kích từ nối tiếp, động cơ kích từ song song, động cơkích từ hỗn hợp, động cơ kích từ độc lập và động cơ nam châm vĩnh cửu

Hình 2.15 Cấu tạo động cơ DC

Các trạng hoạt động của động cơ DC khá đơn giản, phân tích dựa trên đường đặctính cơ của động cơ Gồm các trạng thái khởi động và trạng thái hãm Do đường đặctính cơ là một đường thẳng, nên việc phân tích sự phụ thuộc của momen và vận tốccủa động cơ ở các trạng thái đơn giản

Hình 2.16 Đường đặc tính cơ động cơ DC

2.6 Mạch công suất điều khiển động cơ

Với đề tài này nhóm đã chọn 2 động cơ DC 24v với công suất nhỏ, để thuận lợicho việc điều khiển nhóm chọn module L298 để điểu khiển động cơ

2.6.1 Module L298

Dual H-Bridge Module sử dụng IC ST L298N tích hợp nguyên khối 15-pin kiểuMultiwatt, điện áp và dòng tải cao, được thiết kế để chấp nhận mức điện áp logic tiêuchuẩn TTL và tải điện cảm như Solenoids, 2 động cơ DC hoặc 1 động cơ bước dây

Trang 23

Hai Enable inputs cho phép kích hoạt (enable) hoặc vô hiệu hóa (disable) các thiết bịđộc lập của tín hiệu đầu vào Cực E của các Transistor dưới của mỗi cầu được nối vớinhau và đưa ra bên ngoài (chân SENSE A và SENSE B) để có thể nối với một điện trở

để có thể cung cấp một nguồn đầu vào bổ sung để logic làm việc với điện áp thấp hơnTham số sản phẩm:

- Sử dụng L298 gồm 2 mạch cầu H điều khiển động cơ DC

- Điện áp cung cấp: +5V đến +35V

- Dòng điện tối đa: 2A

- Dòng tiêu thụ 0 ~ 36mA

- Tin hiệu điều khiển điện áp đầuvào:

- Mức độ thấp: 0,3<Vin<1,5V ( Tín hiệu điều khiển là không hợp lệ)

- Cao: 2.3V<Vin<VSS ( tín hiệu điều khiển)

- Điện năng tiêu thụ tối đa: 20W( nhiệt độ T=75oC)

- Nhiệt độ hoạt động: -25oC~130oC

- Kích thước: 55mm * 49 mm *33mm

- Trọng lượng: 33g

2.7 Tổng quan về phương thức điều khiển từ xa bằng sóng RF

Trong khi truyền thông tin, vì tận cùng bản chất của dữ liệu là bao gồm các bit 0

và 1, bên phát dữ liệu cần có một cách thức để gửi các bit 0 và 1 để gửi cho bên nhận.Một tín hiệu xoay chiều hay một chiều tự nó sẽ không thực hiện tác vụ này Tuy nhiên,nếu một tín hiệu có thay đổi và dao động, dù chỉ một ít, sự thay đổi này sẽ giúp phânbiệt bit 0 và bit 1 Lúc đó, dữ liệu cần truyền sẽ có thể gửi và nhận thành công dựa vàochính sự thay đổi của tín hiệu Dạng tín hiệu đã điều chế này còn được gọi là sóngmang (carrier signal) Có ba thành phần của dạng sóng có thể thay đổi để tạo ra sóngmang, đó là biên độ, tần số và pha Tất cả các dạng truyền thông dùng sóng vô tuyếnđều dùng vài dạng điều chế để truyền dữ liệu Để mã hóa dữ liệu vào trong một tínhiệu gửi qua sóng AM/FM, điện thoại di động, truyền hình vệ tinh, ta phải thực hiệnmột vài kiểu điều chế trong sóng vô tuyến đang truyền

Trang 24

2.7.2 Bức xạ điện từ

Đầu tiên ta xét đến sóng điện từ Bức xạ điện từ bao gồm sóng radio, hồng ngoại,ánh sáng khả kiến, tia cực tím, tia X, và tia gamma Tất cả chúng đều truyền đi với vậntốc ánh sáng là (trong chân không) c = 3x108 m/s và tạo ra phổ điện từ Sự khác nhaugiữa các loại sóng điện từ này phụ thuộc vào bước sóng của mỗi loại liên quan trựctiếp đến năng lượng của sóng (bước sóng càng nhỏ thì năng lượng càng cao)

2.7.3 Pha

Pha là một thuật ngữ mang tính tương đối Nó chỉ ra mối quan hệ giữa hai sóng

có cùng tần số Để xác định pha, bước sóng được chia thành 360 phần, được gọi là độ

2.7.4 Các phương thức điều chế

Để dữ liệu có thể được truyền, tín hiệu phải được xử lý sao cho bên máy nhận cócách để phân biệt bit 0 và 1 Phương pháp xử lý tín hiệu sao cho nó tượng trưng chonhiều mẫu dữ liệu được gọi là điều chế Phương thức này sẽ biến tín hiệu vào trongsóng mang Phương thức này mã hóa dữ liệu sao cho nó có thể truyền Có ba kiểu điềuchế: điều biên, điều tần và điều pha

2.7.5 Mã hóa bit

Mã hóa bit là quá trình chuyển đổi dãy bit (1- 0) sang một tín hiệu thích hợp để

có thể truyền dẫn trong môi trường vật lý Việc chuyển đổi này chính là sử dụng mộttham số thông tin thích hợp để mã hóa dãy bit cần truyền tải Các tham số thông tin cóthể được chứa đựng trong biên độ, tần số, pha hoặc sườn xung, v.v Sự thích hợp ởđây phải được đánh giá dựa theo các yêu cầu kỹ thuật như khả năng chống nhiểu cũngnhư gây nhiểu, khả năng đồng bộ hóa và triệt tiêu dòng một chiều

Trang 25

2.7.6 Các phương pháp mã hóa tín hiệu

Việc tạo mã để có tín hiệu trên các hệ thống số có thể thực hiện một cách đơn

giản là gán một giá trị điện thế cho một trạng thái logic và một giá trị khác cho mức logic còn lại Tuy nhiên để sử dụng mã một cách có hiệu quả, việc tạo mã phải dựa vào một số tính chất sau.(Phổ tần của tín hiệu, sự đồng bộ, khả năng dò sai, tính miễn nhiễu và giao thoa, mức độ phức tạp và giá thành của hệ thống).

Các dạng mã phổ biến:

Hình 2.17 Một số dạng mã thông dụng

2.7.7 Giới thiệu về mã Manchester

Mã hóa Manchester là một phương pháp mã hóa các bit dữ liệu sử dụng trongviệc truyền các tín hiệu dạng số Đây là phương pháp mã hóa các bit dữ liệu 1,0 thànhcác chuổi tín hiệu có mức tín hiệu thay đổi liên tục dù dãy bit dữ liệu là 1 hoặc 0 liêntiếp Do đó, ưu điểm của mã hóa Manchester là dễ dàng tạo sự tự đồng bộ giữa bênphát và bên nhận

2.7.8 Mạch phát RF

Thường dùng là loại module phát OOK (On/Off keyring) và ASK(Điều biên) đểchuyển các tín hiệu dạng số1-0 thành trạng thái có hoặc không có tín hiệu ở phần mạchthu

2.7.9 Mạch thu RF

Sử dụng để thu lại các tín hiệu từ mạch phát, biến các trạng thái phát hay không phát thành dạng số 1 hoặc 0 Nguyên tắc khi mạch thu rảnh không nhận dữ liệu từ mạch phát thì mạch vẫn có thể thu các tín hiệu nhiễu môi trường làm cho output của

nó có những tín hiệu 1, 0 không xác định Hoặc trong quá trình phát có 1 chuỗi dài bit

1 hoặc 0 liên tục Mỗi mạch thu phát đều có khả năng thu nhận một tín hiệu với tần số

nhất định Hình sau đây mô tả việc phân loại sóng vô tuyến theo tần số

Trang 26

Bảng 2.1: Phân loại sóng vô tuyến theo tần số

Sóng dài và cực dài Tần số 30-300KHz Bước sóng 10km-1kmSóng trung Tần số 0,3-3MHz Bước sóng 100m-1km

Sóng cực ngắn Tần số 30-3000MHz Bước sóng 10cm-10mDựa vào những kiến thức đã tìm hiểu ở trên nhóm đã quyết định sử dụng Modulethu phát sóng NRF24L01 tần số 2.4GHz

2.8 Ghép nối máy tính với vi điều khiển

Để chuyển tải thông tin về xử lý ảnh từ máy tính xuống vi điều khiển cùng với sựbất đồng về chuẩn giao tiếp (máy laptop không có cổng COM, vi điều khiển 16F877Akhông có khả năng lập trình giao tiếp USB) nhóm đã sử dụng bộ chuyển đổi USB toCOM sử dụng IC CH340

2.8.1 Giao tiếp nối tiếp dùng UART

Viết tắt của Universal Asynchronous Receiver – Transmitter – thường là mộtmạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính vàthiết bị ngoại vi thông qua cổng nối tiếp Rất nhiều vi điều khiển hiện nay đã tích hợpUART Để bắt đầu việc truyền dữ liệu bằng UART, một start bit được gửi đi, sau đó là5‐8 bit dữ liệu, sau đó là stop bit Start bit có trạng thái ngược với trạng thái bìnhthường của đường truyền dữ liệu Stop bit có cùng trạng thái với trạng thái bìnhthường của đường truyền dữ liệu Tốc độ của UART được quy định bởi tốc độ baud.Một số chuẩn của UART là EIA, RS 232, RS 422 và RS 485

Như vậy để làm việc với UART chúng ta phải quan tâm đến các thông số sau:

- Tốc độ Baud: thường là 9600

- Số bít được dùng để truyền Data: từ 5 đến 8 (thường là 8)

- Bít Stop 1, hay 2 thường chọn 1

- Bit chẵn lẻ

IC CH340 là một IC chuyên dụng cho việc chuyển đổi từ chuẩn giao tiếp USBsang chuẩn UART của máy tính (hình 18)

Trang 27

Hình 2.18 Sơ đồ chân IC CH340

IC CH340 có khả năng chuyển đổi thông tin hai chiều giữa hai chuẩn giao tiếptrên, phù hợp với chuẩn USB 2.0 Hỗ trợ tốc độ truyền thông tin liên lạc khác nhau từ50bps đến 2Mbps, tích hợp sẵn chuẩn RS232, RS485, RS422 Có hai chân nguồn ravới hai mức điện áp 5V và 3,3V Driver được update trực tiếp từ trang chủ Phù hợpvới các giao diện nối tiếp chuẩn có trong hệ điều hành Window

Camera IP nhóm sử dụng là loại có khả năng ghi hình bất kể ngày đêm Với chế

độ ban đêm 10 đèn Led hồng ngoại giúp nhìn rõ mọi vật trong vòng bán kính 10m.Lắp đặt Camera ở nơi có mạng wifi, cài đặt driver đi kèm lên PC, laptop sau đó nhậpđịa chỉ IP và mật khẩu Camera có khả năng quay trái phải một goc 270 độ, lên xuốngmột góc 90 độ Hỗ trợ kết nối không dây và dây mạng chuẩn (RJ45) Có khả năng tựcân bằng ánh sáng trắng, tích hợp loa bên trong, có ngõ Audio out hỗ trợ khuếch đại

âm thanh Hình ảnh VGA (640 x 480) – xoay ngang/ dọc /Camera wifi Có thể trựctiếp điều khiển các tính năng của camera như xoay, màu sắc, ánh sáng, độ phân giải,

âm thanh, đèn hồng ngoại, chụp ảnh file dạng JPG

Trang 28

Hình 2.19 Hình ảnh thực tế của Camera IP

2.10 IC thu phát sóng NRF24L01

NRF24L01 là một IC thu phát sóng wifi do hãng Nordic sản xuất với một số tínhnăng cơ bản như sau:

- Hoạt động ở giải tần 2.4GHz, có 126 kênh, truyền nhận dữ liệu theo hai chiều

- Truyền nhận tốc độ cao 1Mbps-2Mbps, công suất phát 0,-6,-12,18dBm

- Nguồn cấp 1,9 - 3,6V, các chân IO chạy được hai mức điện áp 3,3V và 5V

- Giao tiếp với 4 chân SPI, tốc độ tối đa 8Mbps, khung truyền nhận 3-32 bytes

- Sơ đồ chân của NRF24L01:

Hình 2.20 Sơ đồ chân của nRF24L01

2.11 Giới thiệu sơ lược về cảm biến

Bộ cảm biến là thiết bị điện tử cảm nhận những thay đổi từ môi trường bênngoài và biến đổi thành các tín hiệu điện để điều khiển các thiết bị khác Cảm biến làmột trong ba thành phần cơ bản của hệ thống điều khiển Có nhiều loại cảm biến khácnhau như cảm biến nhiệt, cảm biến quang , cảm biến khí, cảm biến hồng ngoại …

Trang 29

2.11.1 Giới thiệu về cảm biến đo nhiệt độ DS18b20

Theo như nguồn tin chính xác nhất là datasheet của nhà sản xuất thì trên mỗi conDS18B20 có một mã định danh duy nhất 64bit chứ trong bộ nhớ ROM trên chip (onchip ), giá trị nhị phân được khắc bằng tia laze Vì thế các bạn có thể dùng nhiều concảm biến để đo nhiệt độ nhiều nơi và chỉ cần một con vđk để đọc nhiệt độ từng con làđược Đối với bài này chúng ta chỉ sử dụng một con cảm biến nên cũng đi sâu vào địachỉ của cảm biến Một số thông tin datasheet của cảm biến:

- Sử dụng giao tiếp một dây nên chỉ cần một chân để truyền thông

- Điện áp sử dụng : 3 ÷ 5.5 V

- Cung cấp nhiệt độ với độ phân giải config 9, 10, 11, 12 bit, tùy theo sử dụng.Trong trường hợp không config thì nó tự động ở chế độ 12 bit

- Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit

- Có thể đo nhiệt độ trong khoảng -55 -> +125°C Với khoảng nhiệt độ là 10°C to +85°C thì độ chính xác ±0.5°C, ±0.25°C , ±0.125°C, ±0.0625°C Theo số bítconfig

Có chức năng cảnh báo nhiệt khi nhiệt độ vượt ngưỡng cho phép Người dùng

có thể lập trình chức năng này cho DS18B20 Bộ nhớ nhiệt độ cảnh báo không bị mấtkhi mất nguồn vì nó có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROMtrên chip (on chip), giá trị nhị phân được khắc bằng tia laze

- Cảm biến nhiệt độ DS18B20 có mã nhận diện lên đến 64-bit, vì vậy bạn cóthể kiểm tra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất để giaotiếp với các IC này

- Sơ đồ chân của cảm biến DS18B20 gồm có 3 chân DATA, GND,VCC

Trang 30

Hình 2.21 Sơ đồ chân cảm biến ds18b20

Trong đó:

- Vdd là chân cấp nguồn từ 3> 5.5 VDC, thông thường là 5VDC cùng vớinguồn của vđk

- GND là chân nối mass 0 VDC

- DQ là chân tín hiệu, chân này nối với vđk để giao tiếp

- N.C là chân not connect có nghĩa là không kết nối , để trống

Trang 31

CHƯƠNG 3 MÔ HÌNH HÓA VÀ MÔ PHỎNG HỆ THỐNG

Trong chương trình này các hệ thống sẽ được cụ thể hóa bằng mô hình và các lưu

đồ Nhằm thể hiện rõ cơ sở từ thiết kế thực tế, cũng như tính liên kết toàn hệ thống

Mô hình của hệ thống và thiết bị đươc lựa chọn là cơ sở để thiết kế các phần cơ khícủa robot

3.1 Mô hình hóa, thiết kế hệ thống cơ khí Robot

Hình 3.1 Mô hình cơ khí

Trang 32

1 Bánh sau truyền chuyển động từ động cơ chịu tải và giúp xe di chuyển.

2 Bánh trước bánh omni giúp dẫn hướng cho robot khi di chuyển

3 Bao trục trước giữ trục và bi tạo lên sự đồng trục bánh trước dẫn hướng

4 Tải nhiệt của mạch L298

5 Chắn động cơ giúp cố định động cơ với vỏ xe và tạo độ đồng trục

6 Động cơ tạo ra chuyển động cho xe

7 Hộp pin được gắn với vỏ xe bằng bulong và đai ốc

8 Khung xe để lắp đặt mạch hệ thống động cơ, trục lên

9 Nắp hộp pin

10 Ổ bi đỡ trục và tạo chuyển động quay giữa trục và khung xe

11.Tấm sau để lắp vào khung xe che lại phần gầm của xe bảo vệ mạch bên trong

12 Trục trước tạo ra chuyển động của bánh trước và giúp 2 bánh đồng trục

13 Vỏ xe được gắn với khung xe để bảo vệ phần mạch bên trong giúp xe chắcchắn hơn

14 Chốt gắn trục động cơ với bánh sau

15 Bulong chốt cố định chốt và trục động cơ

16 Bulong cố định bán xe và chốt

17, 18 Buluong và đai ốc để cố định các bộ phận trên xe lại với nhau

19 Camera IP

Trang 33

Khối thiết bị ngoại viKhối chấp hành

3.2 Mô hình hóa tổng quan Robot

Hình 3.2 Mô hình hóa hệ thống điện điều khiển

3.3 Mô hình hóa các thuật toán xử lý ảnh

Mục tiêu của đồ án là điều khiển robot bám theo những chuyển động của mắt.Khi đồng tử di chuyển robot phải di chuyển theo dựa vào hình ảnh thu được từwebcam để xác định được đối tượng di thẳng, rẽ phải ,rẽ trái Nghĩa là chúng ta phảiđiều chỉnh cả tốc độ tuy nhiên trong đề tài này chúng em chỉ điều khiển hướng và tốc

độ không thay đổi Để thực hiện được việc này, điều đầu tiên chúng ta cần là nhậndiện chính xác được chuyển động của đồng tử và nhận diện được hướng chuyển độngcủa nó Thứ hai chúng ta phải xây dựng được thuật toán xử lý nhận diện chuyển độngcủa đồng tử và quá trình đóng mở măt

Webcam

LAPTOP

MFC Visual studio 2010

Khung hình

USB to COM

Mạch thu phát sóng

Vi điều khiển PIC 16F877A

USB to COM

Module NRF24L01

Khối điều khiển trung tâm

Module NRF24L01

Vi điều khiển PIC 16F877A

Động cơ DC

Động cơ DC

Module L298

Cảm biến nhiệt độ DS18B20

Trang 34

Xử lý vật

Phép toán đóng

Nhị phân hóa ảnh với ngưỡng

Giới hạn vùng

xử lý

RGB to GRAY

Xác định đồng tử

Xác định viền mắt ( H mắt )

Điều kiện dừng Dừng

Phép toán mở

Bắt

đầu

%S đồng tử ( b[0], b[1], b[2], b[3], b[4] )

Trang 35

3.3.1 Nhận diện ảnh và xuất tín hiệu

Sau khi nhận diện được chính xác đối tượng, dựa vào đó máy tính sẽ xuất tínhiệu gửi qua USB to COM xuống mạch phát sóng đi tới mạch thu phát sóng và được

vi điều khiển xử lý để điều khiển động cơ Căn cứ vào vị trí dịch chuyển của đồng tử

so với tọa độ gốc mà ta có thể tính toán được khả năng di chuyển của robot Qua đó, ta

có thể chia khung ra thành các khoảng để việc điều khiển trở nên dễ dàng hơn Đối vớiquá trình điều khiển, chúng ta dựa vào phần trăm của đồng tử trên các vùng đã chia đểxác định tín hiệu Chúng ta có năm tín hiệu điều khiển f, t, b, l, r tương ứng với nămvùng tiến, dừng, lùi, trái, phải Trong quá trình điều khiển nếu máy tính không xácđịnh được tâm của đối tượng hay tâm của đối tượng nằm bên ngoài vùng được chia,đồng nghĩa với máy tính lúc đó chỉ xuất ra tín hiệu là dừng (t) xuống máy tính

Hình 3.4 Các vị trí tương ứng với các chế độ điều khiển

3.4 Mô hình hóa hệ điều khiển

Hình 3.5: Mô hình hóa hệ thống điều khiển

- Khối USB to COM: Sử dụng IC chuyển đổi CH340 Cho phép cấp nguồn ra5V và 3,3V Chuyển đổi từ USB sang nối tiếp không cần thêm MAX 232 Đây là khối

USB to COM

Module

phátsóng

Module

Nguồn 5V

Mạch điều khiển

độngcơ

Nguồn >12V

ICđiềukhiểntrungtâm

Dừng

Lùi

Trang 36

có chức năng truyền thông tin về xử lý ảnh từ máy tính xuống vi điều khiển bên khốiphát sóng.

- Khối điều khiển trung tâm: Khối thực hiện chức năng tiếp nhận xử lý thông tinđầu vào đồng thời có khả năng đưa ra tín hiệu điều khiển đã được lập trình Trong đềtài nhóm sử dụng hai vi điều khiển PIC 16F877A có các tính năng phù hợp như bộ nhớ

đủ lớn, hoạt động ổn đinh, bền, giá rẻ, được sử dụng phổ biến

- Khối nguồn: Nguồn 5V sử dụng IC ổn áp 7805, nguồn 12V sử dụng IC ổn áp

7812, nguồn cấp cho động cơ >12V sử dụng các cell pin laptop cũ (3,7V-3500mAh /1cell)

- Khối thu-phát sóng: Sử dụng module thu phát sóng NRF24L01 – tần số2.4GHz

- Hai động cơ DC 24V có hộp giảm tốc

- Mạch điều khiển động cơ: sử dụng IC L298 tích hợp 2 mạch cầu diot ổn ápbên trong, với điện áp làm tăng công suất đầu vào từ 5V – 47V, dòng lên tới 4A

3.5 Mô hình hóa hệ thống cảm biến.

Hình 3.6: Mô hình hóa hệ thống cảm biến

- Cảm biến đo nhiệt độ ds18b20 dùng để đo nhiệt độ môi trường

- Sử dụng vi điều khiển pic16f877a để kết nối với cảm biến đọc giá trị nhiệt độ

- IC xử lý cảm biến được sử dụng là PIC16f877a

- Truyền trực tiếp lên máy tính sử dụng module NRF24L01

- Máy tính xử lý: gồm 2 quá trình là vẽ biểu đồ trên giao diện điều khiển và lưu trữsang file txt

Cảm biển

DS18B20

Vi xử lý pic 16f877a

Module truyền RF Module Nhận RF

Máy tính xử lý Usb to com Vi xử lý pic16f877a

Trang 37

CHƯƠNG 4 THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

4.1 Thiết kế và thi công hệ thống cơ khí

Yêu cầu chung: mô hình nhỏ gọn, nhẹ với các chi tiết đơn giản dễ thi công, chếtạo, tận dụng được những chi tiết sẵn có trên thị trường nhưng vẫn đảm bảo được tínhthẩm mỹ và chắc chắn

Hình 4.2 Trục trước robot

Trang 38

4.1.3 Thiết kế tấm sau và chắn động cơ

Mục đích: làm tăng độ chắc chắn của xe trong quá trình chuyển động

Trang 39

Các phần chính trong tập hợp các mạch phần cứng thuộc nội dung đồ án bao gồm:

- Khối xử lý : Sử dụng vi điều khiển PIC 16f877a

- Khối thu, phát sóng: Sử dụng module thu phát sóng RF NRF24L01

- Mạch công suất, điều khiển động cơ: Mạch cầu L298

- Khối chuyển đổi tín hiệu USB to COM sử dụng IC CH340

Trang 40

ngược Có ưu điểm là dễ ghép nối, dễ thiết kế, nguồn ra ổn định Dòng đầu ra 1A, hoạtđộng ở dải nhiệt độ khá cao 0-125 độ C

4.2.2 Khối mạch công suất L298

Hình 4.8 Mạch khối công suất modul L298

4.2.3 Khối điều khiển trung tâm (KIT 16F877A)

Hình 4.9 Mạch điều khiển trung tâm (Theo cấu trúc Module)

Khối điều khiển trung tâm được thiết kế dạng các module riêng rẽ có các Jumpkết nối ngoài giúp dễ dàng thay thế mạch khi bị hỏng, thích hợp với nhiều dòng chip

Ngày đăng: 04/08/2016, 10:22

HÌNH ẢNH LIÊN QUAN

Hình 2.1  Máy tính của hãng tobii technology được điều khiển bằng mắt - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.1 Máy tính của hãng tobii technology được điều khiển bằng mắt (Trang 5)
Hình 2.3 Cảm biến cử chỉ mắt của Samsung galaxy S5 - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.3 Cảm biến cử chỉ mắt của Samsung galaxy S5 (Trang 5)
Hình 2.2  Công nghệ “SideWays” của trường đại học Lancaster - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.2 Công nghệ “SideWays” của trường đại học Lancaster (Trang 5)
Hình 2.4  Các bước cơ bản trong xử lý ảnh - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.4 Các bước cơ bản trong xử lý ảnh (Trang 6)
Hình 2.7  Tổ chức thư viện Opencv - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.7 Tổ chức thư viện Opencv (Trang 12)
Hình 2.12 Phép toán co (erosion) - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.12 Phép toán co (erosion) (Trang 17)
Hình 2.11 Giãn ảnh sử dụng phẩn tử cấu trúc - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.11 Giãn ảnh sử dụng phẩn tử cấu trúc (Trang 17)
Hình 2.14 Sơ đồ chân của PIC 16F877A - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.14 Sơ đồ chân của PIC 16F877A (Trang 20)
Hình 2.21 Sơ đồ chân cảm biến ds18b20 - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 2.21 Sơ đồ chân cảm biến ds18b20 (Trang 29)
Hình 3.1 Mô hình cơ khí - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 3.1 Mô hình cơ khí (Trang 30)
Hình 3.2 Mô hình hóa hệ thống điện điều khiển - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 3.2 Mô hình hóa hệ thống điện điều khiển (Trang 32)
Hình 3.3 Mô hình hóa thuật toán xử lý mắt - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 3.3 Mô hình hóa thuật toán xử lý mắt (Trang 33)
Hình 4.1 Thiết kế khung xe robot - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 4.1 Thiết kế khung xe robot (Trang 36)
Hình 4.3 Tấm sau xe - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 4.3 Tấm sau xe (Trang 37)
Hình 4.8 Mạch khối công suất modul L298 - Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Hình 4.8 Mạch khối công suất modul L298 (Trang 39)

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