1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot

95 0 0

Đ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

(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot(Luận văn thạc sĩ) Tổng quan về Omni Direction Robot

LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chƣa đƣợc cơng bố cơng trình khác Tp Hồ Chí Minh, ngày……tháng……năm 2017 (Ký tên ghi rõ họ tên) Phạm Lê Long Triều ii LỜI CẢM ƠN Trong thời gian học tập nghiên cứu trƣờng, Tơi hồn thành đề tài tốt nghiệp cao học Có đƣợc thành này, Tơi nhận đƣợc nhiều hỗ trợ giúp đỡ tận tình thầy cơ, gia đình, quan bạn bè thời gian học tập vừa qua Tơi xin bày tỏ lịng biết ơn chân thành đến Thầy PGS.TS Nguyễn Thanh Phƣơng, Trƣờng Đại học Kỹ Thuật Cơng Nghệ TP.HCM, ngƣời tận tình hƣớng dẫn, giúp đỡ, truyền đạt kinh nghiệm để Tơi hồn thành luận văn Xin chân thành cảm ơn đến tất q Thầy Cơ trƣờng Đại Học Sƣ Phạm Kỹ Thuật Tp Hồ Chí Minh trang bị cho tơi lƣợng kiến thức bổ ích, đặc biệt xin chân thành cảm ơn q Thầy Cơ Khoa Điện – Điện Tử tạo điều kiện thuận lợi hỗ trợ cho Tơi q trình học tập nhƣ thời gian làm luận văn tốt nghiệp Tôi xin gởi lời cảm ơn chân thành đến đồng nghiệp, gia đình, bạn bè giúp đỡ cho tơi nhiều để vƣợt qua khó khăn, tạo cho Tơi niềm tin nỗ lực phấn đấu để hoàn thành luận văn Xin chân thành cảm ơn ! Tp Hồ Chí Minh, tháng 10/2017 Học viên thực Phạm Lê Long Triều iii TÓM TẮT Đề tài ― TỔNG QUAN VỀ OMNIDIRECTION ROBOT ‖ đƣợc tiến hành khoảng thời gian 1,5 năm trƣờng Đại Học Sƣ Phạm Kỹ Thuật TP.HCM Sau thời gian nghiên cứu đề tài đƣợc triền khai tập trung giải vấn đề sau:  Tìm hiểu mơ hình tốn học robot di động đa hƣớng bánh (OMR)  Tìm hiểu phƣơng pháp điều khiển trƣợt tích phân (Integal Sliding Mode Control – ISMC) cho robot di động đa hƣớng bánh  Mô robot bám theo quỹ đạo tham chiếu điều khiển sử dụng Matlab Simulink cho robot di động đa hƣớng bánh (OMR)  Xây dựng mơ hình thực nghiệm  Nhận xét kết đạt đƣợc hạn chế mơ hình iv ABSTRACT Thesis ―OVERVIEW OF OMNIDIRECTIONAL ROBOT ‖ has been done for one and a half years at HO CHI MINH University of Technology And Education The thesis‘s content focused on:  Learn about mathematical model of the three-wheel mobile omnidirectional robot (OMR)  Learn about Integal Sliding Mode Control for the three-wheel mobile omni-directional robot (OMR)  Simulation of the reference robot trajectory using Matlab Simulink for OMR  Construct model experiment  Comment on the results and limitations of the model v MỤC LỤC LÝ LỊCH KHOA HỌC i LỜI CAM ĐOAN .ii LỜI CẢM ƠN iii TÓM TẮT iv ABSTRACT v MỤC LỤC vi DANH SÁCH KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN viii DANH SÁCH CÁC BẢNG ix DANH SÁCH CÁC HÌNH x Chƣơng 1: TỔNG QUAN 1 Tổng Quan Về RoBot 1.2 Sơ Lƣợc Qúa Trình Phát Triển 1.3 Những Ứng Dụng Điển Hình Của Robot 1.4 Tóm Tắt Các Cơng Trình Nghiên Cứu Liên Quan 1.5 Nhận xét chung hƣớng tiếp cận 12 1.6 Mục tiêu luận văn 12 1.7 Nhiệm vụ luận văn 13 1.8 Giới hạn luận văn 13 1.9 Bố cục đề tài 13 Chƣơng 2: CƠ SỞ LÝ THUYẾT 15 2.1 Giới thiệu phƣơng pháp Lyapunov 15 2.2 Định lý ổn định thứ Lyapunov 15 2.3 Lý thuyết điều khiển trƣợt 16 2.3.1 Giới thiệu chung 16 2.3.2 Thiết kế điều khiển trƣợt 18 Chƣơng 3: MƠ HÌNH TỐN HỌC CỦA ROBOT DI ĐỘNG ĐA HƢỚNG 20 3.1 Cấu trúc hình học giả thiết 20 3.1.1 Cấu trúc hình học robot di động đa hƣớng 20 vi 3.1.2 Các giả thiết cho mơ hình nghiên cứu 21 3.2 Mơ hình tốn học robot di động đa hƣớng 21 3.2.1 Mơ hình động học 21 3.2.2 Mơ hình động lực học 23 Chƣơng : ĐIỀU KHIỂN CHUYỂN ĐỘNG CỦA OMR SỬ DỤNG PHƢƠNG PHÁP ĐIỀU KHIỂN TRƢỢT 26 4.1 Giới thiệu 26 4.2 Bộ điều khiển trƣợt tích phân (ISMC) thiết kế cho OMR 26 4.3 Kết luận 31 Chƣơng 5: MÔ PHỎNG 32 5.1 Đặt vấn đề 32 5.2 Kết mô 32 5.2.1 Kết mơ với điều khiển có thông số thứ 32 5.2.2 Kết mơ với điều khiển có thơng số thứ hai 41 5.3 Nhận xét 48 Chƣơng 6: MƠ HÌNH THỰC NGHIỆM 49 6.1 Phần Cơ Khí 49 6.1.1 Các thiết bị để thực mơ hình 49 6.1.2 Ý tƣờng thiết kế 50 6.2 Mô Robot Omni bảng điều khiển 53 Chƣơng 7: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 56 7.1 Kết luận 56 7.2 Hƣớng phát triển đề tài 56 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 61 * Phần lập trình điều khiển cho robot Omni 61 vii DANH SÁCH KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN Ký hiệu Diển giải OMR Robot di động đa hƣớng ( Omnidirectional mobile robot) ISMC Điều khiển trƣợt tích phân ( Integal sliding mode control) OMS-SOW Robot di động đa hƣớng có bánh xe đa hƣớng ( Omnidirectional mobile robot – steerable omnidirectional wheels) 4WD Bốn bánh xe có lái ( Four wheel drive) OOMR Robot di động đa hƣớng vận hành long đƣờng ( Offroad omnidirectional mobile robot) DOF Bậc tự ( Degree of freedom) KC Điều khiển động học ( Kinetic control) SMC Điều khiển kiểu trƣợt (Sliding mode control) viii DANH SÁCH CÁC BẢNG Bảng 1: Giá trị thông số OMR 33 Bảng 2: Giá trị ban đầu cho mô 33 Bảng 1: Các thiết bị thực mơ hình thực nghiệm 49 ix DANH SÁCH CÁC HÌNH Hình 1: Robot hàn điểm nhà máy sản xuất xe .2 Hình 2: Hệ thống robot hàn đƣờng hãng FANUC Hình 3: Robot lắp ráp mạch in có hệ thống camera quan sát đƣợc dùng để xác định vị trí chân mạch in Hình 4: Tay Robot đƣợc sử dụng máy ép nhựa để lấy thành phẩm .5 Hình 5: Mơ tả hình học cho OMR-SOW .7 Hình 6: Kết thực nghiệm bám theo đƣờng tròn Hình 7: Cơ cấu truyền động Hình 8: Mơ hình robot thực nghiệm Hình 9: Chuyển động robot từ xuống .9 Hình 10: Robot di động đa hƣớng lăn bánh xích (OOMR) 10 Hình 11: Robot di động đa hƣớng bánh (OMR) .11 Hình 12: Bánh xe vô hƣớng 11 Hình 13: Phân tích lực tác động lên robot 11 Hình 1: Minh họa hàm Lyapunov 16 Hình 2: Hệ thống có điều khiển trƣợt 17 Hình 3: Hình chiếu quỹ đạo pha 17 Hình 1: Cấu trúc hình học OMR 20 Hình 1: Định nghĩa véc tơ sai số bám 27 Hình 2: Sơ đồ khối cho ISMC 31 Hình 1: Quỹ đạo mong muốn 34 Hình 2: Véc tơ điều khiển mô men ngõ vào  (I) 34 Hình 3: Véc tơ sai số bám ep thời điểm ban đầu (I) 35 Hình 4: Véc tơ sai số bám ep toàn thời gian (I) .35 Hình 5: Véc tơ mặt trƣợt Sv (I) 36 Hình 6: Véc tơ sai số vận tốc bám ev thời điểm ban đầu (I) .36 Hình 7: Véc tơ sai số vận tốc ev bám toàn thời gian (I) .37 Hình 8: Vận tốc góc 1, 2, 3 bánh xe (I) 37 x Hình 9: Vận tốc tuyến tính vC OMR (I) 38 Hình 10: Vận tốc góc C OMR (I) 38 Hình 11: Chuyển động OMR thời điểm ban đầu (I) 39 Hình 12: Chuyển động OMR toàn thời gian (I) 39 Hình 13: Quỹ đạo đƣờng elip có r1 = 0,3 m; r2 = 0,8 m (I) 40 Hình 14: Quỹ đạo đƣờng cong có dạng chữ Ω (I) 41 Hình 15: Véc tơ điều khiển mô men ngõ vào  (II) .42 Hình 16: Véc tơ sai số bám ep thời điểm ban đầu (II) 42 Hình 17: Véc tơ sai số bám ep tồn thời gian (II) 43 Hình 18: Véc tơ mặt trƣợt Sv (II) 43 Hình 19: Véc tơ sai số vận tốc bám ev thời điểm ban đầu (II) 44 Hình 20: Véc tơ sai số vận tốc ev bám toàn thời gian (II) 44 Hình 21: Vận tốc góc 1, 2, 3 bánh xe (II) 45 Hình 22: Vận tốc tuyến tính vC OMR (II) .45 Hình 23: Vận tốc góc C OMR (II) 46 Hình 24: Chuyển động OMR thời điểm bắt đầu (II) 46 Hình 25: Chuyển động OMR toàn thời gian (II) 47 Hình 26: Quỹ đạo đƣờng elip với r1 = 0,3 m; r2 = 0,8 m (II) 47 Hình 27: Quỹ đạo đƣờng cong có dạng chữ Ω (II) 48 Hình 1: Minh họa mơ hình robot thi công 51 Hình 2: Arduino Mega 2560 R3 51 Hình 3: Sơ đồ đấu nối 52 Hình 4: Robot omni chạy theo quỹ đạo hình chữ nhật 53 Hình 5: Robot omni chạy theo quỹ đạo hình vng 54 Hình 6: Robot omni chạy theo quỹ đạo hình trịn .55 xi /////////////////////////////////////////////////////////////////////////////////////////// */ if (val == 0) // tien { Serial.println(" ,Tien "); lcd.setCursor(0, 0); lcd.print("Tien "); digitalWrite(52,0); digitalWrite(in1_1, 1); // dc1 digitalWrite(in2_1, 0); analogWrite(pwm_1, 160 ); digitalWrite(in1_2, 1); digitalWrite(in2_2, 0); // dc2 analogWrite(pwm_2, 80 ); digitalWrite(in1_3, 0); digitalWrite(in2_3, 1); // dc3 analogWrite(pwm_3, 80 ); } if (val == 1) // lui { Serial.println(" ,Lui"); 71 //dco quay thuan ; lcd.setCursor(0, 0); lcd.print("Lui "); digitalWrite(52,0); digitalWrite(in1_1, 0); // dc1 digitalWrite(in2_1, 1); analogWrite(pwm_1, 160 ); digitalWrite(in1_2, 0); digitalWrite(in2_2, 1); // dc2 analogWrite(pwm_2, 80 ); digitalWrite(in1_3, 1); digitalWrite(in2_3, 0); // dc3 analogWrite(pwm_3, 80 ); } if (val == 2) // sang phai { Serial.println(" ,Sang phai "); //dco quay thuan ; lcd.setCursor(0, 0); lcd.print("Sang phai "); digitalWrite(52,0); 72 analogWrite(pwm_1, ); // dc1 digitalWrite(in1_2, 1); digitalWrite(in2_2, 0); // dc2 analogWrite(pwm_2, 255 ); digitalWrite(in1_3, 1); digitalWrite(in2_3, 0); // dc3 analogWrite(pwm_3, 255 ); } if (val == 3) // sang trai { Serial.println(" ,Sang trai"); //dco quay thuan ; lcd.setCursor(0, 0); lcd.print("Sang trai "); digitalWrite(52,0); analogWrite(pwm_1, ); // dc1 digitalWrite(in1_2, 0); digitalWrite(in2_2, 1); // dc2 analogWrite(pwm_2, 255 ); digitalWrite(in1_3, 0); digitalWrite(in2_3, 1); // dc3 analogWrite(pwm_3, 255 ); 73 } if (val == 4) // dung { Serial.println(" ,Dung "); lcd.setCursor(0, 0); lcd.print("Dung "); analogWrite(pwm_1, ); analogWrite(pwm_2, ); analogWrite(pwm_3, ); t=0; //dco quay thuan ; } if (val == 5) // thuan { Serial.println(" ,Quay Thuan "); //dco quay thuan ; lcd.setCursor(0, 0); lcd.print("Quay Thuan "); digitalWrite(52,0); digitalWrite(in1_1, 1); // dc1 digitalWrite(in2_1, 0); analogWrite(pwm_1, 100 ); digitalWrite(in1_2, 0); 74 digitalWrite(in2_2, 1); // dc2 analogWrite(pwm_2, 100 ); digitalWrite(in1_3, 1); digitalWrite(in2_3, 0); // dc3 analogWrite(pwm_3, 100 ); } if (val == 6) // nghich { Serial.println(" ,Quay nghich "); //dco quay nghich lcd.setCursor(0, 0); lcd.print("Quay Nghich "); digitalWrite(52,0); digitalWrite(in1_1, 0); // dc1 digitalWrite(in2_1, 1); analogWrite(pwm_1, 100 ); digitalWrite(in1_2, 1); digitalWrite(in2_2, 0); // dc2 analogWrite(pwm_2, 100 ); digitalWrite(in1_3, 0); digitalWrite(in2_3, 1); // dc3 75 analogWrite(pwm_3, 100 ); } } } // gan gia tri if (val == 10) { digitalWrite(52,0); //lcd.clear(); Serial.print(","); // x0 Serial.print(x_dat); Serial.print(",");// Serial.print(x_thuc); Serial.print(","); // y0 Serial.print(y_dat); Serial.print(",");// Serial.print(y_thuc); Serial.print(","); // goc Serial.print(gochientai); Serial.print(",");// kp 76 Serial.print(kp); Serial.print(","); //ki Serial.print(ki); Serial.print(","); // kd Serial.print(kd); Serial.print(","); // u1 Serial.print(u1); Serial.print(","); // u2 Serial.print(u2); Serial.print(","); // u3 10 Serial.println(u3); lcd.setCursor(0, 0); lcd.print("x="); lcd.print(x_thuc); lcd.setCursor(0, 1); lcd.print("y="); lcd.print(y_thuc); 77 x_dat = a1*(25*sin(t)+35)+ a2*(25*sin(t)+35)+x; // A1 =0, x = y_dat = a1*(25*cos(t)+35)+ a2*(25*sin(0.5*t)+35)+y; // t= 0, x = -50 + fuzzy->setInput(1, quangduonght); fuzzy->setInput(2, de); fuzzy->setInput(3, quangduonght); fuzzy->setInput(4, de); fuzzy->setInput(5, quangduonght); fuzzy->setInput(6, de); fuzzy->fuzzify(); float outputP_tam = fuzzy->defuzzify(1); float outputD_tam = fuzzy->defuzzify(2); float outputI_tam = fuzzy->defuzzify(3); kp = outputP_tam *10 ; ki = outputI_tam *0.001; kd = outputD_tam *100; x_thuc = khoangcach_x0(); y_thuc = khoangcach_y0(); if(x_thuc >100) { x_thuc = 100; 78 } if(y_thuc >100) { y_thuc = 100; } //sua tam gochientai = goc(); //gochientai = 237; error_x = x_thuc - x_dat; error_y = y_thuc - y_dat; quangduonght = sqrt(error_x*error_x + error_y*error_y); quangduonght = quangduonght / 100; if(quangduonght > 1){ quangduonght = 1; } if(quangduonght < 0){ quangduonght = 0; } v1 =(kp*error_y)+ki*(error_y+preError_y)+kd*(error_y- preError_y); v2 =- (sqrt(3)/2)*kp*error_x+ki*(error_x+preError_x)+kd*(error_xpreError_x)+(0.5)*(kp*error_y)+ki*(error_y+preError_y)+kd*(error_y-preError_y); v3 = (sqrt(3)/2)*kp*error_x+ki*(error_x+preError_x)+kd*(error_x- 79 preError_x)+(0.5)*(kp*error_y)+ki*(error_y+preError_y)+kd*(error_y-preError_y); preError_y = error_y; preError_x = error_x; duty1 = abs(v1); duty2 = abs(v2); duty3 = abs(v3); if(duty1 > 1500){ duty1 = 1500; } if(duty2 > 1500){ duty2 = 1500; } if(duty3 > 1500){ duty3 = 1500; } u1 = map(duty1, 0, 1500, 60 , 250); u2 = map(duty2, 0, 1500, 60 , 250); u3 = map(duty3, 0, 1500, 60 , 250); // chuong trinh chinh //11111111111111//////////////*****************/////////////// if (gochientai < (gocdat + 10)) { 80 //dco quay nghich digitalWrite(in1_1, 0); digitalWrite(in2_1, 1); analogWrite(pwm_1, 100 ); // dc1 digitalWrite(in1_2, 1); digitalWrite(in2_2, 0); analogWrite(pwm_2,100 ); //dc2 digitalWrite(in1_3, 0); digitalWrite(in2_3, 1); analogWrite(pwm_3, 100); // dc3 } //22222222222222222222222222222222222222222 if (gochientai > (gocdat - 10)) { //dco quay thuan ; digitalWrite(in1_1, 1); digitalWrite(in2_1, 0); analogWrite(pwm_1, 100); // dc1 digitalWrite(in1_2, 0); digitalWrite(in2_2, 1); analogWrite(pwm_2, 100); //dc2 81 digitalWrite(in1_3, 1); digitalWrite(in2_3, 0); analogWrite(pwm_3, 100); // dc3 } //3333333333333333333333333333 if (gochientai = (gocdat - 10) ) { // bam xung cho dong co if (v1 > 0) { digitalWrite(in1_1, 1); // dc1 digitalWrite(in2_1, 0); analogWrite(pwm_1, u1 +3); } if (v1 < 0) { digitalWrite(in1_1, 0); // dc1 digitalWrite(in2_1, 1); analogWrite(pwm_1, u1+3); } if (v1 == 0) { analogWrite(pwm_1, ); } // dong co 82 if (v2 > 0) { digitalWrite(in1_2, 0); digitalWrite(in2_2, 1); // dc2 analogWrite(pwm_2, u2 ); } if (v2 < 0) { digitalWrite(in1_2, 1); digitalWrite(in2_2, 0); // dc2 analogWrite(pwm_2, u2 ); } if (v2 == 0) { analogWrite(pwm_2, ); } // dong co if (v3 > 0) { digitalWrite(in1_3, 1); digitalWrite(in2_3, 0); // dc3 analogWrite(pwm_3, u3 ); } if (v3 < 0) { digitalWrite(in1_3, 0); digitalWrite(in2_3, 1); // dc3 83 analogWrite(pwm_3, u3); } if (v3 == 0) { analogWrite(pwm_3, ); } } } } Code Pidc.m V = kp* [ex;ey] + ki*[tpex;tpey] + kd * [dhex;dhey] u1 = V'*[0;1] + pdthe; u2 = V'*[-sqrt(3)/2;-0.5] + pdthe; u3 = V'*[sqrt(3)/2;-0.5] + pdthe; sys(1) = u1; sys(2) = u2; sys(3) = u3; Code Quangduong.m ex = u(1); ey = u(2); u = sqrt(ex*ex + ey*ey) sys(1) = u; 84 S K L 0 ... định chọn đề tài ― Tổng Quan Về Omni Direction Robot? ?? Sử dụng lý thuyết ổn định Lyapunov, điều khiển trƣợt tích phân (ISMC) đƣợc thiết kế để điều khiển chuyển động Omnidirection Robot, sử dụng phần... Robot omni chạy theo quỹ đạo hình vng 54 Hình 6: Robot omni chạy theo quỹ đạo hình trịn .55 xi Chƣơng 1: TỔNG QUAN 1 Tổng Quan Về RoBot Theo trình phát triển xã hội, nhu cầu tự động hóa... Phần lập trình điều khiển cho robot Omni 61 vii DANH SÁCH KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN Ký hiệu Diển giải OMR Robot di động đa hƣớng ( Omnidirectional mobile robot) ISMC Điều khiển trƣợt

Ngày đăng: 09/12/2022, 11:52

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w