제2부 비행제어·항공전자·감시
2.2 비행제어 I: 제어 구조와 멀티콥터 제어 할당
2.2.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자
멀티콥터는 스스로 자세를 유지하지 못한다(1.1.7.1). 제어기가 꺼지면 한 순간도 날지 못하므로 제어 구조가 곧 기체의 일부다. 이 장은 그 구조를 위에서 아래로 훑는다. 위치 명령이 속도·자세·각속도 명령으로 바뀌고, 마지막에 로터 네 개의 추력으로 나뉘는 과정이다. 같은 구조가 소형 쿼드콥터에서 eVTOL까지 사용되지만 모터 지연과 센서 지연이 얼마나 되느냐가 사용할 수 있는 대역폭을 정한다.
배우는 것:
- 캐스케이드 구조와 대역폭 분리 — 위치·속도·자세·각속도 네 루프가 왜 안쪽이 바깥보다 3~4배 빨라야 하는가.
- PID의 용도 — 각속도 PID와 자세 P, 와인드업과 미분 필터가 하는 일.
- 지연과 위상 여유 — 모터 지연 30 ms와 센서·연산 지연 7.6 ms가 각속도 루프의 위상 여유를 얼마나 깎는가.
- 제어 할당 — 믹서 행렬의 역, 포화에서의 우선순위(롤·피치 우선, 요 희생), 낮은 추력에서 권한이 붕괴하는 모양.
- 고급 제어와 바람 추정 — LQR·MPC·INDI·적응 제어가 사용되는 곳, 호버 기울기에서 풍속을 읽는 법.
- 고정익 제어 구조와 제어기 설정의 관리 — TECS, 동압에 따른 이득 스케줄링, 튜닝 파라미터가 인증과 어떻게 만나는가.
선수 지식: 1.1.7.1(멀티콥터의 적분 네 번), 1.7.3·1.7.5(믹서 행렬과 모터 상실), 2.1.5(2 kg 쿼드 기준 모델), 1.29.5(진동과 노치 필터). 제어 이론(주파수 응답, 위상 여유, PID 이론)은 자매서 controleng(CE)이 맡고 이 장은 구조와 숫자만 작성한다.
특히 중요한 독자: 제어 엔지니어는 전체를 읽는다. 인증 담당자는 2.2.5(여유)와 2.2.11(설정 관리)을 본다. 사업·정책 담당자는 2.2.12의 트레이드오프와 2.2.13의 비교표만 읽어도 된다.
기준 시점과 정직성. 이 장은 2026년 10월을 기준으로 작성한 기술 장이며 집필에 사용한 지식은 2026년 중반까지다. 수치 예시는 2.1의 2 kg 쿼드 기준 모델(가상 기체)과 1.1.9의 3 kg 고정익에 이 장이 제어기·지연 값을 가정으로 더한 것이다. 제어기 이득과 지연은 설명용이고 어떤 제품의 값도 아니다. 계산은 표준 라이브러리
math·cmath만 사용한 파이썬(mil-uam/fig-src/2.2-*.py)으로 돌렸다. 이 장의 지연·루프 주파수·위상 여유 값은 2.5(고장 허용)·2.10(비행 소프트웨어)·2.11(지상통제소)가 이어 쓰므로 2.2.5의 기준값 표에 모았다. 오픈소스 오토파일럿의 구조 서술은 공개 문서(2차 출처 수준)로 확인한 범위다. 제조사·정부가 밝힌 제원은(공개 주장치), 확인하지 못한 사실은(확인 필요)로 표시했다.
2.2.2 개념·직관 — 단일 제어기가 아니라 4중 되먹임
멀티콥터에 위치를 주면 제어기가 하는 일은 네 단계의 번역이다. 가고 싶은 곳(위치)을 속도로, 속도를 기울기로, 기울기를 회전 속도로, 회전 속도를 토크로 바꾼다. 번역이 네 번인 까닭이 1.1.7.1에 있다. 토크에서 위치까지 적분이 네 번이어서($\tau\to\ddot\theta\to\theta\to\ddot x\to x$) 한 제어기로 한꺼번에 잡으면 위상이 180°를 넘게 지연되어 안정화하기 어렵다. 적분 하나마다 루프 하나를 두면 각 루프가 적분 하나(위상 −90°)만 상대하고 설계가 쉬워진다.
이 구조의 대가는 루프 사이의 시간 척도 차를 유지해야 한다는 점이다. 바깥 루프는 안쪽 루프가 명령을 순식간에 따른다고 가정해 설계하므로, 안쪽이 충분히 빠르지 않으면 바깥 루프의 여유가 깎인다. 안쪽 루프가 얼마나 빠를 수 있는지는 모터·프로펠러의 응답과 센서·연산 지연이 정한다. 그래서 이 장은 구조(2.2.3)에서 시작해 지연(2.2.5)으로 내려간다.
세 축은 같은 구조를 다르게 사용한다. 군용 드론의 FPV·소형 쿼드는 모터 응답이 빠르고(수 ms~수십 ms) 루프 주파수가 높아 대역폭을 크게 잡고, 대형 기체는 로터 관성 때문에 느려진다(1.7.6). 민간 UAS는 오픈소스 오토파일럿의 기본 구조에 기체별 이득을 추가한다. AAM은 대형 로터(고정 피치는 응답이 느려 가변 피치나 많은 로터로 간다)와 다중화 비행 제어 컴퓨터, 고장 시 재할당이 요구되고 제어 법칙이 인증 대상이다(2.3·15.6).
2.2.3 캐스케이드 구조와 대역폭 분리
그림은 위치 제어기에서 기체까지의 직렬 사슬과 안쪽부터 닫히는 되먹임 4중 구조다. 각 제어기의 역할은 이렇다.
- 위치 제어기(P). 위치 오차에 이득을 곱해 속도 명령을 만든다.
- 속도 제어기(PI). 속도 오차에서 필요한 수평 가속도를 구하고, 호버에서 $\ddot x\approx g\theta$이므로(1.1.7.1) 이를 기울기 명령으로 바꾼다. 적분은 바람 같은 지속 외란을 지운다.
- 자세 제어기(P). 자세 오차에 이득을 곱해 각속도 명령을 만든다. 멀티콥터의 자세 루프는 쿼터니언 오차로 계산한다(2.1.3.2).
- 각속도 제어기(PID). 각속도 오차에서 토크를 만든다. 가장 빠르고 가장 중요한 루프다.
- 제어 할당(2.2.6)이 총추력과 세 토크를 로터 네 개의 추력으로 나눈다.
대역폭 분리의 규칙은 "안쪽 루프가 바깥 루프보다 3~5배 빠르게"다. 이유는 바깥 루프가 안쪽을 1차 지연으로 볼 때 나오는 식이다. 안쪽의 닫힌 응답을 시정수 $1/\omega_i$의 1차 지연으로 근사하면 바깥 루프(교차 주파수 $\omega_o$, 적분 하나)의 위상 여유는 다음과 같다.
$$\mathrm{PM}_o\approx 90^{\circ}-\arctan\frac{\omega_o}{\omega_i}=90^{\circ}-\arctan\frac{1}{r},\qquad r=\frac{\omega_i}{\omega_o}$$
$r=2$이면 63°, $r=3$이면 72°, $r=5$이면 79°다. $r$이 1이면 45°까지 떨어진다. 이 식은 안쪽 루프를 1차 지연으로만 본 근사이고 분리비가 작을 때는 실제 여유가 이보다 낮다. 아래 표는 이 장의 기준 설계의 주파수 영역 계산(제어기·모터 지연·센서 필터·연산·전자 변속기(ESC) 지연 모두 포함)이다.
| 루프 | 실행 주파수 | 교차 주파수 [rad/s] | 위상 여유 | 분리비(안쪽/바깥) |
|---|---|---|---|---|
| ① 각속도(PID) | 400 Hz | 24.9 | 55° | — |
| ② 자세(P, $K_a=6$ /s) | 400 Hz | 6.7 | 79° | 3.7 |
| ③ 속도(PI, $K_v=1.8$ /s) | 50 Hz | 1.8 | 53° | 3.8 |
| ④ 위치(P, $K_p=0.4$ /s) | 50 Hz | 0.46 | 80° | 3.8 |
자세 이득을 올려 분리비를 붕괴시키면 어떻게 되는지도 계산했다. 위 식(1차 근사)과 실제 계산값이 어긋나는 것이 눈에 띈다.
| 자세 이득 $K_a$ [1/s] | 교차 주파수 [rad/s] | 분리비 | 위상 여유(계산) | 1차 근사식 |
|---|---|---|---|---|
| 3 | 3.2 | 7.8 | 87° | 83° |
| 6(기준) | 6.7 | 3.7 | 79° | 75° |
| 12 | 13.8 | 1.8 | 62° | 61° |
| 18 | 20.4 | 1.2 | 44° | 51° |
| 25 | 26.4 | 0.9 | 28° | 43° |
분리비가 1.5 아래로 내려가면(이득 18 이상) 근사식이 낙관적이 된다. 안쪽 루프에 숨은 지연(연산·ESC·필터)이 바깥 루프 교차 주파수에서 무시 못 할 위상 지연을 더하기 때문이다. 속도 루프는 위치·속도 추정의 지연이 하나 더 있어서 더 민감하다. 추정 지연 0·50·100·200·300 ms에서 속도 루프(이득 1.8)의 위상 여유는 63°·58°·53°·43°·32°다. 이 값은 GNSS와 관성의 융합 필터가 만드는 등가 지연(기준 0.1초는 가정)이며 실제는 추정기에서 확인한다(4.4).
2.2.4 각속도 루프 — PID, 와인드업, 미분 필터
각속도 루프는 PID를 사용한다. 비례 항이 응답 속도를, 적분 항이 지속 외란(무게중심 어긋남, 모터 편차)을 지우고, 미분 항이 위상 앞섬을 준다. 기준 설계는 피치 축에서 $K_p=0.42$ N·m/(rad/s), $K_i=1.26$ N·m/rad, $K_d=0.006$ N·m/(rad/s²), 미분 필터 40 Hz다. 미분 항이 하는 일의 크기는 $K_d$만 바꾼 계산이 보인다(모터 지연 30 ms).
| $K_d$ [N·m/(rad/s²)] | 교차 주파수 [rad/s] | 위상 여유 | 이득 여유 |
|---|---|---|---|
| 0(PI만) | 24.0 | 37° | 12.5 dB |
| 0.003 | 24.2 | 46° | 17.9 dB |
| 0.006(기준) | 24.9 | 55° | 17.4 dB |
| 0.012 | 29.0 | 70° | 14.2 dB |
| 0.020 | 41.9 | 75° | 10.8 dB |
미분 항이 없으면 위상 여유가 37°로 떨어지니 모터 지연이 큰 기체에는 필수다. 대가는 진동 증폭이다. 미분은 고주파를 키운다. 1.29.3의 호버 1P(107.2 Hz, 1.7.7.1 표의 기준 로터 6,432 rpm) 진동이 자이로에 0.1 rad/s(5.7°/s) 실렸을 때 토크 명령의 RMS와 로터 하나의 추력 변동은 다음과 같다(시뮬레이션).
| 설정 | 토크 명령 RMS [N·m] | 로터 추력 변동 RMS | 호버 추력 대비 |
|---|---|---|---|
| $K_d=0$ | 0.014 | 0.025 N | 0.5 % |
| $K_d=0.006$, 필터 40 Hz | 0.083 | 0.147 N | 3.0 % |
| $K_d=0.006$, 필터 20 Hz | 0.044 | 0.079 N | 1.6 % |
| $K_d=0.012$, 필터 40 Hz | 0.152 | 0.269 N | 5.5 % |
107.2 Hz에서 미분 경로의 이득이 비례 경로의 3.4배다. 이 변동은 모터와 ESC를 데우고 추력의 평균 효율을 깎는다(1.25, 자이로 잡음이 모터 전류로 가는 경로는 1.29.5). 대응은 방진 마운트(1.29.5), 노치 필터와 저역통과 필터, 그리고 미분을 오차가 아닌 측정값에 거는 것(기준 변화에 미분이 튀지 않게)이다. 노치 필터는 특정 주파수(회전 가진)의 이득만 깎는다. 중심 107.2 Hz, $Q=2$의 노치는 교차 주파수에서 위상 지연을 1.1°만 더해 위상 여유가 55°에서 54°로 준다. 그러나 좁다. 회전수가 10 % 어긋나면 노치 이득이 −8 dB(0.39)밖에 못 깎고, 20 %면 −4 dB다. 호버 추력이 ±20 % 변하면 회전수가 ±10 % 변하므로(추력은 회전수의 제곱) 고정 노치는 빗나간다. 그래서 ESC가 보고하는 회전수를 따라 중심을 옮기는 동적 노치가 사용된다(구현은 제품마다 다르다). 저역통과 필터는 넓게 깎지만 위상 지연을 더 크게 더한다. 필터는 공짜가 아니다. 자이로 저역통과 차단 주파수를 20·40·80·160·300 Hz로 바꾸면 위상 여유가 43°·51°·55°·57°·58°이고, 20 Hz에서는 이득 여유도 10 dB로 줄어든다.
와인드업은 토크가 한계에 닿았는데 적분 항이 계속 쌓이는 현상이다. 한계에서 풀리면 쌓인 적분이 오버슈트를 만든다. 낮은 추력(호버 추력의 10 %)에서는 롤·피치 토크 한계가 0.28 N·m로 줄어든다(2.2.6). 이 한계에서 60° 자세 계단을 주면 조건부 적분(포화 중 오차 방향이면 적분을 멈춘다)이 없을 때 오버슈트가 51 %, 정착이 1.23초이고, 있으면 오버슈트가 없고 0.43초에 정착한다. 가장 단순한 대책이 할당기가 실제로 낸 토크를 제어기에 알리는 것이다(achieved-command 되먹임).
2.2.5 모터 지연·센서 지연과 위상 여유
결론: 각속도 루프의 사용할 수 있는 대역폭은 모터 지연과 센서·연산 지연이 정한다. 각속도 루프는 적분 하나(위상 −90°)에 모터 지연과 순수 지연이 더해진 모양이라, 교차 주파수 $\omega_c$에서의 위상 여유는 대략 다음과 같다.
$$\mathrm{PM}\approx 90^{\circ}-\arctan(\omega_c\tau_m)-\omega_c\,T_d\cdot\frac{180^{\circ}}{\pi}+\phi_D$$
$\tau_m$은 모터 1차 지연, $T_d$는 순수 지연의 합, $\phi_D$는 미분 항이 더하는 앞섬이다. 순수 지연 1 ms는 교차 주파수 25 rad/s에서 위상 여유를 1.4° 줄인다(루프 지터의 영향은 이 식으로 어림한다, 2.10). 지연 버짓과 기준값을 한 표에 모았다. 이 값들을 2.5·2.10·2.11이 이어 작성한다.
| 항목 | 기준값 | 비고 |
|---|---|---|
| 모터·프로펠러 1차 지연 $\tau_m$ | 30 ms | 2.1.5, 1.7.6의 32 ms(회전 관성만으로 본 추력 20 % 변화 시간)와 같은 규모로 둔 가정 |
| 자이로 저역통과(2차 버터워스) | 80 Hz | 저주파 군지연 2.8 ms |
| 제어 주기 | 각속도·자세 400 Hz(2.5 ms), 위치·속도 50 Hz(20 ms) | 샘플·유지 평균 1.25 ms |
| 연산 지연 | 1표본 2.5 ms | 센서 읽기에서 출력까지 |
| ESC 명령 지연 | 1.0 ms | 프로토콜·갱신 |
| 순수·유사 지연 합계 | 7.6 ms | 2.8+1.25+2.5+1.0 |
| 위치·속도 추정의 등가 지연 | 0.1 s | 가정, 추정기에서 확인 |
| 각속도 루프 교차 주파수·위상 여유·이득 여유 | 24.9 rad/s, 55°, 17.4 dB | $K_p=0.42$, $K_i=1.26$, $K_d=0.006$, 피치 축 |
| 관성(2.1.5) | $I_{xx}=I_{yy}=0.0143$, $I_{zz}=0.0272$ kg·m² | 2 kg 쿼드 |
| 최대 토크(호버, 추력 대 무게비 2) | 롤·피치 2.77 N·m, 요 0.31 N·m | 1.7.3 |
모터 지연이 위상 여유를 깎는 모양을 그림과 표가 함께 보인다. 이득을 그대로 두고 $\tau_m$만 바꾼 결과다.
| $\tau_m$ [ms] | 교차 주파수 [rad/s] | 위상 여유 | 이득 여유 | 각속도 계단 오버슈트 |
|---|---|---|---|---|
| 0 | 33.0 | 95° | 9.0 dB | 9.6 % |
| 15 | 29.4 | 70° | 13.8 dB | — |
| 30(기준) | 24.9 | 55° | 17.4 dB | 19.6 % |
| 45 | 21.8 | 46° | 19.9 dB | — |
| 60 | 19.6 | 39° | 21.8 dB | 38.2 % |
| 90 | 16.6 | 30° | 24.6 dB | 50.9 % |
| 120 | 14.7 | 24° | 26.7 dB | — |
읽을 것은 넷이다. 첫째, 지연 30 ms 하나가 위상 여유를 95°에서 55°로 40° 깎는다. 둘째, 지연이 클수록 교차 주파수도 내려가므로(33에서 17 rad/s) 지연이 큰 기체는 느린 기체다. 셋째, 이득 여유는 오히려 늘어나지만 위상 여유가 먼저 소진되므로 이득 여유만 보면 안 된다. 넷째, 자세 루프(이득 6 /s)는 이 변화에 둔감하다. 각속도 루프의 위상 여유가 30°인 $\tau_m=90$ ms에서도 자세 10° 계단의 오버슈트는 15 %이고, 60 ms까지는 1 % 미만이다. 분리비 3.7이 안쪽 루프의 나빠짐을 흡수한다.
순수 지연이 더 생길 때도 같다. 총 지연에 5·10·20 ms를 더하면(필터를 하나 더 추가하거나, 제어 주기를 400 Hz에서 100 Hz로 낮추면 추가 지연이 약 11 ms다) 위상 여유가 48°·41°·27°로 떨어지고 이득 여유도 12.9·9.6·5.1 dB로 준다. 20 ms의 추가 지연은 기준 설계를 불안정 직전으로 몬다. 소프트웨어 구조가 지연을 만들 수 있다는 뜻이며, 이 때문에 루프 주기·지터·마감이 제어 성능의 일부다(2.10). 지상통제소에서 사람이 조종하는 외곽 루프도 같은 논리다. 링크·영상 지연 $\tau$가 위상을 $\omega\tau$만큼 깎아 허용 대역폭을 정한다(2.11, 1.29.10).
2.2.6 제어 할당 — 믹서의 역, 포화, 우선순위
1.7.3의 믹서 행렬 $M$은 로터 추력 $\mathbf f$를 총추력과 세 토크 $\mathbf v=[T,\tau_x,\tau_y,\tau_z]^{\mathsf T}$로 바꾼다. 제어 할당은 이 역문제다. 제어기가 $\mathbf v$를 주면 $\mathbf f$를 구한다. 쿼드는 $M$이 정방이므로 $\mathbf f=M^{-1}\mathbf v$로 유일하다. 로터가 4개를 넘으면 해가 무한히 많아서(1.7.3의 "남는 자유도") 기준을 정해 고른다. 가장 흔한 것이 최소 노름 해(의사역행렬)이고 로터마다 가중치를 줄 수 있다.
$$\mathbf f=W^{-1}M^{\mathsf T}\bigl(M\,W^{-1}M^{\mathsf T}\bigr)^{-1}\mathbf v$$
$W$는 로터별 비용 가중치 대각 행렬이다. 문제는 해가 로터 한계 $0\le f_i\le f_{\max}$를 만족하는지다. 쿼드의 해는 $f_i=\tfrac14\bigl[T\pm\tau_x/a\pm\tau_y/a\pm\tau_z/\kappa\bigr]$ 꼴이다(부호는 열 순서, $a=0.1414$ m, $\kappa=0.016$ m). 호버 추력 $T=W=19.62$ N, 추력 대 무게비 2(로터당 최대 9.81 N)에서 모든 로터가 한계 안에 있을 조건은 한 버짓 부등식이 된다.
$$\frac{\lvert\tau_x\rvert+\lvert\tau_y\rvert}{a}+\frac{\lvert\tau_z\rvert}{\kappa}\ \le\ W$$
롤·피치·요가 한 버짓 $W$를 나눠 사용한다. 요는 비싸다. 같은 버짓에서 요 0.1 N·m는 롤 0.88 N·m와 같은 값을 치른다($\kappa/a=0.113$). 그래서 모멘트 영역은 롤–요 평면에서 마름모다.
그림의 큰 마름모가 호버 추력에서 가능한 영역이다. 꼭짓점이 롤 ±2.77 N·m, 요 ±0.31 N·m(1.7.3의 값)다. 피치 토크를 1.5 N·m 요구하면 마름모가 롤 ±1.27 N·m로 줄고, 총추력이 무게의 절반(0.5 $W$)이면 롤 ±1.39 N·m로 줄어든다. 예를 하나 계산했다.
| 요구 | $[\tau_x,\tau_z]$ | 할당 결과(로터 ①②③④ [N]) | 판정 |
|---|---|---|---|
| A 평범한 기동 | 1.0, 0.10 | 4.70, 8.24, 5.11, 1.57 | 가능(버짓의 68 %) |
| B 급한 롤 + 요 | 2.4, 0.20 | 3.79, 12.27, 6.02, −2.46 | 불가(버짓의 150 %) |
| C 롤 한계 초과 | 3.0, 0 | −0.40, 10.21, 10.21, −0.40 | 불가(롤 한계 2.77) |
B는 로터 ②가 최대(9.81 N)를 넘고 ④가 음수다. 단순히 로터별로 잘라내면(클리핑) 실제로 나오는 토크는 롤 1.70 N·m(요구의 71 %)와 요 0.12 N·m(61 %)다. 롤이 29 % 모자라 자세를 놓친다. 우선순위를 두면 달라진다.
우선순위의 원칙: 안전과 자세 안정이 달린 롤·피치를 먼저 유지하고, 요를 먼저 희생하고, 총추력(고도)은 그다음이다. 이유가 있다. 롤·피치를 놓치면 전복·추락이고, 요는 몇 도 틀어져도 기체가 날며, 고도는 몇 m/s² 어긋나도 곧 회복한다. 알고리즘은 이렇다. ① $M^{-1}\mathbf v$로 해를 구한다. ② 한계를 넘으면 요 요구에만 배율 $\lambda\in[0,1]$을 곱해 이분법으로 가장 큰 $\lambda$를 찾는다. ③ $\lambda=0$에서도 안 되면 롤·피치를 비례 축소하거나 총추력을 옮긴다. B에서는 $\lambda=0.212$(요 0.042 N·m, 79 % 희생)로 로터가 $1.32,\ 9.81,\ 8.49,\ 0$ N이 되고 롤 2.4 N·m를 충족한다. 빠진 요 모멘트 0.158 N·m는 요 각가속도 5.8 rad/s²의 오차로 나타난다.
고도 유지와의 충돌은 낮은 추력에서 온다. 롤·피치 권한이 $a\cdot\min(T,\,4f_{\max}-T)$로 총추력에 비례해 줄기 때문이다.
| 총추력 | 롤·피치 최대 | 요 최대 |
|---|---|---|
| $W$ | 2.77 N·m(100 %) | 0.31 N·m |
| 0.5 $W$ | 1.39 N·m(50 %) | 0.16 N·m |
| 0.3 $W$ | 0.83 N·m(30 %) | 0.09 N·m |
| 0.1 $W$ | 0.28 N·m(10 %) | 0.03 N·m |
급하강 중(추력이 무게의 10 %, 수직 가속 −8.8 m/s²) 롤 1 N·m가 필요하면 총추력이 최소 $\tau/a=7.07$ N(0.36 $W$)이어야 한다. 할당기가 총추력을 증가시켜 롤을 유지하면 수직 가속이 −6.3 m/s²가 되어 하강 명령에서 2.6 m/s² 어긋난다. 자세를 유지하려면 고도 명령을 깎는다. 일부 오토파일럿이 지원하는 방식(이름은 제품마다 다르다)이 이 전략이다. 반대 선택(고도 명령을 유지하고 자세를 흐트러뜨리기)은 지면 근처에서 위험하다. 로터 하나를 잃은 뒤의 영역(1.7.5: 쿼드 0 %, 헥사 66.7 %)은 같은 계산에서 $f_j$ 하나를 0으로 고정한 경우이며, 재할당 알고리즘의 구조는 2.5이 이어 작성한다.
2.2.7 고급 제어 — 어디에 사용되고 무엇을 요구하나
PID 캐스케이드는 단순하고 이득 몇 개로 튜닝되며 오랜 운용 이력이 있다. 대안은 모델이나 최적화를 더 사용하는 방법이다.
| 방법 | 핵심 | 사용되는 곳 | 대가·인증 함의 |
|---|---|---|---|
| LQR | 비용(오차·입력 가중)을 최소화하는 상태 되먹임 이득을 한 번에 푼다 | 자세·위치 이득 설계, 다변수 | 연속시간 상태 되먹임의 이론적 위상 여유(60° 이상)가 모터 지연·표본화에서는 보장되지 않는다 |
| MPC | 매 주기 제약(토크·기울기·로터 한계)을 넣은 최적화를 푼다 | 민첩한 궤적 추종(연구), 포화를 명시적으로 다루는 할당 | 연산량·최악 실행 시간, 최적화 수렴 보증이 걸림돌(8.8) |
| INDI(증분 비선형 동적 역변환) | 각가속도를 측정해 토크를 증분으로 갱신한다 | 모델 오차·바람에 강한 자세 제어(연구·일부 응용) | 지연·시각 동기에 민감, 작동기 모델 필요 |
| 적응 제어 | 파라미터 불확실성·고장을 온라인으로 맞춘다 | 손상·탑재 변화 대응(연구) | 안전 필수 경로에서의 보증이 어렵다(2.1.13의 ③) |
INDI는 구조가 간단하니 식을 적는다. 현재 토크 $\boldsymbol\tau_0$(작동기 되먹임 또는 필터링한 직전 명령)에서 각가속도 목표 $\dot{\boldsymbol\omega}_{des}$와 측정 $\dot{\boldsymbol\omega}_{meas}$의 차만큼만 더한다.
$$\boldsymbol\tau_{cmd}=\boldsymbol\tau_0+I\bigl(\dot{\boldsymbol\omega}_{des}-\dot{\boldsymbol\omega}_{meas}\bigr)$$
공기역학 모델 오차가 증분에서 상쇄되니 모델 정확도 요구가 낮고, 대신 $\dot{\boldsymbol\omega}_{meas}$와 $\boldsymbol\tau_0$를 같은 필터·같은 시간으로 맞춰야 한다. 2.1.11의 계산(입력 시각 어긋남 10 ms가 조종 미계수를 11 % 틀리게 한다)이 INDI에서는 곧바로 제어 성능이 된다. 제조사별 구현과 성능은 이 장이 단정하지 않는다. 세 방법은 위치·자세·각속도 계층을 통째로 대체하기보다 일부 루프(대개 자세·각속도)를 바꾸는 방식으로 사용되는 경우가 많다 (저자 관찰, 확인 필요). 미분 평탄성·SE(3) 기하 제어·INDI·MPC를 같은 기체로 비교한 상세는 2.15가 다룬다.
2.2.8 바람 외란 추정
바람은 위치·속도 루프의 가장 큰 외란이다. 호버에서 바람을 이기려면 기체가 바람을 향해 기울어 항력과 수평 추력을 맞춘다. 1.7.7.3의 식을 뒤집으면 기울기에서 풍속이 나온다($W$는 무게, $C_DA$는 항력 면적).
$$\tan\theta=\frac{D}{W},\quad D=\tfrac12\rho C_DA\,V_w^2\ \Rightarrow\ V_w=\sqrt{\frac{2W\tan\theta}{\rho\,C_DA}}$$
2 kg 기체($C_DA=0.05$ m²)에서 기울기 5°는 풍속 7.5 m/s, 12.7°는 12.0 m/s(1.7.7.3과 맞는다), 20°는 15.3 m/s다. 정확도는 항력 면적에 달렸다. $C_DA$가 30 % 크면 12.7°에서 풍속이 10.5 m/s로 −12 %, 30 % 작으면 14.4 m/s로 +20 %다. 기울기만으로는 풍속을 −12~+20 % 범위로 읽는다. 값이 아닌 방향·추세를 사용하는 용도(바람이 센 방향으로 귀환 경로를 정한다 등)에는 충분하고 정량 한계(운용 한계)에는 부족하다. 기체가 움직이고 있으면 대지속도와 자세·추력에서도 추정할 수 있고, 고정익은 대기속도와 대지속도의 차로 풍속을 추정한다(2.8).
일반적 방법은 외란 관측기(DOB)다. 측정 가속도와 모델이 예측한 가속도의 차를 외란 힘으로 보고 저역통과로 추정한다.
$$\hat{\mathbf d}(s)=\frac{\omega_d}{s+\omega_d}\bigl(m\,\mathbf a_{meas}-\mathbf F_{model}\bigr)$$
추정치를 속도 루프 명령에 앞먹임으로 더하면 적분기보다 빨리 바람에 대응한다. 관측기의 대역폭 $\omega_d$는 바깥 루프보다 충분히 빠르되 가속도계 잡음과 진동(1.29.5)이 추정에 새어 들지 않을 만큼만 키운다. 같은 분리비 논리다.
2.2.9 고정익 제어 구조
고정익도 안쪽에서 바깥으로 쌓는다. 안쪽은 각속도 댐퍼(피치·롤·요에서 각속도를 되먹임해 단주기·더치롤 같은 모드의 감쇠를 올린다)이고, 중간은 자세 루프(롤각·피치각), 바깥은 경로와 속도·고도다. 멀티콥터와 다른 점이 둘이다. 조종면의 효과가 동압에 비례하고, 속도와 고도가 서로 연성되어 있다.
TECS(총 에너지 제어 시스템)는 후자를 푸는 구조다. 수평 비행의 에너지 평형은 다음과 같다($T$는 추력, $D$는 항력, $\gamma$는 비행경로각).
$$\frac{T-D}{W}=\gamma+\frac{\dot V}{g}$$
우변은 총 에너지율(고도를 올리는 것과 가속하는 것의 합)이다. 그래서 스로틀이 총 에너지율을, 피치(승강타)가 에너지의 분배($\gamma-\dot V/g$)를 맡는다. 속도를 올리려고 코를 숙이면 고도를 잃고, 고도를 올리려고 코를 들면 속도를 잃는다는 사실을 구조로 푼 것이다. 횡방향은 선회가 $\tan\phi=V\dot\psi/g$를 따르므로 경로 오차에서 롤 명령을 만들고 방향타로 선회를 조정한다(경로 추종 유도는 7.2).
동압 의존이 이득 스케줄링을 요구한다. 2.1.4.3의 3 kg 고정익에 서보 지연 50 ms·자이로 필터 20 ms를 달고 피치 댐퍼 $\delta_e=Kq$를 걸어 이득 한계를 계산했다.
| 대기속도 [m/s] | 동압 [Pa] | 임계 이득 $K_{crit}$ [rad/(rad/s)] | 12 m/s에서 정한 $K=0.78$의 이득 여유 |
|---|---|---|---|
| 9.4 | 54 | 3.49 | — |
| 12 | 88 | 2.35 | 9.5 dB |
| 15 | 138 | 1.67 | 6.6 dB |
| 20 | 245 | 1.10 | 3.0 dB |
12 m/s에서 임계의 1/3로 맞춘 이득을 그대로 20 m/s에서 사용하면 이득 여유가 9.5 dB에서 3.0 dB로 준다. 동압이 2.8배라 조종 효과가 그만큼 커졌기 때문이다. 대책은 이득을 동압이 오르는 쪽으로 줄이는 스케줄이다(임계 이득은 동압 비보다 완만하게 변해 정확한 형태는 계산이나 시험으로 정한다). 하이브리드 VTOL은 속도에 따라 같은 일을 하는 수단이 로터에서 조종면으로 넘어가므로 이 문제가 더 크다(2.3).
2.2.10 오픈소스 오토파일럿의 구조
PX4와 ArduPilot의 공개 문서는 멀티콥터에서 같은 계층을 따른다. PX4는 위치 P → 속도 PID → 자세 P → 각속도 PID를 거쳐 제어 할당기로 간다(제어 할당이 별도 모듈로 분리된 판이 있다, 판에 따라 다르다). ArduPilot Copter는 위치 P → 속도 PID → 가속도 PID로 기울기를 만들고 자세 P → 각속도 PID(앞먹임 경로 포함)로 이어진다(2차 출처 수준, 공개 개발 문서). 두 제품이 같은 이유는 이 장이 보인 대로 지연과 대역폭의 사슬이 구조를 거의 강제하기 때문이다. 루프의 실행 주기, 필터 이름, 파라미터 이름, 비행 모드는 제품·판마다 다르고 이 장은 단정하지 않는다. 생태계와 라이선스는 9.6, 제품 비교는 24.27에서 다룬다.
2.2.11 제어기 설정과 인증의 거리
이득과 필터 설정은 코드가 아니라 데이터지만 안전에 영향을 준다. 위 계산이 그 크기를 보인다.
| 설정·조건의 변화 | 위상 여유 | 이득 여유 |
|---|---|---|
| 기준 | 55° | 17.4 dB |
| 프로펠러·ESC 교체로 모터 지연 30 → 60 ms | 39° | 21.8 dB |
| 자이로 저역통과 80 → 20 Hz | 43° | 10.4 dB |
| 추가 지연 +10 ms(필터 추가·주기 저하) | 41° | 9.6 dB |
| 이득 전체 ×2(또는 관성 ½: 탑재 제거) | 44° | 11.4 dB |
| 이득 전체 ×3 | 35° | 7.9 dB |
| $K_d=0$ | 37° | 12.5 dB |
관성이 절반이면 루프 이득이 두 배다. 탑재체를 내리거나 배터리를 작은 것으로 바꾸는 일이 곧 이득 변경이다. 이득을 올려도, 프로펠러를 바꿔도, 필터를 하나 추가해도 여유가 10~20° 움직인다. 제품에서는 이득이 수백 개(공개 파라미터 문서 기준 확인 필요)의 파라미터와 연동되어 있고, 사용자가 비행 중에도 바꿀 수 있는 구조가 흔하다.
인증의 틀은 이를 설정 데이터로 다룬다. 항공 소프트웨어 보증(DO-178C)은 실행 코드를 바꾸지 않고 동작을 정하는 값을 파라미터 데이터 항목으로 따로 보증·관리한다(확인 필요, 8.8). 따라서 인증을 받는 제어계는 ① 이득·한계·필터 설정을 형상 관리 항목으로 두고(8.22), ② 허용 범위(최소·최대)와 변경 권한을 정하며, ③ 비행 로그에 설정 값과 판 정보를 함께 기록하고(8.23), ④ 설정을 바꿀 때마다 안정 여유를 다시 입증한다(20.6). 이득 스케줄과 모드별 설정은 입증 시험의 조합 수를 늘린다. 오픈소스 오토파일럿을 사용하는 제품에서는 사용자가 설정을 바꿔 인증 범위를 벗어나는 일을 막는 구조가 별도 문제다(2.10).
2.2.12 설계 트레이드오프 — 어느 제어 구조를 사용하는가
선택지는 셋이다.
① 고전 캐스케이드(P/PID). 근거는 단순성, 이득이 물리적 의미를 가진다는 점, 방대한 운용 이력이다. 이해관계자는 대부분의 민간 UAS와 오픈소스 오토파일럿 사용자다. 한계는 다변수·비선형·포화 처리가 기법(우선순위·조건부 적분)에 의존한다는 점이다.
② 모델 기반(LQR·INDI) 위에 캐스케이드를 추가한다. 근거는 모델 불확실성이나 큰 바람에서의 성능이다. 이해관계자는 고기동·고성능 군용과 연구 개발이다. 한계는 모델·센서·시각 동기 요구가 높고(2.1.11), 지연이 있는 곳에서 이론적 여유가 사라진다는 점이다.
③ 최적화 기반(MPC) 또는 적응 제어. 근거는 제약(포화·기울기·로터 한계)을 명시적으로 다루는 능력이다. 한계는 연산량과 안전 보증이다.
견해: 민간 UAS와 AAM의 안전 필수 경로에는 ①을 기본으로 두고 ②③은 보조(감시·앞먹임·추정)로 사용하는 편이 인증 논증에 유리하다고 본다. 근거는 두 가지다. 첫째, ①은 루프별로 위상 여유·이득 여유를 숫자로 입증할 수 있고(이 장의 2.2.5), 설정 변화의 영향이 분리되어 있다(2.2.11). 둘째, 최악 실행 시간과 포화 동작이 결정적이다. 반대 입장도 있다. 대형 로터와 큰 모멘트 포화가 흔한 eVTOL에서는 제약을 명시적으로 다루는 MPC나 증분형 제어가 성능 이득이 크다는 주장이다. 이 비교는 공개된 인증 사례가 없어 정량적 결론에 이르지 못했다.
2.2.13 세 축 비교
| 항목 | 군용 드론 | 민간 UAS | AAM |
|---|---|---|---|
| 지배적 요구 | 민첩성·돌풍 강건성, 소모성 소형은 단가 | 안정·사용 편의, 링크 상실 시 안전 | 승차감, 고장 시 안전 착륙, 제어 법칙 인증 |
| 제어 구조 | 캐스케이드 + 고기동용 모델 기반(INDI·MPC 연구) | 오픈소스 캐스케이드 | 다중화 비행 제어 컴퓨터, 제어 법칙 모드(2.3) |
| 모터 지연·대역폭 | 소형은 빠름, 대형은 응답 한계(1.7.6) | 수십 ms 규모 | 큰 로터로 느림 → 가변 피치·로터 수 |
| 할당 | 포화 우선순위 흔함 | 오픈소스 기본 우선순위 | 고장 시 재할당이 요구 사항(2.5) |
| 설정 관리 | 군 형상 통제(8.22) | 사용자 설정 가능, 변경 이력이 약함 | 인증된 설정 데이터와 변경 통제(8.22) |
| 인증·입증 | 군 감항(12.3) | 운용 위험 기반(17.17) | 형식증명, 소프트웨어 보증(8.8) |
2.2.14 관련 규격·프로토콜
| 문서 | 발행 | 무엇을 정하나 | 상세 |
|---|---|---|---|
| RTCA DO-178C | RTCA | 소프트웨어 개발 보증. 이득·한계 같은 파라미터 데이터 항목의 관리 (확인 필요) | 8.8 |
| SAE ARP4754B | SAE | 항공기·시스템 개발 프로세스. 제어 법칙을 시스템 요구로 도출 | 8.2 |
| MIL-STD-1797A | 미 국방부 | 유인기 조종성·비행 제어 요건(이 장의 여유 기준이 아니라 응답 요건) | 2.3·8.19 |
| PX4·ArduPilot 파라미터 체계 | 오픈소스 | 이득·필터·한계를 파라미터로 노출(이름·범위는 판에 따라 다르다) | 9.6 |
| MAVLink 파라미터 서비스 | MAVLink | 파라미터 읽기·쓰기와 변경 통지(버전 확인 필요) | 9.5 |
| DroneCAN·Cyphal | 오픈 프로토콜 | ESC에 명령을 보내는 버스(명령 지연의 일부) | 9.4 |
규격이 정하는 것은 설정의 관리와 입증의 틀이고, 이득·지연·여유의 수치 요건은 이 장이 아는 한 공개 표준에 없다. 여유(위상 여유 45°, 이득 여유 6 dB 등)는 관행이며 인증에서는 인증기준 합의(20.5)로 정한다. 관행값의 출처는 확인하지 못했다.
2.2.15 관련 규제·인증 요구와의 연결
- 제어계가 안전 필수가 된다. 멀티콥터의 복원력 없음(1.1.7)과 제어 법칙 의존이 곧 비행 제어 컴퓨터의 고장 확률 요구(8.4), 소프트웨어 보증 수준(8.8), 다중화(2.5)로 이어진다.
- 여유의 입증. 비행 영역(속도·무게·무게중심·고도·온도)에서 모터 지연·관성이 변해도 여유가 남는다는 입증이 요구될 수 있다. 이 장의 표(모터 지연·추가 지연·이득)가 어떤 변화가 중요한지를 보인다(20.6).
- 설정 관리. 이득·필터·한계가 인증된 형상에 속한다(8.22, 20.23 계속감항에서의 변경).
- 지연과 조종. 원격 조종의 지연이 조종 한계를 줄이므로 링크 요구(3.11)와 영상 지연이 비행성에 연결된다(1.29.10).
- 소형 UAS. 대부분의 법규는 제어 구조를 직접 규정하지 않고 운용 조건과 안전성 인증의 시험으로 본다(18.3).
- 오픈소스 사용. 오토파일럿의 오픈소스 코드를 인증에 사용하는 문제는 20.9, 현장 갱신과 서명은 8.13이 다룬다.
2.2.16 함정과 한계
| 오해 | 실제 | 더 볼 곳 |
|---|---|---|
| "이득을 올리면 응답이 빨라지기만 한다" | 위상 여유가 줄고 지연이 있으면 진동한다. 관성을 줄이는 것도 같은 효과 | 2.2.11 |
| "이득 여유가 크면 안전하다" | 지연이 클수록 이득 여유는 늘지만 위상 여유가 먼저 소진된다 | 2.2.5 |
| "자세 이득을 크게 하면 반응이 좋다" | 분리비가 1.5 아래로 내려가면 여유가 급락한다 | 2.2.3 |
| "미분은 필터 없이 사용해도 된다" | 진동이 추력 변동 3.0 %로 증폭된다. 필터는 위상을 깎는다 | 2.2.4 |
| "각 로터 한계에서 잘라내면 된다" | 롤이 29 % 모자라 자세를 놓친다. 우선순위 할당이 필요하다 | 2.2.6 |
| "낮은 추력에서도 자세 권한은 같다" | 권한이 총추력에 비례한다. 급하강 중 롤 권한 10 % | 2.2.6 |
| "호버 기울기로 풍속을 정확히 안다" | 항력 면적 ±30 %가 풍속 −12~+20 %가 된다 | 2.2.8 |
| "한 번 튜닝하면 끝이다" | 프로펠러·배터리·탑재가 바뀌면 여유가 움직인다 | 2.2.11 |
한계도 밝힌다. 이 장의 계산은 선형 모델과 이상적 측정 가정이며 피치 축만 보았고 롤·요의 결합(자이로 효과), 로터 플래핑, 기체 탄성은 넣지 않았다. 위치·속도 루프의 수치는 추정기의 등가 지연을 0.1초로 가정한 것이고, 비선형(포화·기울기 한계)은 시뮬레이션에서 와인드업 사례로만 보았다. 모터 지연은 추력의 증가·감소가 대칭인 1차로 두었다. 제어기 이득은 설명용이며 제품의 값이 아니다. 고정익 댐퍼는 단주기 2자유도 모델과 지연 두 개의 단순 모형이다. 미해결 문제는 지연·분리비·포화를 포함한 여유의 인증 기준이 공개 표준에 없다는 점, 그리고 큰 로터(고정 피치)의 응답 한계에서 캐스케이드가 어디까지 가는가다(1.7.6).
2.2.17 체크포인트·연구 질문
체크포인트
- 멀티콥터에서 캐스케이드가 4중인 이유를 "적분 네 번"으로 설명하고, 분리비가 1.5 아래로 내려가면 무엇이 달라지는지 말하라.
- 모터 지연 30 ms와 순수 지연 7.6 ms가 각속도 루프(교차 24.9 rad/s)에서 더하는 위상 지연을 각각 어림하라.
- 각속도 루프에서 미분 항이 하는 일과 그 대가(진동 증폭)를 설명하고, 와인드업이 생기는 조건과 대책을 말하라.
- 쿼드의 롤 모멘트가 2.4 N·m, 요가 0.20 N·m로 요구될 때 왜 불가능한가? 롤을 유지하려면 요를 얼마나 줄여야 하는가?
- 급하강 중에 롤 권한이 줄어드는 이유와, 자세를 유지하기 위해 총추력을 올릴 때의 대가를 말하라.
- 고정익에서 이득 스케줄링이 필요한 이유와 TECS의 역할 분담(스로틀·피치)을 설명하라.
연구 질문(25.7에 모은다)
- 지연·분리비·포화를 모두 넣은 멀티콥터 제어계의 안정 여유 기준을 인증에서 어떻게 정할 것인가?
- 대형 고정 피치 멀티콥터(1.7.6)에서 캐스케이드 PID의 대역폭 한계와 가변 피치·로터 수 증가의 전환점은 어디인가?
- 오픈소스 오토파일럿의 사용자 설정 공간(수백 개 파라미터)에서 안정 여유를 보증하는 설정 범위를 자동으로 계산할 수 있는가?
- 우선순위 할당(롤·피치 > 요 > 총추력)이 사고 데이터에서 실제로 어떤 거동을 만드는가(8.23·8.25)?
1차 출처(이 장)
- Mahony, R.; Kumar, V.; Corke, P., "Multirotor Aerial Vehicles: Modeling, Estimation, and Control of Quadrotor", IEEE Robotics & Automation Magazine, 2012.
- Stevens, B. L.; Lewis, F. L.; Johnson, E. N., Aircraft Control and Simulation, 3rd ed., Wiley, 2016.
- Beard, R. W.; McLain, T. W., Small Unmanned Aircraft: Theory and Practice, Princeton University Press, 2012.
- Åström, K. J.; Murray, R. M., Feedback Systems: An Introduction for Scientists and Engineers, Princeton University Press(판은 확인 필요) — 위상 여유와 PID 이론.
- Lambregts, A. A., TECS(Total Energy Control System) 관련 논문(NASA·Boeing, 1980년대
서지 확인 필요). - Smeur, E. J. J.; Chu, Q.; de Croon, G. C. H. E., INDI 관련 논문(Journal of Guidance, Control, and Dynamics 2016
서지 확인 필요). - PX4 사용자·개발 문서(controller diagrams, control allocation), ArduPilot 개발 문서(Copter position control and attitude control) — 공개 문서이며 판에 따라 다르다.
다음 장: 2.3(비행제어 II: 플라이바이와이어·천이 비행·단순화 조종)는 이 장의 구조 위에서 조종사 입력과 제어 법칙의 관계를 다룬다. 결합형 VTOL이 호버에서 순항으로 넘어가는 동안 로터와 조종면의 역할을 속도에 따라 어떻게 섞는지, 응답 유형과 제어 법칙 모드, 단순화 조종(SVO)을 본다.