Thiết kế chế tạo mobile robot lau sàn tránh vật bằng công nghệ xử lý ảnh

107 2 0
Thiết kế chế tạo mobile robot lau sàn tránh vật bằng công nghệ xử lý ảnh

Đ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

TÓM TẮT ĐỒ ÁN Đề tài “Thiết kế mobile robot lau sàn” ứng dụng mobile robot Mobile robot ứng dụng ngày cao vào đời sống sinh hoạt, sản xuất, nhằm tiết kiệm thời gian nhân công, linh hoạt, tiện lợi, gọn nhẹ… Trên giới có nhiều loại hình robot mang tính phục vụ robot hút bụi, robot lau sàn nhà…Ở nước ta nhiều mẻ, đầu tư yếu nên phong trào chế tạo sử dụng robot phục vụ, đưa chúng vào sống cịn gặp nhiều khó khăn Đề tài giúp mở hướng việc sử dụng robot lau sàn văn phịng, cơng sở…Robot đem lại cho khách hàng cảm giác lạ thú vị, giúp cho trình robot dần thay người lĩnh vực hoạt động ngày nhanh hơn, giúp sống ngày trở nên tiện nghi Đề tài áp dụng kiến thức điều khiển động DC servo, lý thuyết truyền nhận khơng dây qua sóng Bluetooth, giao tiếp UART, cảm biến…Đặc biệt đề tài ứng dụng xử lý ảnh để điều khiển robot cách xác ii ABSTRACTS The project "Design mobile robot floor cleaner" is based applications of mobile robots Mobile robots are increasingly applied in daily life, production, to save time workers, flexible, comfortable, lightweight In the world today there are many types of robots featuring served as vacuuming robot, robot mop the floor In our country so much new, weak investment should movements manufactured and used robots for services, bringing them to life was difficult Thread help open up a new direction in the use of robotic floor cleaner in the office, offices Robot will give customers a sense of novelty and fun, allowing the robot replacing human in the fields of activity are growing faster, longer days help life becomes more comfortable Topics apply knowledge of the DC servo motor controller, the theory of wave transmission through wireless Bluetooth, UART communication,sensor Special theme image processing applications to control a robot accurately iii MỤC LỤC NỘI DUNG TRANG Lời cảm ơn i Tóm tắt đồ án ii Abstract iii Mục lục iv Danh mục bảng biểu vi Danh mục hình ảnh, biểu đồ vii Chƣơng TỔNG QUAN 1.1 Giới thiệu đề tài 1.1.1 Lý chọn đề tài 1.1.2 Yêu cầu giới hạn đề tài 1.1.3Đối tượng nghiên cứu 1.4 Mục tiêu nhiệm vụ nghiên 1.1.5 Phương pháp nghiên cứu 1.2 Các cơng trình nghiên cứu có liên quan 1.2.1 Các cơng trình nghiên cứu liên quan nước 1.2.2 Các cơng trình nghiên cứu nước 1.3Tổng quan Mobile Robot lau sàn sử dụng xử lý ảnh 1.3.1 Mobile robot phương pháp điều khiển 1.3.2 Mobile robot lau sàn sử dụng xử lý ảnh Chƣơng CƠ SỞ LÝ THUYẾT 11 2.1 Vi điều khiển PIC 16F887 11 2.1.1 Đặc trưng vi điều khiển PIC 16F887 11 2.1.2 Các thành phần PIC 16F887 11 2.2 Thị giác máy tính (Computer Vision) 11 2.2.1 Các lĩnh vực thị giác máy tính 11 2.2.2 Chức hệ thống thị giác máy tính 13 2.2.3 Các hệ thống thị giác máy tính 14 2.2.4 Ứng dụng giác máy tính 15 2.3 Tổng quan hệ thống xử lý ảnh 16 2.4 Lý thuyết ảnh số xử lý ảnh 18 2.4.1 Khái niệm ảnh phần tử ảnh (Pixel) 18 iv 2.4.2 Cấu trúc file ảnh 20 2.4.3 Ảnh màu 21 2.4.4 Không gian màu (Color Space) 21 2.4.5 Tính tốn biểu đồ phân bố xác xuất (Histogram) 24 2.4.6 Chuyển đổi không gian màu 27 2.4.7 Giải thuật CAMSHIFT (Continuously Adaptive Mean Shift) 29 2.4.8 Một số hàm dùng xử lý ảnh 32 2.4.9 Kỹ thuật lọc số-làm trơn nhiễu 34 Chƣơng THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM 36 3.1 Tổng quan mơ hình phần cứng 36 3.1.1 Mobile robot 36 3.1.2 Camera 38 3.1.3 Máy tính 39 3.1.4 Module Bluetooth 39 3.1.5 Cảm biến siêu âm SRF05 40 3.1.6Module cầu H L298 41 3.1.7Mạch điện điều khiển 42 3.1.8Động DC 43 3.1.9 Động RC Servo MG996R 44 3.1.10Nguồn động 44 3.1.11 Cơ cấu lau sàn 45 3.2 Thiết kế phần mềm 49 3.2.1 Tổng quan trình nhận dạng điều khiển máy tính 49 3.2.2 Cấu trúc lưu đồ giải thuật chương trình 49 3.2.3 Các phương pháp tìm đường robot 50 3.2.4 Thuật toán xử lý ảnh 57 3.2.5 Thuật tốn xử lý tín hiệu cảm biến 70 Chƣơng KẾT QUẢTHI CÔNG PHẦN CỨNG VÀ PHẦN MỀM 71 4.1 Kết thi công mobile robot 71 4.2 Kết thi công phần mềm 73 4.3 Kết thực nghiệm 76 4.3.1 Trường hợp khơng có vật cản 76 4.3.2 Trường hợp có vật cản 78 Chƣơng KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 82 v 5.1 Kết luận 82 5.2 Đề nghị 82 5.3 Hướng phát triển đề tài 83 PHỤ LỤC 85 6.1 Giới thiệu PIC 16F887 85 6.1.1 Cấu trúc nhớ PIC16F887 85 6.1.2Các chức sử dụng đồ án 85 6.2 Chương trình viết code cho vi điều khiển PIC 16F887 90 6.3 Chương trình code cho xử lý ảnh 94 TÀI LIỆU THAM KHẢO 98 vi DANH MỤC CÁC BẢNG BIỂU Bảng 2.1 : Các thành phần PIC16 Bảng 4.1 : Kết thực nghiệm không vật cản Bảng 4.2 : Kết di chuyển trung bình robot Bảng 4.3 : Kết thực nghiệm có vật cản nằm mặt sàn Bảng 4.4: Kết di chuyển trung bình robot Bảng 4.5 : Kết thực nghiệm có vật cản nằm rìa mặt sàn Bảng 4.6 : Kết di chuyển trung bình robot Bảng 6.1: Thanh ghi Port A Bảng 6.2: Thanh ghi Tris A Bảng 6.3: Quá trình hoạt động timer vii DANH MỤC CÁC HÌNH VẼ Hình 1.1 : Chạy thử nghiệm mobile robot Hình 1.2 : Robot lau sàn nhà Hình 1.3 : Hình ảnh bên bên ngồi robot Hình 1.4 : Hình ảnh thực tế robot lau hồ bơi Hình 1.5 : Mobile robot Kinect Hình 1.6: Robot CVRL với camera Hình 1.7: Mơ quỹ đạo di chuyển Hình 1.8 : Mobile Robot bám đối tượng di động SRV1 Hình 1.9 : Một dạng robot tay máy Hình 1.10: Điều khiển robot remote Hình 1.11 : Tổng quan hệ thống Robot lau sàn Hình 2.1 : Các lĩnh vực liên quan đến Computer Vision Hình 2.2 : Robot ARV quân đội Hình 2.3 : Các bước xử lý ảnh Hình 2.4 : Ảnh tương tự ảnh số Hình 2.5 : Biểu diễn ảnh số khơng gian 2D Hình 2.6 : Phần tử ảnh Hình 2.7 : Biểu diễn ảnh với độ phân giải khác Hình 2.8 : Mảng hai chiều file ảnh Hình 2.9 : Các kiểu khơng gian màu Hình 2.10 : Khơng gian màu RGB Hình 2.11 : Khơng gian màu HSV Hình 2.12 : Biểu đồ Histogram biểu thị ánh sáng tăng dần từ trái qua phải Hình 2.13 : Histogram ảnh sáng Hình 2.14 : Histogram ảnh tối Hình 2.15 : Bốn biểu đồ ánh sáng Hình 2.16 : Ảnh gốc sau Histogram Hình 2.17 : (a) Ảnh màu RGB ; (b) Ảnh màu HSV ; (c) Khơng gian HSV Hình 2.18 : (a) Ảnh xám ; (b), (c) Ảnh nhị phân Hình 2.19 : Kết tìm kiếm với giải thuật CAMSHIFT Hình 2.20 : Tìm pixel trung vị cửa sổ lọc Hình 3.1: Tở ng quan mơ hình phầ n cứng mobile robot tránh vâ ̣t cản Hình 3.2: Mơ hiǹ h Hình 3.3: Hình chiếu đứng Hình 3.4: Hình chiếu viii Hình 3.5: Hình chiếu đứng Hình 3.6: Webcam Jeway JW-5330 Hình 3.8 : Sơ đồ chân HC05 Hình 3.9 : Module HC05 chân Hình 3.10 Cảm biến siêu âm SRF05 Hình 3.11 : Mạch cầu H L298 Hình 3.12: Mơ hoạt động Proteus Hình 3.13 : Động DC Motor Hình 3.14 : Sơ đồ kích xung PWM Hình 3.15 : RC Servo MG996R Hình 3.16 : Pin Lipo Battery Hình 3.17 : Cơ cấu Robot lau nhà Scooba 380 Hình 3.18 : Mofa Morpher Hình 3.19 : Robot Mopbot Hình 3.20 : Cơ cấu lau sàn mơ Hình 3.21 : Phân tích lực Hình 3.22 : Sơ đồ khối bước xử lý chương trình Hình 3.23: Phương pháp offset trường hơ ̣p Hình 3.24 : Phương pháp offset trường hơ ̣p Hình 3.25 : Phương pháp offset trường hơ ̣p Hình 3.26 : Phương pháp offset trường hơ ̣p Hình 3.27 : Phương pháp offset trường hơ ̣p Hình 3.28 : Phương pháp offset trường hơ ̣p Hình 3.29: Phương pháp xoắn ốc trường hợp Hình 3.30 : Phương pháp xoắn ốc trường hợp Hình 3.31 : Phương pháp xoắn ốc trường hợp Hình 3.32 : Phương pháp xoắn ốc trường hợp Hình 3.33 : Phương pháp xoắn ốc trường hợp Hình 3.34 : Phương pháp xoắn ốc trường hợp Hình 3.35 :Sơ đồ khối nguyên lýcủa chương trình xử lý ảnh điều khiển Robot tránh vật cản Hình 3.36 : Sơ đồ giải thuật phương pháp xác định vị trí Robot Hình 3.37 : Sơ đồ giải thuật phương pháp xác định vị trí Vật cản Hình 3.38 : Sơ đồ giải thuật phương pháp tìm đường tránh vật Hình 3.39 : Khơng gian màu RGB Hình 3.40 : Khơng gian màu HSV Hình 3.41: Xử lý khơng gian màu tách ngưỡng ix Hình 3.42 : Tính góc lệch Hình 3.43 : Sơ đồ khối giải thuật kết nối điều khiển Robot chuyển Hình 3.44 : Sơ đồ khối giải thuật điều khiển robot kết hợp cảm biến Hình 4.1: Hình ảnh mobile robot hồn chỉnh Hình 4.2 : Mạch điện tử Hình 4.3 : Mobile robot với pin và ma ̣ch điê ̣n Hình 4.4 Cơ cấu lau sàn Hình 4.5: Giao diện Hình 4.6: Giao diê ̣n chiń h và khung ảnh RGB Hình 4.7: Track Red Hình 4.8: Track Green Hình 4.9: Track Offset Hình 4.10 : Track Car Hình 4.11 : Robot khơng có vật cản Hình 4.12 : Robot theo tọa độ điểm Hình 4.13 : Robot theo tọa độ điểm Hình 4.14 : Robot có vật cản Hình 4.15 : Robot theo tọa độ điểm có vật cản Hình 4.16 : Robot theo tọa độ điểm có vật cản Hình 5.1 : Bộ nhớ Pic 16F887 Hình 5.2 : Sơ đồ khối TIMER Hình 5.3 : Sơ đồ khối TIMER Hình 5.4 : Sơ đồ khối TIMER Hình 5.5 : Sơ đồ điều chế PWM Hình 5.6 : Sơ đồ khối chế độ PWM x CHƢƠNG TỔNG QUAN 1.1 Giới thiệu đề tài 1.1.1 Lý chọn đề tài Ngày nay, giới robot khơng cịn điều lạ Robot sử dụng phổ biến đặc biệt nước phát triển, họ sử dụng robot lĩnh vực Tuỳ vào mục đích sử dụng mà người ta sáng tạo robot đáp ứng yêu cầu đưa Robot thay cho người làm công việc nguy hiểm Ví dụ như: làm việc mơi trường có hàm lượng chất phóng xạ cao mà gây hậu nguy hiểm cho người Robot ngày cải tiến phát triển hơn, từ khả tự động hoá để làm cộng việc theo lộ trình cố định, robot điều khiển từ xa với khả hoạt động rộng hơn, phát triển xa trí tuệ nhân tạo với khả tự xử lý tình Hiện nay, robot thơng minh người máy ashimo, giao tiếp với người khả di chuyển giống người Ở Việt Nam, ngành khoa học-cơng nghệ nắm vai trị quan trọng để đưa nước ta lên tầm cao Khoa học-cơng nghệ phát triển đất nước ngày giàu mạnh Muốn khoa học- công nghệ phát triển cần phải có thời gian hiểu biết đầu tư nhiều Vì thế, để khơi dậy niềm đam mê tính sáng tạo hệ trẻ Việt Nam, nước ta tổ chức nhiều hoạt động mang tính sáng tạo, đặc biệt thi sáng tạo robot Với tham gia nhiều trường đại học cao đẳng Đã tạo sân chơi cho sinh viên thúc đẩy tính sáng tạo người Một hướng công nghệ Robot ứng dụng Robot lĩnh vực thám hiểm, hoạt động môi trường độc hại, nguy hiểm Ngày đa dạng loại Robot nghiên cứu, phát triển nhiều nước trường Đại học tiếng giới Nhận thức xu hướng tầm quan trọng công nghệ Robot ứng dụng xử lý ảnh Việt Nam chúng ta, nhóm sinh viên định chọn thực đề tài “Thiết kế chế tạo Mobile Robot lau sànứng dụng công nghệ xử lý ảnh” với mong muốn tìm hiểu ứng dụng cơng nghệ mức độ bản, cụ thể công nghệ xử lý ảnh điều khiển mobile robot, đồng thời hy vọng áp dụng kiến thức vào thực tế vào việccó thể tránh vật cản lau khơng gian muốn lau văn phịng, công sở PHỤ LỤC 6.1 Giới thiệu PIC 16F887 6.1.1 Cấu trúc nhớ PIC 16F887 [7] Hình 6.1: Bộ nhớ Pic 16F887 Bộ nhớ liệu phân chia thành bốn ghi chứa đựng ghi chung mục đích (GPR) hàm đặc biệt (SFR) Các chức đặc biệt nằm 32 vị trí bank Các ghi chung mục đích, thực ram tĩnh đặt 96 vị trí cuối bank Thanh ghi vị trí F0H-FFh bank 1, 170h-17Fh bank 1F0h-1FFh bank 3, trỏ đến địa 70h-7Fh bank Số ghi thực tế chung mục đích (GPR) thực bank phụ thuộc vào thiết bị 6.1.2 Các chức sử dụng đồ án a Các PORT I/O – Cổng vào/ra Port I/O (cổng vào ra) số phương tiện để vi điều khiển giao tiếp với thiết bị ngoại vi.Các cổng vào PIC cổng vào chiều định hướng, tức chọn hướng cổng hướng vào (input) hay hướng (output).Mỗi port I/O vi điều khiển liên kết với hai ghi chín: PORTx, TRISx,hai ghi phối hợp với để điều khiển hoạt động cổng 84 Bảng 6.1 : Thanh ghi Port A Bảng 6.2: Thanh ghi Tris A b Chức TIMER , COUNTER Timer khối hoạt động độc lập với CPU, lập trình sử dụng timer làm giảm thời gian xử lý, giúp vi điều khiển hoạt động nhanh Ứng dụng chủ yếu timer định thời khoảng thời gian ngắn, đếm số lượng xung clock bên cho ứng dụng đếm sản phẩm, đọc số xung encoder Pic 16F887 có tích hợp timer: timer ( bit ), timer (16 bit ), timer (8 bit ) Nguyên tắc hoạt động timer: Nguyên tắc hoạt động chung timer tăng giá trị ghi đếm lên nhận xung clock (đã qua chia ) Khi ghi đếm đến giá trị lớn nhất, có xung clock tiếp tục tác động timer xảy kiện tràn timer (overflow), kiện xảy ngắt Ví dụ: Thanh ghi TMR0 ghi bit có chứa giá trị đếm TIMER 0: 85 - Bảng 6.3: Quá trình hoạt động timer Timer Thanh ghi bit timer/counter (TMR0) Bộ chia prescaler bit (dùng chung với Watch dog timer) Hoạt động với xung clock bên bên ngồi Ngắt tràn timer Hình 6.2: Sơ đồ khối TIMER Timer - Timer có hai ghi chứa giá trị đếm, đếm lên đến 65535 xảy kiện tràn timer, timer thích hợp cho việc đếm xung encoder tốc độ cao, giống timer 0, timer hoạt động với hai chế độ: chế độ định thời chế độ đếm counter 86 Hình 6.3: Sơ đồ khối TIMER Timer - Khác với timer timer 1, timer hoạt động chế độ định thời, timer Tuy nhiên timer có hai chia giá trị đặt thời gian định thời linh hoạt hơn, sai số tính tốn Hình 6.4: Sơ đồ khối TIMER 87 c Chức PWM Nói đến PWM ta phải nói đến hai đặc tính là: tần số (do timer tạo ra) độ rộng xung (do ghi CCPRxL:CCPxCON tạo ra) Sơ đồ tạo xung PWM kết hợp khối CCPx với timer 2: Hình 6.5: Sơ đồ điều chế PWM Nguyên tắc hoạt động chế độ PWM Thanh ghi đếm timer TMR2 đếm đến giá trị CCPRxL :CCP Xcon khối CCPx trạng thái logic chân CCPx bị đảo, giá trị ghi TMR2 đến giá trị PR2 hồn tất chu kỳ tạo xung PWM 88 Hình 6.6: Sơ đồ khối chế độ PWM 6.2 Chƣơng trình viết code cho vi điều khiển PIC 16F887 char uart_rd; int dem; int dem2; int servo0=32; int servo1=50; int servo2=21; unsigned int time=0; int distance=0; int huong=0; void dung(); void main() { ANSEL = 0; ANSELH = 0; TRISC3_bit=0; TRISC4_bit=0; RC3_bit=RC4_bit=0; 89 PWM1_Init(1500); PWM2_Init(1500); PWM1_Set_Duty(0); PWM2_Set_Duty(0); PWM1_Start(); PWM2_Start(); UART1_Init(9600); delay_ms(100); OPTION_REG.T0CS=0; OPTION_REG.PSA=0; OPTION_REG.PS2=0; OPTION_REG.PS1=0; OPTION_REG.PS0=0; TMR0=145; INTCON.TMR0IF=0; INTCON.TMR0IE=1; INTCON.GIE=1; TRISC0_bit=0; RC0_bit=0; TRISB2_bit = 0; RB2_bit = 0; TRISB3_bit = 0; RB3_bit = 0; T1CON.TMR1CS = 0; T1CON.T1CKPS0 = 0; T1CON.T1CKPS1 = 1; TMR1H = 0; TMR1L = 0; TRISB1_bit = 0; RB1_bit = 0; TRISB0_bit = 1; RB0_bit = 0; OPTION_REG.INTEDG =1; INTCON.INTE=1; while(1){ uart_rd = UART1_Read(); 90 if(uart_rd==119){ PWM1_Set_Duty(255); PWM2_Set_Duty(219); RC3_bit=0; RC4_bit=0; servo0=32; servo1=49; servo2=22; } if(uart_rd==97){ PWM1_Set_Duty(127); PWM2_Set_Duty(127); RC3_bit=0; RC4_bit=1; servo0=15; servo1=50; servo2=21; } if(uart_rd==100){ PWM1_Set_Duty(127); PWM2_Set_Duty(127); RC3_bit=1; RC4_bit=0; servo0=49; servo1=50; servo2=21; } if(uart_rd==115){ PWM1_Set_Duty(0); PWM2_Set_Duty(35); RC3_bit=1; RC4_bit=1; servo0=30; servo1=50; servo2=21; } 91 if(uart_rd==101){ PWM1_Set_Duty(0); PWM2_Set_Duty(0); RC3_bit=0; RC4_bit=0; servo0=32; servo1=50; servo2=21; } if((distance>2)&&(distance 0) { int numObjects = hierarchy.size(); if(numObjects= 0; index = hierarchy[index][0]) { cv::Moments moment = moments((cv::Mat)contours[index]); double area = moment.m00; if(area>MIN_OBJECT_AREA && arearefArea) { x = (unsigned int) (moment.m10/area); y = (unsigned int) (moment.m01/area); objectFound = true; refArea = area; for( int i = 0; i< contours.size(); i++ ) { Double a=contourArea(contours[i],false); if(a>largest_area){ largest_area=a; largest_contour_index=i; bounding_rect=cv::boundingRect(contours[i]); } } 96 rong=bounding_rect.height/2; dai=bounding_rect.width/2; } else objectFound = false; } if(objectFound ==true) { putText(cameraFeed,"Phat Hien Doi Tuong",cv::Point(0,45),2,1,cv::Scalar(0,200,0),2); line(cameraFeed,cv::Point(x-dai,yrong),cv::Point(x+dai,y-rong),cv::Scalar(0,255,0),2); line(cameraFeed,cv::Point(x+dai,yrong),cv::Point(x+dai,y+rong),cv::Scalar(0,255,0),2); line(cameraFeed,cv::Point(x+dai,y+rong),cv::Point(xdai,y+rong),cv::Scalar(0,255,0),2); line(cameraFeed,cv::Point(xdai,y+rong),cv::Point(x-dai,y-rong),cv::Scalar(0,255,0),2); } } else putText(cameraFeed,"tin hieu nhieu",cv::Point(0,45),1,2,cv::Scalar(0,200,0),2); } } 97 TÀI LIỆU THAM KHẢO [1] http://www.wa4dsy.com/robot/suckmaster2-robot [2] http://www.gizmag.com/mint-automatic-floor-cleaner-release/14872/ [3] http://doantotnghiep.vn/do-an-tot-nghiep-co-dien-tu-thiet-ke-robot-lausan.html [4] http://nld.com.vn/khoa-hoc/robot-lam-sach-ho-boi20101117101410963.htm [5] http://docs.4share.vn/docs/29722/Robot_tu_hanh_tranh_vat_can_su_dung_ thiet_bi_Kinect.html [6] http://www.ics.forth.gr/cvrl/index_main.php?l=e&c=32 [7] http://ww1.microchip.com/downloads/en/DeviceDoc/41291G.pdf [8] payitforward.edu.vn [9] http://en.wikipedia.org/wiki/Computer_vision [10] http://docs.opencv.org/ [11] http://www.robotreviews.com/reviews/surveyor-srv-1-blackfin-robot-review 98 ... hướng tầm quan trọng công nghệ Robot ứng dụng xử lý ảnh Việt Nam chúng ta, nhóm sinh viên định chọn thực đề tài ? ?Thiết kế chế tạo Mobile Robot lau sàn? ??ng dụng công nghệ xử lý ảnh? ?? với mong muốn... 1.3Tổng quan Mobile Robot lau sàn sử dụng xử lý ảnh 1.3.1 Mobile robot phương pháp điều khiển 1.3.2 Mobile robot lau sàn sử dụng xử lý ảnh Chƣơng CƠ SỞ LÝ THUYẾT ... Hệ thống Haptic 1.3.2 Mobile Robot lau sàn sử dụng xử lý ảnh Robot lau sàn sử dụng xử lý ảnh thuộc loại Mobile Robot tự động, hoạt động theo chương trình lập trình sẵn có kết hợp với thị giác

Ngày đăng: 30/10/2022, 23:22

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

Tài liệu liên quan