제2부 비행제어·항공전자·감시
2.5 고장 허용 설계: 다중화·고장 탐지·격리·복구(FDIR)·재구성 제어
2.5.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자
고장은 언젠가 난다. 이 장은 고장이 났을 때 기체가 무엇을 하는가를 설계하는 법을 다룬다. 같은 부품이 하나 더 있는 것(다중화)은 시작일 뿐이다. 고장을 빨리·정확히 알아내고(탐지), 어느 부품인지 가리고(격리), 남은 능력으로 다시 날 수 있게 고쳐 사용하고(복구·재구성), 그것이 안 되면 안전한 상태로 가는 것까지가 한 묶음이다. 영어 머리글자로 FDIR(Fault Detection, Isolation, and Recovery)이라 부른다.
배우는 것:
- 고장 모드의 분류 — 센서·작동기·추진·통신·전원·소프트웨어의 고장이 끊김·고착·편류·간헐 가운데 어떤 모습으로 나타나고, 어느 것이 알아내기 어려운가.
- 다중화 구조와 공통 원인 고장 — 이중·삼중 투표·이종 다중화가 각각 무엇을 알 수 있게 하고, 같은 원인으로 함께 틀리는 몫이 왜 하한을 형성하는가(1.16.7.1의 식을 구조별 임무 신뢰도로 이어 계산한다).
- 고장 탐지·격리 — 투표·잔차·관측기·자가 점검의 원리, 그리고 오경보와 미탐의 교환.
- 재구성 제어 — 모터를 잃은 헥사콥터에서 제어 할당을 다시 계산하면 무엇이 남는가. 1.7.5의 정적 한계가 동적으로 어떤 여유를 뜻하는가.
- 탐지 지연이 자세 이탈로 바뀌는 계산 — 헥사콥터 모터 상실을 시간 적분해, 몇 밀리초가 몇 도가 되는지 본다.
- 전원·소프트웨어 고장 허용과 FDIR의 검증 — 고장 주입 시험이 왜 필요하고 몇 번이면 충분한가.
선수 지식: 멀티콥터에 복원력이 없는 구조(1.1.7.1), 믹서 행렬과 모터 하나 상실 뒤의 가용 영역(1.7.3·1.7.5), 공통 원인 고장의 계산(1.16.7.1), 필수 부하와 이중 버스(1.19.3), 확률의 기초.
특히 중요한 독자: 엔지니어는 2.5.5~2.5.7의 계산을 자기 기체로 다시 돌려 본다. 인증 담당자는 2.5.4.3과 2.5.10을 본다. 단일 고장과 확률 목표를 어떻게 입증하는지의 구조가 있다. 정책·법무 담당자는 2.5.13의 표만 읽어도 된다. 사업 담당자는 2.5.11의 세 선택지가 비용을 어떻게 결정하는지를 본다.
기준 시점과 정직성. 이 장은 2026년 10월 기준이고 집필에 사용한 지식은 2026년 중반까지다. 수치 예시(3.0 kg 헥사콥터, 잔차 잡음, 고장률)는 원리로 계산한 설명용 가정이며 어떤 제품의 성능도 아니다. 계산은 모두 파이썬(
math)으로 돌렸고 가정은 표로 밝혔다. 제어기와 지연 값은 비행제어 장(2.2)의 기준 설계(모터 지연 30 ms, 지연 합계 7.6 ms, 제어 주기 400 Hz, 각속도 루프 교차 24.9 rad/s·위상 여유 55°)에 맞춘 값이고 헥사의 관성에 맞게 이득만 환산했다. 유인 항공 사고는 공식 조사 보고서에서 확인된 사실만 인용했다. 확인하지 못한 것은(확인 필요)로 표시했다.
2.5.2 개념·직관 — 고장은 일어난다, 문제는 그다음 몇십 밀리초다
용어부터 정리한다. 결함(fault)은 부품이나 코드의 이상 그 자체이고, 오류(error)는 결함이 시스템 안의 값을 틀리게 만든 상태이며, 고장(failure)은 그 오류가 밖으로 나와 기능을 잃게 한 사건이다(Avizienis 등의 분류, 2004). 이 장은 기체 수준에서 "기능을 잃기 전에 끊는다"를 다루므로 결함이 오류가 된 순간을 알아채는 일이 핵심이다. 그리고 이 장이 말하는 고장 허용(fault tolerance)은 결함이 있어도 요구한 기능을 유지하는 성질이다. 이 분류대로라면 "결함 허용"이 맞지만, 이 책은 관용에 따라 fault tolerance를 고장 허용이라 부르고 고장 탐지·잠재 고장 같은 말도 관용대로 사용한다.
고장 뒤의 시간 척도는 형상마다 크게 다르다. 고정익은 동력을 잃어도 활공한다(1.1.7.4). 조종사나 원격 조종사에게 수 초에서 수십 초의 여유가 있다. 멀티콥터는 복원력이 없어서(1.1.7.1) 고장 난 순간부터 기체가 스스로 기운다. 3.0 kg 헥사콥터가 모터 하나를 잃으면 로터 하나의 추력 4.9 N이 팔 0.30 m에서 사라지고, 롤·피치 모멘트 1.47 N·m가 한쪽으로 쏠린다. 관성 모멘트 0.060 kg·m²이면 각가속도가 24.5 rad/s²다. 제어가 전혀 막지 못한다면 0.1초에 약 7도, 0.2초에 약 28도까지 자라는 크기다(2.5.7에서 제어기를 넣어 계산한다). 고장 허용의 첫 질문은 "몇 개의 부품이 남는가"가 아니라 "얼마나 빨리 아는가"다.
세 축은 이 질문에 다른 답을 요구한다.
| 축 | 고장에 대한 기본 요구 | 이 장에서 중요한 것 |
|---|---|---|
| 군용 드론 | 임무 우선. 소모성은 다중화를 최소로, 고가 기체는 핵심만 다중화 | 임무 성공 확률 대 단가, 재밍 속에서도 도는 FDIR(링크에 기대지 않는 자동 대응) |
| 민간 UAS | 사람 위 운용에서 고장이 곧 제3자 위험이 되는가 | 고장 뒤 안전 상태로 가는 능력(낙하산·귀환), 오경보가 만드는 불필요한 비상 착륙 |
| AAM | 단일 고장이 치명적 결과로 이어지지 않아야 한다. 유럽항공안전청(EASA)의 SC-VTOL 특별조건은 밀집 지역 위 비행·상업 운송을 위한 Enhanced 범주에서 치명적 고장 조건을 비행시간당 $10^{-9}$ 이하로, 단일 고장이 치명적일 수 없도록 요구한다 (공개 요약으로 확인, 개정 확인 필요)(17.14) | 고장 뒤에도 계속 비행·착륙하는 fail-operational 구조, 독립성의 입증 |
고장 허용은 세 질문으로 나뉜다. ① 하나가 고장 나도 기능을 이을 다중화가 있는가(2.5.4). ② 고장을 얼마나 빨리·정확히 알아내는가(2.5.5). ③ 알고 난 뒤 무엇을 하는가(2.5.6). 앞의 둘이 아무리 좋아도 셋째가 없으면 고장은 고장으로 남는다.
2.5.3 고장 모드 분류 — 어디가 어떻게 고장 나나
영역별로 나누면 고장은 여섯 갈래다. 영역 안에서 고장이 어떤 모습으로 나타나는지가 탐지 방법을 정한다.
| 영역 | 대표 고장 | 효과 | 상세 |
|---|---|---|---|
| 센서(관성·기압·자기·GNSS·대기자료) | 값이 얼어붙음, 편류, 스파이크, 잡음 증가 | 추정 오류가 제어 오류가 된다 | 제4부·2.8 |
| 작동기(서보·전자 변속기(ESC)·전기식 작동기) | 고착, 자유 요동, 응답 저하 | 조종 권한 일부 상실 | 1.18 |
| 추진(모터·프로펠러·ESC) | 정지, 출력 저하, 최대 추력 고착, 프로펠러 손상 | 모멘트 불균형과 총추력 감소 | 1.7.5·1.17 |
| 통신(C2 링크) | 끊김, 지연, 손상 | 원격 조종 상실 | 3.11·2.6 |
| 전원(팩·버스·접촉기) | 저전압, 버스 단락, 접촉기 개방 | 필수 부하의 동시 상실 | 1.19·1.22 |
| 연산·소프트웨어 | 마감 초과, 무한 루프, 오염된 데이터 | 모든 영역의 지령이 틀린다 | 2.10·8.8 |
같은 영역이라도 시간 양상에 따라 알아내는 난이도가 다르다.
| 양상 | 모습 | 탐지 난이도 | 주된 수단 |
|---|---|---|---|
| 끊김(fail-silent) | 출력이 없다 | 쉽다 | 시간 초과, 생존 신호 |
| 고착(stuck) | 값이 움직이지 않는다 | 보통 | 변화율 검사, 다른 센서와의 비교 |
| 편류(drift)·바이어스(bias) | 값이 서서히 어긋나거나(편류) 일정하게 치우친다(바이어스) | 어렵다 | 잔차의 추세, 다중 센서 비교 |
| 간헐(intermittent·spike) | 가끔 튄다 | 어렵다(재현이 어렵다) | 지속 시간 검사, 로그 분석 |
잠재 고장(latent fault)은 따로 새겨 둘 만하다. 평소에 사용되지 않는 부품은 고장 났어도 모른 채 난다. 낙하산의 점화기, 예비 배터리의 경로, 비행 종료 장치가 그렇다. 이 부품들은 비행 전 시험과 주기 점검으로만 확인된다(16.5). 다중화의 한 몫이 이미 죽어 있는데 다중화가 있다고 믿고 나는 것이 가장 흔한 함정이다.
추진 고장 가운데 1.7.5가 다룬 것은 모터가 꺼지는 경우다. 최대 추력에 고착되는 경우는 더 나쁘다. 반대편 로터를 줄여 균형을 맞추려 해도 총추력이 늘고, 고장 로터를 끌 수 없으면(전원을 끊는 수단이 없으면) 보정이 영구히 필요하다. ESC의 전원을 끊는 독립 수단이 있느냐가 이 고장의 허용 여부를 결정한다. 이 장의 계산은 꺼지는 고장만 다룬다.
2.5.4 다중화 구조 — 이중·삼중·투표·이종
2.5.4.1 구조 네 가지가 알려 주는 것
같은 기능을 하는 채널의 수와 결합 방식이 무엇을 알 수 있고 계속 갈 수 있는가를 정한다.
| 구조 | 알 수 있는 것 | 고장 뒤 계속 운용 | 비용 | 대표 용도 |
|---|---|---|---|---|
| 가. 단일 채널 + 독립 감시 | 감시가 아는 만큼(커버리지) | 불가, 안전 상태로 | 최소 | 소형 UAS의 비행 종료 장치(2.6) |
| 나. 이중 비교(2oo2) | 불일치 | 불가. 위치를 모르면 어느 쪽도 못 믿는다 | 2배 | 불일치 시 안전 상태로 가는 설계 |
| (그림 없음) 이중 능동·대기 | 자가 점검이 지목한 채널 | 가능, 전환 시간이 든다 | 2배 + 전환 장치 | 비행 제어 컴퓨터 쌍 |
| 다. 삼중 투표(2oo3) | 어느 채널이 틀렸는지 | 가능. 둘째 고장 뒤에는 이중 비교로 저하 | 3배 + 투표기 | 센서(자세·대기자료)·비행 제어 컴퓨터 |
| 라. 이종 다중화 | 원리가 달라 서로를 점검 | 가능 | 2배 + 서로 다른 개발 | 자세(관성 대 영상·GNSS) |
표기 2oo3은 "세 개 가운데 둘이 맞으면 채택"이다. 이중 비교는 불일치를 알지만 둘 가운데 어느 쪽이 맞는지는 모른다. 그래서 이중 구조가 계속 운용하려면 자가 점검(채널이 스스로 틀렸음을 아는 능력, 2.5.5.1)이나 제3의 심판이 필요하다. 이 점이 다중화에서 가장 흔히 놓치는 부분이다. 두 개를 달았다고 한쪽이 틀린 것을 알 수는 없다.
2.5.4.2 이종 다중화와 비유사 설계
같은 부품 둘은 같은 원인으로 함께 고장 난다. 그래서 서로 다른 것을 사용한다. 관성 센서와 영상 기반 자세, 기압 고도와 레이더 고도계, 서로 다른 제조사의 센서와 서로 다른 프로세서가 그 예다. 비행 제어 컴퓨터에서 서로 다른 프로세서·서로 다른 개발팀을 사용하는 방식은 유인기의 비행 제어에서 알려져 있다. 보잉 777의 삼중-삼중 구조와 에어버스 플라이바이와이어의 이종 컴퓨터가 공개 문헌에 소개된다 (확인 필요: Yeh 1996, Traverse 등 2004). 소형 UAS에서는 대가가 크다. 센서가 둘이면 무게·전력·비용이 늘고, 서로 다른 소프트웨어는 개발 비용이 곱절이다.
이종 다중화의 값은 독립성이 실제로 얼마나 늘었는가에 달려 있다. 같은 사양서로 만든 서로 다른 소프트웨어도 같은 곳에서 틀린다는 실험이 있다(2.5.9). 독립성은 주장하는 것이 아니라 입증하는 것이다.
2.5.4.3 공통 원인과 임무 신뢰도 — 구조별 계산
채널 하나의 고장률을 $\lambda$, 임무 시간을 $T$라 하자. 고장은 지수분포를 따른다고 보고 $p=\lambda T$(작을 때)로 나타낸다. 두 채널이 같은 원인으로 함께 틀리는 비율을 공통 원인 비율 $\beta$라 하면(β-요인 모형, IEC 61508-6의 부속서가 다루는 방식이다) 고장은 두 몫으로 구분된다.
$$p_{\text{독립}}=(1-\beta)\,p,\qquad p_{\text{공통}}=\beta\,p$$
기능을 잃을 확률은 구조마다 다음과 같다. 이중은 자가 점검이 붙은 능동·대기 구조를 가정하고, 탐지 커버리지 $c$(한 채널이 고장 났을 때 그 사실을 알고 정상 채널로 넘어갈 확률)를 반영한다.
$$P_{\text{단일}}=p,\qquad P_{\text{이중}}\approx p_{\text{공통}}+p_{\text{독립}}^{2}+2(1-c)\,p_{\text{독립}},\qquad P_{\text{2oo3}}\approx p_{\text{공통}}+3\,p_{\text{독립}}^{2}+\lambda_v T$$
$\lambda_v$는 투표기 자신의 고장률이다. 투표기는 새로운 단일 고장점이다. $\lambda=10^{-4}$/비행시간(1.16.7.1의 $\lambda_p$와 같은 값), 투표기 $10^{-7}$/비행시간으로 계산한 결과는 다음과 같다(파이썬).
| 구조 | $\beta=0.01$, 1시간 | $\beta=0.05$, 1시간 | $\beta=0.01$, 10시간 |
|---|---|---|---|
| 단일 | $1.0\times10^{-4}$ | $1.0\times10^{-4}$ | $1.0\times10^{-3}$ |
| 이중, $c=0.90$ | $2.1\times10^{-5}$ | $2.4\times10^{-5}$ | $2.1\times10^{-4}$ |
| 이중, $c=0.99$ | $3.0\times10^{-6}$ | $6.9\times10^{-6}$ | $3.1\times10^{-5}$ |
| 삼중 2oo3 | $1.1\times10^{-6}$ | $5.1\times10^{-6}$ | $1.4\times10^{-5}$ |
세 가지가 읽힌다. 첫째, 삼중의 하한은 공통 원인이 정한다. $\beta=0.01$이면 $10^{-6}$ 안팎이고 1.16.7.1에서 독립 감시 장치가 형성한 하한과 같다. 채널을 더 늘려도 이 하한은 내려가지 않는다. 둘째, 이중의 이득은 커버리지가 정한다. $c=0.90$이면 단일보다 겨우 5배 좋고, 0.99로 올려야 33배 좋아진다. 채널을 하나 더 다는 것보다 고장을 놓치지 않게 하는 것이 값이 크다. 셋째, 이종 설계로 $\beta$를 0.05에서 0.01로 줄이면 삼중이 $5.1\times10^{-6}$에서 $1.1\times10^{-6}$으로 4.5배 좋아진다. 같은 세 채널에서 얻는 이득이 독립성의 투자에서 나온다는 뜻이다. 이 계산은 고장이 독립이고 지수분포라는 단순화 위에 있고, $\beta$와 $c$는 실측이 아니라 가정이다.
2.5.5 고장 탐지·격리(FDI)
2.5.5.1 탐지 방법 네 가지
| 방법 | 원리 | 잘하는 것 | 한계 |
|---|---|---|---|
| 투표·비교 | 같은 양을 여러 센서로 재서 중앙값을 택하고 어긋난 것을 가린다 | 갑작스러운 큰 고장, 어느 채널인지 | 채널이 늘어야 한다. 모두 같은 오류를 내면 못 잡는다 |
| 해석적 다중화(잔차) | 서로 다른 센서나 물리 법칙이 연결하는 두 값을 비교한다(예: 모터 지령 대 각가속도) | 센서를 늘리지 않고 탐지 | 모델 오차가 잡음이 된다 |
| 관측기·필터 혁신 | 필터 예측과 측정의 차이가 통계적으로 큰가 | 편류·바이어스 | 필터 이론이 필요(자매서 KF) |
| 자가 점검·감시 | 전원 투입 시·연속·개시 점검, 워치독, 범위·변화율 검사 | 고착·끊김·마감 초과 | 시험 항목에 없는 고장은 못 본다 |
해석적 다중화(analytical redundancy)는 값을 센서로 직접 재는 대신 물리가 이어 주는 관계를 사용한다. 멀티콥터에서는 로터별 회전수 지령이 만드는 모멘트와 자이로 신호의 시간 미분(각가속도)이 맞아야 한다. 맞지 않으면 어느 로터가 지령대로 안 돈다는 뜻이다. 관측기의 잔차는 다음 꼴이다.
$$r(t)=y(t)-\hat y(t),\qquad \hat y=C\hat x,\qquad \dot{\hat x}=A\hat x+Bu+L\,(y-\hat y)$$
고장이 없으면 $r$은 0 근처에서 잡음으로 변동하고, 고장이 나면 평균이 이동한다. 같은 양을 센서 $m$개가 재는 경우(예: 기울어 놓은 자이로 네 개)에는 패리티 공간의 방법이 있다. $y=Hx+f+n$에서 $VH=0$인 행렬 $V$를 잡아 $p=Vy=Vf+Vn$을 보면 참 값 $x$가 사라져 고장 $f$만 남는다.
2.5.5.2 격리 — 누구의 잘못인가
탐지는 "이상하다"이고 격리는 "여기가 이상하다"다. 헥사콥터에서 모터 하나가 꺼지면 잔차 벡터(롤·피치 각가속도의 방향)가 그 로터가 놓인 쪽의 반대를 향한다. 로터가 60도 간격으로 놓여 있으니 방향 오차가 30도를 넘지 않으면 바른 로터를 지목한다. 잔차 잡음 $\sigma_r$와 고장 크기 $\mu$로 방향 오차의 표준편차는 $\sigma_r/\mu$ 라디안이다. 아래 가정($\sigma_r=2.0$ rad/s²)에서 전손(24.5 rad/s²)은 4.7도라 오격리가 $10^{-10}$ 이하지만, 30 % 출력 저하(7.4 rad/s²)는 15.6도라 약 5 %가 이웃 로터를 지목한다. 작은 고장일수록 탐지뿐 아니라 격리가 먼저 붕괴한다. 이웃 로터를 끄면 멀쩡한 로터를 잃고 고장 로터는 남는다. 그래서 작은 고장은 로터별 회전수·전류(ESC 텔레메트리)처럼 고장 부품에 직접 닿는 신호로 격리한다.
2.5.5.3 오경보와 미탐의 교환
잔차 $r$이 정규분포를 따르고, 고장 때 평균이 $\mu$만큼 이동한다고 두자. 문턱을 $h=k\sigma_r$로 놓으면 한 번 판정에서 오경보 확률은 $Q(k)$(정규분포의 꼬리), 탐지 확률은 $Q\big((h-\mu)/\sigma_r\big)$다. 문턱을 올리면 오경보가 줄지만 작은 고장을 놓친다. 이것이 수신자 조작 특성(ROC)의 교환이다. 실제 설계는 한 번의 문턱 초과로 판정하지 않고 연속 $m$회 초과를 요구해 오경보를 더 줄인다. 대가는 지연이다. 다음은 가정 기체(2.5.7의 헥사콥터)에서 계산한 값이다.
| 가정 | 값 |
|---|---|
| 잔차(필터한 각가속도 차) 잡음 $\sigma_r$ | 2.0 rad/s²(진동·모델 오차 포함 가정) |
| 필터 시정수 $\tau_f$ · 판정 간격 $T_c$(독립 가정) | 20 ms · 20 ms |
| 고장 크기 $\mu$ | 전손 24.5 rad/s², 30 % 저하 7.4 rad/s² |
| 문턱 $k\sigma_r$ | 연속 횟수 $m$ | 오경보 [1/비행시간] | 전손 탐지 시간 | 30 % 저하 |
|---|---|---|---|---|
| $3\sigma_r$ | 1 | 243 | 5.6 ms | 33.8 ms · 판정당 탐지 75 % |
| $3\sigma_r$ | 2 | 0.33 | 25.6 ms | 53.8 ms · 75 % |
| $4\sigma_r$ | 2 | $1.8\times10^{-4}$ | 27.9 ms | 문턱(8.0)이 크기(7.4)보다 커서 못 본다 |
| $4\sigma_r$ | 3 | $5.7\times10^{-9}$ | 47.9 ms | 못 본다 |
| $5\sigma_r$ | 2 | $1.5\times10^{-8}$ | 30.5 ms | 못 본다 |
탐지 시간은 필터 상승 시간 $-\tau_f\ln(1-h/\mu)$에 $(m-1)T_c$를 더한 값이다. 읽을 것이 셋이다. 첫째, 전손은 어느 문턱에서도 수십 ms 안에 잡힌다. 둘째, 오경보를 기단 전체에서 연 1회 이하로 누르려면 문턱을 높이거나 연속 횟수를 늘려야 한다(300대가 각 300시간 날면 연 $9\times10^4$ 비행시간이고, $1.8\times10^{-4}$/시간이면 연 16회다). 조건을 만족하는 조합은 $4\sigma_r$·3회(48 ms)와 $5\sigma_r$·2회(31 ms)다. 문턱이 높을수록 잡을 수 있는 가장 작은 고장이 커진다($5\sigma_r$는 10 rad/s², 전손의 41 %). 셋째, 작은 고장은 이 잔차로는 못 본다. 문턱을 3으로 낮추면 오경보가 폭증한다. 작은 고장은 다른 수단(2.5.5.2의 ESC 신호)으로 봐야 한다. 탐지 시간 17 ms의 차이(31 ms 대 48 ms)가 자세 이탈 몇 도인지는 2.5.7에서 이어 계산한다.
견해: 오경보와 미탐을 같은 무게로 보면 안 된다고 본다. 소형 UAS의 오경보는 불필요한 비상 착륙·낙하산 전개를 낳고 그 자체가 위험이다(2.6.9). 그러나 복구 가능한 고장(모터 하나 상실)에서는 느린 탐지의 비용이 자세 이탈로 즉시 나타나므로, 해당 고장에는 오경보 대가가 작은 되돌릴 수 있는 대응(재할당)을 빠르게, 되돌릴 수 없는 대응(낙하산·비행 종료)은 더 느리고 엄격하게 거는 계층 문턱이 합리적이다. 근거는 두 가지다. 재할당은 오경보여도 한 로터의 몫을 잠시 잃을 뿐 돌아올 수 있다. 낙하산과 비행 종료는 기체를 잃는다. 이는 설계 판단이며 비용 가중치는 임무마다 다르다.
2.5.6 복구와 재구성 제어 — 남은 능력으로 다시 날기
2.5.6.1 재구성의 네 단계
재구성은 고장 부품을 빼고 남은 것으로 같은 일을 하는 방법을 다시 정하는 일이다. 네 가지 깊이가 있다. ① 대기 채널로 전환(센서·컴퓨터). ② 제어 할당을 다시 계산(모터·작동기). ③ 제어 법칙을 저하 법칙으로 전환(요 제어를 포기, 속도·기울기 제한, 비행 모드를 자세 유지로). ④ 임무를 바꿈(귀환·최단 착륙). 위로 갈수록 능력은 크게 바뀐다. 상세한 이론은 자매서 CE에서 다루고 여기서는 이 책의 기체(멀티콥터)에서 무엇이 바뀌는지만 본다.
2.5.6.2 제어 할당을 다시 계산한다
1.7.3의 믹서 행렬 $M$에서 고장 로터의 열을 지우면 남은 $n-1$개 로터의 믹서가 된다. 요구 $\mathbf d=[T,\tau_x,\tau_y,\tau_z]^{\mathsf T}$에 대해 추력 $\mathbf f$는 $M_{-i}\,\mathbf f=\mathbf d$를 풀어 얻고, 0 이상 최대 추력 $f_{\max}$ 이하여야 한다. 헥사에서 로터 하나를 잃고 모멘트를 모두 0으로 두면 풀이는 하나뿐이다. 고장 로터의 정반대 로터가 꺼지고, 나머지 네 개가 각각 $mg/4$를 낸다(3.0 kg이면 7.36 N). 이것이 1.7.5의 정적 한계 66.7 %다.
문제는 이 해가 경계 위라는 점이다. 반대편 로터가 이미 0이므로 모멘트를 더 요구하면 음의 추력이 필요하다. 고장 뒤의 자세 제어가 사용할 수 있는 모멘트 권한은 설치 추력 대 무게비에 달렸다. 호버 추력을 유지하며 5개 로터로 낼 수 있는 롤·피치 모멘트의 가장 약한 방향 값은 다음과 같다(3.0 kg, 팔 0.30 m, 요는 포기, 파이썬).
| 설치 추력 대 무게비 | 가장 약한 방향의 모멘트 권한 [N·m] | 모터 상실 외란(1.47 N·m) 대비 | 각가속도 권한 [rad/s²] |
|---|---|---|---|
| 1.50 | 0.00 | 0.0 | 0.0 |
| 1.75 | 0.74 | 0.5 | 12.3 |
| 2.00 | 1.47 | 1.0 | 24.5 |
| 2.50 | 2.94 | 2.0 | 49.0 |
1.7.5는 하나를 잃고도 호버하려면 1.5가 필요하다고 했다. 이 표는 그것이 충분하지 않다고 말한다. 1.5에서는 호버 점이 한 점뿐이라 제어할 여유가 0이다. 정적 한계는 재구성이 가능한 문턱이고, 안정적으로 날 수 있는 여유는 그 위에서 시작한다.
2.5.6.3 안전 상태로의 전이
재구성이 불가능하거나 여유가 사라지면 안전 상태로 간다. 무엇이 안전 상태인지는 남은 능력에 달렸다.
| 남은 능력 | 안전 상태 | 이어지는 장 |
|---|---|---|
| 제어 가능, 에너지·링크 정상 | 임무를 줄여 계속하거나 귀환 | 2.6 |
| 제어 가능, 능력 저하 | 가장 가까운 안전 착륙지에 착륙 | 2.6 |
| 자세·고도 제어 상실 | 모터를 멈추고 낙하산, 또는 비행 종료 | 1.30·2.6 |
위 전이를 한 장으로 그리면 아래 상태 기계가 된다. 핵심은 한 방향이라는 점이다. 낮은 단계의 대응이 막힐 때만 더 강한 대응으로 올라가고, 저하 운용에서 정상으로 자동 복귀하지 않는다. 일시 고장이 실제로 풀렸는지 판단하려면 재시험이 필요하고 비행 중에는 하지 않는 것이 보통이다.
2.5.7 탐지 지연이 자세에 주는 영향 — 헥사콥터 모터 상실
2.5.7.1 가정
3.0 kg 헥사콥터가 호버 중 모터 하나를 잃는다. 기체는 1.7의 2 kg 쿼드와 같은 10인치 로터(로터당 최대 추력 9.81 N)를 6개 사용한다. 제어기와 지연은 2.2의 기준 설계에 맞췄다. 2.2의 각속도 PID($K_p=0.42$, $K_i=1.26$ N·m/rad, $K_d=0.006$ N·m/(rad/s²))를 2 kg 쿼드의 관성 0.0143 kg·m²으로 나눠 관성에 대한 이득으로 바꾸고 헥사의 관성에 곱했다. 같은 정규화 이득이므로 각속도 루프의 교차 주파수와 위상 여유가 2.2와 같다(파이썬으로 같은 값을 다시 얻었다).
| 항목 | 값 | 근거·비고 |
|---|---|---|
| 질량 · 팔 길이 · $\kappa$ | 3.0 kg · 0.30 m · 0.016 m | $\kappa$는 1.7.3과 같다 |
| 관성 모멘트 $I_{xx}=I_{yy}$ · $I_{zz}$ | 0.060 · 0.110 kg·m² | 로터·모터 0.20 kg 6개가 팔 끝, 본체 1.8 kg인 점질량 모형이 0.059·0.115 |
| 설치 추력 대 무게비 | 2.0(변수로 1.5~2.5) | 1.7.5 |
| 모터·프로펠러 추력 1차 지연 | 30 ms | 2.2.5(1.7.6의 32 ms와 같은 규모) |
| 지연 버짓 | 자이로 2차 버터워스 80 Hz(2.8 ms) + 샘플·유지 1.25 ms + 연산 1표본 2.5 ms + ESC 1.0 ms = 7.6 ms | 2.2.5의 표 |
| 제어 주기 | 각속도·자세 400 Hz | 2.2.5 |
| 각속도 PID(관성으로 나눈 이득) | 29.4 /s · 88.1 /s² · 0.42 s, 미분 필터 40 Hz | 2.2의 0.42·1.26·0.006을 0.0143으로 나눈 값 |
| 자세 P · 수직 속도 P | 6 /s · 3 /s | 자세는 2.2, 수직은 이 장의 가정 |
| 각속도 루프 | 교차 24.9 rad/s, 위상 여유 55° | 2.2.5와 같다 |
| 고장 | 로터 하나의 추력이 즉시 0 | 가장 나쁜 경우 — 프로펠러 이탈 |
| 할당 | 추력·롤·피치 우선, 요는 남는 자유도로 | 의사 역행렬 + 꼭짓점 열거(2.2.6의 우선순위와 같은 원칙) |
2.5.7.2 결론과 식
결론부터: 탐지가 늦을수록 최대 기울기는 지연의 제곱에 가깝게 커지고, 제어기가 따라잡는 곳에서 포화한다. 고장 직후 기체는 거의 자유롭게 기운다. 고장 모멘트가 만드는 각가속도 $\alpha=R f_0/I_{xx}$(24.5 rad/s²)가 시간에 대해 두 번 적분된다. 재할당 지령이 실제 추력으로 나타나기까지의 작동 지연 $t_c$(모터 지연과 전달 지연의 합)를 더해, 작은 지연에서는 다음으로 어림한다.
$$\theta_{\max}\approx\tfrac12\,\alpha\,(t_d+t_c)^{2}$$
$t_d=0$에서 시뮬레이션이 1.4도이므로 $t_c\approx45$ ms로 맞춘다. 탐지·재구성 지연 $t_d$를 0에서 300 ms까지 바꿔 시간 적분한 결과는 다음과 같다(추력 대 무게비 2.0, 5초 구간의 최댓값).
| $t_d$ [ms] | 해석식 [도] | 시뮬레이션 최대 기울기 [도] | 최대 요 각속도 [도/s] | 고도 손실 [m] |
|---|---|---|---|---|
| 0 | 1.4 | 1.4 | 4.9 | 0.02 |
| 40 | 5.1 | 4.9 | 9.0 | 0.05 |
| 60 | 7.7 | 6.8 | 10.1 | 0.07 |
| 100 | 14.8 | 8.8 | 11.0 | 0.11 |
| 200 | 42.2 | 9.4 | 11.8 | 0.22 |
60 ms까지는 해석식이 시뮬레이션을 잘 따른다. 그 뒤는 제어기가 자기 권한으로 외란을 받아 낸다. 재구성하지 않은 6로터 할당도 최대 9.4도(정상 상태 6.2도)에서 버틴다. 그러나 이 상태는 정상이 아니다. 요가 약 −7도/s로 돌고, 총추력이 5/6라 약 1 m/s로 계속 가라앉는다(6초 시뮬레이션에서 5.6 m). 탐지 지연의 비용은 최대 기울기에서 멈추지 않고 복구가 늦어진 시간만큼 고도와 에너지를 잃는 것으로 이어진다.
2.5.7.3 해석
① 지연 18 ms의 값. 앞 절에서 오경보를 연 1회 이하로 누르는 두 조합은 $5\sigma_r$·2회(31 ms)와 $4\sigma_r$·3회(48 ms)다. 격리·판정 약 10 ms를 더하면 $t_d$가 약 40 ms와 58 ms이고 표에서 4.9도와 6.8도다. 더 작은 고장을 잡는 대가(잡을 수 있는 크기를 10에서 8 rad/s²로 낮추는 것)가 약 2도의 자세 이탈이다. 이 교환을 값으로 읽는 것이 FDIR 설계의 일이다.
② 추력 여유는 문턱에서 결정된다. 추력 대 무게비 1.75·2.0·2.5에서는 지연이 길 때의 포화 값이 각각 8.3·9.4·11.6도로 비슷하다. 여유가 크다고 이탈이 작아지지는 않는다. 포화 값은 재구성 전 6로터 할당이 만든 반응의 크기라서 이 시뮬레이션의 성질이다. 1.75는 지연 60~80 ms에서 11도까지 갔다가 8도로 내려간다. 달라지는 것은 1.5다. 재구성 뒤 롤·피치 권한이 0이라서(앞 절의 표) 지연 120 ms 이하에서는 모두 뒤집혔다(90도 초과). 그보다 늦게 재구성한 경우는 처음 충격은 넘겼으나 재구성 뒤 기울기가 계속 자라 5초 만에 44도(300 ms)까지 갔다. 정적 한계는 있어도 사용할 수 없다는 계산이다.
③ 제어기에 대한 민감도. 같은 계산을 더 느린 제어기(교차 주파수 18 rad/s, 위상 여유 47°, 지연 5 ms)로 돌렸을 때 추력 대 무게비 1.75에서는 지연 90~110 ms 근처에서 재구성하는 순간 추력이 포화해 77~108도까지 튀었다(시간 간격을 절반으로 줄여도 같은 구간에서 튀었다). 같은 기체·같은 여유라도 제어기의 대역폭이 결과를 결정한다. 위 표의 값은 2.2의 기준 제어기에서의 값이다.
④ 이 계산이 말하지 않는 것. 기체 한 종류, 고장 하나(꺼짐), 무풍이다. 돌풍이 있으면 권한의 일부를 쓰므로 위의 여유 요구는 더 커진다. 최대 추력 고착·프로펠러 손상에 의한 진동은 다른 모형이 필요하다. 실제 기체는 2.2의 방법으로 설계한 값으로 다시 돌려야 한다.
2.5.8 전원 고장 허용 — 1.19의 배전 위에서
전원 고장은 다른 모든 고장의 공통 원인이다. 컴퓨터·센서·통신·작동기가 같은 버스에서 전원을 받으면 다중화한 채널이 한 접촉기에 함께 매달린다. 1.19.3의 구조가 이 장의 다중화에 주는 요구는 세 가지다.
- 필수 부하는 두 경로에서 받는다. 비행 제어 컴퓨터·센서·통신·비행 종료 장치가 필수 부하다(1.19.3). 각 채널이 독립된 전원을 갖고, 한 채널의 단락이 다른 채널의 전원을 저하시키지 못해야 한다. 채널 전원을 이상 다이오드(두 전원을 하나로 이으면서 서로 역류를 막는 소자)로 묶는 방식이 흔하지만, 이 소자 자체가 고장 모드다.
- 보조 배터리가 안전 상태까지의 시간을 확보한다. 추진 버스가 죽어도 필수 항전이 살아서 낙하산을 내고 위치를 알릴 때까지 기능을 유지해야 한다. 다음은 가정 계산이다(파이썬).
| 항목 | 값 |
|---|---|
| 필수 부하 | 14 W(비행 제어 컴퓨터·센서·C2 링크·비행 종료 장치) |
| 보조 배터리 | 2셀 500 mAh, 7.4 V → 3.7 Wh, 가용 80 % → 2.96 Wh |
| 버틸 수 있는 시간 | 2.96 ÷ 14 = 0.211시간 ≈ 12.7분 |
| 요구 시간(예) | 낙하산 하강 120 m ÷ 5 m/s = 24 s, 접지 뒤 위치 송출 10분(회수·원격 식별) |
요구 10.4분에 대해 12.7분이면 여유 22 %다. 낙하산 점화기와 같은 순간 부하는 별도로 확인한다. 보조 배터리는 평소에 방전하지 않으므로 잠재 고장의 후보다. 비행 전에 부하 시험으로 용량을 확인한다(16.5).
- 전원 이상은 먼저 확인한다. 전압이 처지면 센서 값이 틀어지고 FDIR이 센서를 고장으로 판정한다. 센서를 격리하기 전에 전원 건전성을 먼저 보는 순서가 원인과 결과를 뒤바꾸는 오판을 막는다. 저전압에서 컴퓨터가 다시 시작하면 비행 중 재시작을 견디는 설계(상태를 저장하고 수십 ms 안에 복귀)가 필요하다. 추진 팩 하나를 잃을 때의 추진기 배치는 1.17.7, 팩 상태 감시는 1.22가 다룬다.
2.5.9 소프트웨어 고장과 비유사 설계
소프트웨어는 마모하지 않는다. 고장은 무작위로 닥치는 것이 아니라 설계 오류가 특정 조건에서 드러나는 것이다. 같은 코드를 세 번 복제해 투표해도 세 복제본은 같은 곳에서 틀린다. 그래서 소프트웨어 고장 허용은 하드웨어 다중화와 다른 논리를 사용한다.
세 접근이 있다. ① 비유사 설계(N-버전 프로그래밍) — 같은 요구에서 서로 다른 팀이 서로 다른 프로그램을 만든다. Knight와 Leveson(1986)은 27개 버전을 100만 번 시험해 개별로는 매우 신뢰도가 높아도 둘 이상이 함께 틀리는 경우가 독립을 가정한 기대보다 크게 많다고 보고했다. 같은 요구서의 같은 해석 오류가 공통 원인이기 때문이다. ② 명령·감시 구조 — 단순한 감시 소프트웨어가 복잡한 주 소프트웨어의 출력을 독립적으로 점검한다(7.8). 앞서 1.16.7.1의 독립 감시와 같은 구조이고 하한도 같다. ③ 단순한 안전 코어 — 비행 종료·낙하산 같은 마지막 방어선은 소프트웨어를 최소로 하고 정형 검증을 한다(8.8).
사례 — 다중화가 있어도 FDIR 알고리즘의 구멍으로 고장 났다. 호주 교통안전국(ATSB)의 최종 보고서(AO-2008-070, 2011년 12월 공개)는 2008년 10월 7일 서호주 리어먼스에서 서쪽으로 154 km 떨어진 상공에서 에어버스 A330-303(콴타스 72편, 등록기호 VH-QPA)이 순항 중 겪은 급강하를 다룬다. 공개된 사실은 다음과 같다.
- 세 개의 대기자료 관성기준장치(ADIRU) 중 하나가 모든 비행 변수에 간헐적 오류 값(스파이크)을 다른 시스템에 보냈다. 약 2분 뒤 비행 제어 주컴퓨터(FCPC)가 받음각 값의 스파이크에 반응해 기수 내림을 지령했다. 이런 급강하가 비행 중 두 번 일어났다
(횟수는 2차 요약으로 확인, 원문 재확인 필요). - FCPC의 받음각 처리 알고리즘은 한 ADIRU에서 1.2초 간격으로 온 연속 스파이크를 처리하지 못하는 한계가 있었다. 보고서는 A330·A340의 2,800만 비행시간 가운데 이 한계가 급강하 지령으로 이어진 유일한 사례였다고 적었고 제조사는 알고리즘을 고쳤다.
- ADIRU의 내장 시험(BITE)은 이 문제를 잡지 못했고 해당 데이터를 무효로 표시하지도 않았다. 보고서는 이를 안전 쟁점으로 들었다.
교훈은 다중화가 있어도 FDIR의 논리가 한 고장 양상을 빠뜨리면 하나의 고장이 기능 상실이 된다는 것이다. 센서가 셋이어도 그 값을 걸러 내는 알고리즘이 하나라면 그 알고리즘이 단일 고장점이다. 위 숫자(2,800만 시간, 한 건)는 보고서의 요약을 재인용한 것이며 정확한 값은 원문으로 확인한다 (확인 필요). 대기자료 센서의 고장 사례는 2.8.9에서 이어진다.
2.5.10 FDIR 자체의 검증과 고장 주입 시험
FDIR은 평소에는 한 번도 실행되지 않는 코드다. 가장 중요한 순간에만 돌고, 그래서 가장 덜 시험된다. 정상 비행 시험으로는 FDIR이 맞는지 알 수 없다. 고장을 일부러 넣어 반응을 본다.
고장 주입은 단계적으로 올라간다. 모델 수준 시뮬레이션(8.19) → 소프트웨어를 실제 코드로 돌리는 소프트웨어 인 더 루프(SITL) → 비행 컴퓨터 실물을 시뮬레이터에 매단 하드웨어 인 더 루프(HITL) → 지상의 실제 기체(모터 전원 차단, 센서 케이블 분리) → 비행 중 주입(시험 구역·안전 장치를 갖춘 비행시험, 8.20). 단계가 올라갈수록 현실적이지만 위험하고 비싸다. 주입할 고장은 안전성 평가(고장 모드·영향 분석)에서 도출한다(8.4). 고장 양상(끊김·고착·편류·간헐) × 비행 단계 × 동시 고장의 조합이 폭발하므로 위험이 큰 조합부터 표본을 뽑는다.
몇 번이면 충분한가. 주입한 $n$번 가운데 탐지·복구가 모두 성공했다면 커버리지 $c$의 95 % 신뢰 하한은 $c\ge 0.05^{1/n}$이다. 거꾸로 하한 $c$를 보이려면 무실패로 $n\ge\ln0.05/\ln c$번이 필요하다.
| 보이려는 커버리지 | 무실패 주입 횟수 |
|---|---|
| 0.90 | 29 |
| 0.95 | 59 |
| 0.99 | 299 |
| 0.999 | 2,995 |
실패가 섞이면 하한이 내려간다(클로퍼–피어슨 한쪽 95 %, 파이썬).
| 주입 횟수 $n$ | 실패 0건 | 1건 | 2건 | 5건 |
|---|---|---|---|---|
| 59 | 0.950 | 0.922 | 0.897 | 0.830 |
| 300 | 0.990 | 0.984 | 0.979 | 0.965 |
| 1,000 | 0.997 | 0.995 | 0.994 | 0.990 |
2.5.4.3의 이중 구조가 $c=0.99$를 요구한다면 300번 가량의 고장 주입을 무실패로 마쳐야 한다는 뜻이다. 한 번의 주입이 사람이 하는 비행 시험이면 비현실적이다. 대부분은 SITL과 HITL에서 반복하고 소수를 실기에서 확인한다. 이 통계는 고장이 대표적으로 뽑혔다는 가정 위에 있고, 안 뽑힌 고장 양상이 있으면 소용이 없다(위 사례). 오경보율은 시험으로 보일 수 없다. $10^{-4}$/시간을 입증하려면 1.16.7처럼 수만 시간이 필요하므로 운용 중 데이터(8.23·8.24)로 보완한다.
2.5.11 설계 트레이드오프 — 어디까지 다중화하고 어디서 구제할까
선택지는 세 가지다.
① 최소 다중화 + 안전 상태. 핵심 센서와 비행 종료 장치만 점검하고, 고장이 나면 즉시 낙하산·착륙으로 간다. 값이 싸고 단순하다. 이해관계자는 소모성 군용 기체와 값싼 민간 UAS의 제조사다. 대가는 고장마다 기체와 임무를 잃는 것이다.
② 선택적 다중화 + 재구성 가능한 추진. 센서·전원·통신의 핵심은 이중 이상, 추진은 헥사·옥토로 하나를 잃어도 날 수 있게 한다(설치 추력 여유 2.0 이상). 고가 탑재체를 보호하는 산업·공공안전용이 택한다. 대가는 추력 여유가 만드는 무게와, 재구성 로직을 검증하는 비용이다.
③ 완전 fail-operational. 단일 고장 뒤에도 이어서 착륙까지 정상에 가까운 능력을 갖는다. 이종 삼중과 독립 전원이 사용된다. 유인 AAM과 사람 위를 반복해 나는 대형 UAS가 지향한다. 대가는 무게·비용·개발 시간이고, 독립성을 증명하는 부담이다.
견해: 다중화의 개수보다 독립성과 탐지 커버리지에 먼저 투자하는 것이 낫다고 본다. 근거는 2.5.4.3의 계산이다. 이중 구조의 이득은 $c=0.90$에서 5배, 0.99에서 33배였고, 삼중 구조의 하한은 $\beta$가 정했다. 채널을 하나 더 다는 값으로 이종 설계·전원 분리·고장 주입 시험을 사는 편이 같은 신뢰도를 더 싸게 얻는다. 다만 2.5.7의 계산처럼 추력 여유는 대체할 수 없다. 재구성이 가능한 문턱(1.5)에서는 제어할 여유가 0이어서, 다중화는 있어도 사용할 수 없다. 반대 입장도 있다. 하나를 잃고 날 수 있는지를 기체 형상으로 보증하기 어려운 소형 UAS에서는 로터 수를 늘리는 대신 낙하산과 충돌 에너지 저감으로 위험을 낮추는 쪽이 값싸다는 주장이다(1.30). 두 접근의 비교는 사고 데이터가 부족해 결론에 이르지 못했다.
2.5.12 세 축 비교
| 항목 | 군용 드론 | 민간 UAS | AAM |
|---|---|---|---|
| 지배적 요구 | 임무 성공 확률 대 단가, 링크 없이도 동작 | 고장이 제3자 위험이 되지 않도록 안전 상태로 | 단일 고장 뒤에도 계속 비행·착륙 |
| 전형적 다중화 | 핵심만. 소모성은 없음 | 헥사·옥토, 보조 배터리·낙하산 | 이종 삼중 센서, 이중 이상의 컴퓨터·버스, 로터 수 8~18 |
| 이종·비유사 설계 | 고가 기체 일부 | 드묾 | 인증 논증에서 요구되는 방향 (확인 필요) |
| 오경보 대가 | 임무 중단 | 불필요한 비상 착륙·낙하산 | 승객 불안, 운항 중단 |
| FDIR의 입증 | 내부 시험·운용 데이터 | 제조사 시험, 운용 승인 조건 | 형식증명 — 고장 주입·확률 입증 |
| 관련 장 | 12.3 | 17.17·18.3 | 17.14·20.5 |
2.5.13 관련 규격·프로토콜
| 문서 | 발행 | 무엇을 정하나 | 상세 |
|---|---|---|---|
ARP4754B(개발 과정)·ARP4761A(안전성 평가) (판 기호 확인 필요) | SAE | 고장 조건 분류·확률 목표·독립성과 공통 원인 분석 | 8.2·8.4 |
| DO-178C · DO-254 | RTCA | 소프트웨어·전자 하드웨어의 설계 보증 수준 | 8.8 |
DO-297 (판 확인 필요) | RTCA | 통합 모듈형 항공전자의 개발·인증 지침 | 2.9·20.9 |
| IEC 61508 Part 6 | IEC | 하드웨어 공통 원인 고장의 β-요인 평가 방법(부속서) (상세는 유료, 구조만) | 8.4 |
| MIL-STD-882E | 미 국방부 | 군 체계안전 — 위험 평가·고장 영향 분류 | 8.5 |
EASA SC-VTOL-01 (개정 확인 필요) | EASA | VTOL의 고장 조건과 확률 목표, 단일 고장 요구 | 17.14 |
14 CFR §23.2510 (확인 필요) | FAA | 저속 소형 항공기의 장비·시스템 설치와 고장 영향 요구 | 20.1·20.5 |
| STANAG 4671(USAR) | NATO | 군용 고정익 무인기 감항 요건 — 시스템 안전 (판 확인 필요) | 12.3 |
ASTM F3201 (판 확인 필요) | ASTM | 무인항공기체계 소프트웨어의 신뢰성 확보 관행 | 8.8 |
유료 표준의 본문은 옮기지 않고 구조만 적었다. 규격의 세계는 9.1, 군 규격 체계는 9.2에 있다.
2.5.14 관련 규제·인증 요구와의 연결
| 대상 | 고장 허용이 요구되는 방식 | 이 장과의 연결 |
|---|---|---|
| AAM(eVTOL) | 치명적 고장 조건의 확률 목표와 단일 고장 요구를 입증(SC-VTOL, 미국 동력양력 인증기준) | 고장 모드 분석, 독립성, 고장 주입 시험(2.5.10), 공통 원인 분석(2.5.4.3) |
| 대형 UAS(군·민간 형식증명) | 시스템 안전성 평가가 고장 조건을 분류하고 확률 목표를 정한다 | FDIR 커버리지, 소프트웨어 보증 수준(8.4·8.8) |
| 소형 UAS | 운용 조건과 위험 완화 수단으로 관리. 고장 허용은 설계 선택(제3자 위험 모형의 완화) | 낙하산·비행 종료와 FDIR의 연결(2.6·17.17) |
| 군용 드론 | 군 체계안전(MIL-STD-882E)과 감항 인증, 소모성은 요구 사양에 따라 | 임무 신뢰도와 단가의 교환(8.5·12.3) |
소형 UAS의 위험 평가가 고장 허용을 어떻게 완화 수단으로 인정하는가는 JARUS SORA와 각국 제도의 몫이다(17.17, 한국은 18.3). 이 장은 그 근거가 되는 기술을 설명했다.
2.5.15 함정과 한계
| 오해 | 실제 | 더 볼 곳 |
|---|---|---|
| 같은 센서를 두 개 달면 고장에 안전하다 | 이중 비교는 불일치만 알 뿐 누가 틀렸는지 모른다. 탐지 커버리지 0.90이면 단일의 5배 개선에 그친다 | 2.5.4.3 |
| 삼중으로 하면 $10^{-9}$까지 간다 | 공통 원인 비율 $\beta$가 하한을 형성한다($\beta=0.01$이면 약 $10^{-6}$) | 2.5.4.3·1.16.7.1 |
| 서로 다른 팀이 만든 소프트웨어는 독립이다 | 같은 요구서의 같은 해석 오류가 공통 원인이다 | 2.5.9 |
| 헥사는 하나를 잃어도 안전하다 | 추력 대 무게비 1.5는 필요 조건일 뿐, 2.0 근처의 여유가 있어야 제어한다 | 2.5.6.2 |
| 탐지만 빠르면 된다 | 오경보를 누르려면 지연이 늘고, 작은 고장은 이 잔차로는 못 본다 | 2.5.5.3 |
| 투표기는 고장 나지 않는다 | 새 단일 고장점이다 | 2.5.4.3 |
| FDIR은 정상 비행 시험으로 입증된다 | 고장 주입 없이는 실행조차 안 된다 | 2.5.10 |
한계도 밝힌다.
- 시뮬레이션은 한 조합이다. 기체·제어기·고장(꺼짐)이 하나씩이고, 최대 추력 고착·프로펠러 손상·돌풍은 넣지 않았다. 1.75의 비단조 거동과 느린 제어기에서의 뒤집힘은 이 할당·제어기 조합의 성질이다.
- 고장률·$\beta$·$c$·잔차 잡음은 가정이다. 실제 값은 시험과 운용 데이터로 정한다.
- 오경보 계산은 판정이 독립이라고 가정했다. 잡음이 상관되면 오경보가 더 많다.
- 미해결. 소형 기체의 FDIR이 요구하는 커버리지를 인증에서 몇 번의 고장 주입으로 인정할지, 독립성(β)의 입증 방법, 작은 성능 저하를 잡는 값싼 센서 구성은 열려 있다.
2.5.16 체크포인트·연구 질문
체크포인트
- 이중 비교가 고장의 위치를 알려 주지 못하는 이유와, 이를 보완하는 두 가지 수단을 말하라.
- $\beta=0.01$, $\lambda T=10^{-4}$에서 삼중(2oo3) 구조의 기능 상실 확률을 어림하고, 그 값이 무엇에 의해 정해지는지 설명하라.
- 헥사에서 모터 하나가 꺼진 뒤 호버 해가 하나뿐인 이유와, 설치 추력 대 무게비 1.5가 "필요하지만 충분하지 않은" 이유를 설명하라.
- 탐지 지연 50 ms가 약 몇 도의 기울기가 되는지 $\alpha$와 $t_c$로 어림하라.
- 오경보율을 낮추려 연속 판정 횟수를 늘리면 무엇을 잃는가?
- 커버리지 0.99를 95 % 신뢰로 보이는 데 필요한 무실패 고장 주입 횟수는?
연구 질문(25.7에 모은다)
- 독립성의 정량 입증 — 이종 다중화의 공통 원인 비율 $\beta$를 설계 증거만으로 어떻게 정할 수 있는가? 서로 다른 센서 원리의 조합별 공개 고장 데이터가 있는가?
- 작은 추진 열화의 탐지 — 출력 30 % 저하처럼 잔차로 보이지 않는 고장을 값싼 센서(ESC 텔레메트리)만으로 어디까지 격리할 수 있는가? 오격리가 만드는 위험은?
- 재구성 여유의 인증 요건 — 정적 가용 영역(1.7.5)과 동적 제어 여유(이 장의 모멘트 권한)를 어떻게 하나의 요건으로 작성할 것인가? 고도·온도에서의 여유 감소(1.32)는?
- FDIR 커버리지의 표본 설계 — 고장 양상·비행 단계·동시 고장의 조합에서 어떤 표집이 인증이 받아들일 만큼 대표적인가?
1차 출처(이 장)
- Avizienis, A.; Laprie, J.-C.; Randell, B.; Landwehr, C., "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing 1(1), 2004.
- Isermann, R., Fault-Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance, Springer, 2006.
- Blanke, M.; Kinnaert, M.; Lunze, J.; Staroswiecki, M., Diagnosis and Fault-Tolerant Control, Springer(판 확인).
- Zhang, Y.; Jiang, J., "Bibliographical review on reconfigurable fault-tolerant control systems," Annual Reviews in Control 32(2), 2008.
- Mueller, M. W.; D'Andrea, R., "Stability and control of a quadrocopter despite the complete loss of one, two, or three propellers," IEEE ICRA, 2014.
- Knight, J. C.; Leveson, N. G., "An Experimental Evaluation of the Assumption of Independence in Multiversion Programming," IEEE Transactions on Software Engineering 12(1), 1986.
- Rausand, M.; Høyland, A., System Reliability Theory: Models, Statistical Methods, and Applications, 2nd ed., Wiley, 2004.
- Australian Transport Safety Bureau, In-flight upset, Airbus A330-303, VH-QPA, 154 km west of Learmonth, Western Australia, 7 October 2008, AO-2008-070(최종 보고서 2011-12-19 공개; atsb.gov.au).
- SAE ARP4754B, ARP4761A, RTCA DO-178C, DO-254, IEC 61508-6, MIL-STD-882E, EASA SC-VTOL(공개분).
- Yeh, Y. C., "Triple-triple redundant 777 primary flight computer," IEEE Aerospace Applications Conference, 1996
(확인 필요).
출처를 찾고 판을 추적하는 방법은 0.9에서 다룬다.
다음 장: 2.6에서 이 장의 안전 상태 전이를 이어 받아 비상 대응을 자동화하는 구조를 본다. 링크 상실·저배터리·경계 이탈에 대한 대응 계층, 지오펜싱의 설계, 귀환 불가점, 비상 착륙지 선택, 그리고 비행 종료 시스템의 독립 구조와 오종료 대 미종료의 교환을 다룬다.