Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET
Trang 1CHƯƠ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 2cũ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 4CHƯƠ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 5Hì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 62.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 7c 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 8Hai đ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 10f 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 11giả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 12diệ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 132.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 14Hì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 15Trong 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 17Từ 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 18Ta 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 19Hì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 222.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 23Hai 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 242.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 252.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 26Bả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 27Hì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 28Hì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 292.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 30Hì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 31CHƯƠ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 321 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 33Khố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
lý
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 353.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 36có 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 37CHƯƠ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 384.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 39Cá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 40ngượ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