Luận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trướcLuận văn Thạc sĩ Kỹ thuật Cơ điện tử: Nghiên cứu – Điều khiển xe điện theo quỹ đạo cho trước
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - VŨ ĐỨC NGUYÊN NGHIÊN CỨU – ĐIỀU KHIỂN XE ĐIỆN THEO QUỸ ĐẠO CHO TRƯỚC LUẬN VĂN THẠC SĨ Chuyên ngành : Kỹ Thuật Cơ – Điện Tử Mã số ngành: 60520114 TP HỒ CHÍ MINH, tháng 03 năm 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - VŨ ĐỨC NGUYÊN NGHIÊN CỨU – ĐIỀU KHIỂN XE ĐIỆN THEO QUỸ ĐẠO CHO TRƯỚC LUẬN VĂN THẠC SĨ Chuyên ngành : Kỹ Thuật Cơ – Điện Tử Mã số ngành: 60520114 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN TẤN TIẾN TP HỒ CHÍ MINH, tháng 03 năm 2016 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM Cán hướng dẫn khoa học : PGS.TS NGUYỄN TẤN TIẾN …… Luận văn Thạc sĩ bảo vệ Trường Đại học Công nghệ TP HCM ngày 05 tháng 03 năm 2016 Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm: TT Họ tên PGS.TS NGUYỄN THANH PHƯƠNG TS NGUYỄN DUY ANH TS VÕ HOÀNG DUY TS ĐẶNG XUÂN KIÊN TS NGUYỄN VĂN NHANH Chức danh Hội đồng Chủ tịch Phản biện Phản biện Ủy viên Ủy viên, Thư ký Xác nhận Chủ tịch Hội đồng đánh giá Luận Văn Chủ tịch Hội đồng đánh giá LV PGS.TS NGUYỄN THANH PHƯƠNG TRƯỜNG ĐH CƠNG NGHỆ TP HCM PHỊNG QLKH – ĐTSĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc TP HCM, ngày 26 tháng 01 năm 2016 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: VŨ ĐỨC NGUYÊN .Giới tính: Nam Ngày, tháng, năm sinh: 26/04/2989 Nơi sinh: Tiền Giang Chuyên ngành: Kỹ Thuật Cơ Điện Tử MSHV: 1441840007 I- Tên đề tài: NGHIÊN CỨU – ĐIỀU KHIỂN XE ĐIỆN THEO QUỸ ĐẠO CHO TRƯỚC II- Nhiệm vụ nội dung: Nghiên cứu thuật tốn bám line tự động cho xe tơ bánh 1./ Mơ hình hóa hệ thống 2./ Thiết kế điều khiển 3./ Thực nghiệm kiểm chứng III- Ngày giao nhiệm vụ: 26/05/2015 IV- Ngày hoàn thành nhiệm vụ: 26/01/2016 V- Cán hướng dẫn: PGS.TS NGUYỄN TẤN TIẾN CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) KHOA QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa cơng bố cơng trình khác Tôi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thơng tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn (Ký ghi rõ họ tên) VŨ ĐỨC NGUYÊN LỜI CÁM ƠN Lời đầu tiên, xin gửi đến thầy PGS.TS Nguyễn Tấn Tiến lòng tri ân sâu sắc Trong suốt trình thực luận văn, Tiến sĩ Nguyễn Tấn Tiến người tận tình hướng dẫn, định hướng cung cấp góp ý cần thiết để tơi hồn thành luận văn Không học hỏi kiến thức thầy, tơi cịn học thầy phương pháp nghiên cứu, cách thức làm việc khoa học nhiệt tâm người thầy với học trò Để có kiến thức hơm nay, tơi xin chân thành cảm ơn thầy môn Cơ Điện tử - trường đại học Công Nghệ thành phố Hồ Chí Minh Ngồi tơi xin gửi lời cám ơn đến hỗ trợ bạn kỹ sư, sinh viên làm việc học tập Phịng Thí nghiệm Cơ Điện Tử- trường Bách Khoa Tp HCM, nơi tơi tiến hành thí nghiệm kiệm chứng Sau cùng, xin gửi lời cảm ơn đến tất người thân, bạn bè đồng nghiệp, người động viên hỗ trợ suốt trình học tập nghiên cứu Thành phố Hồ Chí Minh, ngày 26 tháng 11 năm 2015 VŨ ĐỨC NGUN TĨM TẮT Mục tiêu luận văn tập trung vào việc nghiên cứu, thiết kế điều khiển cho xe ô tô điện bốn bánh theo quỹ đạo cho trước Nội dung nghiên cứu luận văn bao gồm: * Mơ hình hóa hệ thống, tác giả mơ hình hóa hệ thống dựa sơ đồ ngun lý xe ô tô bánh sử dụng truyền động vi sai phía sau cấu lái hình thang theo chuẩn cấu lái Ackerman * Thiết kế điều khiển, tác giả thiết kế điều khiển dựa tiêu chuẩn ổn định Lyapunov Tác giả sử dụng liệu đầu cảm biến camera để tính tốn thơng số cần thiết cho điều khiển * Mô phỏng, tác giả mô phần mềm Matlab để kiểm tra tính ổn định điều khiển * Thực nghiệm kiểm chứng, tác giả sử dụng mơ hình tơ điện bánh có sơ đồ nguyên lý giống với ô tô thực để kiểm chứng tính khả thi điều khiển ABSTRACT The main objective of the thesis is focused on researching, designing controllers for electric cars four wheels followed the the previous orbit Research contents include: * Modeling system, author modeling system based on the principle diagram of 4-wheeled vehicles using transmission rear differential and steering trapezoid with Ackerman steering standard * Controller design, the authors designed controllers based on stable Lyapunov standards The author uses the output data of the camera sensor to calculate the parameters necessary for the controller * Simulation, by using Matlab software simulation for checking the stability of control * Experimental verification, the authors use the model 4-wheel electric car with the principle diagram similar to real cars to test the feasibility of the controller MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC KÝ HIỆU DANH MỤC BẢNG DANH MỤC HÌNH CHƯƠNG 1: TỔNG QUAN .9 1.1 Giới thiệu chung ô tô điện 1.2 Giới thiệu chung ô tô điện tự động 10 1.2.1 Khái niệm 10 1.2.2 Ưu điểm – Nhược điểm 10 1.2.3 Nguyên lý hoạt động ô tô điện tự động 11 1.2.4 Những hệ thống hỗ trợ tích hợp xe tơ điện tự động 11 1.3 Những phương pháp điều khiển xe điện nghiên cứu 12 1.3.1 Phương pháp điều khiển mờ ( Fuzzy Control) 12 1.3.2 Phương pháp điều khiển neural ( Neural Networks Control System) 15 1.4 Vấn đề nghiên cứu luận văn .19 1.4.1 Đầu đặt 19 1.4.2 Phạm vi nghiên cứu luận văn 19 1.4.3 Nội dung thực luận văn 19 1.4.4 Ý nghĩa khoa học luận văn .19 CHƯƠNG 2: LỰA CHỌN PHƯƠNG ÁN .20 2.1 Lựa chọn đối tượng điều khiển 20 2.1.1 Xe ô tô chỗ truyền động cầu vi sai phía trước .20 2.1.2 Xe ô tô chỗ truyền động cầu vi sai phía sau 20 Lựa chọn: 20 2.2 Lựa chọn điều khiển 21 2.2.1 Bộ điều khiển mờ ( Fuzzy Control ) .21 2.2.2 Bộ điều khiển nơ-ron ( Neural Control ) .21 2.2.3 Bộ điều khiển Adaptive 22 2.2.4 Bộ điều khiển Back Stepping 22 Lựa chọn 22 2.3 Lựa chọn cảm biến 23 2.3.1 Cảm biến từ trường 23 2.3.2 Cảm biến siêu âm 23 2.3.3 Cảm biến Camera 23 Lựa chọn 24 CHƯƠNG 3: THIẾT KẾ BỘ ĐIỀU KHIỂN 25 3.1 Mơ hình hóa động học xe ô tô bánh 25 3.1.1 Động học cấu lái .25 3.1.2 Mô hình hóa động học tồn hệ thống 26 3.2 Mơ hình hóa hệ thống .28 3.3 Thiết kế điều khiển bám line .29 3.4 Đo sai số 30 3.5 Phương trình điều khiển mơ hình thực nghiệm 31 3.5.1 Giải thuật điều khiển .31 3.5.2 Mối liên hệ 31 35 CHƯƠNG 4: THỰC NGHIỆM 4.1 Cảm biến sử dụng – CMU Cam Để nhận biết mục tiêu thường sử dụng camera thu liệu hình ảnh sau dùng thuật tốn xử lý ảnh Nhưng việc xử lý ảnh phức tạp cần nhiều thời gian nhớ, địi hỏi người lập trình phải có nhiều kiến thức xử lý ảnh (xem phụ lục) 4.2 Tính tỷ số truyền cấu lái Bảng - Tỷ lệ góc quay đc bánh xe Quay Trái Quay Phải RC( 90˚+) Bánh Trái Bánh Phải RC( 90˚+) Bánh Trái Bánh Phải 0˚ 0˚ 0˚ 0˚ 0˚ 0˚ 5˚ 2˚ 2˚ 5˚ 3˚ 3˚ 10˚ 6˚ 4˚ 10˚ 5˚ 7˚ 15˚ 9˚ 7˚ 15˚ 10˚ 11˚ 20˚ 14˚ 11˚ 20˚ 12˚ 14˚ 25˚ 19˚ 15˚ 25˚ 15˚ 18˚ 30˚ 20˚ 16˚ 30˚ 18˚ 20˚ Sử dụng phần mềm Matlab nội suy mối liên hệ góc quay động RC góc quay bánh xe dẫn hướng bên trái Ta nội suy phương trình: - Mối quan hệ : = 4.6 * + 4.6 * - 2.5 - 2.6 * - 2.1 * + 1.8* = f( ) * - 90 (5.1) 36 4.3 Mơ hình thực nghiệm Hình – Mơ hình thực nghiệm Hình – Mơ hình di chuyển line thực nghiệm 37 4.4 Kết thực nghiệm e2 Error e2 (mm) -1 -2 -3 -4 30 60 90 120 Time (s) 150 Hình – Thực nghiệm sai số 180 210 240 30 e3 25 20 Error e3 (deg) 15 10 -5 -10 -15 -20 30 60 90 120 Time (s) 150 Hình 4 – Thực nghiệm sai số 180 210 240 38 4.5 So sánh kết e2 mo phong e2 thuc nghiem Error e2 (mm) -1 -2 -3 -4 30 60 90 120 Time (s) 150 Hình – So sánh thơng số 180 210 240 30 20 Error e3 (deg) 10 -10 -20 e3 mo phong e3 thuc nghiem -30 30 60 90 120 150 Time (s) Hình – So sánh thông số 180 210 240 39 Chương 5: KẾT LUẬN 5.1 Nhận xét kết Mô hình bám line tương đối tốt trọn vẹn quỹ đạo mong muốn Hầu kết thực nghiệm khớp với kết mô pha độ lớn Sự lệch pha độ trễ đáp ứng kết thực nghiệm so với mô do: mô dừng động học, chưa tiến hành động lực học Do mơ hình thực nghiệm thực tế có qn tính điều khắc phục sử dụng mơ hình hóa động lực học 5.2 Kết luận Luận văn hoàn thành u cầu đưa ban đầu: Mơ hình hóa hệ thống xe tơ bánh sử dụng cấu lái Ackerman truyền động vi sai cầu sau Nghiên cứu thiết kế thành công điều khiển xe ô tô bánh dựa tiêu chuẩn ổn định Lyapunov Mô hệ thống phần mềm Matlab: hệ thống bám theo quỹ đạo cho trước Sai số hội tụ giá trị zero thời gian mơ Kiểm nghiệm tính khả thi điều khiển mơ hình: hệ thống xử lý nhận tín hiệu truyền từ cảm biến Mơ hình điều khiển bám theo quỹ đạo cho trước Kết luận: Từ kết thu chứng tỏ điều khiển hoạt động ổn định áp dụng nghiên cứu phát triển cho xe ô tô thực tế 5.2 Định hướng phát triển đề tài Mơ hình hóa động lực học, khảo sát tất ảnh hưởng đến điều khiển, ứng dụng điều khiển vào xe ô tô điện thực tế, thiết kế hệ thống nhận diện tránh vật cản cho xe, thiết kế hệ thống cung cấp lượng cho xe hành trình dài 40 TÀI LIỆU THAM KHẢO [1] Seref Soylu (2011) - "Electric Vehicles – Modelling and Simulations " [2] J Marek, H.-P Trah, Y Suzuki, I Yokomori (2003 WILEY-VCH Verlag GmbH & Co KGaA, Weinheim) - "Sensors for Automotive Applications (Sensors Applications Volume 4)" [3] Spyros G Tzafestas (2014) - "Introduction to Mobile Robot Control" [4] Jesper Abildgaard Larsen (2006) - "Autonom linjerobot" [5] Trimble (2007 Trimble Navigation Limited) – “GPS The First Global Navigation Satellite System” [6] K Sung, H Lee, y S Choi, and S Rhee (2009) - "Development of a Multiline Laser Vision Sensor for Joint Tracking in Welding" [7] Nguyễn Bão Quốc, Phạm Đình Tuệ (2012) – “Thiết kế ô tô điện sở ô tô bus hyundai county” [8] Đặng Q (2001) – “Tính tốn thiết kế ô tô.” [9] Johan Bengtsson(2001) - "Adaptive Cruise Control and Driver Modeling" [10] M L Cummings (2005) - "Integrating Intelligent Driver Warning Systems" [11] S.Ramesh (2012) - "Vehicle Collision Avoidance System Using Wireless Sensor Networks" [12] Tom Airaksinen (2004) - "Automatic Parallel Parking Assistance System User Interface Design – Easier Said Than Done?" [13] Google Self-Driving Car Project - https://www.google.com/selfdrivingcar/ [14] Tingjian Zhong and Meilian Qiu (4/2010) - “Fuzzy Control of Intelligent Vehicle Based on Visual Navigation System” [15] Dean A Pomerleau – “ Neural Network for Intelligent Vehicles 41 PHỤ LỤC A - Cảm biến sử dụng: A.1 Camera CMU cam Cảm biến CMUcam5 (như hình 4.1) với ưu điểm: Camera tích hợp sẵn vi điều khiển chịu trách nhiệm xử lý ảnh Tín hiệu trả camera tín hiệu số: tọa độ độ lớn vật cần bắt Tốc độ xử lý nhanh: khung hình 320x200 0.02s đảm bảo việc robot vừa di chuyển vừa bắt mục tiêu Thông số CMUcam5: Vi xử lý NXP LPC4330, 204Mhz, dual core Camera Omnivision OV9715, độ phân giải 1280x800 Góc nhìn theo chiều dọc: α = 75o, chiều ngang: β = 47o Tốc độ xử lý khung hình 320x200 0.02s Phân biệt màu Giao tiếp: UART, SPI, I2C, USB Nguồn: 140 mA, 5-10V Kích thước bao: 50x40x20mm Hình A - Camera CMUcam Camera kết nối với vi điều khiển chuẩn giao tiếp SPI thông qua chân: - MISO (Master Input/Slave Output): nối đường input vi điều khiển với đường output CMUcam5 - MOSI (Master Output/Slave Input): nối đường output vi điều khiển với đường input CMUcam5 - SCK (SPI clock): xung giữ nhịp để đồng cho giao tiếp SPI 42 A.2 Th Thựcc nghi nghiệm m Camera Tiến n hành cài đặt đ phần mềềm m PixyMon để đ kiểm m tra camera: Bướcc kkết nốii camera vớ vớii máy tính, hình ảnh nh thu đư đượcc hình hình 4.2 Hình A - Hình nh nhận đượ ợc từ Camera CMUcam5 Bướcc cài đđặtt mục m tiêu cầần bắt: t: Action → Set signuature (như (như thể th hình 4.3 4.3) Hình A - Cửa sổ ổ cài đặtt đích đđến Kếtt qu camera nhận nh dạng ng m mụcc tiêu thể th hình 4.4:: “blocks S1” hình ảnh nh m mục tiêu 43 Hình A - Kết nhận nh dạng ng đích đđến Tín hi hiệu củaa “blocks S1” đưa vvề vi điều khiểnn ggồm m thơng số s chính: “pixy.blocks[0].x”: hồnh đđộ x củaa vật v “pixy.blocks[0].y”: tung đđộ y vậật “pixy.blocks[0].width”: chi chiều rộng w vật “pixy.blocks[0].height”: chi chiều cao h vật Vị trí m mụcc tiêu đư c xác đđịnh từ thông số s Kết quảả hiển thị “Serial Monitor” ccủủa vi điều u khiển có dạạng hình ình 4.5: Hình A - Kếtt qu hiển n thị th “Serial Monitor” 44 B – Sơ đồ m mạch điều u khiển: Hình B – Sơ đồ mạch điềuu khiển 45 C – Code lập trình: C.1 Code thực nghiệm #include #include PWM channel 0, clock = MCLK/2 = 42MHz PWMC_SetPeriod (PWM, 1, 650) ; // period = 700 pwm clocks (60kHz) #include #include PixyUART pixy; PWMC_SetDutyCycle (PWM, 1, 300) ; // duty set to 80% Servo myservo; // create servo object to control a servo PWMC_EnableChannel (PWM, 1) ; // enable #define pi 3.14 #define r 0.03 PIOC->PIO_PDR |= 0x20 ; // disable PIO control #define distance 0.345 float k1 = 0; PIOC->PIO_IDR |= 0x20 ; // disable PIO interrupts float x_1, y_1, y_2, x_2; PIOC->PIO_ABSR |= 0x20 ; // switch to B peripheral float e2, e3; } float goc; float vr = 0.12, k2 = 0.55, k3 = 0.85; void setup() float v, omega; { float vri, vle; pinMode(2, INPUT_PULLUP); int vright, vleft; pinMode(3, INPUT_PULLUP); int blocks; pinMode(37, OUTPUT); // Motor float v_le, v_ri; pinMode(13, OUTPUT); float phi_c; digitalWrite(13, 0); void timer_for_dc_init() digitalWrite(37, 0); { timer_for_dc_init(); pmc_enable_periph_clk (PWM_INTERFACE_ID) ; // turn on clocking to PWM unit // Enable Channel for Motor PWMC_ConfigureChannel (PWM, 1, 10, 0, PWM_CMR_CPOL) ; // Serial.begin(115200); //Monitor Communication pixy.init(); Serial1.begin(115200); //Pixy Communication Serial.print("Starting \n"); 46 delay(2000); phi_c = atan(distance * omega / v); myservo.attach(9); // attaches the servo on pin to the servo object phi_c = phi_c * 180 / pi; } Serial.print("e2="); myservo.write((int)(phi_c) + 90); Serial.print(e2); void loop() Serial.print(" e3="); { Serial.print(e3); digitalWrite(13, 1); Serial.print(" omega="); blocks = pixy.getBlocks(); Serial.print(omega); if (blocks) Serial.print(" vantoc="); { Serial.print(v); x_1 = pixy.blocks[0].x; Serial.print(" phi_c="); x_2 = pixy.blocks[1].x; Serial.print(phi_c); y_1 = pixy.blocks[0].y; Serial.print(" "); y_2 = pixy.blocks[1].y; Serial.println(distance * omega / v); e2 = 160 - 0.5 * (x_1 + x_2); } goc = (x_2 - x_1) / (y_2 - y_1); e3 = atan(goc); REG_PWM_DIS |= 0x02; v = vr * cos(e3) + k1 * distance; REG_PWM_ENA |= 0x02; omega = k2 * e2 * vr / 20 + k3 * sin(e3); } C.2 Code mô clc e3_t = dlmread ('e3_t.txt'); clear all te_3 = 0:0.026966:8899*0.026966; close all %Initial load('NLine'); D = 0.345; %sai so thuc nghiem l = 0.26; e2_t = dlmread ('e2_t.txt'); x = [-0.2]; te_2 = 0:0.026966:8899*0.026966; y = [0]; 47 x_w = [0]; y_w = [0]; h = poly2sym(f,'n'); % Ham noi suy RC_angle = f(center_out) v_w = []; phi = [0]; figure(1) phi_r =[0]; set(ezplot(h), 'LineWidth', 2, 'color', 'r'); v = [0]; w = [0]; wr = 0; k1 = 1; % 10 15 0.4 k2 = 450; %10 127 0.4 axis([-20*pi/180 20*pi/180 0.5 2.5]) grid on; xlabel('Goc lai (Rad)'); ylabel('Goc quay RC (Rad)'); k3 = 5; title('QUAN HE GIUA GOC LAI VA GOC QUAY RC'); e1=[0]; hold on; e2=[0]; e3=[0]; plot (center_out, input, 'g', 'LineWidth', 2); b=0.087; legend('Noi suy', 'Do tu thuc te'); vrw = [0]; %Noi suy goc lai vlw = [0]; xr = refline(1,:); theta = [0]; yr = refline(2,:); rc_radial = [90]; key=0; vr = 0.3; for i = 1:(length(xr) - 1) dt = 0.02; xw = x(i) + l*cos(phi(i)); %Noi suy goc lai yw = y(i) + l*sin(phi(i)); input = [60 65 70 75 80 85 90 95 100 105 110 115 120]*pi/180; % -x_w = [x_w xw]; left_out = [-18 -15 -12 -10 -5 -3 14 19 20]*pi/180; y_w = [y_w yw]; for i = 1:length(input) % v_xw = (x_w(i+1) - x_w(i))/dt; center_out(i) = atan(D*tan(left_out(i))/(l + b*tan(left_out(i)))); % v_yw = (y_w(i+1) - y_w(i))/dt; % vw = sqrt(v_xw^2 + v_yw^2); end % v_w = [v_w vw]; f = polyfit(center_out, input, 1); 48 e1 = [e1, (xr(i)xw)*cos(phi(i))+(yr(i)yw)*sin(phi(i))]; e2 = [e2, -(xr(i)xw)*sin(phi(i))+(yr(i)yw)*cos(phi(i))]; end else flag = (yr(i+1)-yr(i))/(xr(i+1)xr(i)); if (flag == 0) if (xr(i+1) > xr(i)) temp_e3 = phi_r(i)-phi(i); temppr = 0; if (abs(temp_e3) > pi) else temppr = pi; temp_e3 = 0; end end; e3 = [e3, temp_e3]; else if (flag > 0) % if (xr(i+1) > xr(i)) v = [v vr*cos(e3(i)) + k1*(e1(i) + l)]; else temppr = pi + atan(flag); temppr = atan(flag); end w = [w wr + k2*vr*e2(i) + k3*sin(e3(i))]; % vrw = [vrw, v + b*w]; % vlw = [vlw, v - b*w]; else if (xr(i+1) > xr(i)) temppr = 2*pi + atan(flag); else temppr = pi + atan(flag); % end temp_x = cos(phi(i))*v(i)*dt + x(i); temp_y = sin(phi(i))*v(i)*dt + y(i); temp_phi = w(i)*dt + phi(i); end end end phi_r = [phi_r temppr]; x = [x temp_x]; y = [y temp_y]; phi = [phi temp_phi]; wr = (phi_r(i+1) - phi_r(i))/dt; temp_theta = atan(D*w(i)/v(i))*180/pi; % temppr = atan2((yr(i+1)yr(i)),(xr(i+1)-xr(i))); if (abs(temp_theta) > 45) if (xr(i+1) == xr(i)) end; if (yr(i+1)>yr(i)) temppr = pi/2; else temppr = 1.5*pi; temp_theta = 0; theta = [theta temp_theta]; %Goc lai temp_RC = f(1)*temp_theta + f(2); 49 rc_radial = [rc_radial temp_RC]; % plot(t_axis,e1); end % t_axis = 0:dt:(length(x)-1)*dt; hold on; %e2 = e2 - 0.15; figure(2) plot(xr,yr,'r'); plot(t_axis,e2*25000,'g','LineWidth',2 ); %axis equal; legend('e2'); axis([-0.2 2.3 -0.2 2]); xlabel('time (s)'); hold on; ylabel('error e2 (mm)'); plot(x,y,'LineWidth',2); title('SAI SO e2'); for i = 1:500:length(xr)-1 grid on; DrawRectangle([x(i),y(i),2,2,phi(i)],'g -'); figure(6) end hold on; legend('Reference','Model'); xlabel('x axis (m)'); plot(t_axis,e3*180/pi*180/pi*2.9,'r','L ineWidth',2); ylabel('y axis (m)'); legend('e3'); title('MO PHONG BAM LINE'); xlabel('time (s)'); grid on; ylabel('error e3 (rad)'); t_axis = 0:dt/1.1:(length(x)-1)*dt/1.1; title('SAI SO e3'); figure(4) grid on; plot(t_axis,theta,'r','LineWidth',2); legend('Goc lai') figure(7) xlabel('time (s)'); plot(t_axis, rc_radial, 'r','LineWidth',2); ylabel('Goc (Deg)'); title('GOC LAI TRONG QUA TRINH BAM LINE'); grid on; grid on; ylabel('Goc quay RC (Rad)'); xlabel('Time (s)'); title('GOC QUAY RC'); figure(5) t_axis = 0:dt/1.1:(length(x)-1)*dt/1.1; ... CÔNG NGHỆ TP HCM - VŨ ĐỨC NGUYÊN NGHIÊN CỨU – ĐIỀU KHIỂN XE ĐIỆN THEO QUỸ ĐẠO CHO TRƯỚC LUẬN VĂN THẠC SĨ Chuyên ngành : Kỹ Thuật Cơ – Điện Tử Mã số ngành: 60520114 CÁN BỘ HƯỚNG DẪN... NGHIÊN CỨU – ĐIỀU KHIỂN XE ĐIỆN THEO QUỸ ĐẠO CHO TRƯỚC II- Nhiệm vụ nội dung: Nghiên cứu thuật toán bám line tự động cho xe tơ bánh 1./ Mơ hình hóa hệ thống 2./ Thiết kế điều. .. thống điều khiển xe tự tìm chỗ đậu xe đưa xe từ đường giao thông vào chỗ đậu xe theo hướng song song, vng góc theo góc cho trước bãi giữ xe [12] 1.3 Những phương pháp điều khiển xe điện nghiên cứu