Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 124 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
124
Dung lượng
3,68 MB
Nội dung
Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ MỤC LỤC CHƯƠNG GIỚI THIỆU CHUNG………………………………………………… 1.1 Giới thiệu chung rô bốt…………………………………………………… 1.2 Giới thiệu rô bốt bám đối tượng…………………………………………… 1.3 Mục tiêu đồ án………………………………………………………… 1.4 Giới hạn đồ án………………………………………………………… 10 CHƯƠNG TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN OPENCV……… 11 2.1 Giới thiệu xử lý ảnh 12 2.1.1 Định nghĩa xử lý ảnh………………………………………………… 12 2.1.2 Các khái niệm liên quan……………………………………………… 12 2.2 Thế thị giác máy…………………………………………………… 16 2.3 Thư viện OpenCV………………………………………………………… 16 2.3.1 OpenCV gì? .16 2.3.2 Vì lựa chọn OpenCV? .17 2.3.3 Cấu trúc nội dung OpenCV nào? 18 2.3.4 Các hàm I/O OpenCV………………………………………… 19 2.3.5 Các hàm thực xử lý ảnh………………………………………… 21 2.3.6 Các hàm Histograms and Matching………………………………… 22 2.3.7 Hàm Contours………………………………………………………….22 2.3.8 Cơ sở toán học thuật toán CamShift………………………………22 CHƯƠNG LÝ THUYẾT LIÊN QUAN……………………………………………24 3.1 Cơ Atmega32………………………………………………………….25 3.1.1 Atmega32 gì? 25 3.1.2 Sơ đồ chân ATmega32…………………………………………….26 3.1.3 Giới thiệu Timer/Counter ATmega32……………………… 30 3.1.4 Bộ truyền nhận liệu USART……………………………………… 32 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ 3.2 Giao tiếp RS232…………………………………………………………… 39 CHƯƠNG THIẾT KẾ VÀ CHẾ TẠO ROBOT…………………………………… 41 4.1 Phương án thiết kế 1:………………………………………………………… 42 4.1.1 Hình thể hiện…………………………………………………………….42 4.1.2 Ưu điểm……………………………………………………………… 42 4.1.3 Nhược điểm…………………………………………………………… 42 4.2 Phương án thiết kế 2:………………………………………………………… 42 4.1.1 Hình thể hiện…………………………………………………………….42 4.1.2 Ưu điểm………………………………………………………………….43 4.1.3 Nhược điểm…………………………………………………………… 43 4.3 Chọn phương án thiết kế kết thi công………………………………… 43 CHƯƠNG XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN……………………………….45 5.1 Thị giác máy điều khiển rô bốt di động bám đối tượng……………………… 46 5.2 Thuật tốn tính hướng kích cỡ đối tượng cần theo dõi…………………47 5.2.1 Thuật toán chung………………………………………………………… 47 5.2.2 Nhận dạng bám mục tiêu di động……………………………………….47 5.2.3 Chuyển đổi không gian màu từ RGB đến HSV…………………………….49 5.2.4 Histogram………………………………………………………………… 50 5.2.5 Lọc nhiễu Filter…………………………………………………………… 51 5.2.6 Thuật toán CamShift……………………………………………………… 51 5.2.7 Thiết kế hoàn chỉnh phần mềm điều khiển……………………………… 54 CHƯƠNG XÂY DỰNG MẠCH PHẦN CỨNG…………………………………… 57 6.1 Sơ đồ mạch dùng đồ án……………………………………………………58 6.1.1 Khối điều khiển trung tâm………………………………………………….58 6.1.2 Khối nguồn…………………………………………………………………59 6.1.3 Khối truyền thông RS232………………………………………………… 59 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ 6.1.4 Khối điều khiển động cơ……………………………………………………59 6.2 Tập lệnh điều khiển rô bốt……………………………………………………….61 CHƯƠNG KẾT QUẢ THỰC HIỆN………………………………………………….63 7.1 Kết thực nghiệm với linh động rô bốt số địa hình 64 7.2 Thực nghiệm với phần xử lý ảnh ứng dụng điều khiển rô bốt 67 7.2.1 Kết thử nghiệm với môi trường tĩnh….………………………………………67 7.2.2 Kết thử nghiệm với môi môi trường động….……………………………… 69 KẾT LUẬN…………………………………………………………………………… 73 PHỤ LỤC A CHƯƠNG TRÌNH XỬ LÝ ẢNH……………………………………… 75 PHỤ LỤC B CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT…………………………… 89 PHỤ LỤC C CHƯƠNG TRÌNH TRUYỀN THƠNG RS232…………………………101 TÀI LIỆU THAM KHẢO…………………………………………………………… 107 DANH SÁCH HÌNH VẼ Hình 1.1: PANrobot (nguồn: mobilerobot.org)………………………………………… Hình 1.2: Rơ bốt MIDbo (nguồn: telepresenceoptions.com)……………………………8 Hình 1.3: Rơ bốt Pops (nguồn: slashgear.com)………………………………………… Hình 1.4: Rơ bốt thám hiểm hoả (nguồn: robotics.youngester.com)……………… Hình 2.1 Lân cận điểm ảnh tọa độ (x,y) ……………………………………….14 Hình 2.1 Lân cận điểm ảnh tọa độ (x,y)……………………………………… 15 Hình 2.3 Thể chuyển đổi……………………………………………………… 16 Hình 2.4: Quá trình phát triển OpenCV…………………………………………… 17 Hình 2.5: Cấu trúc sở OpenCV………………………………………………… 18 Hình 3.1: Sơ đồ chân ATmega32……………………………………………………27 Hình 3.2: Sơ đồ khối Timer/Counter0………………………………………………30 Hình 3.3 Giản đồ thời gian chế độ PWM………………………………………… 32 Hình 3.5: Cổng giao tiếp RS232………………………………………… 41 Hình 5.1:Sơ đồ khối tổng quát hệ thống điều khiển rô bốt 47 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ Hình 5.2: Sơ đồ thuật tốn chung…………………………………………………… 48 Hình 5.3: Mặt phẳng ảnh……………………………………………………………… 49 Hình 5.4: Biểu diễn đối tượng di chuyển mặt phẳng ảnh………………………… 50 Hình 5.5: Chuyển đối khơng gian màu RGB đến HSV………………………………….51 Hình 5.5: Histogram…………………………………………………………………… 51 Hình 5.7: Kết trước sau lọc nhiễu……………………………………………52 Hình 5.8: Sơ đồ thuật tốn CamShift…………………………………………………….53 Hình 5.9:Kết tính toạ độ tâm thuật tốn CamShift……………………… .54 Hình 5.10: Kết bước đầu theo dõi đối tượng thuật tốn CamShift……………54 Hình 5.11: Giao diện phần mềm thiết kế hồn chỉnh……………………………………56 Hình 5.12:Kết thử nghiệm với phần mềm………………………………………… 57 Hình 6.1: Sơ đồ khối điều khiển trung tâm………………………………………………59 Hình 6.2: Sơ đồ khối nguồn…………………………………………………………… 60 Hình 6.3: Sơ đồ khối truyền thơng RS232…………………………………………… 60 Hình 6.4: Sơ đồ phần cứng hồn chỉnh………………………………………………… 61 Hình 6.5: Sơ đồ nguyên lý mạch điều khiển động cơ………………………………… 62 Hình 7.1: Rơ bốt vượt chướng ngại vật (lề đường) 64 Hình 7.2: Rơ bốt leo cầu thang 65 Hình 7.2: Rơ bốt vượt địa hình nghiêng 66 DANH SÁCH BIỂU ĐỒ Biểu đồ 1: Giá trị toạ độ tâm đối tượng môi trường tĩnh (160x120)……………………68 Biểu đồ 2: Giá trị toạ độ tâm đối tượng môi trường tĩnh (176x144)……………………68 Biểu đồ 3: Giá trị toạ độ tâm đối tượng môi trường tĩnh (320x240)……………………69 Biểu đồ 4: Giá trị toạ độ tâm đối tượng môi trường tĩnh (640x480)……………………69 Biểu đồ 5: Giá trị toạ độ tâm đối tượng môi trường động (160x120)………………… 70 Biểu đồ 6: Giá trị toạ độ tâm đối tượng môi trường động (176x144)………………… 70 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ Biểu đồ 7: Giá trị toạ độ tâm đối tượng môi trường động (320x240)………………… 71 Biểu đồ 8: Giá trị toạ độ tâm đối tượng môi trường động (640x480)………………… 71 Biểu đồ 9: Giá trị toạ độ tâm đối tượng môi trường động tốc độ không đổi…………….72 CHƯƠNG GIỚI THIỆU CHUNG Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ 1.1 Giới thiệu chung rô bốt Rô bốt hay người máy loại máy thực công việc cách tự động điều khiển máy tính Rơ bốt tác nhân khí, nhân tạo, thường hệ thống khí-điện tử Với xuất chuyển động mình, rơ bốt gây cho người ta cảm giác giác quan giống người Từ "rô bốt" (người máy) thường hiểu với hai nghĩa: rô bốt khí phần mềm tự hoạt động Về lĩnh vực người máy, Nhật Bản nước đầu giới lĩnh vực Ngày rô bốt tâm điểm cách mạng lớn sau Internet Rô bốt ngày sử dụng rộng rãi lĩnh vực công nghiệp, y tế, giáo dục đào tạo, giải trí, an ninh quốc phịng, thám hiểm khơng gian Rơ bốt sản phẩm cơng nghệ có độ phức tạp cao, chứa hàm lượng tri thức vô phong phú tất lĩnh vực khoa học công nghệ Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ Ngày nay, người ta vấn tranh cãi vấn đề “Một loại máy đủ tiêu chuẩn để gọi rô bốt ?” Một cách gần xác, rơ bốt phải có vài (khơng thiết phải đầy đủ) đặc điểm sau đây: Không phải tự nhiên, tức người sáng tạo Có khả nhận biết mơi trường xung quanh Có thể tương tác với vật thể mơi trường Có thơng minh, có khả đưa lựa chọn dựa môi trường điều khiển cách tự động theo trình tự lập trình trước Có khả điều khiển lệnh để thay đổi tùy theo yêu cầu người sử dụng Có thể di chuyển quay tịnh tiến theo hay nhiều chiều Có khéo léo vận động 1.2 Giới thiệu rô bốt bám đối tượng Hệ thống điều khiển rơ bốt có thị giác sử dụng để theo dõi mục tiêu di động ứng dụng công nghiệp, quốc phòng xã hội Hệ thống thị giác phân thành lớp, theo cấu trúc hệ, hệ có camera gắn cố định hệ có camera gắn tay máy (eye-in-hand) Trong hệ camera cố định, camera gắn cố định so với hệ toạ độ thực, thu thập ảnh mục tiêu môi trường Mục tiêu hệ cung cấp tín hiệu điều khiển cho tay máy đạt vị trí mong muốn Mục đích cấu trúc eye-in-hand điều khiển tay máy cho ảnh mục tiêu cố định hay di động ln trì vị trí mong muốn mặt phẳng ảnh thu Trên sở ảnh thu từ camera, số hố tích hợp vòng điều khiển phản hồi, hệ thống điều khiển khớp tay máy Các nghiên cứu môi trường động bị bỏ xa so với môi trường tĩnh bị ảnh hưởng lớn tốc độ tính tốn độ xác việc phân tích ảnh Do có nhiều thuật tốn để cải thiện tốc độ xử lý xem xét đến quà trình nhiễu tác động lên trình thu thập hình ảnh Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ Một thách thức thị giác máy việc phân loại đối tượng Một rơ bốt phải đối mặt với nhiều đối tượng khác nhau, có mục tiêu quan tâm, đối tượng khác khơng Để nhận biết thơng tin vị trí mục tiêu mơi trường động, đặc trưng mục tiêu quan trọng Các điểm lỗ, góc cạnh, đặc điểm hình học mục tiêu phân tích qua q trình nhận dạng Đặc tính trọng tâm mục tiêu tính dễ dàng qua moment bâc môi trường tĩnh, mơi trường động việc khó chi phí thời gian tính tốn lớn Bài tốn bám mục tiêu di động với quỹ đạo trước yêu cầu phải giữ đối tượng vị trí định mặt phẳng ảnh Thuật tốn CamShift sử dụng để tính tốn toạ độ trọng tâm đối tượng Hình 1.1: PANrobot (nguồn: mobilerobot.org Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ Hình 1.2: Rơ bốt MIDbo (nguồn: telepresenceoptions.com) Hình 1.3: Rơ bốt Pops (nguồn: slashgear.com) Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ Hình 1.4: Robot thám hiểm hỏa (nguồn: robotics.youngester.com) 1.3 Mục tiêu đồ án Mục tiêu nghiên cứu đồ án chia thành ba phần sau: Thứ nhất: Thiết kế chế tạo rô bốt có kết cấu phù hợp với số loại địa hình như: bậc cầu thang, mặt phẳng nghiêng có độ dốc lớn… Thứ hai: Xây dựng phần mềm rô bốt di động bám đối tượng sử dụng OpenCV Thuật toán lựa chọn để sử dụng đồ án thuật toán CamShift Thứ ba: Xây dựng khối phần cứng để kiểm nghiệm giải thuật thuật toán xây dựng sử dụng vi điều khiển Atmega32 Như cơng việc đồ án là: Chế tạo rô bốt cho thử nghiệm số địa hình nghiêng, ghồ ghề Tìm hiểu thư viện OpenCV Tìm hiểu thuật tốn CamShift 10 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ #asm NOP NOP #endasm pwm_dc1=speed-255; pwm_dc2=speed-200; pwm_dc3=speed-100; pwm_dc4=speed-20; //toc dong co dau cuoi pwm_dc5=speed; pwm_dc6=speed; } /////////////////////////////////////////////////////////////////////////////////////////////////// void Turnright( unsigned char speed) { //Thiet lap trang thai cho dong co giua PORTD.0 = 1;//Khong cho dong chay lui PORTD.1 = 1;//Khong cho dong chay lui PORTD.2 = 1;//Khong cho dong chay lui PORTD.3 = 1;//Khong cho dong chay lui //Thiet lap trang thai cho dong co dau va cuoi 110 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ PORTD.4 = 1;//Khong cho dong dau chay lui PORTD.5 = 1;//Khong cho dong cuoi chay lui #asm NOP NOP #endasm pwm_dc1=speed-255; pwm_dc2=speed-200; pwm_dc3=speed-100; pwm_dc4=speed-20; //toc dong co dau cuoi pwm_dc5=speed; pwm_dc6=speed; } /////////////////////////////////////////////////////////////////////////////////////////////////// void Goback( unsigned char speed) { //Thiet lap trang thai cho dong co giua PORTD.0 = 0; //cho dong chay lui PORTD.1 = 0; // cho dong chay lui PORTD.2 = 0; // cho dong chay lui PORTD.3 = 0; // cho dong chay lui 111 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ //Thiet lap trang thai cho dong co dau va cuoi PORTD.4 = 0; // cho dong dau chay lui PORTD.5 = 0; // cho dong cuoi chay lui #asm NOP NOP #endasm //toc dong co giua pwm_dc1=speed-100; pwm_dc2=speed-60; pwm_dc3=speed-50; pwm_dc4=speed-20; //toc dong co dau cuoi pwm_dc5=speed; pwm_dc6=speed; } void Stop() { //Thiet lap trang thai cho dong co giua PORTD.0 = 1;//Khong cho dong chay lui PORTD.1 = 1;//Khong cho dong chay lui PORTD.2 = 1;//Khong cho dong chay lui PORTD.3 = 1;//Khong cho dong chay lui 112 Word to PDF - UnRegistered http://www.word-to-pdf.abdio.com/ ( Word to PDF - Unregistered ) http://www.word-to-pdf.abdio.com/ //Thiet lap trang thai cho dong co dau va cuoi PORTD.4 = 1;//Khong cho dong dau chay lui PORTD.5 = 1;//Khong cho dong cuoi chay lui //toc dong co giua pwm_dc1=speed0; pwm_dc2=speed0; pwm_dc3=speed0; pwm_dc4=speed0; //toc dong co dau cuoi pwm_dc5=speed0; pwm_dc6=speed0; } // Timer overflow interrupt service routine interrupt [TIM2_OVF] void timer2_ovf_isr(void) { time++; En_dc1= (time