비행제어세미나02

23
5. SAS - Stability Augmentation System 5.1 SAS ○ 개념 - Stability augmentation system - 원래 비행체의 불충분한 안정성을 증강시키는 제어장치 - 비행체가 한 비행조건에서는 만족스러운 비행특성(안정성)을 갖더라고 다른 비행조건에서는 그렇지 못할 수 있다. - 이러한 문제에 대해서도 SAS를 적용하여 전 영역에서 만족스러운 비 행특성을 갖도록 할 수 있다. (예제) 피치 채널 - 운동방정식 - 감쇠비가 너무 낮다. 진동 및 오버슈트 등이 예상된다. - 인공적으로 감쇠비를 높이기 위해 다음의 되먹임 제어를 가한다. Control system Aircraft Rage gyro Gain k c q & c q & e d D + + + _ SAS 5.2 SAS 설계 예제 - Yaw Damper 설계

Transcript of 비행제어세미나02

Page 1: 비행제어세미나02

5. SAS - Stability Augmentation System

5.1 SAS

○ 개념

- Stability augmentation system

- 원래 비행체의 불충분한 안정성을 증강시키는 제어장치

- 비행체가 한 비행조건에서는 만족스러운 비행특성(안정성)을 갖더라고

다른 비행조건에서는 그렇지 못할 수 있다.

- 이러한 문제에 대해서도 SAS를 적용하여 전 영역에서 만족스러운 비

행특성을 갖도록 할 수 있다.

(예제) 피치 채널

- 운동방정식

- 감쇠비가 너무 낮다. 진동 및 오버슈트 등이 예상된다.

- 인공적으로 감쇠비를 높이기 위해 다음의 되먹임 제어를 가한다.

Controlsystem

Aircraft

Rage gyroGain k

cq& cq&edD+

+

+

_

SAS

5.2 SAS 설계 예제 - Yaw Damper 설계

Page 2: 비행제어세미나02

○ Yaw damper

- Dutch roll에 의한 roll/yaw 진동을 감쇠시키기 위한 시스템

- 탑승감을 향상시켜줌

- 시스템이 동작하게 하면, 요 축의 각속도를 되먹임해서 러더가 움직이

도록 해준다.

○ 747 항공기의 Yaw damper(Matlab case study 자료)

- 선형모델,

A=[-.0558 -.9968 .0802 .0415;

.598 -.115 -.0318 0;

-3.05 .388 -.4650 0;

0 0.0805 1 0];

B=[ .00729 0;

-0.475 0.00775;

0.153 0.143;

0 0];

C=[0 1 0 0;

0 0 0 1];

D=[0 0;

0 0];

>> sys = ss(A,B,C,D);

>> set(sys, 'inputname', {'rudder' 'aileron'},...

'outputname', {'yaw rate' 'bank angle'},...

'statename', {'beta' 'yaw' 'roll' 'phi'});

>> pzmap(sys)

-0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Pole-Zero Map

Real Axis

Imag

inary

Axis

>> damp(sys)

Eigenvalue Damping Freq. (rad/s)

-7.28e-003 1.00e+000 7.28e-003

-5.63e-001 1.00e+000 5.63e-001

-3.29e-002 + 9.47e-001i 3.48e-002 9.47e-001 % -> Too lightly damped

Page 3: 비행제어세미나02

-3.29e-002 - 9.47e-001i 3.48e-002 9.47e-001 % dutch roll

- 설계 목표 :

- Openloop 시스템 해석

>> impulse(sys,20)

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2From: In(1)

To: O

ut(1

)

0 5 10 15 20-4

-3

-2

-1

0

1

To: O

ut(2

)

From: In(2)

0 5 10 15 20

Impulse Response

Time (sec)

Am

plitu

de

0 2 4 6 8 10 12 14 16 18 200

0.05

0.1

0.15

0.2

0.25From: ai leron

To: b

ank

angl

e

Impulse Response

Time (sec)

Ampl

itude

- 비행체는 non-zero 뱅크각에 대해 진동하고 있음

>> sys11=sys('yaw','rudder'); % rudder 입력에 대한 yaw rate 출력

>> bode(sys11)

Page 4: 비행제어세미나02

-40

-30

-20

-10

0

10

20

30From: rudder To: yaw rate

Magn

itude

(dB)

10-4

10-3

10-2

10-1

100

101

90

135

180

225

270

Phas

e (de

g)

Bode Diagram

