Thiết kế chế tạo Robot hút bụt tự động

49 901 3
Thiết kế chế tạo Robot hút bụt tự động

Đ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

LỜI MỞ ĐẦU Tính cấp thiết đề tài Trong điều kiện kinh tế xã hội khoa học kỹ thuật phát triển mạnh ngày nay, ứng dụng công nghệ vào sống ngày phải thông minh khả tự động cao Căn vào đòi hỏi cấp thiết đó, đề tài có nhiệm vụ làm tăng thông minh cho robot quét nhà cách áp dụng công nghệ xử lý ảnh Robot quét nhà hay cleaner robot robot đời từ lâu, nhiệm vụ di chuyển khắp bề mặt sàn để hút bụi So với máy hút bụi tay, cleaner robot thông minh tự động nhiều, có khả làm việc mà không cần nhiều can thiệp người Tuy cleaner robot phải hoạt động điều khiển người, cụ thể trường hợp robot cần sạc lại pin hay đổ rác thải hút Nhiệm vụ đề tài sử dụng camera để dẫn đường cho robot tới trạm sạc, robot tự động sạc lại mà không cần giúp đỡ người Công nghệ mà đề tài hướng tới xử lý ảnh, công nghệ đại có khả áp dụng rộng rãi nhằm làm tăng tính tự động thông minh thiết bị điện tử Do đó, bên cạnh việc cải tiến cho robot cleaner, đề tài nhằm mục đích làm chủ công nghệ xử lý ảnh Tình hình nghiên cứu Hiện có nhiều công trình nghiên cứu nhằm cải tiến cleaner robot, trí cleaner robot có khả tự động dò tìm trạm sạc có mặt thị trường Nhưng cleaner robot sử dụng tin hồng ngoại để dò tìm trạm sạc Cụ thể chùm tia hồng ngoại hẹp trạm sạc phát ra, robot thu đo cường độ ánh sáng thu để xác định hướng di chuyển tới trạm sạc Tuy sử dụng camera giải pháp cao cấp toàn diện cho việc nhận dạng tìm kiếm Mục đích nghiên cứu Như trình bày phần “ Tính cấp thiết đề tài” , khóa luận hướng tới mục đích chính, là: cải thiện tính thông minh cho cleaner robot làm chủ công nghệ xử lý ảnh Sau hoàn thành khóa luận, cleaner robot tự động tìm trạm sạc sạc lại pin pin yếu Phần xử lý ảnh sử dụng kỹ thuật nhận dạng trạm sạc màu sắc hình đạng để tìm xác vị trí trạm sạc Phương pháp nghiên cứu Để thực mục đích khóa luận, việc phải chế tạo mô hình cleaner robot Mô hình phải bao gồm phận robot tự hành đặc trưng cho cleaner robot Cụ thể robot phải bao gồm: khối cảm biến, khối nguồn, khối điều khiển khối động Sau camera không dây gắn lên robot, tín hiệu hình ảnh từ camera thu xử lý máy tính Tín hiệu điều khiển sau lại truyền trở lại robot qua đường truyền RS232 không dây Phần mềm dùng để thiết kế mạch điện tử cho robot phần mềm Altium Designer 6.0 Phần mềm dùng cho mô Proteus7.5 Vi xử lý dùng để điều khiển robot Atmega128, lập trình ngôn ngữ C thông qua phần mền Codevision Phần lập trình xử lý ảnh thực máy tính, ngôn ngữ dùng để lập trình ngôn ngữ C++ thông qua phần mềm Visual C++ Hỗ trợ cho việc sử lý ảnh thư viện OpenCV, thư viện phát triển Intel, hỗ trợ mạnh xử lý ảnh Kết đạt đề tài Đã chế tạo thành công mô hình robot cleaner Robot di chuyển theo kiểu đường robot cleaner thực tế Robot nhận biết pin yếu, tự động bật camera tìm trạm sạc pin sau sạc lại Khả tìm trạm sạc robot tương đối xác, áp dụng kỹ thuật nhận dạng vật thể, là: dựa vào màu sắc dựa vào hình dạng Khi sạc đầy, robot tự động ngắt sạc chuyển sang chế độ quét nhà Mọi thông tin liên quan tới robot thông báo qua hình LCD qua tiếng nói Kết cấu khóa luận Khóa luận bao gồm phần, chia làm chương: Chương 1: Giới thiệu tổng quát cleaner robot Chương 2: Thiết kế mạch điện tử Chương 3: Xử lý ảnh CHƯƠNG 1: GIỚI THIỆU TỔNG QUÁT VỀ CLEANER ROBOT 1.1 Tổng quan robot cleaner Một cleaner robot thực tế cấu tạo gồm phận khí sau: đế robot, cảm biến va chạm, cấu giúp robot di chuyển, cấu quét nhà thùng chứa rác Nhưng robot quét nhà dùng cho khóa luận, robot mô phỏng, phận hút bụi thùng chứa rác Robot dùng khóa luận mô lại hoạt động robot thực cách di chuyển theo kiểu đường robot thực tế, bao gồm: theo hình chữ S, men tường, nhận dạng, xoắn ốc xoắn đa giác Hình 1.1: Robot cleaner thực tế Do mục đích đề tài sử dụng camera để nhận dạng trạm sạc cho robot, robot dùng khóa luận gắn thêm camera Thuật toán xử lý ảnh thực vi điều khiển nhỏ 32 bit, vi điều khiển dùng cho robot Atmage128, vi điều khiển bit, tín hiệu hình ảnh robot thu phải truyền không dây máy tính để xử lý Sau tín hiệu điều khiển lại truyền trở lại robot thông qua đường truyền RS232 không dây Việc áp dụng máy tính vào điều khiển hoạt động cleaner robot hoàn toàn khả thi, tương lai không xa, nhà thông minh trở nên phổ biến việc sử dụng máy tính trung tâm để theo dõi điều khiển hoạt động toàn nhà điều chắn Hình 1.1: Robot dùng khóa luận Hình 1.2: Mô hình thu phát tín hiệu robot máy tính 1.2 Camera không dây Camera không dây sử dụng khóa luận loại camera màu, tín hiệu phát tần số 1,000 MHz, khoảng cách lớn 200m Để thu tín hiệu, khóa luận sử dụng thu tín hiệu hình ảnh RF hãng Gadmei Tín hiệu sau thu tín hiệu video tương tự, tương thích với tivi, để đưa vào máy tính, tín hiệu cần số hóa Có thể dùng USB tivi box để làm việc này, tín hiệu vào tivi box tín hiệu video tương tự, tín hiệu tín hiệu số composite, tín hiệu đưa trực tiếp vào máy tính thông qua cổng USB (Hình 2) 1.3 RS232 không dây Để máy tính điều khiển hoạt động robot, khóa luận sử dụng thu phát RS232 không dây hãng Maxstream Trong điều kiện không gian nhiều vật cản, khoảng cách mà thiết bị hoạt động lên đến 11km Để thực việc truyền thông cần có cặp thiết bị thu phát này, đóng vai trò phát, lại đóng vai trò thu Trên thực tế, thiết bị thực việc thu phát song song Đối với khóa luận, kết nối trực tiếp với cổng Com máy tính, lại kết nối với vi điều khiển sau đưa qua mạch chuyển đổi tín hiệu từ RS232 sang tín hiệu TTL 1.4 Hoạt động Cleaner robot Hoạt động cleaner robot dùng khóa luận bao gồm chế độ chính, là: quét nhà, tìm trạm sạc sạc pin 1.4.1 Khởi động Khi robot khởi động, kiểm tra giắc cắm adapter mạch sạc dung lượng pin để định chế độ làm việc: có cắm sạc pin robot chế độ sạc, không cắm sạc pin dung lượng pin ít, robot định chế độ tìm trạm sạc, dung lượng pin nhiều, robot thực chế độ quét nhà Hình 1.2: Lưu đồ giải thuật lúc khởi động 1.4.2 Chế độ quét nhà Khi robot bắt đầu chế độ quét nhà, phát thông báo tới máy tính, máy tính phát tín hiệu âm thông báo cho người dùng thiết lập kiểu di chuyển robot thời gian quét Nếu không thiết lập, robot hoạt động chế độ mặc định là: kiểu di chuyển hình chữ S thời gian quét 30 phút Sau thiết lập xong không thiết lập muốn robot hoạt động, người sử dụng phải nhấn nút robot nhấn nút OK chương trình điều khiển máy tính, không nhấn nút, robot rơi vào chế độ ngủ sau 10 phút, người sử dụng cần bật lại công tắc khởi động để khởi động lại robot Robot có kiểu di chuyển để quét nhà, là: theo hình chữ S, men tường, nhận dạng, xoắn ốc xoắn đa giác Hình 1.3: kiểu di chuyển để quét nhà Pin luôn kiểm tra trình quét nhà, phát pin yếu, robot dừng chương trình quét nhà, để chuyển sang chế độ tìm trạm sạc Khi robot quét nhà xong, máy tính phát thông báo cho người sử dụng biết để tắt robot Hình 1.4: Thuật toán quét nhà 1.4.3 Chế độ tìm trạm sạc Khi robot phát pin yếu, thông báo với máy tính để máy tính chuyển sang chế độ tìm trạm sạc Đồng thời camera robot bật, robot đợi nhận tín hiệu điều khiển từ máy tính thông qua cổng truyền thông nối tiếp Máy tính trực tiếp điều khiển hoạt động robot chế độ Trạm sạc đánh dấu giấy hình chữ nhật, màu đỏ Đầu tiên máy tính thu nhận tất vị trí có màu sắc giống màu sắc trạm sạc, sau đưa robot di chuyển tới vị trí Khi robot tới gần vật nghi ngờ trạm sạc, máy tính kiểm tra hình dạng vật đó, trạm sạc cho robot tiếp cận, trạm sạc cho robot quay 45 độ theo chiều kim đồng hồ để tiếp tục tìm kiếm Nếu camera không thu nhận thấy khu vục có màu sắc giống trạm sạc, robot quay 45 độ theo chiều kim đồng hồ để kiểm tra Thời gian dành cho tìm trạm sạc 10 phút, khoảng thời gian robot không tìm trạm sạc, rơi vào trạng thái ngủ Hình 1.5: Trạm sạc cho robot Hình 1.6: Thuật toán tìm trạm sạc 1.4.4 Chế độ sạc pin Robot bắt đầu chế độ sạc pin phận sạc robot tiếp xúc với nguồn điện thích hợp Robot thông báo lên máy tính để tắt chế độ tìm trạm sạc, đồng thời robot tắt camera Robot cắm sạc trực tiếp mà không cần thông qua chế độ tìm trạm sạc Trong trình sạc, dung lượng pin robot luôn kiểm tra Khi pin đầy, robot tự động lùi lại chút để tách khỏi trạm sạc Sau tách khỏi trạm sạc, robot chế độ quét nhà chờ người sử dụng thiết lập Hình 1.7: Hình ảnh robot trạm sạc Hình 1.8: Thuật toán quét nhà CHƯƠNG 2: THIẾT KẾ MẠCH ĐIỆN TỬ 2.1 Tổng quan mạch điện tử cleaner robot Cleaner robot dùng khóa luận mô hình cleaner robot thực thực tế, mục đích khóa luận áp dụng thị giác máy tính để giúp cleaner robot tìm đường đến trạm sạc, nên robot bao gồm thành phần điện tử bản, như: khối điều khiển, phận cảm biến va chạm, loa báo, thiết bị hiển thị, khối điều khiển động khối nguồn Trong robot cleaner thực tế thành phần liệt kê cần có: phận hút bụi, cảm biến để nhận biết cầu thang thiết bị điều khiển từ xa Hiển thị Cảm biến va chạm KHỐI ĐIỀU KHIỂN Máy tính Loa báo Động Nạp pin Pin Ni-mh 5V 12V DC 22V Hình 2.3: Sơ đồ cấu trúc phần điện tử 3.2.2.2 Bắt màu  Định nghĩa Bản chất phương pháp tìm kiếm ảnh pixel mang màu sắc giống gần giống vật thể Để hạn chế ảnh hưởng điều kiện ánh sáng, việc lọc màu thực không gian màu HSV Do màu HSV có phân biệt màu sắc ánh sáng Chẳng hạn vật thể có màu đỏ, cần lọc ảnh thu pixel có độ Hue xấp xỉ (Hình 22) Ưu điểm phương pháp áp dụng khoảng cách tới vật thể xa, thuật toán đơn giản, tốc độ tìm kiếm nhanh Nhưng nhược điểm phương pháp là: Không thể phân biệt đâu vật thể đâu nhiễu, để hạn chế điều vật thể chọn làm đối tượng tìm kiếm phải có màu sắc khác biệt với màu sắc môi trường xung quanh Một nhược điểm là: độ sáng thay đổi làm thay đổi màu Hue vật thể, phải chọn vật thể có màu phản quang  Thực Ảnh chứa vật thể phải chuyển sang mô hình màu HSV, sau trích khoảng màu tương đồng với vật thể cần tìm kiếm Giả sử màu cần tìm kiếm có màu đỏ cần trích điểm có giá trị Hue sấp xỉ Hình 3.27: Ảnh thu sau trích màu Nhiễu vấn đề trầm trọng phương pháp này, cần phải triệt tiêu nhiễu Nhận thấy chất nhiễu vài pixel phản xạ ánh sáng làm cho chúng có màu với vàu vật thể cần tìm kiếm Các pixel phân bố rời rạc có độ tập trung không cao, ngược lại so với vật thể cần tìm kiếm Do sử dụng biện pháp ăn mòn theo đường biên để giảm triệt tiêu nhiễu Ăn mòn theo đường biên ( erosion ) làm giảm kích thước tất phần màu trắng (Hình 27), đồng thời làm tăng độ rộng lỗ trống màu đen nằm vật thể Hình vẽ bên mô tả trình ăn mòn theo đường biên Hình 3.28: Ăn mòn theo đường biên Thư viện Opencv có hàm cvErode thực công việc Hình 3.29: Ảnh thu sau bị ăn mòn Tùy vào độ sâu việc ăn mòn mà nhiễu bị triệt tiêu hoàn toàn không Nhưng trình bày việc ăn mòn làm giảm kích thước vật làm tăng kích thước ô trống, cần phải làm giản nở ( dilation ) ảnh sau thực ăn mòn Công việc thực chất ngược lại việc ăn mòn Trong Opencv có hàm cvDilate làm điều Hình 3.30: Ảnh thu sau đà giãn nở Phương pháp trích lọc màu trình bày đơn giản thật hiệu phải tìm kiếm vật thể xa Nhưng phương pháp tìm kiếm tất khu vực có màu giống vật thể, phân biệt đâu vật cần tìm đâu vật khác có màu giống Do trích lọc màu coi bước tìm kiếm đầu tiên, robot xa vật cần tìm kiếm, cần kết hợp với kỹ thuật khác để nhận dạng xác vật cần tìm, như: tìm kiếm dựa vào hình dạng, dựa vào đặc điểm đặc trưng… 3.3 Nhận dạng vật thể dựa vào hình dạng Nhận dạng ảnh dựa vào hình dạng bước xử lý cao cấp, cho phép nhận dạng vật thể cách xác Phương pháp nhận dạng vào hình dạng chủ yếu thực biên bao quanh vật thể 3.3.1 Định nghĩa biên Biên hiểu đường bao quanh đối tượng Trong ứng dụng có tiêu chuẩn khác để xác định biên, số thay đối đột ngột cấp độ xám Ví dụ: ảnh đen trắng, điểm gọi điểm biên điểm đen có điểm trắng bên cạnh Có phương pháp để dò biên đối tượng, là: dò biên trực tiếp dò biên gián tiếp Phương pháp dò biên trực tiếp áp dụng tốt trường hợp chênh lệch mức xám lớn chịu ảnh hưởng nhiễu Còn trường hợp chênh lệch mức xám nhỏ phương pháp dò biên trực tiếp tỏ hiệu quả, phương pháp dò biên gián tiếp lại áp dụng tốt trường hợp Việc xác định biên thực ảnh đen trắng Vùng pixel biểu diễn đối tượng có màu đen phần lại có màu trắng Đối với ảnh mầu, trước thực tìm kiếm biên phải chuyển ảnh đen trắng 3.3.2 Các phương pháp tìm biên 3.3.2.1 Phương pháp dò biên trực tiếp • Kỹ thuật phát biên Gradient Gradient vecto có thành phần biểu thị tốc độ thay đổi giá trị điểm ảnh, ta có: f ( x, y + dy ) − f ( x, y ) ∂f ( x, y ) f ( x + dx, y ) − f ( x, y ) ∂f ( x, y ) = fy ≈ = fx ≈ , ∂y dy ∂x dx Trong đó, dx, dy khoảng cách tính số điểm theo hướng x y Trong trường hợp dx=dy=1 ta có: f ( x, y + 1) − f ( x, y ) ∂f f ( x + 1, y ) − f ( x, y ) ∂f ≈ ≈ , ∂y dy ∂x dx Ảnh số ảnh biểu diễn dạng ma trận chiều, để tìm biên đối tượng ảnh số theo kỹ thuật Gradient ta lấy ma trận ảnh nhân với mặt nạ nhân chập, suy từ công thức Mặt nạ nhân chập theo hướng x A= ( − 1)  − 1  1 Mặt nạ nhân chập theo hướng y B=  0  0 Chẳng hạn với ảnh I=   0  0  3 Ta có: I ⊗ A=   *  0 * 0 * 3 0  3 3   3 * 0   * 0 , I ⊗ B=   *   * *  0  3 Do đó: I ⊗ A + I ⊗ B =   *  0 * 0 * 0 * 0 * *  * *  * *  * , *  * Dãy pixel có mức xám đường biên cần tìm đối tượng • Kỹ thuật Prewitt Kỹ thuật Prewitt tương tự kỹ thuật Gradient, điểm khác là:  − 1   Mặt lạ nhân chập theo hướng x A =  − 1  − 1    − − − 1   Mặt lạ nhân chập theo hướng y B =  0  1 1   Các bước tính toán kỹ thuật Prewitt tượng tự kỹ thuật Gradient Bước 1: Tính I ⊗ A I ⊗ B Bước 2: Tính I ⊗ A + I ⊗ B • Kỹ thuật Sobel Tương tự kỹ thuật Prewitt kỹ thuật Sobel sử dụng mặt nạ nhân chập là:  −1   −1 −      H x =  − 2 , H y =  0 0  −1   −1 −      Các bước tính toán tương tự kỹ thuật Prewitt: Bước 1: Tính I ⊗ H x I ⊗ H y Bước 2: Tính I ⊗ H x + I ⊗ H y • Kỹ Kỹ thuật la bàn thuật la bàn sử dụng mặt nạ nhân chập theo hướng: o ,45 o ,90 o ,135 o ,180 o ,225o ,270 o ,3150 − 3 5     −  − − 5         H1 =  − 3 , H =  − − 3 , H =  −  , H =  − 5  − − − 3  − − − 3  − − − 3  − − 5          − − − 3  − − − 3  − − − 3  − − 3         H5 =  −  , H =  − − 3 , H =  − 3 , H =  − 3 −    − − 3  5  −       Các bước tính toán kỹ thuật la bàn Bước 1: Tính I ⊗ H i ; i = 1,8 Bước 2: Tính • ∑I ⊗H i =1 i Kỹ thuật phát biên Laplace Các phương pháp trình bày làm việc tốt mà độ sáng thay đổi rõ nét Khi mức xám they đổi chậm, miển chuyển tiếp trải rộng, đạo hàm lần không mạng lại kết xác, phương pháp xác sử dụng đạo hàm bậc Laplace Toán tử Laplace định nghĩa sau: ∇ f = Trong đó: ∂2 f ∂x = ∂2 f ∂2 f + ∂x ∂y ∂  ∂f  ∂   ≈ ( f ( x + 1, y ) − f ( x, y ) ) ∂x  ∂x  ∂x ≈ [ f ( x + 1, y ) − f ( x, y ) ] − [ f ( x, y ) − f ( x − 1, y ) ] ≈ f ( x + 1, y ) − f ( x, y ) + f ( x − 1, y ) ∂2 f Tương tự: ∂y ≈ f ( x, y + 1) − f ( x, y ) + f ( x, y − 1) Vậy: ∇ f = f ( x + 1, y ) + f ( x, y + 1) − f ( x, y ) + f ( x − 1, y ) + f ( x, y − 1)  0   Dẫn tới dùng mặt nạ thay H =  −   0   3.3.2.2 Phương pháp dò biên gián tiếp Phương pháp dò biên gián tiếp thực qua bước sau: • Xác định điểm biên xuất phát • Dự báo xác định điểm biên • Lặp lại bước gặp điếm xuất phát Việc tìm điểm biên tìm kiếm số điểm láng giềng điểm biên trước Trừ điểm nằm đường viền ảnh, lại điểm có điểm láng giềng theo hướng khác P3 P4 P5 P2 P P6 P1 P0 P7 Hình 3.31: ma trân mô tả điểm láng giềng • Xác định điểm xuất phát cách duyệt ảnh từ xuống từ trái xang phải, gặp điểm đen • Điểm biên xác định cách kiểm tra điểm số điểm láng giềng điểm trước theo chiều kim đồng hồ, gặp điểm đen thỏa mãn dừng, coi điểm biên mà không cần kiểm tra hết điểm láng giềng lại Việc chọn điểm số điểm láng giềng để tiến hành kiểm tra việc chọn ngẫu nhiêu Với điểm biên đầu tiên, chọn điểm P4 làm điểm bắt đầu kiểm tra Còn điểm sau, việc chọn điểm láng giếng bắt đầu vào việc chọn điểm bắt đầu điểm biên trước đó, theo công thức: dir= ((pdir+3)/ * 2)%8 ; Với dir hướng chọn điểm láng giềng để bắt đầu kiểm tra Pdir hướng chọn điểm láng giềng điểm biên trước Việc thay đổi hướng chọn điểm láng giếng bắt đầu cần thiết để tìm điểm đen nằm biên, có nhiều điểm láng giềng có màu đen Hình 3.32: Hình minh họa tìm biên gián tiếp 3.3.2.3 Dò biên sử dụng thư viện Opencv Thư viện Opencv cung cấp hàm phục vụ cho việc tìm kiếm biên đối tượng nhanh hiệu là: cvFindContour() int cvFindContours( IplImage* img, CvMemStorage* storage, CvSeq** firstContour, int headerSize = sizeof(CvContour), CvContourRetrievalMode mode = CV_RETR_LIST, CvChainApproxMethod method = CV_CHAIN_APPROX_SIMPLE ); Dữ liệu vào img, ảnh đen trắng đầu vào Nếu ảnh thu ảnh mầu cần phải chuyển thành đen trắng trước sử dụng hàm Việc chuyển thành đen trắng dùng hàm cvThreshold() Để hàm cvFindContours tìm xác biên dạng ảnh hàm cvThreshold() phải chuyển ảnh ảnh đen trắng cho giữ toàn hình dạng đối tượng đối tượng phải màu đen.Tiếp đến storage, vùng nhớ dùng để lưu trữ đường biên ảnh Con trỏ firstContour dùng để trỏ tới vùn nhớ lưu trữ biên ảnh Thông số cần quan tâm tiếp đến mode method dùng để định chế độ phương pháp dùng để tìm biên Giá trị trả hàm số lượng đường biên tìm Vì ảnh đầu vào có nhiều khu vực có màu đen không khu vực đối tượng Đường biên ảnh tìm thấy lưu vào cấu trúc mà trỏ firstContour trỏ tới Cấu trúc là: CvSeq định nghĩa sau: typedef struct CvSeq { int flags; // miscellaneous flags int header_size; // size of sequence header CvSeq* h_prev; // p r e v i o u s s e q u e n c e CvSeq* h_next; // next sequence CvSeq* v_prev; // 2nd previous sequence CvSeq* v_next; // 2nd next sequence int total; // total number of elements int elem_size; // size of sequence element in byte char* block_max; // maximal bound of the last block char* ptr; // current write pointer int delta_elems; // how many elements allocated // when the sequence grows CvMemStorage* storage; // where the sequence is stored CvSeqBlock* free_blocks; // free blocks list CvSeqBlock* first; // pointer to the first sequence block } Trong cấu trúc cần quan tâm tới thông số: total cho biết tổng số điểm có cấu trúc, trỏ h_prev, h_next, v_prev, v_next trỏ tới điểm lân cận Ghi 2.4:Ví dụ sử dụng cvFindContour để tìm biên đối tượng trình bày phụ lục phần (“con trong”), trang (“con trong”) 3.3.3 Nhận dạng đối tượng dựa vào biên 3.3.3.1 Phương pháp Moment Mô ment đặc tính tổng quát đường biên tính cách lấy tích phân tổng tất điểm đường biên n m p ,q = ∑ I ( x, y ) x p y q , p, q = 0,1,2,3 i =1 Trong trường hợp p=q=0, moment m0,0 độ dài đường biên Để có ý nghĩa nhận dạng ảnh, người ta thường sử dụng moment trung tâm, định ngĩa sau: µ p ,q = ∑ I ( x, y ) ( x − xavg ) ( y − y avg ) n p q i =0 Trong đó: xavg = m10 m01 , y avg = m00 m00 Moment trung tâm sau tiêu chuẩn hóa: η p ,q = µ p ,q ( p + q ) / 2+1 m00 Tiếp đến công thức tính Hu moment, có giá trị Hu moment mà gần bất biến trường hợp vật thể bị thay đổi kích thước, bị xoay hay vị trí vật thể ảnh h1 = η 20 + η 02 h2 = (η 20 − η 02 ) + 4η112 h3 = (η 30 − 3η12 ) + ( 3η 21 − η 03 ) h4 = (η 30 + η12 ) + (η 21 + η 03 ) 2 ( h5 = (η 30 − 3η12 )(η 30 + η12 ) (η 30 + η12 ) − 3(η 21 + η 03 ) ( + ( 3η 21 − η 03 )(η 21 + η 03 ) 3(η 03 + η12 ) − (η 21 + η 03 ) ( 2 ) ) ) h6 = (η 20 − η 02 ) (η 30 + η12 ) − (η 21 + η 03 ) + 4η 11 (η 30 + η12 )(η 21 + η 03 ) 2 ( h7 = ( 3η 21 − η 03 )(η 21 + η 03 ) 3(η 30 + η12 ) − (η 21 + η 03 ) ( − (η 30 − 3η12 )(η 21 + η 03 ) 3(η 30 + η12 ) − (η 21 + η 03 ) 2 ) ) Hình 3.33: Một số hình mẫu để tính Humoment Bảng 2-3: Những giá trị Humoment đặc trưng cho hình dạng Tính Moment dựa vào thư viện Opencv • : cấu trúc lưu trữ Moment CvMoment typedef struct CvMoments { // spatial moments double m00, m10, m01, m20, m11, m02, m30, m21, m12, m03; // central moments double mu20, mu11, mu02, mu30, mu21, mu12, mu03; // m00 != ? 1/sqrt(m00) : double inv_sqrt_m00; } CvMoments; • cvContoursMoments() : Hàm tính Moment void cvContoursMoments( CvSeq* contour, CvMoments* moments ) Hàm cvContoursMoments dùng để tính giá trị Moment biết đường biên bao quanh vật thể CvSeq* contour cấu trúc lưu trữ đường biên, giá trị cần đưa vào để tính Moment CvMoments* moments cấu trúc dùng để lưu giá trị Moment tính • cvGetHuMoments() : Hàm tính giá trị Hu moment void cvGetHuMoments( CvMoments* moments, CvHuMoments* HuMoments ); CvMoments* moments cấu trúc chứa giá trị Moment (m00, m10, m01…), giá trị cần đưa vào để tính Hu moment CvHuMoments* HuMoments cấu trúc chứa giá trị Hu moment tính Ghi 2.5: Ví dụ tính Humoment trình bày phần phụ lục (“còn trống”), trang (“ trong”) 3.3.3.2 Thuật toán Freeman chain Thuật toán Freeman chain sử dụng đa giác xấp xỉ để biểu diễn đối tượng dựa vào đường biên chúng Mỗi đoạn thẳng đa giác xấp xỉ có giá trị từ đến 7, biểu diễn hướng, hướng xấp xỉ gần giống đoạn đường biên Hình 3.34: (a)8 hướng mà Freeman chain dùng để lấy xấp xỉ (b)chuỗi giá trị thu lấy xấp xỉ đường biên ô tô Chuỗi giá trị thu sau lấy xấp xỉ thuật toán Freeman có nhiều đặc điểm có ích cho việc nhận dạng Nó đặc trưng cho đối tượng, đối tượng khác thu chuỗi giá trị khác Khi vật thể bị xoay, chuỗi giá trị có thay đổi, dễ dàng chuyển dạng ban đầu, bên cạnh cho biết góc xoay vật thể Tuy chuỗi giá trị không bất biến trường hợp kích thướng vật thể bị thay đổi, dễ dàng để rút gọn (hoặc tăng kích thước) chuỗi cho phù hợp với kích thước đối tượng Hình 3.35: Đối tượng xoay góc 45 độ Hình vẽ mô tả đối tượng bị xoay góc 45 độ so với vật thể gốc Khi đó, thành phần chuỗi tăng thêm đơn vị Bằng cách giảm thành phần chuỗi đơn vị thu chuỗi giống ban đầu kết luận hai đối tượng Ngoài thành phần chuỗi đối tượng thứ tăng lên đơn vị, đối tượng xoay góc 45 độ Hình 3.36: Đối tượng thay đổi kích thước Trong trường hợp đối tượng thay đổi kích thước, số lượng thành phần chuỗi Freeman chain có khác nhau, số lần Bằng cách thêm bớt giá trị lặp lại, thu chuỗi đặc trưng cho đối tượng Trên thực tế, cách so sánh kích thước đối tượng thu với kích thước đối tượng thực tế (đã biết), sau chọn độ dài cạnh xấp xỉ thuật toán Freeman, cuối thu xác chuỗi đặc trưng cho đối tượng KẾT LUẬN Những kết đạt khóa luận Căn vào nội dung, nhiệm vụ đề tài, khóa luận tương đối giải hết vấn đề đặt ra, cụ thể sau: Robot điều khiển trực tiếp phím bấm bảng điều khiển phần mềm máy tính Phần mềm thiết kế dao diện phù hợp dễ dàng sử dụng Người sử dụng thiết lập chế độ hoạt động cho robot, điều khiển trực tiếp robot di chuyển tới vị trí mong muốn Robot xây dựng với kiểu di chuyển khác nhau: kiểu phản xạ, men theo tường, hình chữ S, kiểu xoắn đa giác, kiểu xoắn chôn ốc Mọi thông tin liên quan đến trạng thái hoạt động robot, như: kiểu di chuyển, dung lượng pin, lỗi phát ra, hiển thị hình LCD robot hình máy tính Robot có cảm biến va chạm bên, giúp cho robot có khả phát va chạm để tìm hướng khác tránh khỏi vật cản Loa cảnh báo thông báo có lỗi, như: pin yếu, không tìm thấy trạm sạc, thấy trạm sạc không sạc điện Robot có khả dò tìm ổ nạp để tự động nạp lại pin yếu Sau nạp xong, robot vào thời gian thiết lập hoạt động ban đầu để lựa chọn hoạt động Nếu thời gian còn, robot tiếp tục hoạt động, thời gian hết robot tách khỏi trạm sạc rơi vào trạng thái ngủ Các tính phát triển tương lai Trong tương lai, cleaner robot không nhận dạng trạm sạc mà dò tìm nơi chứa rác tự động đổ rác quét xong Nếu tính hoàn thiện robot trở nên hoàn toàn độc lập với điều khiển người Việc nhận dạng nơi đổ rác tương tự nhận dạng trạm sạc, cần gắn vật khác làm mẫu robot dò tìm vật mẫu Hiện có nhiều nhà thông minh lắp đặt hệ thống camera để quan sát toàn nhà Do việc lắp đặt camera robot cleaner trở nên không cần thiết Robot, trạm sạc nơi đổ rác luôn quan sát, máy tính phân tích điều khiển trực tiếp robot tiếp cận trạm sạc nơi đổ rác Phát triển theo hướng trên, sau người sử dụng có làm rơi chất bẩn lên sàn cần tay vào hình cảm ứng hiển thị hình hình ảnh nhà, robot tự động di chuyển tới chỗ làm vệ sinh [...]... thể tạo ra các âm thanh khác nhau Loa sử dụng trong khóa luận dùng để thông báo tình trạng của robot như: hết pin, sạc xong… Hình 2.15: Loa và sơ đồ mạch thông báo 2.5 Mạch điều khiển động cơ Động cơ sử dụng giúp cho robot di chuyển là loại động cơ một chiều, điện thê hoạt động từ 5V đến 12V Robot có 2 động cơ gắn vào 2 bánh chủ động Chíp L298 là một loại chip công xuất dùng để điều khiển loại động. ..  Pin sử dụng cho robot là pin Ni-mh Đây là loại pin đòi hỏi kỹ thuật sạc khá phức tạp, do đó mạch nguồn phải được thiết kết để nạp cho loại pin này  Mạch nguồn phải có khả năng tự động ngắt kết nối với pin, không lấy năng lượng từ pin trong lúc đang sạc Thay vào đó là lấy năng lượng từ mạch sạc 2.2.2 Thiết kế mạch nguồn 2.2.2.1 Mạch tạo điện áp không đổi 5V Hình 2.4: Sơ đồ mạch tạo nguồn 5V sử dụng... điều khiển thậm chí gây cháy chip điều khiển, nên nhất thiết phải sử dụng các diot mắc ngược (Hình 2 17) để triệt tiêu nhiễu Mô tả hoạt động của mạch điều khiển động cơ Vì hai động cơ là tương tự nhau nên chỉ cần mô tả hoạt động của một động cơ Bảng 1- 2: Mô tả hoạt động của mạch điều khiển động cơ Motor_L_E Motor_L_1 0 0 1 1 0 1 Motor_L_ 2 OUT1 OUT2 Động cơ B1 0 0 0 Dừng 1 0 0 Dừng 0 0 0 Dừng 1 0 0 Dừng...2.2 Khối mạch nguồn 2.2.1 Nhiệm vụ của khối mạch nguồn  Tạo ra điện áp 12V2A ổn định cấp cho 2 động cơ Động cơ được điều khiển bằng cách cung cấp xung PWM, nên trong quá trình hoạt động, động cơ sẽ tạo ra nhiễu Nhiễu này có thể làm ảnh hưởng tới nguồn cung cấp cho mạch điều khiển, do đó tạo nguồn ổn định cho động cơ cũng chính nhằm mục đích triệt tiêu nhiễu này  Cung cấp điện áp 5V1A... về vi điều khiên khi xảy ra va chạm giữa robot và vật cản trên đường đi Hai cảm biến nằm mỗi bên và lêch về đằng trước cho phép robot cảm nhận va chạm đến từ bên trái, bên phải hay đằng trước  Loa báo có nhiệm vụ thông báo tình trạng của robot, như: pin yếu, bắt đầu sạc, sạc xong 2.4.2 Thiết kế mạch cảm biến và loa báo Hình 2.13: Opto và sơ đồ cấu tạo Khi robot va chạm với vật cản, hệ thống cơ khí... lệ ∆ T/ ∆ t tăng mạnh thì có thể kết luận là pin đã đầy và có thể kết thúc quá trình nạp Trong nhiều trường hợp không nhất thiết phải theo dõi giá trị của nhiệt độ ( ∆ T/ ∆ t) mà chỉ cần kiểm tra sự tăng giảm của hiệu điện thế ( ∆ T/ ∆ t) cũng đủ để kết luận dung lượng của pin Ứng dụng cho clearner robot trong khóa luận chỉ dùng kỹ thuật kiểm tra hiệu điện thế  Thiết kế mạch sạc cho pin Ni-mh Như đã... 10 = V _ bat × ≈ 0.175 × V _ bat R6 + R7 10 + 47 2.2.2.4 Mạch role Nhiệm vụ của mạch role là tự ngắt nguồn của pin khi robot chuyển từ chế độ hoạt động sang chế độ sạc, thay vào đó là sử dụng nguồn 22V từ adapter Vì nếu vừa sử dụng pin vừa sạc có thể gây giảm tuổi thọ của pin Để làm được điều này, trong thiết kế đã sử dụng role SRD-05VDC Đây là role 5 chân, khi cuộn dây nối giữa chân 4 và chân 5 không... độ hoạt động TJ : 0 C < TJ < 125 C • Điện áp vào V _ Com : 7V < V _ Com < 20V • Dòng điện vào I IN : 5mA < I IN < 1A Cùng họ với chíp LM7805 còn rất nhiều loại khác cho điện áp đầu ra cố định như: LM7806, LM7808, LM7810, LM7812, LM7815…phù hợp với nhiều ứng dụng khác nhau 2.2.2.2 Mạch cấp nguồn cho động cơ Động cơ sử dụng cho robot là động cơ 1 chiều, điện áp tiêu thụ 12V, 0.5A Mạch nguồn cho động cơ... 10 = V _ 22v × ≈ 0.175 × V _ 22v R 6 + R7 10 + 47 Khi có kết nối với nguồn sạc 22v, Chân V_sen1 = 3.85v, còn khi không kết nối, V_sen1 = 0 Vi điều khiển căn cứ vào kết quả đọc ADC từ chân V_sen1 để chọn chế độ làm việc là sạc hay không 2.3 Mạch điều khiển 2.3.1 Nhiệm vụ của mạch điều khiển  Điều khiển hoạt động trực tiếp tới các phần khác, như: động cơ, LCD, mạch sạc pin, loa báo hiệu và thu nhận tín... cho phép điều khiển hoạt động cùng lúc cho 2 động cơ Hình 2.16: Sơ đồ nguyên lý của chip L298 Một số thông số kỹ thuật của chip L298: • o o Nhiệt độ hoạt động: − 40 C < TJ < 150 C • Điện áp cung cấp tối đa: 50v • Dòng tải tối đa cho mỗi mạch cầu H: 2A • Điện áp điều khiển: − 0.3v < Vdk < 7v Hình 2.17: Sơ đồ nguyên lý mạch điều khiển motor Khi động cơ hoạt động, có những lúc động cơ quay hay dừng, quay ... không thiết lập, robot hoạt động chế độ mặc định là: kiểu di chuyển hình chữ S thời gian quét 30 phút Sau thiết lập xong không thiết lập muốn robot hoạt động, người sử dụng phải nhấn nút robot. .. Intel, hỗ trợ mạnh xử lý ảnh Kết đạt đề tài Đã chế tạo thành công mô hình robot cleaner Robot di chuyển theo kiểu đường robot cleaner thực tế Robot nhận biết pin yếu, tự động bật camera tìm trạm... lượng pin robot luôn kiểm tra Khi pin đầy, robot tự động lùi lại chút để tách khỏi trạm sạc Sau tách khỏi trạm sạc, robot chế độ quét nhà chờ người sử dụng thiết lập Hình 1.7: Hình ảnh robot trạm

Ngày đăng: 28/12/2015, 12:09

Từ khóa liên quan

Mục lục

  • Chương 1: GiỚI THiỆU TỔNG QUÁT VỀ CLEANER ROBOT

    • 1.1. Tổng quan về robot cleaner

    • 1.2. Camera không dây

    • 1.3. RS232 không dây

    • 1.4. Hoạt động của Cleaner robot

      • 1.4.1. Khởi động

      • 1.4.2. Chế độ quét nhà

      • 1.4.3. Chế độ tìm trạm sạc

      • 1.4.4. Chế độ sạc pin

      • Chương 2: thiẾt kẾ mẠCH ĐIỆN TỬ

        • 2.1. Tổng quan về mạch điện tử của cleaner robot

        • 2.2. Khối mạch nguồn

          • 2.2.1. Nhiệm vụ của khối mạch nguồn

          • 2.2.2. Thiết kế mạch nguồn

            • 2.2.2.1. Mạch tạo điện áp không đổi 5V

            • 2.2.2.2. Mạch cấp nguồn cho động cơ

            • 2.2.2.3. Mạch nạp điện cho Pin

            • 2.2.2.4. Mạch role

            • 2.3. Mạch điều khiển

              • 2.3.1. Nhiệm vụ của mạch điều khiển

              • 2.3.2. Thiết kế mạch điều khiển

                • 2.3.2.1. Giới thiệu về vi điều khiển Atmega128

                • 2.3.2.2. Sơ đồ nguyên lý của mạch điều khiển

                • 2.4. Mạch cảm biến và loa báo

                  • 2.4.1. Nhiệm vụ của mạch cảm biến và loa báo

                  • 2.4.2. Thiết kế mạch cảm biến và loa báo

                  • 2.5. Mạch điều khiển động cơ

                  • Chương 3: XỬ LÝ ẢNH

                    • 3.1. Giới thiệu chung

Tài liệu cùng người dùng

Tài liệu liên quan