Luận án tiến sĩ nghiên cứu điều khiển thích nghi cho robot lặn tự hành

156 1 0
Luận án tiến sĩ nghiên cứu điều khiển thích nghi cho robot lặn tự hà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

BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH PHẠM VIỆT ANH NGHIÊN CỨU ĐIỀU KHIỂN THÍCH NGHI CHO ROBOT LẶN TỰ HÀNH LUẬN ÁN TIẾN SĨ TP HỒ CHÍ MINH – 2022 BỘ GIAO THƠNG VẬN TẢI BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH PHẠM VIỆT ANH NGHIÊN CỨU ĐIỀU KHIỂN THÍCH NGHI CHO ROBOT LẶN TỰ HÀNH LUẬN ÁN TIẾN SĨ NGÀNH: MÃ SỐ: KHOA HỌC HÀNG HẢI 9840106 Người hướng dẫn khoa học: PGS TS Nguyễn Phùng Hưng TS Lê Văn Ty TP HỒ CHÍ MINH – 2022 iii MỤC LỤC LỜI CAM ĐOAN vi LỜI CẢM ƠN vii TÓM TẮT……………………………………………………………………….viii DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU x DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ xiii DANH MỤC CÁC BẢNG xvii MỞ ĐẦU 1 Tính cấp thiết đề tài 2 Mục đích nghiên cứu đề tài 3 Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học thực tiễn Những điểm đóng góp luận án Kết cấu luận án CHƯƠNG TỔNG QUAN VỀ ĐIỀU KHIỂN ROBOT LẶN TỰ HÀNH (AUTONOMOUS UNDERWATER VEHICLE) 1.1 Tổng quan robot lặn tự hành AUV (Autonomous Underwater Vehicle) 1.1.1 Các ứng dụng AUV giới 1.1.2 Các ứng dụng AUV Việt Nam 1.1.3 Mô hình tốn học phương trình động học tổng qt AUV 11 1.2 Tổng quan điều khiển AUV 18 1.2.1 Các nghiên cứu điều khiển AUV giới 18 1.2.2 Các nghiên cứu điều khiển AUV Việt Nam 25 1.3 Kết luận chương 26 CHƯƠNG 27 CƠ SỞ LÝ THUYẾT ĐIỀU KHIỂN NƠ-RON THÍCH NGHI THIẾT BỊ LẶN TỰ HÀNH 27 2.1 Mạng nơ-ron nhân tạo 27 2.1.1 Tổng quan mạng nơ-ron nhân tạo điều khiển 27 2.1.1.1 Cấu trúc mạng nơ-ron 27 iv 2.1.1.2 Các hình trạng mạng 31 2.1.1.3 Các luật học mạng nơ-ron nhân tạo 32 2.1.2 Điều khiển tự động dùng mạng nơ-ron nhân tạo 33 2.2 Ứng dụng mạng nơ-ron nhân tạo điều khiển AUV 34 2.3 Kết luận chương 38 CHƯƠNG 39 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NƠ-RON THÍCH NGHI CHO ROBOT LẶN TỰ HÀNH 39 3.1 Mơ hình tốn học AUV sử dụng nghiên cứu 39 3.1.1 Cấu tạo mơ hình NPS AUV II 39 3.1.2 Mơ hình tốn học AUV 40 3.2 Mạng nơ-ron thích nghi điều khiển 47 3.2.1 Bộ điều khiển nơ-ron thích nghi tương tác 47 3.2.2 Mơ hình tổng qt điều khiển NNC huấn luyện trực tuyến 48 3.3 Thiết kế hệ thống điều khiển nơ-ron cho AUV 50 3.3.1 Điều khiển riêng biệt chuyển động AUV 50 3.3.2 Thiết kế điều khiển nơ-ron cho hệ thống 51 3.3.3 Điều khiển tổng hợp chuyển động AUV phương pháp tách rời (decoupled control) 54 3.4 Hệ thống điều khiển dẫn đường AUV thực nhiệm vụ nước 55 3.4.1 Điều khiển AUV theo quỹ đạo đặt trước 55 3.4.2 Điều khiển AUV bám theo địa hình đáy 58 3.5 Các phương án thích nghi cho hệ thống điều khiển AUV 58 3.5.1 Mơ hình dịng chảy tác động lên AUV 58 3.5.2 Thích nghi với tác động dòng chảy 59 3.6 Kết luận chương 61 CHƯƠNG 62 MÔ PHỎNG ĐIỀU KHIỂN AUV BẰNG BỘ ĐIỀU KHIỂN NƠ-RON THÍCH NGHI 62 4.1 Giới thiệu phương pháp điều kiện mô 62 4.1.1 Phương pháp mô 62 4.1.2 Điều kiện mô 62 v 4.2 Mô điều khiển chuyển động AUV 63 4.2.1 Điều khiển hướng 64 4.2.2 Điều khiển hướng, độ sâu góc chúi 65 4.2.3 Điều khiển hướng đi, độ sâu tốc độ 69 4.2.4 Điều khiển tổng hợp chuyển động có dịng chảy 71 4.3 Mơ điều khiển dẫn đường AUV thực nhiệm vụ nước 75 4.3.1 Điều khiển AUV theo quỹ đạo đặt trước 76 4.3.2 Điều khiển AUV bám theo địa hình đáy 93 4.4 Mơ điều khiển AUV thích nghi với ngoại cảnh 95 4.4.1 Điều khiển AUV tác động dòng chảy 95 4.4.2 Điều khiển AUV thích nghi với tác động dòng chảy 98 4.5 Kết luận chương 103 KẾT LUẬN 104 Các kết đạt đề tài 104 Những ưu điểm hạn chế đề tài 104 Hướng phát triển lĩnh vực nghiên cứu 105 DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC LIÊN QUAN ĐẾN LUẬN ÁN TIẾN SỸ……………………………………………………………………… 106 TÀI LIỆU THAM KHẢO………………………………………………………107 PHỤ LỤC 121 CÁC FILE MATLAB ĐỂ THỰC HIỆN MÔ PHỎNG ĐIỀU KHIỂN AUV 121 PL1 File mô điều khiển hướng độ sâu AUV 121 PL2 File mô điều khiển hướng, độ sâu tốc độ AUV 125 PL3 File mô điều khiển dẫn đường AUV theo quỹ đạo 129 PL4 File LOSguide.m 134 PL5 File CurrGen.m 136 PL6 File mạng nơ-ron nhiều lớp truyền thẳng 137 PL7 File huấn luyện mạng nơ-ron thích nghi 138 vi LỜI CAM ĐOAN Tên Phạm Việt Anh - Nghiên cứu sinh ngành Khoa học hàng hải tác giả luận án tiến sĩ: “Nghiên cứu điều khiển thích nghi cho robot lặn tự hành”, hướng dẫn PGS TS Nguyễn Phùng Hưng, TS Lê Văn Ty thực Trường Đại học Giao thơng Vận tải Thành Phố Hồ Chí Minh Bằng danh dự thân, nghiên cứu sinh cam đoan rằng: - Luận án cơng trình nghiên cứu riêng nghiên cứu sinh, khơng có phần nội dung chép cách bất hợp pháp, từ cơng trình nghiên cứu tác giả hay nhóm tác giả khác; - Các số liệu, kết nghiên cứu nêu luận án, chưa cơng bố cơng trình nghiên cứu khác trước đó; - Các thơng tin, số liệu trích dẫn, tài liệu tham khảo luận án rõ xuất xứ, nguồn gốc đảm bảo tính trung thực./ Tp.HCM, ngày 27 tháng 03 năm 2022 Nghiên cứu sinh Phạm Việt Anh vii LỜI CẢM ƠN Tôi xin chân thành cảm ơn Trường Đại học Giao thơng Vận tải Thành Phố Hồ Chí Minh, Viện Đào tạo Sau Đại học - Trường Đại học Giao thông Vận tải Thành Phố Hồ Chí Minh cho phép tạo điều kiện cho thực luận án Tôi xin chân thành cảm ơn PGS.TS Nguyễn Phùng Hưng, TS Lê Văn Ty tận tình, tâm huyết hướng dẫn, định hướng nghiên cứu giúp tơi hồn thành luận án Tôi xin chân thành cám ơn Viện Hàng Hải, Bộ môn Điều Khiển Tàu Biển Trường Đại học Giao thơng Vận tải Thành Phố Hồ Chí Minh giúp đỡ động viên suốt trình học tập nghiên cứu Tơi xin chân thành cảm ơn Thầy cô giáo, nhà khoa học góp ý, phản biện đánh giá giúp tơi bước hồn thiện luận án Cuối cùng, tơi xin bày tỏ lịng biết ơn sâu sắc tới gia đình bạn bè ln động viên, khuyến khích, tạo điều kiện cho suốt thời gian nghiên cứu hồn thành cơng trình này! Tp.HCM, ngày 27 tháng 03 năm 2022 Tác giả Phạm Việt Anh viii TÓM TẮT Hiện nay, mạng nơ-ron nhân tạo (Artificial Neural Network) ứng dụng rộng rãi nhiều lĩnh vực, có lĩnh vực điều khiển tự động, mạng nơ-ron giải vấn đề điều khiển phức tạp, với đối tượng điều khiển có tính phi tuyến cao, có mơi trường bên ngồi tác động khơng dự đốn được, làm cho tính đối tượng trở nên khó điều khiển Hơn nữa, khả tính tốn nhanh mạng nơ-ron làm cho chúng trở nên khả thi với ứng dụng điều khiển theo thời gian thực Tại Việt Nam, việc nghiên cứu hệ thống điều khiển tiên tiến cho AUV non trẻ chưa ứng dụng rộng rãi Mặc dù nhu cầu ứng dụng AUV cho khảo sát biển, cơng trình ngầm nước, thăm dị bảo trì đường ống hay cáp ngầm, tìm kiếm cứu nạn biển Việt Nam ngày tăng cao Chúng ta chủ yếu thuê mua AUV nước ngồi cho cơng tác Những nghiên cứu nhằm nâng cao chất lượng hệ thống điều khiển AUV, bước tự chủ công nghệ chế tạo, vận hành AUV Việt Nam cần thiết cho ngành khai thác, thăm dò, quản lý biển phục vụ an ninh quốc phòng, bảo vệ biển đảo chủ quyền quốc gia biển Trên sở nghiên cứu phương pháp điều khiển AUV thông thường đại, nghiên cứu thuật toán điều khiển với mạng nơ-ron nhân tạo Luận án phát triển ứng dụng điều khiển nơ-ron thích nghi cho hệ thống điều khiển hướng độ sâu AUV, qua cải tiến nâng cao chất lượng điều khiển cho loại phương tiện này, nhằm đưa điều khiển có tính ứng dụng thực tiễn Các kết lý thuyết mô thành công cho thấy tính khả thi thuật tốn NCS đề xuất ix ABSTRACT Nowadays artificial neural network has been widely applied in many fields including automatic control as its ability to solve many complicated control problems, even for high nonlinear objects in unpredictable external environment that makes the objects hard to control Furthermore, fast processing ability of neural networks make them feasible for real time control applications The research in advanced control systems for AUV has still been young and not enough widely applied in Vietnam However the demand for application of AUV for sea exploring, underwater construction, surveying and maintaining submerged cables and tubes, under sea search and rescue has been increasing in Vietnam The AUV have been bought or hired from oversea countries for those works Studies to improve AUV control systems, and step to step master manufacturing technology, operation of AUV is very necessary for exploring, surveying, managing sea for the sake of national security, defense, protecting sea and national sovereignty at sea Based on studying conventional and modern control methods of AUV, researching neural network control algorithm, this dissertation developed an application of adaptive neural network controller for AUV The author upgrades and improve the controller quality applying for this kind of vehicle to introduce a new controller with applicable functions Theoretical and simulation results proved the feasibility of the control algorithms proposed by the author x DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU Giải thích ý nghĩa Chữ viết tắt AUV Autonomous Underwater Vehicle ANN Artificial Neural Network BĐK Bộ điều khiển LOS Line of Sight NNC Neural Network Controller PD Proportion Derivative PID Proportion Integration Derivative 𝐼𝑥 , 𝐼𝑦 , 𝐼𝑧 momen quán tính trục xb , yb, zb 𝑅𝑏𝑛 ma trận chuyển đổi 𝑝 vị trí hệ trục tọa độ {b} so với hệ trục tọa độ {n} 𝜂 vector vị trí hướng AUV hệ trục tọa độ {n} Θ góc xoay hệ trục tọa độ {b} hệ trục tọa độ {n} 𝑉 vector vận tốc dài vận tốc góc AUV ({b} so với {n}) hệ tọa độ {b} 𝜔 vận tốc góc AUV ({b} so với {n}) hệ tọa độ {b} 𝑓 lực tác động lên AUV hệ trục tọa độ {b} 𝑣 vận tốc dài AUV ({b} so với {n}) hệ tọa độ {b} 𝜏 lực moment tác động lên AUV hệ trục tọa độ {b} ɱ moment tác động lên AUV hệ trục tọa độ {b} w ji Các trọng số tương ứng với đầu vào j Độ lệch (bias) aj Đầu vào mạng (net-input) 125 PL2 File mô điều khiển hướng, độ sâu tốc độ AUV % Submarine control test % Decoupled control of speed, depth and course % Date: 2009/May/01st % Author: PHAM VIET ANH – HCM Unv Of Transport %====================================================================== clear; % clear all variables NN = 6000; % number of sample h = 0.1; % sample time (sec) i = 0; % -z = 0; z_s = 0; z_n = 0; delta = 0; delta_s = 0; n = 150; u = 0.3; max_delta = 20*(pi/180); max_delta_s = 20*(pi/180); max_n = 1500; % -% Controller's parameters of the rudder rho = 0.5; lambda = 0.1; sigma1 = 0.2; sigma2 = 0; % -% Controller's parameters of the P&S stern planes rho_s = 0.2; lambda_s = 0.1; sigma1_s = 0.2; sigma2_s = 0.01; % -% Controller's parameters of the propeller rho_n = 1.5; lambda_n = 0.1; sigma1_n = 0.2; sigma2_n = 0.05; % -% ui = [ delta_r delta_s delta_b delta_bp delta_bs n ]' % initial states: x = [ u v w p q r x y z phi theta psi ]' x = [0.3 0 0 0 -10 0 0*pi/180]'; U = 0.3; %*************** START SIMULATION disp('Running ') ******************* % We start executing the controller with ralative small weights: W21 = rand(6,4)*0.0001; % Set random hidden layer weights W32 = rand(1,6)*0.0001; % Set random output layer weights W21_s = rand(6,4)*0.0001; % Set random hidden layer weights W32_s = rand(1,6)*0.0001; % Set random output layer weights W21_n = rand(6,4)*0.0001; % Set random hidden layer weights W32_n = rand(1,6)*0.0001; % Set random output layer weights net_in = zeros(4,1); net_in_s = zeros(4,1); net_in_n = zeros(4,1); % Set initial inputs of neural network while i < NN, i=i+1; % simulation time in seconds time = (i-1)*h; clc; fprintf('Running \n*Counter = %d (%d)\n',round(i/10),round((NNi)/10)); 126 r = w = udot = u = q = theta= x(6); x(3); u-x(1); x(1); x(5); x(11); % Sensor noise for the heading sensor with a uniform distribution on % [-0.1,+0.1] deg % s = 0.1*(pi/180)*(2*rand - 1); % This allow us to remove the noise s = 0; psi = x(12) + s; % Heading of the ship with sensor noise Z = x(9); % % % % psi = x(6); % control system % Phuong an 1: if i=2000, psi_ref(i) = 0*(pi/180); end if i>=4000, psi_ref(i) = 15*(pi/180); end % Phuong an psi_ref(i) = 10*(pi/180); Z_ref(i) = -2; if i=3000, ud(i) = 0.5; end ud(i) = 0.4; err = psi-psi_ref(i); % Do lech huong di so voi huong dat net_in(1) = err; err_s = Z-Z_ref(i); net_in_s(1) = err_s; err_n = -u+ud(i); net_in_n(1) = err_n; ii=round(i/10); if round(i/10)==0,ii=2,end % store data for presentation xout(i,:) = [time,x',U,delta,delta_s,n]; e_out(ii,:) = [err; err_s;err_n]; % % Dau cua BDK duoc tinh toan giay lan (theo bien "ii") if ii>3 % Calculate rudder command: delta = mlnnc(1,6,4,net_in,W21,W32); delta_s = mlnnc(1,6,4,net_in_s,W21_s,W32_s); n = mlnnc(1,6,4,net_in_n,W21_n,W32_n)*1500; if abs(delta)>max_delta,delta=sign(delta)*max_delta;end if abs(delta_s)>max_delta_s,delta_s=sign(delta_s)*max_delta_s;end if abs(n)>max_n,n=sign(n)*max_n;end ui = [delta delta_s 0 127 n ]; [xdot,U] = npsauv(x,ui); % numerical integration x = euler2(xdot,x,h); % Euler integration z = z + h*err; z_s = z_s + h*err_s; z_n = z_n + h*err_n; % Now update the weights of NN using adaptive interaction algorithm % (intensive training): [W21,W32] = annaiTrainIte(h,0.5,50,1,6,4,net_in, err,delta,r,z,rho,lambda,sigma1,sigma2); % Add integration action [W21_s,W32_s] = annaiTrainIte(h,0.5,50,1,6,4,net_in_s, err_s,delta_s,w,theta,rho_s,lambda_s,sigma1_s,sigma2_s); % Add integration action [W21_n,W32_n] = annaiTrainIte(h,0.5,50,1,6,4,net_in_n, err_n,n/1500,udot,z_n,rho_n,lambda_n,sigma1_n,sigma2_n);% Add integration action net_in(2) = e_out(ii-1,1); net_in(3) = e_out(ii-2,1); net_in(4) = e_out(ii-3,1); net_in_s(2) = e_out(ii-1,2); net_in_s(3) = e_out(ii-2,2); net_in_s(4) = e_out(ii-3,2); net_in_n(2) = e_out(ii-1,3); net_in_n(3) = e_out(ii-2,3); net_in_n(4) = e_out(ii-3,3); end % end of "if ii>3" % end % time-series t = xout(:,1); u = xout(:,2); v = xout(:,3); w = xout(:,4); p = xout(:,5); q = xout(:,6); r = xout(:,7)*180/pi; X = xout(:,8); Y = xout(:,9); Z = xout(:,10); phi = xout(:,11); theta = xout(:,12)*180/pi; psi = xout(:,13)*180/pi; U = xout(:,14); delta = -xout(:,15)*180/pi; delta_s = xout(:,16)*180/pi; n = xout(:,17); psi_ref = psi_ref*180/pi; 128 % PLOT THE RESULTS figure(1) clf subplot(211) plot(t,psi_ref,'LineWidth',2,'Color','r','LineStyle',' ') hold on plot(t,psi,'LineWidth',2,'Color','b','LineStyle','-') title('NNC control - Yaw angle \psi (deg)'),ylabel('[Deg]'),grid on legend('Set course','Actual course','Location','Best') %axes([0, -5, 600, 20]) subplot(212) plot(t,delta,'LineWidth',2,'Color','b','LineStyle','-') title('Rudder angle \delta_R (deg)') xlabel('Time (s)'),ylabel('[Deg]'),grid on % legend('ANNAI controller','PID controller') figure(2) clf subplot(311) plot(t,Z_ref,'LineWidth',2,'Color','r','LineStyle',' ') hold on plot(t,Z,'LineWidth',2,'Color','b','LineStyle','-') title('NNC control - Actual depth Z (m)'),ylabel('[m]'),grid on legend('Desired depth','Actual depth','Location','Best') subplot(312) plot(t,theta,'LineWidth',2,'Color','b','LineStyle','-') title('Pitch angle \theta (deg)'),ylabel('[Deg]'),grid on subplot(313) plot(t,delta_s,'LineWidth',2,'Color','b','LineStyle','-') title('Plane angle \delta_S (deg)') xlabel('Time (s)'),ylabel('[Deg]'),grid on figure(3) clf subplot(211) plot(t,ud,'LineWidth',2,'Color','r','LineStyle',' ') hold on plot(t,u,'LineWidth',2,'Color','b','LineStyle','-') title('NNC control - Actual speed U (m/s)'),ylabel('[m/s]'),grid on legend('Desired speed','Actual speed','Location','Best') subplot(212) plot(t,n,'LineWidth',2,'Color','b','LineStyle','-') title('Propeller speed n (rpm)') xlabel('Time (s)'),ylabel('[rpm]'),grid on figure(4) clf plot3(X,Y,Z,'LineWidth',2,'Color','b','LineStyle','-') grid on title('Simulation of the AUV control by FC') xlabel('X(m)'),ylabel('Y(m)'),zlabel('Z(m)') % >>>>>>>>>END y_los = pos_y + n*L; else % delta_y < y_los = pos_y - n*L; end else % delta_x~=0 D = delta_y/delta_x; E = x_k_1; F = y_k_1; G = -D*E + F; A = + D^2; B = 2*(D*G - D*pos_y - pos_x); C = pos_x^2 + pos_y^2 + G^2 - (n*L)^2 - 2*G*pos_y; if delta_x > x_los = (-B + sqrt(B^2 - 4*A*C))/(2*A); else % delta_x < x_los = (-B - sqrt(B^2 - 4*A*C))/(2*A); end y_los = D*(x_los - E) + F; end % End of "if delta_x==0" % Next, we calculate the psi_los (from to 2*pi) if x_los == pos_x if y_los > pos_y 135 psi_los = pi/2; else psi_los = 3*(pi/2); end elseif x_los > pos_x K = (y_los - pos_y)/(x_los - pos_x); if y_los > pos_y psi_los = atan(K); elseif y_los < pos_y psi_los = 2*pi + atan(K); else % if y_los == pos_y psi_los = 0; end else % if x_los < pos_x K = (y_los - pos_y)/(x_los - pos_x); if y_los ~= pos_y psi_los = pi + atan(K); % elseif y_los < pos_y % psi_los = 2*pi + atan2(y_los - pos_y,x_los - pos_x); else % if y_los == pos_y psi_los = pi; end end %>>>>>>>>>>>END

Ngày đăng: 21/05/2023, 07:30

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

Tài liệu liên quan