Frequency (rad/sec)

- 제어기 설계: 근궤적법

>> rlocus(-sys11) % for positive feedback

Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

10.080.170.280.380.50.64

0.8

0.94

0.080.170.280.380.50.64

0.8

0.94

0.2

0.4

0.6

0.8

0.2

0.4

0.6

0.8

1

System: unti tled1Gain: 2.85

Pole: -0.297 + 0.606iDamping: 0.44

Overshoot (%): 21.5Frequency (rad/sec): 0.675

>> k = 2.85; % gain selection --> 감쇠비 = 0.44

>> cl11 = feedback(sys11,-k);

>> impulse(sys11,'b--',cl11,'r',20)

>> legend('open loop','closed loop',4)

Page 5: 비행제어세미나02

0 100 200 300 400 500 600 700-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2From: rudder To: yaw rate

Impulse Response

Time (sec)

Ampli

tude

open loopclosed loop

0 2 4 6 8 10 12 14 16 18 20-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2From: rudder To: yaw rate

Impulse Response

Time (sec)

Ampli

tude

open loopclosed loop

>> cloop = feedback(sys,-k,1,1);

>> damp(cloop) % closed-loop poles

Eigenvalue Damping Freq. (rad/s)

-2.85e-001 1.00e+000 2.85e-001

-3.19e-001 + 6.89e-001i 4.20e-001 7.59e-001

-3.19e-001 - 6.89e-001i 4.20e-001 7.59e-001

-8.25e-001 1.00e+000 8.25e-001

>> impulse(sys,'b--',cloop,'r',20)

Page 6: 비행제어세미나02

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2From: rudder

To: y

aw ra

te

0 5 10 15 20-4

-3

-2

-1

0

1To

: ban

k an

gle

From: ai leron

0 5 10 15 20

Impulse Response

Time (sec)

Am

plitu

de

0 2 4 6 8 10 12 14 16 18 200

0.05

0.1

0.15

0.2

0.25From: ai leron

To: b

ank

angl

e

Impulse Response

Time (sec)

Ampl

itude

- yaw rate 응답은 적절히 damping 되었음. 그러나 aileron 입력에 대한

roll rate 응답의 경우(spiral에 해당하는데), 과도하게 안정화시켰으며

고유진동수가 증가했다.

- 이 문제를 해결하기 위해 Washout filter를 설계함

>> H = zpk(0,-0.2,1); % Washout filter,

>> oloop = H * (-sys11); % open loop'

>> rlocus(oloop)

>> sgrid

Page 7: 비행제어세미나02

Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

10.120.240.380.50.64

0.76

0.88

0.97

0.120.240.380.50.64

0.76

0.88

0.97

0.2

0.4

0.6

0.8

0.2

0.4

0.6

0.8

1

System: oloopGain: 2.07

Pole: -0.229 + 0.713iDamping: 0.305

Overshoot (%): 36.5Frequency (rad/sec): 0.749

0 2 4 6 8 10 12 14 16 18 20-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6From: rudder To: Out(1)

Impulse Response

Time (sec)

Ampli

tude

>> K = 2.07;

>> cl11 = feedback(oloop,k);

>> impulse(cl11,20) % --> 위의 그림

- 응답이 좋아졌음. 전체 washout filter (washout+gain) 구성한다.

>> wof = -k * H; % washout compensator

>> cloop = feedback(sys,wof,1,1);

>> impulse(sys,'b--',cloop,'r',20)

Page 8: 비행제어세미나02

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2From: rudder

To: y

aw ra

te

0 5 10 15 20-4

-3

-2

-1

0

1To

: ban

k an

gle

From: ai leron

0 5 10 15 20

Impulse Response

Time (sec)

Am

plitu

de

0 2 4 6 8 10 12 14 16 18 200

0.05

0.1

0.15

0.2

0.25From: ai leron

To: b

ank

angl

e

Impulse Response

Time (sec)

Ampl

itude

- 원하는 설계사양을 충분히 만족시키지는 못했지만, 시스템의 damping

을 크게 증가시켰으며, 조종사가 조종함에 큰 불편이 없도록 하였다.

6. CAS (Control Augmentation System)

○ 개념

- SAS와는 달리 조종성에 더 큰 비중을 두고, 조종성을 향상시키려는 목

적으로 되먹임제어를 적용함

- CAS/SAS 두 시스템 모두 안정해야 하는 것은 동일하다. 다만 제어의

