Thiết kế xây dựng hệ mô phỏng hệ thống xác định và điều khiển tư thế vệ tinh nhỏ quan sát trái đất Thiết kế xây dựng hệ mô phỏng hệ thống xác định và điều khiển tư thế vệ tinh nhỏ quan sát trái đất Thiết kế xây dựng hệ mô phỏng hệ thống xác định và điều khiển tư thế vệ tinh nhỏ quan sát trái đất luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Huỳnh Xuân Quang THIẾT KẾ XÂY DỰNG HỆ MÔ PHỎNG HỆ THỐNG XÁC ĐỊNH VÀ ĐIỂU KHIỂN TƯ THẾ VỆ TINH NHỎ QUAN SÁT TRÁI ĐẤT LUẬN VĂN THẠC SĨ KHOA HỌC CƠ HỌC KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS ĐINH VĂN PHONG Hà Nội –2010 Mục lục LỜI CẢM ƠN .5 LỜI CAM ĐOAN .6 Danh mục kí hiệu chữ viết tắt .7 Danh mục bảng hình vẽ Mở đầu Chương 11 Tổng quan 11 1.1 Vệ tinh nhân tạo 11 1.2 Xác định điều khiển tư vệ tinh .12 1.2.1 Mục đích việc xác định điều khiển tư vệ tinh 12 1.2.1 Hệ thống xác định điều khiển tư vệ tinh .13 2.1 Mục đích đề tài 14 2.2 Nguyên lý làm việc mô tư vệ tinh 15 Chương 20 Cơ sở toán học 20 3.1 Quỹ đạo Kepler 20 3.2 Các hệ quy chiếu 21 3.2.4 Hệ quy chiếu quỹ đạo 22 3.2.5 Hệ quy chiếu vật thể 22 3.3 Động lực học vật rắn 22 3.3.1 Vector 22 3.3.2 Phép quay 23 3.3.3 Các góc Euler 24 3.3.4 Các tham số Euler 25 3.3.5 Phương trình vi phân động lực học 27 3.3.6 Độ lệch tư 27 3.3.7 Độ lệch vận tốc góc 28 3.3.8 Động lượng, mơmen động lượng ma trận qn tính 28 3.4 Mơ hình gyrostat 29 3.4.1 Phương trình chuyển động 29 3.4.2 Động .30 3.5 Mômen xoắn nhiễu .30 3.5.1 Mômen xoắn gradient trọng lực 31 3.5.2 Thế 31 3.6 Phân tích ổn định 32 3.6.1 Hệ thống tuyến tính 32 3.6.1 Hệ thống phi tuyến 32 3.7 Thuật tốn điều khiển tuyến tính 33 3.7.1 Tính điều khiển 33 3.7.2 Bộ điều khiển tuyến tính .33 3.7.3 Điều khiển hồi tiếp quaternion 33 3.8 Thuật toán điều khiển phi tuyến 35 3.8.1 Luật điều khiển từ phân tích Lyapunov 35 3.8.2 Tuyến tính hóa hồi tiếp 35 3.8.3 Điều khiển chế độ trượt 36 3.9 Điều khiển đẩy 39 3.9.1 Bộ điều khiển bang-bang 39 3.9.2 Trigger Schmitt .40 3.9.3 Bộ điều chỉnh PWPF .41 Chương 42 Phân tích lý thuyết .42 4.1 Mơ hình hóa tốn học 42 4.1.1 Mơ hình động học 42 4.1.2 Mô hình động lực học .42 4.1.3 Các giả thiết mơ hình 43 4.1.4 Mơ hình tuyến tính hóa 44 4.2 Điều khiển tuyến tính 46 4.2.1 Ổn định hóa địa phương 47 4.2.2 Ổn định hóa tồn cục .49 4.3 Điều khiển phi tuyến 52 4.3.1 Bộ điều khiển Lyapunov 52 4.3.2 Bộ điều khiển Lyapunov 53 4.3.3 Bộ điều khiển Lyapunov 54 4.3.4 Bộ điều khiển trượt 55 Chương 58 Mô 58 5.1 Mô hình SIMULINK MICRO-STAR 58 5.1.1 Mơ hình tốn học 58 5.1.1 Các tham số mô 58 5.2 Điều khiển tuyến tính 60 5.2.1 Điều khiển địa phương 60 5.3 Điều khiển phi tuyến 61 5.3.1 Điều khiển Lyapunov 61 5.3.2 Điều khiển Lyapunov 62 5.3.2 Điều khiển trượt 64 Chương 66 Chương 66 Kết luận đề xuất 66 6.1 Thảo luận 66 6.1.1 Phân tích lý thuyết 66 6.1.2 Mô 67 6.1.3 Các vấn đề ứng dụng .67 6.2 Kết luận đề xuất .68 Tài liệu tham khảo .69 Phụ lục .70 Sơ đồ khối mô Simulink 70 Code Matlab 70 LỜI CẢM ƠN Trong trình nghiên cứu phát triển luận văn tốt nghiệp thạc sĩ học với đề tài “… “ Với nỗ lực than giúp đỡ thầy cô giáo, gia đình, bạn bè đồng nghiệp vật chất tinh thần Tác giả hoàn thành khóa luận tốt nghiệp với cố gắng cao Nhân dịp này, tác giả bày tỏ lòng biết ơn sâu sắc tới: • PGS.TS Đinh Văn Phong, Bộ mơn Cơ học ứng dụng, Viện Cơ khí, Trường Đại học Bách Khoa Hà Nội • Tập thể đồng nghiệp phịng Động lực học Cơ điện tử xác – Viện CNVT-Viện KH&CN Việt Nam • Gia đình bạn học viên cao học khóa 2008-2010 Tác giả luận văn LỜI CAM ĐOAN Luận văn giao nhiệm vụ nghiên cứu với đề tài “Thiết kế xây dựng hệ mô hệ thống xác định điểu khiển tư vệ tinh nhỏ quan sát trái đất” Tác giả hoàn thành việc nghiên cứu đề tài với đầy đủ nội dung yêu cầu đăng ký đề cương Tác giả xin cam đoan trực tiếp thực tồn nơi dung nghiên cứu khơng có gian lận hay chép Tác giả xin hoàn toàn chịu trách nhiệm cam đoan Hà Nội, ngày 28-10-2010 Người viết cam đoan Tác giả luận văn Huỳnh Xuân Quang Danh mục kí hiệu chữ viết tắt Kí hiệu ADCSS LFC Tên tiếng Anh Attitude Determination and Control Simulation System Lyapunov function candidate MICROSTAR Tên tiếng Việt Hệ mô xác định điều khiển tư Hàm Lyapunov Tên vệ tinh hợp tác khu vưc Châu Á-Thái Bình Dương Danh mục bảng hình vẽ Hình 1.1 Mơ hình vệ tinh quan sát trái đất .12 Hình 1.2 Các trục định hướng vệ tinh .13 Hình 1Mơ hình vệ tình MICRO-STAR 14 Hình 2 Bộ mô xác định điều khiển tư vệ tinh 15 Hình Sơ đồ nguyên lý mô 16 Hình Cảm biến xác định tư 16 Hình Nguyên lý làm việc cảm biến mặt trời .17 Hình Hệ thống điều khiển cân tĩnh 17 Hình Bánh xe động lượng 18 Hình Thanh từ lực 18 Hình Hệ thống phản lực .18 Hình 10 Tồn hệ thống mơ 19 Hình Quỹ đạo elip 20 Hình Các hệ tọa độ quy chiếu 22 Hình 3 Hiện tượng chatter 38 Hình Hàm dấu xấp xỉ 38 Hình Mặt biên sử dụng hàm bão hòa 39 Hình Bộ điều khiển bang-bang 39 Hình Bộ điều khiển bang-bang vùng chết .40 Hình Trigger Schimtt 40 Hình Cách thức biểu diễn khác Trigger Schmitt 40 Hình 10 Bộ điều chỉnh PWPF .41 Hình Kết mơ với điều khiển PD 61 Hình Kết mơ với điều khiển Lyapunov 62 Hình Kết mô với điều khiển Lyapunov 64 Hình Kết mơ với điểu khiển trượt 65 Mở đầu Xuất phát từ trình nghiên cứu Viện Công nghệ Vũ trụ-Viện KH CN Việt Nam Trong có đề tài triển khai nghiên cứu, thiết kế, chế tạo chuẩn bị phóng vệ tinh nhỏ (MICRO-STAR) phục vụ phát triển vệ tinh Châu Á Thái Bình Dương – APRSAF satellite Nội dung chương trình: Dựa kết điều tra nhu cầu nước khu vực Châu Á – Thái Bình Dương việc sử dụng vệ tinh chung, chương trình hợp tác phát triển vệ tinh Châu Á Thái Bình Dương – APRSAF satellite chia thành giai đoạn chính: Giai đoạn với mục đích chế tạo vệ tinh thử nghiệm (Micro STAR) với khối lượng khoảng 50kg; Giai đoạn chế tạo vệ tinh quan sát trái đất APRSAF satellite với khối lượng khoảng 300-500kg Vệ tinh Micro – STAR thiết kế dựa nhiệm vụ giám sát đất đai hoặc/và vùng biển, liệu ảnh vệ tinh lấy cách dễ dàng internet chia sẻ thông tin, liệu cho nước tham gia dự án Nhóm chương trình Việt Nam giao nhiệm vụ tiến nghiên cứu thiết kế hai thành phần vệ tinh MICRO-STAR là: - Hệ thống xác định điều khiển tư vệ tinh - Hệ thống cấu trúc khí vệ tinh Nhằm bước đầu tìm hiểu nghiên cứu hệ thống xác định điều khiển tư vệ tinh Bước đầu nhóm đề tài xây dựng hệ thống mô hệ xác định điều khiển tư vệ tinh mặt đất nội dung lựa chọn cho luận văn Mục đích nghiên cứu luận văn tìm hiểu việc xác định điều khiển tư vệ tinh cụ thể vệ tinh nhỏ có khối lượng 50kg bay quĩ đạo thấp có nhiệm vụ quan sát trái đất Từ đưa xây dựng mơ hình động học động lực học vệ tinh không gian Đưa phương án điều khiển xây dựng điều khiển mô máy tính Tuy điều kiện mặt thời gian đề tài tiến hành với vài điều kiện mơ hình cảm biến cấu chấp hành đơn giản Luận văn bao gồm chương: Chương 1: Tổng quan Chương 2: Mô xác định điều khiển tư vệ tinh Chương 3: Cơ sở tốn học Chương 4:Phân tích lý thuyết Chương 5: Mô Chương 6:Kết luận đề xuất 10 Phụ lục Sơ đồ khối mô Simulink Code Matlab %euler2q.m %************************************************************* ******** %File euler2q.m % transforms Euler angles to quaternion %************************************************************* ******** function q_0 = euler2q(e) e1=0.5*e(1,:); e2=0.5*e(2,:); e3=0.5*e(3,:); u(1)=sin(e1); u(2)=sin(e2); 70 u(3)=sin(e3); u(4)=cos(e1); u(5)=cos(e2); u(6)=cos(e3); q0=(u(1)*u(2)*u(3))+(u(4)*u(5)*u(6)); q1=(-u(2)*u(3)*u(4))+(u(1)*u(5)*u(6)); q2=(u(1)*u(5)*u(3))+(u(2)*u(4)*u(6)); q3=(u(3)*u(4)*u(5))-(u(1)*u(2)*u(6)); q_0=[q0;q1;q2;q3]; end %************************************************************* ******** %figures m %Do thi euler,w_b_bo,tau_regulator and tau_reactionwheel %************************************************************* ******** global euler time t_o %Plotting the simulated trajectories t=time/t_o; figure(1); plot(t,euler(:,1),'b-', t,euler(:,2),'r ', t,euler(:,3),'g:'); grid; legend('\phi','\theta','\psi'); xlabel('time [orbit] '); ylabel('[degree]'); Title('Satellite Euler Angles'); figure(2); plot(t,w_b_bo(1,:),'b-', t,w_b_bo(2,:),'r ', t,w_b_bo(3,:),'g:'); grid; legend('\omega_x','\omega_y','\omega_z'); xlabel('time [orbit] '); ylabel('[rad/s]'); Title('Satellite Angular Velocity (Body)'); 71 figure(3); plot(t,tau_regulator(1,:),'b-', t,tau_regulator(2,:) ,'r ', t,tau_regulator(3,:),'g:'); grid; legend('\tau_1','\tau_2','\tau_3'); xlabel('time [orbit] '); ylabel('torque[Nm]'); Title('Output From Regulator'); figure(4); plot(t,tau_reactionwheel(:,1),'b-' ,t,tau_reactionwheel(:,2),'k ' ,t,tau_reactionwheel(:,3),'r-.' ,t,tau_reactionwheel(:,4),'g:'); grid; legend('T_1','T_2','T_3','T_4'); xlabel('time [orbit] '); ylabel('torque[Nm]'); Title('Output From Reaction Wheel'); 72 %************************************************************* ******** %Rquat.m % Transform quaternion matrix to rotation matrix %************************************************************* ******** function R = Rquat(q) n=q(1,:); e1=q(2,:); e2=q(3,:); e3=q(4,:); d11=(n^2+e3^2-e2^2-e1^2); d12=2*(e1*e2+n*e3); d13=2*(e1*e3-n*e2); d21=2*(e1*e2-n*e3); d22=(n^2-e3^2+e2^2-e1^2); d23=2*(e2*e3+n*e1); d31=2*(e1*e3+n*e2); d32=2*(e2*e3-n*e1); d33=(n^2-e3^2-e2^2+e1^2); R=[d11,d12,d13;d21,d22,d23;d31,d32,d33]; end 73 %************************************************************* ******** %sat_non_dyn.m % nonlinear satellite dynamic equations %************************************************************* ******** function xdot = sat_non_dyn(input) global I w_o TD I_o K1 % The state space variables q = input(1:4); w_b_bi = input(5:7); % The system input from the controller after actuator allocation u = input(8:11) % Normalizing the quaternions q = q/(q'*q); eta = q(1) ; epsilon = q(2:4); % Transforming w_b_ib to w_b_ob for use in the dynamical model update r_o_b = Rquat(q); r_b_o = r_o_b'; w_b_bo = w_b_bi+w_o *c2; %w_b_bo = w_b_bi+w_o *c2; % Banh xe dong luong T = TD %T(1,:) = zeros(1,3); % Disabling wheel %T(2,:) = zeros(1,3); % Disabling wheel %T(3,:) = zeros(1,3); % Disabling wheel %T(4,:) = zeros(1,3); % Disabling wheel %u(1) = 0; %Disabling wheel %u(2) = 0; %Disabling wheel %u(3) = 0; %Disabling wheel %u(4) = 0; %Disabling wheel % Maximum torque available is 0.01 [Nm] 74 % u_max = 0.01; u_max = 1; for i = 1:4 if abs(u(i))>u_max u(i)= sign(u(i))*u_max; end; end; tau = T'*K1*u; %p = 0.4; % 40% nhieu gay %noise=p*(sign(2*rand(1)-1))*[tau(1); tau(2); tau(3)]; %tau = tau + r_b_o*(noise) ; % Gravity gradient torque g_B = Smtrx(3*w_o^2*r_b_o(:,3))*I*r_b_o(:,3); % Aerodynamic torque t_aero = 3.4245e-7; % The dynamical equations eta_dot = -(1/2)*epsilon'*w_b_bo; epsilon_dot = (1/2)*(eta*eye(3) + Smtrx(epsilon))*w_b_bo; w_b_bi_dot = inv(I)*(tau + g_B + t_aero - Smtrx(w_b_bi)*(I*w_b_bi)); xdot = [eta_dot; epsilon_dot; w_b_bi_dot;u]; 75 %************************************************************* ******** %Simulationsetup.m % linear,nonlinear and sliding mode controllers %************************************************************* ******** clear all; global I w_o TD K I_o K1 W %************************************************************* ******** %Inertia Matrix %************************************************************* ******** Ixx = 9.8194; Ixy = 0.0721; Ixz = 0.2893; Iyx = 0.0721; Iyy = 9.7030; Iyz = 0.1011; Izx = 0.2892; Izy = 0.1011; Izz = 9.7309; %BILSAT-1 inertia matrix InertialMatrix=[Ixx 0; Iyy 0; 0 Izz]; %InertialMatrix=[Ixx Ixy Ixz; Iyx Iyy Iyz; Izx Izy Izz]; I=InertialMatrix; % Some useful definitions kx = (Iyy - Izz)/Ixx; ky = (Ixx - Izz)/Iyy; kz = (Iyy - Ixx)/Izz; % Tetrahedral distribution matrix % they can be scaled by the motor gains TD = [0 -1; -sqrt(6*3*4)/9 sqrt(4)/6; 1/6*sqrt(6*4) sqrt(6*3*4)/18 sqrt(4)/6; -1/6*sqrt(6*4) sqrt(6*3*4)/18 sqrt(4)/6 ] %force matrix k1 = 1; k2 = 1; k3 = 1; 76 k4 = 1; K1 = [k1 0 0 k2 0 0 k3 0 0 k4] %weight matrix w1 = 1; w2 = 1; w3 = 1; w4 = 1; W = [w1 0 0 w2 0 0 w3 0 0 w4] %************************************************************* ******** %Initial Values %************************************************************* ******** m = 50; % [kg] Mass of Satellite M = 5.9742e24; % [kg] Mass of Earth gamma = 6.6720e-11; % [] Gravity constant my_g = gamma*M; % [kg] Earth gravity constant re_e = 6.378137e6; % [m] Equatorial radius of Earth rp_e = 6.356752e6; % [m] Polar radius of Earth eccentricity = sqrt(1- (rp_e/re_e)^2); % Eccentricity of the ellipsoid h_s = 600e3; % [m] Satellite orbit r_total = re_e + h_s; % [m] Distance from satellite to %Earth center t_e = round (8.6164130e4); % [s] Integer length of sidereal day w_e = 2*pi/(t_e); % [rad/s] Earth Angular Velocity w_o = sqrt( my_g/( r_total^3)); % [rad/s] Satellite Angular Velocity t_o = 2*pi/w_o; % [s] Satellite Orbit Period v_o = h_s*w_o; % [m/s] Satellite Velocity %************************************************************* ******** 77 %Reference Model %************************************************************* ******** w_n = 0.022; zeta =1; %************************************************************* ******** % Initial attitude in Euler angles %************************************************************* ******** deg_0 = (pi/180)* [0; 0; 0] ; % Initial attitude in Euler parameters (quaternions) q_0 = euler2q(deg_0); %************************************************************* ******** % Transforming from w_B_BO to w_B_BI %************************************************************* ******** r_o_b = Rquat(q_0); r_b_o = r_o_b'; c2 = r_b_o(:,2); w_b_bo = [0; 0; 0] ; w_b_bi = w_b_bo - w_o*c2; % The initial state vector x0 = [q_0(1); q_0(2); q_0(3); q_0(4); w_b_bi(1); w_b_bi(2); w_b_bi(3)]; %************************************************************* ******** % The linearized system matrices %************************************************************* ******** A = [0 0 0; -4*kx*w_o^2 0 0 (1 - kx)*w_o; 0 0; 0 -3*ky*w_o^2 0 0; 0 0 1; 78 -(1 - kz)*w_o 0 -kz*w_o^2 ]; B = [0 0 1/(2*Ixx) 0; 0 0; 1/(2*Iyy) 0; 0 0; 0 1/(2*Izz) ]; C = [1 0 0 0; 0 0 0; 0 0 10 ]; 79 %Smtrx.m %************************************************************* ******** %File Smtrx.m %************************************************************* ******** function S = Smtrx(i) S =[0 -i(3) i(2) i(3) -i(1) -i(2) i(1) 0]; 80 %************************************************************* ******** %t_aero.m % Calculate the aerodynamic torque %************************************************************* ******** function torque = t_aero % torque = [(1/2)*rho*Cd*A*v*v]*rt; % torque = F_aero*rt; % F_aero=[(1/2)*rho*Cd*A*v*v] MU=3.986e14; body re_e = 6.378137e6; h_s = 686e3; r=re_e+h_s; a=r; %MU [m^3/s^2]:gravitational parameter for the central %re_e [m]:Equatorial radius of Earth %h_s [m]:Satellite orbit %r [m]:Distance from satellite to Earth center %a [m]:semimajor axis of the orbit %when the orbit was taken circular v = sqrt((2*MU/r) - (MU/a)); %v [m/s]:the velocity of the spacecraft %(velocity at perigee) rho=2.89*10^-13; Cd=2; A=0.42; %rho [kg/m^3]:Atmospheric density %Cd :the coefficient of drag on the spacecraft %A [m^2]:Projection area F_aero = (1/2)*rho*Cd*A*v*v; %F_aero [N]:aerodynamic drag force rt=0.05; %rt [m]:(c_pa-c_g)the moment arm for the drag force %(center of pressure -center of mass) torque = F_aero*rt; % aerodynamic torque [N*m] 81 82 83 84 ... hình vệ tinh quan sát trái đất 1.2 Xác định điều khiển tư vệ tinh 1.2.1 Mục đích việc xác định điều khiển tư vệ tinh Vệ tinh quan sát trái đất hoạt động không gian với yêu cầu qui định ba trục định. .. tài xây dựng hệ thống mô hệ xác định điều khiển tư vệ tinh mặt đất nội dung lựa chọn cho luận văn Mục đích nghiên cứu luận văn tìm hiểu việc xác định điều khiển tư vệ tinh cụ thể vệ tinh nhỏ. .. hai thành phần vệ tinh MICRO-STAR là: - Hệ thống xác định điều khiển tư vệ tinh - Hệ thống cấu trúc khí vệ tinh Nhằm bước đầu tìm hiểu nghiên cứu hệ thống xác định điều khiển tư vệ tinh Bước đầu