기체 트리밍 및 선형화하기
이 예제에서는 Simulink® Control Design™, Control System Toolbox™, Aerospace Blockset™을 사용하여 기체 모델을 트리밍하고 선형화하는 방법을 보여줍니다.
고전 제어 설계 기법을 사용하여 오토파일럿을 설계하려면, 지정된 동작(트림) 조건을 중심으로 한 기체 동특성의 선형 모델이 필요합니다. MATLAB®은 이러한 트림 조건을 계산하고, 비선형 Simulink 모델에서 직접 선형 상태공간 모델을 도출할 수 있습니다. 그런 다음 결과로 생성된 선형 모델을 사용하여 시간 또는 주파수 영역에서 기체 동특성을 분석할 수 있습니다.
기체 모델 열기
이 모델은 동작 고도에서 음속과 공기 밀도를 계산하기 위한 ISA Atmosphere Model로 구성됩니다. 기체는 두 개의 주요 서브시스템으로 구성됩니다. 하나는 공기력(Fx, Fz)과 피칭 모멘트(M)를 계산하는 Aerodynamics 서브시스템이고, 다른 하나는 바디 좌표축에서 강체 운동 방정식을 구현하는 3DOF (Body Axes) 블록입니다.
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]
동작점 사양 설정하기
operspec 객체를 사용하여 동작점에서 어떤 상태가 알려져 있는지와 정상 상태 조건을 충족해야 하는 항목을 지정합니다. 첫 번째 상태인 관성 위치와 두 번째 상태인 피치 각도는 알려진 값으로 지정되지만, 정상 상태일 필요는 없습니다. 세 번째 상태인 바디 축 속도도 알려진 상태로 지정되며, 이때 순 수직 가속을 방지하기 위해 수직 속도 성분만 정상 상태여야 합니다.
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];
모델 선형화하기
트리밍 제약 조건을 충족하는 동작점을 계산합니다.
op = findop('AirframeTrim',opspec);
Operating point search report:
---------------------------------
opreport =
Operating point search report for the Model AirframeTrim.
(Time-Varying Components Evaluated at time t=0)
Operating point search completed successfully using optimization.
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
승강타 편향(elevator deflection)을 입력값으로 정의하고 법선 가속도와 피치 각속도를 출력값으로 선택합니다. 그러면 선형화 시 편향 명령에 대한 주요 종방향 반응이 캡처됩니다.
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);
선형화된 모델 분석하기
단주기 동특성과 관련된 종방향 피치 축 상태를 추출하고, 차수 축소 상태공간 모델을 생성합니다.
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'}]);
선형 시스템 분석기를 사용하여 주파수 영역에서 선형화된 기체 모델을 분석합니다.
linearSystemAnalyzer('bode',airframe);


보드 플롯을 통해, 기체가 단주기 동특성이 두드러지는 중간 주파수의 승강타 입력값에 가장 강하게 반응했음을 알 수 있습니다.
참고 항목
도움말 항목
- Aerospace Blockset
- Create Aerospace Models (Aerospace Blockset)