목적이 안정성을 위한 것인지, 조종성을 위한 것인지에 따라 구분할

Page 9: 비행제어세미나02

수 있다.

○ 가속도 CAS 설계

- 다음 가속도 제어루프에서 원래의 전달함수가 다음과 같다고 가정

Aircraft& actuators

r u+

_szsk p

+

±

Ap = [ -1.0189, 0.90506; 0.82225, -1.0774]; % x1 - alpha, x2 - q

Bp = [ -2.1499e-3; -1.7555e-1 ]; % elevator

Cp = [ 0, 57.29578; 16.262,0.97877 ]; % y1 - q, y2 - an

Dp = [ 0; -0.048523];

sysP = ss(Ap,Bp,Cp,Dp); % plant

sysA = ss(-20.2,20.2,-1,0); % actuator

- 제어기 설계:

: 우세극점( )을 상쇄시키기 위한 목적

- 극점이 너무 느리다. 빠른 응답성을 원하는 경우에 내부 상태변수 q를

되먹임해서 내부 루프를 구성한다( ).

Aircraft& actuators

kq

r nau+

_

+

_szsk p

+ 1u

q

±

- 제어기 설계:

: 우세극점( )을 상쇄시키기 위한 목적

- 시뮬레이션 결과를 보면 확실히 성능이 향상되었음을 알 수 있다.

Page 10: 비행제어세미나02

x' = Ax+Bu y = Cx+Du

aircraft1

x' = Ax+Bu y = Cx+Du

aircraft

s

5*[1,0.860]

actuator3

-20.2

s+20.2actuator2

s

5*[1,0.185]

actuator1

-20.2

s+20.2actuator

simout1

To Workspace1

Step1

Step

Scope1

Scope

K*u

Gain2K*u

Gain1

K*u

Gain

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4general loopCAS loop

7. Autopilot 설계

○ Autopilot

항공기 ·로켓 등 비행체의 자동조종장치를 의미한다. 첫째 목적은 비행을

안정하게 제어하는 것이고, 둘째 목적은 자동적으로 조종시키는 것이며, 셋

째 목적은 다른 장치와 연동된 자동유도이다.

Page 11: 비행제어세미나02

이것의 원리는 자이로와 가속도계로 자세와 방위의 변화를 전기적 신호

로 변환하여 조종면의 각도를 컴퓨터로 계산하고 유압 또는 전력으로 조종

면을 조작한다.

오늘날 제트기 등에서는 종래의 것에 비하여 훨씬 안정성이 결여되므로,

자동비행 안정제어장치를 설치하는 것은 기본이 되어 있다.

오토파일럿은 항공기에서는 승강키 ·보조날개 ·방향키에 대하여, 로켓 등

에서는 스러스트 벡터제트(방향수정용의 제트)에 대하여 각각 자동제어계를

구성하고, 안정 ·조종 ·유도에 필요한 제어신호를 주게 되어 있다.

선박의 경우는 자동조타장치(自動操舵裝置)라고 한다.

7.1 구동기 모델

- 구동의 근원과 연결된 시스템 전체를 의미. 끝단에는 조종면이 연결되어

있다고 생각함

- 주로 1 차 시스템으로 표현

: 혹은 가 구동기의 빠르기 (혹은 대역폭)을 결정

: 움직임의 한계가 있지만 직접적으로 고려하지 않음

: 는 구동기에 가해지는 명령(전기적 신호 혹은 물리적 구동 등)

7.2 Pitch Displacement Autopilot

○ 개요

- 피치 자세각 명령을 추종하는 autopilot

- 루프 구성은 일반적으로 아래와 같이 두 가지 형태

Page 12: 비행제어세미나02

Controller Aircraftr u+

_Actuator

y

Controller Aircraftr u+

_Actuator

y

Rate gyro

(예제) 피치각도 추종

PID Aircraftcq ed+

_Actuator

qcde

- 시스템 파라미터

,

,

- 적절한 PID 게인을 결정하는 문제

- P 제어 :

- PI 제어 :

- PID 제어 :

: D 제어를 수행할 때는 proper로 만들어야 하기 때문에 다음과 같이

수정한다. →

-3

s +2s+52

aircraft2

-3

s +2s+52

aircraft1

-3

s +2s+52

aircraft

-0.1

0.1s+1

actuator2

-0.1

0.1s+1

actuator1

-0.1

0.1s+1

actuator

simout

