기체 트리밍 및 선형화하기
이 예제에서는 Simulink® Control Design™을 사용하여 기체를 트리밍하고 선형화하는 방법을 보여줍니다.
고전적 설계 기법을 사용하여 오토파일럿을 설계하려면, 다양한 트림 비행 조건에서 기체 피치 동특성의 선형 모델이 필요합니다. MATLAB®은 트림 조건을 결정하고, 비선형 Simulink® 및 Aerospace Blockset™ 모델에서 직접 선형 상태공간 모델을 도출할 수 있습니다. 이는 시간을 절약하고 모델 검증에 도움이 됩니다. Simulink Control Design에서 제공하는 함수를 사용하면 개루프 주파수(또는 시간) 응답의 측면에서 기체의 동작을 시각화할 수 있습니다.
유도 모델(Guidance Model) 초기화하기
첫 번째 문제는 미사일이 설정된 속도로 날아갈 때, 지정된 붙임각(incidence) 값을 생성하기 위해 필요한 승강타 편향(elevator deflection)과 그 결과로 얻어지는 트리밍된 동체 속도(q)를 찾는 것입니다. 트림 조건을 찾은 후에는, 트림 조건 주변 상태의 섭동 동특성에 대한 선형 모델을 도출할 수 있습니다.
open_system('AirframeTrim');

상태 값 정의하기
hInitial = 10000/m2ft; % Trim Height [m] MInitial = 3; % Trim Mach Number alphaInitial = -10*d2r; % Trim Incidence [rad] thetaInitial = 0*d2r; % Trim Flightpath Angle [rad] vInitial = MInitial*(340+(295-340)*hInitial/11000); % Total Velocity [m/s] qInitial = 0; % Initial pitch Body Rate [rad/sec]
동작점 및 상태 사양 설정하기
첫 번째 상태 사양은 Position 상태이고, 두 번째 상태 사양은 Theta입니다. 둘 다 알려져 있지만, 정상 상태가 아닙니다. 세 번째 상태 사양은 동체 축(body axis) 각속도이며, 이 중 변수 w가 정상 상태에 있습니다.
opspec = operspec('AirframeTrim');
opspec.States(1).Known = [1;1];
opspec.States(1).SteadyState = [0;0];
opspec.States(2).Known = 1;
opspec.States(2).SteadyState = 0;
opspec.States(3).Known = [1 1];
opspec.States(3).SteadyState = [0 1];
동작점을 탐색하고 I/O를 설정한 후 선형화하기
op = findop('AirframeTrim',opspec); io(1) = linio('AirframeTrim/Fin Deflection',1,'input'); io(2) = linio('AirframeTrim/Selector',1,'output'); io(3) = linio(sprintf(['AirframeTrim/Aerodynamics &\n', ... 'Equations of Motion']),3,'output'); sys = linearize('AirframeTrim',op,io);
Operating point search report:
---------------------------------
opreport =
Operating point search report for the Model AirframeTrim.
(Time-Varying Components Evaluated at time t=0)
Operating point specifications were successfully met.
States:
----------
Min x Max dxMin dx dxMax
__________ __________ __________ __________ __________ __________
(1.) AirframeTrim/Aerodynamics & Equations of Motion/3DOF (Body Axes)/Position
0 0 0 -Inf 967.6649 Inf
-3047.9999 -3047.9999 -3047.9999 -Inf -170.6254 Inf
(2.) AirframeTrim/Aerodynamics & Equations of Motion/3DOF (Body Axes)/Theta
0 0 0 -Inf -0.21604 Inf
(3.) AirframeTrim/Aerodynamics & Equations of Motion/3DOF (Body Axes)/U,w
967.6649 967.6649 967.6649 -Inf -14.0977 Inf
-170.6254 -170.6254 -170.6254 0 -7.439e-08 0
(4.) AirframeTrim/Aerodynamics & Equations of Motion/3DOF (Body Axes)/q
-Inf -0.21604 Inf 0 3.3582e-08 0
Inputs:
----------
Min u Max
_______ _______ _______
(1.) AirframeTrim/Fin Deflection
-Inf 0.13615 Inf
Outputs:
----------
Min y Max
__________ __________ __________
(1.) AirframeTrim/q
-Inf -0.21604 Inf
(2.) AirframeTrim/Az
-Inf -7.439e-08 Inf
트리밍된 상태 선택, LTI 객체 생성 및 보드 응답 플로팅하기
airframe = ss(sys.A(3:4,3:4),sys.B(3:4,:),sys.C(:,3:4),sys.D); set(airframe,'inputname',{'Elevator'}, ... 'outputname',[{'az'} {'q'}]); ltiview('bode',airframe); bdclose('AirframeTrim');


참고 항목
도움말 항목
- Aerospace Blockset
- Create Aerospace Models (Aerospace Blockset)