Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 119 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
119
Dung lượng
4,14 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGÔ ANH TÚ KS Ngô Anh Tú CƠ ĐIỆN TỬNGHIÊNCỨU,THIẾTKẾ,CHẾTẠOROBOTTỰHÀNHVƯỢTĐỊAHÌNHPHỨCTẠP LUẬN VĂN THẠC SĨ KHOA HỌC CƠ ĐIỆN TỬ CH2012B Hà Nội – 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KS Ngô Anh TúNGHIÊNCỨU,THIẾTKẾ,CHẾTẠOROBOTTỰHÀNHVƯỢTĐỊAHÌNHPHƯCTẠP Chuyên ngành: Cơ Điện Tử LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ CƠ ĐIỆN TỬ NGƢỜI HƢỚNG DẪN KHOA HỌC PGS.TS Phan Văn Đồng TS Nguyễn Hồng Thái Hà Nội – 2014 i LỜI CAM ĐOAN Tên Ngô Anh Tú, học viên cao học khóa 2012B.CĐT.KH chuyên ngành Cơ Điện Tử Sau gần năm học tập, nghiên cứu trƣờng Đại Học Bách Khoa Hà Nội, đƣợc giúp đỡ thày cô giáo, đặc biệt PGS.TS Phan Văn Đồng TS Nguyễn Hồng Thái, hoàn thành xong luận văn tốt nghiệp thạc sĩ Với đề tài luận văn là: "Nghiên cứu,thiếtkế,chếtạorobottựhànhvượtđịahìnhphức tạp", xin cam đoan công trình nghiên cứu cá nhân dƣới dự hƣớng dẫn PGS.TS Phan Văn Đồng TS Nguyễn Hồng Thái tham khảo tài liệu đƣợc liệt kê Tôi không chép công trình cá nhân khác dƣới hình thức Nếu có, xin hoàn thành chịu trách nhiệm Hà Nội, ngày 10 tháng năm 2014 Ngƣời cam đoan Ngô Anh Tú ii LỜI CẢM ƠN Trong suốt trình thực đề tài "Nghiên cứu,thiếtkế,chếtạorobottựhànhvượtđịahìnhphức tạp", em đạt đƣợc số kết định: Tìm hiểu đƣợc cân robot, tính toán động học robot, phƣơng thức lập trình, điều khiển hoạt động robot, nhƣ hiểu thêm cách thức trình bày vẽ, kỹ thuật liên quan việc thiết kế mạch công nghệ xử lý ảnh Em xin trân trọng cảm ơn giúp đỡ PGS.TS Phan Văn Đồng, TS Nguyễn Hồng Thái thày môn Cơ sở thiết kế máy Robot, Viện Cơ khí tạo điều kiện để em hoàn thành đề tài Tuy nhiên, với kinh nghiệm thực tế hạn chế nên luận văn tránh đƣợc thiết sót chƣa thể hoàn thiện cách hoàn hảo nhƣ mong đợi Kính mong quý thầy cô đóng góp ý kiến để đề tài đƣợc hoàn thành tốt Hà Nội, ngày 10 tháng năm 2014 HVTH Ngô Anh Tú iii MỤC LỤC LỜI CAM ĐOAN ii LỜI CẢM ƠN iii MỤC LỤC iv DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT vi DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ vii MỞ ĐẦU xii Chƣơng - TỔNG QUAN VỀ MOBILE ROBOT - 1.1 Giới thiệu - 1.2 Lịch sử phát triển mobile robot [8] - 1.4 Ứng dụng mobile robot - 11 1.5 Kết luận định hƣớng nghiên cứu mobile robot - 14 Chƣơng - 15 TÍNH TOÁN THIẾT KẾ ROBOT - 15 2.1 Đặt vấn đề - 15 a) Mô hình động học robot - 19 b) Mô hình động học mobile robot - 21 2.3 Phân tích lựa chọn kết cấu - 24 a) Yêu cầu chung - 24 b) Phƣơng án thiết kế - 25 c) Khả hoạt động robot - 27 2.4 Tính toán kích thƣớc robot - 28 a) Khi robot chuyển động mặt phẳng ngang - 28 b) Khi robot chuyển động mặt phẳng nghiêng - 33 c) Khi robot chuyển động mặt phẳng lệch - 34 2.5 Kết luận - 39 Mô hìnhrobot sau chếtạo thực nghiệm - 40 Chƣơng - 41 CƠ SỞ LÍ THUYẾT VỀ XỬ LÝ ẢNH - 41 3.1 Khái niệm trình xử lí ảnh - 41 a) Chụp ảnh - 42 b) Quá trình tiền xử lí liệu ảnh - 42 c) Phân tích hình ảnh (xác định đƣờng, góc, cạnh, khối, ) - 42 d) Nhận dạng, phân mảnh - 42 e) Xử lí mức cao - 42 3.2 Thƣ viện OpenCV - 43 a) Cấu tạo thƣ viện OpenCV - 43 b) Các chức OpenCV - 43 3.3 Các cấu trúc liệu OpenCV - 45 3.4 Thao tác xử lí ảnh với thƣ viện OpenCV - 46 - iv Chƣơng - 54 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NHẬN DẠNG THEO VẾT ĐỐI TƢỢNG 54 4.1 Tính toán thiết kế mạch điện tử điều khiển - 54 a) Sơ đồ khối mạch điều khiển cho Mobile Robot - 54 b) Thiết kế Modul mạch điều khiển - 54 c) Kết thiếtkế,chếtạo mạch điều khiển - 61 4.2 Chƣơng trình điều khiển Mobile Robot - 63 a) Lập trình C cho vi điều khiển Atmega128 - 63 b) Xây dựng chƣơng trình điều khiển cho Mobile Robot - 64 4.3 Thiết bị phần cứng công cụ lập trình - 68 a) Thiết bị phần cứng - 68 b) Công cụ lập trình - 68 c) Theo vết đối tƣợng dùng thuật toán Camshift - 85 KẾT LUẬN - 90 TÀI LIỆU THAM KHẢO - 91 PHỤ LỤC - 93 PHỤ LỤC A: Chƣơng trình xử lý ảnh OpenCV - 93 PHỤ LỤC B: Chƣơng trình điều khiển Mobile Robot - 95 PHỤ LỤC C: Bản thiết kế sơ mobile robot - 105 - v DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT Ký hiệu Nội dung, ý nghĩa Oxy Hệ tọa độ quy chiếu cố định Pc xm ym Hệ tọa độ quy chiếu gắn trọng tâm robot vr t vl t r t l t Vận tốc dài bánh bên phải Vận tốc dài bánh bên trái Vận tốc góc bánh bên phải Vận tốc góc bánh bên trái ICC Tâm vận tốc tức thời robot R Khoảng cách từ trọng tâm Pc đến ICC 2b Khoảng cách bánh R Bán kính bánh xe l , r Mx Góc quay động trái, phải Momen uốn trục xe Ứng suất sinh trục xe Fms Lực ma sát bánh xe với mặt đƣờng k Hệ số ma sát bánh xe với mặt đƣờng vi DANH MỤC CÁC BẢNG Nội dung Trang Bảng 2.1 Sơ đồ bánh xe mobile robot 26 Bảng 2.2 Ký hiệu loại bánh xe sử dụng mô hình 28 DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ Nội dung Trang Hình 1.1 Robot The Stanford Cart line follower [9] Hình 1.2 Robot Shakey [11] Hình 1.3 Robot RB5X [10] Hình 1.4 Robot Dante II [10] Hình 1.5 Robot Pioneer [9] Hình 1.6 Robot The Rover Sojourner [9] Hình 1.7 Robot Abio [10] Hình 1.8 Robot PackBot [10] Hình 1.9 Robot Roomba [11] Hình 1.10 Robot chân, chân , chân [11] Hình 1.11 Robot nhánh xích, nhánh xích [11] Hình 1.12 Mobile robot Curiosity NASA [9] Hình 1.13 Robot thám hiểm Hỏa Opportunity Spirit NASA 11 Hình 1.14 Robot AQUA Canada sản xuất có khả hoạt động dƣới 12 biển Hình 1.15 Robot chuyển gỗ Plustech [10] 12 vii Hình 1.16 Robot lau nhà RC 3000, Robot TALON small dung quân 13 Hình 1.17 Robot dạng ngƣời có khả nhận dạng khuôn mặt vẽ lại 13 Hình 1.18 Mô hìnhrobot Curiosity NASA 14 Hình 2.1 Mobile robot Curiosity NASA 15 Hình 2.2 Các loại bánh xe dùng cho robottựhành 16 Hình 2.3 Mô hình bánh xe đƣợc lý tƣởng hóa 20 Hình 2.4 Mô hình động học robottựhành 21 Hình 2.5 Vận tốc bánh xe bên phải chuyển động 22 Hình 2.6 Kết cấu tổng thể robot 25 Hình 2.7 Thân robot 25 Hình 2.8 Kết cấu trƣớc sau 26 Hình 2.9 Trục 26 Hình 2.10 Thanh tự cân 27 Hình 2.11 Biểu đồ nội lực tác dụng lên trục 28 Hình 2.12 Phân bố lực hai đầu trục 29 Hình 2.13 Phân bố lực trƣớc 30 Hình 2.14 Biểu đồ nội lực tác dụng lên trục phụ 30 Hình 2.15 Phân bố lực sau 31 Hình 2.16 Lực tác dụng lên bánh xe 32 Hình 2.17 Mô hình xe lên dốc cân 33 Hình 2.18 Phân bố lực đầu trục 33 Hình 2.19 Mô hình xe lên dốc lệch hai bên 34 Hình 2.20 Biểu đồ nội lực tác dụng lên 35 viii Hình 2.21 Phân bố lực trƣớc 36 Hình 2.21 Biểu đồ nội lực trục phụ 37 Hình 2.22 Lực dọc tác dụng lên trục phụ 37 Hình 2.23 Lực phân bố sau 38 Hình 2.24 Mô hìnhrobot sau chếtạo thực nghiệm 38 Hình 2.25 Kiểm tra khả vƣợt địahìnhrobot 40 Hình 3.1 Sơ đồ khối mô tả trình xử lý ảnh 41 Hình 3.2 Ảnh đƣợc xử lí làm trơn 47 Hình 3.3 Ảnh qua xử lí phân rã ăn mòn 48 Hình 3.4 Ảnh đƣợc trích chọn 48 Hình 3.5 Làm biên ảnh với phƣơng pháp Sobel 49 Hình 3.6 Dò biên theo phƣơng pháp Canny: đƣờng biên lên rõ ràng 50 Hình 3.7 Bức ảnh đƣợc dùng để nhận dạng đƣờng tròn 50 Hình 3.8 Bức ảnh để nhận dạng đƣờng thẳng 51 Hình 3.9 Các biến đổi không gian 51 Hình 3.10 Dò biên với phƣơng pháp Contour 52 Hình 3.11 Dò biên với phƣơng pháp Contour 53 Hình 4.1 Sơ đồ khối mạch điều khiển 54 Hình 4.2 Sơ đồ khối mạch Main 55 Hình 4.3 Sơ đồ khối mạch nguồn thiết kế Orcad 56 Hình 4.4 Vi điều khiển thiết kế phần mềm Orcad 57 Hình 4.5 Modul giao tiếp ngƣời điều khiển robot 57 Hình 4.6 Mạch kết nối cổng Com 58 Hình 4.7 Sơ đồ khối mạch công suất 58 ix TÀI LIỆU THAM KHẢO D.B.Reister, M.A.Unseren (1993), “Position and Constraint force Control ofa Vehicle with Two or More Steerable Drive Wheels”, IEEE Transaction on Robotics and Automation, page 723-731, Volume S.Sreenivasan, B.Wilcox (1994), “Stability and Traction control of an Actively Actuated Micro Rover”, Journal of Robotic Systems H.Hacot (1998), “Analysis and Traction Control of a Rocker-Bogie Planetary Rover”, M.S.Thesis, Massachusetts Institute of Technology, Cambridge, MA K.Iagnemma, S.Dubowsky (2000), “Mobile Robot Rough-Terrain Control (RTC) for Planetary Exploration”, Proceedings of the 26 Th ASME Biennial Mechanisms and Robotics Conference, Baltimore, Maryland K.Yoshida, H.Hamano (1989), “Motion Dynamics of a Rover with Slip- Based Traction Model”, Proceeding of 2002 IEEE International Conference on Robotics and Automation, 2002 [7] John J Craig, “Introduction to Robotics Mechanics and Control”, Second Edition, Addison-Wesley Publishing Thomas THÜER (2009); “Mobility evaluation of wheeled all-terrain robots, Metrics and application”; DISS ETH NO 18160 http://en.wikipedia.org/wiki/R.U.R http://en.wikipedia.org/wiki/Mobile_robot http://automation.net.vn/Robot-Robotics/blog.html 10 http://www.mobilerobots.com/Mobile_Robots.aspx 11 http://dinofab.com/atr/ 12 John P Grotzinger·Joy Crisp·Ashwin R Vasavada·Robert C Anderson· Charles J Baker·Robert Barry·David F Blake·Pamela Conrad·Kenneth S Edgett·Bobak Ferdowski·Ralf Gellert·John B Gilbert·Matt Golombek·Javier Gómez-Elvira·Donald M Hassler·Louise Jandura·Maxim Litvak·Paul Mahaffy·Justin Maki·Michael Meyer·Michael C Malin·Igor Mitrofanov·John J Simmonds·David Vaniman·Richard V Welch·RogerC.Wiens (2012), Mars Science Laboratory Mission and Science Investigation 13 Kenneth S Edgett·R Aileen Yingst·Michael A Ravine·Michael A Caplinger·Justin N Maki·F To ny Gha emi·Jacob A Schaffner·James Bell III·Laurence J Edwards·Kenneth E Herkenhoff·Ezat Heydari·Linda Kah·Mark T Lemmon·Michelle E Minitti·Timothy S Olson·Timothy Parker·Scott K Rowland·Juergen Schieber·Robert J Sullivan·Dawn Sumner·Peter C Thomas·Elsa H Jensen·John J Simmonds·Aaron - 91 - F C J Y J Sengstacken·Reg G Willson·Walter Goetz (2012), Curiosity’s Mars Hand Lens Imager (MAHLI) Investigation 14 Gene Fellner• Wesley Pitts• Mark Zuss (2012), Beyond the sensible world: a discussion of Mark Zuss’ The practice of theoretical curiosity 15 Masanori Sato, Kazuo Ishii (2010), Simultaneous Optimization of Robot Structure and Control System Using Evolutionary Algorithm 16 LI Yunwang GE Shirong, ZHU Hua, FANG Haifang, GAO Jinke (2010), Mobile platform of rocker-type coal mine rescue robot 17 Patrick F Muir, Charles P Neumann (1987), “Kinematic modeling of wheeled mobile robots”, Journal of Robotics Systems, Vol.4, No.2, pp.281340, 18 Lương Mạnh Bá & Nguyễn Thanh Thủy (2003), “Nhập môn Xử lí ảnh”, Nhà xuất khoa học kỹ thuật, Hà Nội 19 Nguyễn Văn Khang (2007), Động lực học hệ nhiều vật, Nhà xuất khoa học kỹ thuật, Hà Nội 20 Ngô Diên Tập (2003), “Giáo trình vi điều khiển AVR”, Nhà xuất khoa học kỹ thuật, Hà Nội - 92 - PHỤ LỤC PHỤ LỤC A: Chương trình xử lý ảnh OpenCV #include #include #include #define ESC 27 #define SPACE 32 IplImage* img; int m_IntX, m_IntY; void detect_and_draw(IplImage* img) { // tao bo nho dem rong CvMemStorage* storage = cvCreateMemStorage(0); // tao cascade //CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad("C:/Program Files/OpenCV/data/haarcascades/haarcascade_frontalface_alt2.x ml"); CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad("C:/Program Files/OpenCV/data/haarcascades/hopsaple.xml"); //double scale = 1.3; static CvScalar colors[] = { {{0,0,255}}, {{0,128,255}}, {{0,255,255}}, {{0,255,0}}, {{255,128,0}}, {{255,255,0}}, {{255,0,0}}, {{255,0,255}} }; // phat hien khuon mat cvClearMemStorage(storage); // xoa bo nho dem CvSeq* objects = cvHaarDetectObjects (img, cascade, storage, 1.1, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize( 0, ) ); int scale = 1; for( int i = 0; i < objects->total; i++ ) { CvRect objects_rect = *(CvRect*)cvGetSeqElem( objects, ); cvRectangle( img, cvPoint(objects_rect.x*scale,objects_rect.y*scale), - 93 - cvPoint((objects_rect.x+objects_rect.width)*scale,(objects_re ct.y+objects_rect.height)*scale),CV_RGB(0,255,0),2 ); cvLine(img,cvPoint((objects_rect.x+objects_rect.width/2) *scale,(objects_rect.y+objects_rect.height/220)*scale),cvPoint((objects_rect.x+objects_rect.width/2)*scal e,(objects_rect.y+objects_rect.height/2+20)*scale),CV_RGB(255 ,0,0),1.8 ); cvLine(img,cvPoint((objects_rect.x+objects_rect.width/220)*scale,(objects_rect.y+objects_rect.height/2)*scale),cvPoi nt((objects_rect.x+objects_rect.width/2+20)*scale,(objects_re ct.y+objects_rect.height/2)*scale),CV_RGB(255,0,0),1.8 ); } //CvPoint2D32f dcenter = faceBox.center; //CvPoint boxcenter = cvPointFrom32f(dcenter); cvNamedWindow("output", CV_WINDOW_AUTOSIZE); cvShowImage("output", img); cvReleaseImage(&img); } int main(int argc, char** argv[]) { CvCapture* capture; capture = cvCaptureFromCAM(CV_CAP_ANY); IplImage* frame; //cvNamedWindow("anh_chup"); while(1) { frame = cvQueryFrame( capture ); detect_and_draw(frame); char c = cvWaitKey(33); if( c == SPACE ) { cvSaveImage("C:/Documents and Settings/Administrator/Desktop/1.jpg", img );} if( c == ESC ) break; } cvReleaseCapture(&capture); return 0; } - 94 - PHỤ LỤC B: Chương trình điều khiển Mobile Robot /***************************************************** Project : Version : Date : 9/05/2014 Author : Ngo Anh Tu Company : 12BCDT-KH - HUST Comments: Chip type : ATmega128 Program type : Application Clock frequency : 8.000000 MHz Memory model : Small External SRAM size : Data Stack size : 1024 *****************************************************/ #include #include // Alphanumeric LCD Module functions #asm equ lcd_port=0x1B ;PORTA #endasm #include #define RXB8 #define TXB8 #define UPE #define OVR #define FE #define UDRE #define RXC #define FRAMING_ERROR (1