To Workspace

Step

53.22s+87.24

s

PI1

39.92s+39.42

s

PI

44.35

Gain

8.12s

0.01s+1

D

Page 13: 비행제어세미나02

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

PPIPID

- D 제어를 적용할 때는 노이즈에 대해 주의하여야 한다. 노이즈 성분을

미분하면 증폭이 되기 때문이다. 문제가 심각하면 D 제어를 적용하지

못하고, rate feedback을 고려하여야 한다. 구현에 있어서 rate

feedback을 이용하는 내부루프 혹은 D 제어가 비슷한 역할을 한다.

7.3 Roll Attitude Autopilot

○ 개요

- 뱅크각 명령을 추종하는 autopilot

Aircraftcf ad+

_

Actuatorka

fe

Sensor, ks

(예제) Roll Attitude Autopilot 설계 예제

- 시스템 파라미터

,

- 근궤적 작도 및 파라미터 결정( )

Page 14: 비행제어세미나02

Root Locus

Real Axis

Imag

inar

y Ax

is

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.40.120.260.40.520.660.8

0.9

0.97

0.120.260.40.520.660.8

0.9

0.97

0.10.20.30.4

System: sys1Gain: 0.125Pole: -0.25 + 0.25iDamping: 0.708Overshoot (%): 4.3Frequency (rad/sec): 0.353

0 5 10 15 20 250

0.2

0.4

0.6

0.8

1

1.2

1.4

Step Response

Time (sec)

Ampl

itude

>> sys1=tf(1,[1,0.5,0]);

>> sys2=feedback(sys1*0.125,1)

Transfer function:

0.125

-------------------

s^2 + 0.5 s + 0.125

Page 15: 비행제어세미나02

>> step(sys2) % --> 위의 그림

- roll damping이 낮다. rate feedback을 통하여 damping을 증가시킴.

Ampka

AircraftP/da

Rate gyrokrg

ad+

_

+

_

p1/sAirelon

kasf

gyrokg

cf

- 내부루프:

- 내부루프 극점을 로 하려면

: rate feedback 이 없는 경우는 였지만, rate feedback을 통

해서 로 할 수 있었음.

- 외부루프의 근궤적은 다음과 같음.

-20 -15 -10 -5 0 5-8

-6

-4

-2

0

2

4

6

80.350.580.760.850.92

0.96

0.982

0.996

0.350.580.760.850.92

0.96

0.982

0.996

5101520

Root Locus Editor (C)

Real Axis

Imag

Axis

Page 16: 비행제어세미나02

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.2

0.4

0.6

0.8

1

1.2

1.4

Step Response

Time (sec)

Ampl

itude

>> sys2=feedback(sys1*7,1)

Transfer function:

98

-----------------

s^2 + 14.5 s + 98

>> damp(sys2)

Eigenvalue Damping Freq. (rad/s)

-7.25e+000 + 6.74e+000i 7.32e-001 9.90e+000

-7.25e+000 - 6.74e+000i 7.32e-001 9.90e+000

>> step(sys2,5) % --> 위의 그림 참고

- damping과 step 응답이 만족스러움

7.4 Altitude Hold Autopilot

○ 개념

- 비행체의 고도를 일정하게 유지 혹은 주어진 고도명령을 추종하는 오

토파일럿

Page 17: 비행제어세미나02

Controller Aircraftrefh u+

_

Elevator servo

h

Altitudesensor

- 고도 출력과 입력(엘리베이터)과의 관계식 유도

sin≃

(예제) 비행체 고도 유지 Autopilot

- 시스템 요소

,

,

- 요구사항

: 감쇠비 > 0.6, 정착시간 < 2.5 sec

- 루프 전달함수

- 근궤적 작도

:

>> sys1=tf(500,poly([0,-1.4,-10]));

>> sys2=feedback(0.024*sys1,1);

>> damp(sys2)

Eigenvalue Damping Freq. (rad/s)

-6.32e-001 + 8.86e-001i 5.81e-001 1.09e+000

-6.32e-001 - 8.86e-001i 5.81e-001 1.09e+000

-1.01e+001 1.00e+000 1.01e+001

: 정착시간을 만족하지 못함

Page 18: 비행제어세미나02

-40 -30 -20 -10 0 10 20-20

-15

-10

-5

0

5

10

15

200.350.580.760.850.92

0.96

0.982

0.996

0.350.580.760.850.92

0.96

0.982

0.996

10203040

Root Locus Editor (C)

Real Axis

Imag

Axi

s

0 1 2 3 4 5 6 7 8 90

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Ampl

itude

- 제어기 변경

- 근궤적 작도

:

Page 19: 비행제어세미나02

-60 -50 -40 -30 -20 -10 0 10 20-30

-20

-10

0

10

20

300.220.440.620.760.85

0.92

0.965

0.992

0.220.440.620.760.85

0.92

0.965

0.992

102030405060

Root Locus Editor (C)

Real Axis

Imag

Axi

s

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

Step Response

Time (sec)

Ampl

itude

>> sys1=tf(500,poly([0,-1.4,-10]));

>> sys2 = series(sys1,tf([1,1.4],[1,14])); % compensator

>> rltool(sys2)

>> sys3=feedback(0.9*sys2,1);

>> damp(sys3)

Eigenvalue Damping Freq. (rad/s)

-1.40e+000 1.00e+000 1.40e+000

-3.27e+000 + 3.88e+000i 6.44e-001 5.08e+000

-3.27e+000 - 3.88e+000i 6.44e-001 5.08e+000

-1.75e+001 1.00e+000 1.75e+001

>> step(sys3,10)

7.5 Velocity Hold Autopilot

Page 20: 비행제어세미나02

○ 개념

- 비행체의 전진속도를 일정하게 유지 혹은 주어진 속도명령을 추종하는

오토파일럿

- 속도제어를 위해 엔진을 제어

- 단독으로 사용되는 것 보다, 고도유지 혹은 경로유지 오토파일럿과 함

께 사용되어야 의미가 있다.

- 시스템의 구성은 다음과 같다.

Controller Aircraftrefu +

_

Engine lag

u

Speedsensor

Enginethrottlecontrol

(예제) 속도유지 제어시스템 설계

- 시스템 전달함수

: 센서(미분은 가속도를 의미함)

- 전체시스템

- 근궤적 작도(우측은 우세극점 근처를 확대한 것)

Page 21: 비행제어세미나02

-12 -10 -8 -6 -4 -2 0

-10

-5

0

5

10

0.090.20.30.420.540.68

0.82

0.95

0.090.20.30.420.540.68

0.82

0.95

2

4

6

8

10

2

4

6

8

10

12

Root Locus

Real Axis

Imag

inary

Axis

-6 -5 -4 -3 -2 -1 0 1-2

-1.5

-1

-0.5

0

0.5

1

1.5

20.30.520.70.820.90.95

0.978

0.994

0.30.520.70.820.90.95

0.978

0.994

12345

Root Locus

Real Axis

Imag

inary

Axis

- 게인 선정: 1, 1.6

- 각각에 대해 전체 시스템의 DC 게인을 구해서 이의 역수를

feedforward 게인으로 설정함

>> sys2=tf(0.38,conv([1,10],[1,0.039,0.053]));

>> sys3=tf([10,1],1);

>> sys4=feedback(1*sys2,sys3) % gain ka = 1 인경우

Transfer function:

0.38

--------------------------------

s^3 + 10.04 s^2 + 4.243 s + 0.91

Page 22: 비행제어세미나02

>> ff = 1/dcgain(sys4)

ff =

2.3947

>> sys5=feedback(1.6*sys2,sys3) % gain ka = 1.6 인 경우

Transfer function:

0.608 s^3 + 6.104 s^2 + 2.58 s + 0.5533

----------------------------------------------------------------------

s^6 + 20.08 s^5 + 105.5 s^4 + 48.48 s^3 + 16.34 s^2 + 2.652 s + 0.7133

>> ff = 1/dcgain(sys5)

ff =

1.2893

s+10

10

throttleservo

Step Scope

10

Gain1

1.6

Gain

ff

FF

s+0.1

1

Engine lag

s+0.1

sController

0.038s

s +0.039s+0.0532

Aircraft

du/dt

Acceration

0 5 10 15 20 25 30 35 40 45 500

0.2

0.4

0.6

0.8

1

1.2

1.4

Page 23: 비행제어세미나02

0 5 10 15 20 25 30 35 40 45 500

0.2

0.4

0.6

0.8

1

1.2

1.4

- 전반적으로 속도 응답이 느리다.

- 인 경우는 오버슈트가 존재하지만 에 비해 빠른 응답을 보

여주고 있다. 요구사양에 따라 적절한 게인을 선택해야 한다.