1. 서 론
최근 멀티콥터를 포함한 무인항공기는 인프라 설비 점 검, 농업, 산림, 물류, 재난 대응 등 다양한 분야에서 그 활용도가 높아지고 있다. 이러한 멀티콥터가 특수목적 임 무에 핵심적이고 자율적인 역할을 수행함에 따라, 운용 안 전성, 신뢰성, 지속성을 보장하는 것은 가장 중요하다. 그 러나 다양한 산업 분야에서 멀티콥터의 활용도가 높아짐 에 따라 원인을 알 수 없는 추락사고 및 장애 발생에 의한 임무수행 중단이 계속 증가하고 있다. 정비사에 의한 멀티 콥터 핵심부품에 대한 유지보수 및 정비에 대한 기존 접근 방식은 전문성 부족과 인적 오류 발생으로 인해 멀티콥터 안정적인 운용 및 안전 관리에 한계가 있다. 또한 물리적 모델-기반의 진단 방법을 적용한 경우, 멀티콥터의 동역학 및 결함모드에 대한 물리적 표현을 요구하며 이는 제한된 환경에서는 효과적이나 급변하는 실제 응용환경에서는 불 확실한 작동 조건, 구조적 변동성으로 인해 정확한 물리 모델링이 불가능하여 적용하기는 부적절하다. 그 예로 무 인항공기 운용에서 환경적 이상현황과 기계적인 결함을 구분하는데 따르는 어려움에 대해 연구를 진행하였고, 외 부 교란을 기계적 결함으로 오 탐지하는 것을 방지하기 위한 주파수 분석기법[3]을 수행하였다. 다중센서(LiDAR, RGB, 열화상 등) 융합기술을 적용하여 센서 모달리티를 통합 실시간 의미적 추론이 가능한 진단 시스템[2]을 제안 하였다. 이와 유사하게 비전센서 및 진동센서를 융합하여 무인항공기의 이상 상태를 실시간으로 탐지하는 AI기반 진단 시스템[1]을 연구를 수행하였고 멀티콥터 결함 진단 모델의 학습데이터 부족 및 클래스 불균형 문제를 해결하 고자 Tong et al.[5] 연구에서는 시뮬레이션, 동적모델, 데 이터 기반 모델을 결합한 하이브리드 데이터 생성 모델을 통해 멀티콥터 프로펠러에서 발생되는 균열 및 굴곡의 문 제점 위치와 결함 심각도를 식별하였다. 그러나 기상의 시 뮬레이션 및 물리모델의 적용으로 실제 비행에서의 다양 한 환경변화를 반영하지 못한 한계점은 여전히 남아있다. 여러 멀티콥터의 이상탐지 및 결함진단을 위한 이전 연구 성과에도 불구하고, 이러한 시스템들은 기체 자체의 기동, 외부 힘 또는 임무 환경을 명시적으로 모델링에 반영하지 않아 실제 발생된 결함과 일시적 이상 현상을 구분하는 데는 한계가 있으며, 잠재적인 오진단이나 다양한 운영 환 경에서의 일반화가 부족하다. 따라서 멀티콥터의 실제 운 용조건에서의 실 시간적인 비행 상태의 모니터링과 비행 로그 정보를 기반으로 한 주요 부품의 신뢰성 있는 이상 감지 및 조기 결함 탐지 기술이 필요하다.
본 논문은 멀티콥터의 비행제어(FC: Flight Control) 로 그를 실시간으로 수집하고, 로그 정보 내, 메시지 세트 단 위로 분류한 후 각 메시지 내에 포함된 이상 감지 지표를 추출하는 표준화된 프로세스를 제안한다. 제안된 이상 감 지 지표는 다양한 피처엔지니어링 분석과 감독학습 모델 을 통해 그 신뢰성을 검증한다. 멀티콥터의 이상 및 결함 탐지를 위해서, 동력계통의 부품인 프롭에 인위적인 파손 을 가해 비정상 FC로그를 취득한 후,감독학습 모델의 진 단 결과를 비교한다.
본 논문의 구성은 다음과 같다. 제2장에서 멀티콥터 비 행제어 로그의 수집, 가공 단계(전처리)를 기술하고, 제3 장에서는 피처엔지니어링 분석과 감독학습 기반 결함진단 모델을 제안한다. 제4장에서는 다수의 머신/딥러닝 감독 학습 모델을 통해 성능을 검증한다. 마지막으로 제5장에 서 본 AI 모델 기반의 FC 로그 분석 기법 연구에 대한 결 론을 맺는다.
2. 비행제어 로그 데이터 처리
비행제어기(FC: Flight Controller)는 멀티콥터 기체의 자세․위치․속도 상태를 추정하고, 안정화․유도․제어 명령을 계산하여 모터/서보에 신호를 보내 비행을 안정적 으로 유지한다. 또한 각종 안전․통신․기록을 제공한다. 이 비행제어기의 기록 정보인 FC로그에는 비행 동안의 센 서․추정․제어․전원․이벤트 정보를 시계열로 기록한 데이터이다. 튜닝, 고장 원인 분석, 안전 인증, 예지정비에 활용된다[4]. 멀티콥터 FC 로그의 주요기능 및 제공되는 정보는 다음과 같다.
2.1 비행제어기(Flight Controller) 기능
FC의 주요기능은 멀티콥터 기체에 탑재된 센서 데이터 를 처리하고 제어 알고리즘을 실행함으로써 멀터콥터의 안정적인 비행을 가능하게 한다.
-
- 센서 융합: 시스템은 IMU(관성 측정 장치), GPS, 기압 계 및 비전 센서를 통합하여 멀티콥터의의 상태와 자 세(롤, 피치, 요), 위치(x, y, z), 속도 및 고도를 추정
-
- 안정화 제어: 자이로 및 가속도 데이터를 기반으로 멀 티콥터의 기울기나 진동을 보정
-
- 비행 모드 관리: 수동, 안정화, 고도유지, 위치유지, 순 항, 자동 등 다양한 모드를 지원
-
- 추진 및 액추에이터 제어: ESC(전자 속도 제어기)에 PWM/DSHOT 신호를 전송하여 모터 출력을 제어. 또 한 고정익 무인기에서 서보 모터(에일러론, 엘리베이 터, 러더)를 제어
-
- 통신 및 데이터 처리: 지상 관제소(GCS) 또는 무선 조 종기(RC)와 통신하며 MAVLink와 같은 표준 프로토 콜을 통해 원격 전송을 수행
-
- 안전 장치 및 이중화: GPS 신호 손실, 배터리 전압 저 하, 통신 장애 등 비정상 상태 감지 시 자동으로 안전 모드로 전환(예: 자동 이륙지점 복귀, 자동착륙, 공중 정지/유지 등)
2.2 비행제어기(Flight Controller)가 제공하는 정보(원격 측정 및 상태 추정)
비행제어기는 멀티콥터를 포함한 무인항공기의 ‘상태’ 와 ‘운용 정보’를 계산하여 지상 관제소 또는 조종사에게 제공한다.
-
- 자세 및 동역학 정보: FC는 롤, 피치, 요 (Euler 각도), 각속도(롤/피치/요 속도), 가속도 정보를 제공
-
- 위치 및 항법 정보: GPS 기반 위도, 경도, 고도, 상대 고도(이륙 지점 기준), 지상 속도, 공중 속도(고정익 무인기) 제공
-
- 센서 데이터: IMU(자이로, 가속도계), 자기장계(방위 각), 기압계(기압고도), 레이저 거리 측정기/LiDAR(장 애물 거리, 지상고도) 정보 제공
-
- 추진 시스템 상태: FC는 모터 RPM, 스로틀 출력값, ESC 상태, 전류/전압 모니터링, 배터리 전압/전류 및 충전상태(SoC) 정보 제공
-
- 비행모드 및 제어상태: 현재 비행모드(수동, 안정화, 자동, RTL 등), RC 입력값, 제어 루프 상태(페일세이 프 상태여부)에 대한 정보 제공
-
- 진단 및 상태 모니터링: FC는 상태 진단 및 모니터링 을 가능하게 하는 정보를 제공하며, GPS 위성 개수 및 신호 품질, 센서 이상(IMU 드리프트, 자기장계 오 류 등), 통신 신호 강도(RC RSSI, 텔레메트리 링크 품 질), 안전 모드 상태(통신 손실, 배터리 부족, GPS 오 류 등) 정보를 포함
일반적으로 FC로그 분석을 통해 <Figure 1>의 멀터콥 터 주요 동력부(부품인 모터, 프로펠러, ESC), 전원부(베 터리) 등의 이상 원인 점검이 가능하다.
멀터콥터 FC 로그 정보(BIN파일)를 수집 후, 파일 파싱 단계를 거치게 되면 메시지셋 단위의 계층 구조인 메시지 필드셋 파일이 추출된다. 즉 각 메시지셋과 해당 메시지셋 에 포함된 메시지 필드들이 하위 항목으로 정리된다.
FC로그의 메시지셋 종류는 총 64종(자세정보, 베터리, 시스템 파워, GPS, IMU 센서 등) 이며, 각 메시지셋 안에 는 다수의 메시지 필드 즉, 결함진단을 위한 특징들을 포 함한다. 예를 들어 멀터콥터 베터리의 상태를 나타내는 BAT 메시지셋에는 전압(Volt), 전류(Curr), 누적소비 에너 지(EnrgTot), 내부저장(Res) 정보를 포함한다. FC로그에 포함된 메시지셋 및 메시지 필드의 예는 다음과 같다.
FC로그의 메시지셋의 주요 특징은 저장된 데이터 간의 시간 간격이 세트마다 다르다는 것이다(각 메시지셋 마다 측정시간과 간격이 다름). 따라서 서로 다른 메시지셋과 그 안에 포함된 필드(변수)값은 동기화할 수 없기 때문에 개별 메시지셋을 통합하는 것은 불가능하다. 따라서 멀티 콥터의 상태를 분석하려면 메시지셋 단위로 각각 분석해 야 한다. <Figure 2>는 서로 다른 메시지셋에 포함된 데이 터가 서로 다른 측정시간 및 측정간격을 가지는 사례이다.
3. FC로그의 피처엔지니어링 분석
FC 로그에 포함된 모든 메시지 필드를 분석하여 멀티콥 터 이상 및 결함 식별에 필수적인 진단지표를 추출한다. 로그 파일 수집 후 데이터를 파싱하여 계층적 구조 내에서 메시지셋과 메시지 필드로
구성한다. 특징벡터 추출에 사용되는 총 데이터 수는 647,702개이며, 이 중 정상 데이터는 344,917개, 결함 데이 터는 302,785개이다. 결함에 해당하는 FC 로그(<Figure 3> 참조, 정상 및 결함 레이저 스캐닝 이미지)는 동력계통 부 품인 프롭에 세 가지 결함 상태(균열, 손상, 긁힘)가 관측 된 멀티콥터의 모터 작동 후 획득한 로그 정보이다. 피처 엔지니어링 수행 전 데이터 신뢰성과 일관성을 확보하기 위해 학습 모델을 왜곡할 수 있는 누락값 및 중복 데이터 를 제거하였다. 또한 동일한 필드 값을 가지지만 클래스 레이블 값이 다른 데이터도 제거한다. 전처리 후 최종 데 이터 레코드 수는 618,387개이다.
피처 엔지니어링 수행 시 핵심 사항은 <Figure 2>에서 보듯이 메시지셋 간 동기화가 불가능하다는 점이므로 분 석은 메시지셋별로 수행한다(총 64개의 메시지셋을 포함).
데이터 전처리 후, 정상 대비 결함 데이터의 편향성을 검토하기 위해서 차원축소 기법인 t-SNE(t-Distributed Stochastic Neighbor Embedding) 및 UMAP(Uniform Manifold Approximation and Projection)을 적용하였다. 두 가지 차원축소 기법을 적용한 결과, 정상의 경우 넓은 범 위로 산포 되어 있고, 결함의 경우 분포가 높은 밀도로 편 향된 것을 확인할 수 있다(<Figure 4>).
다음으로 개별 메시지 필드 값의 분포로 정상/결함을 구분 하는 경계를 확인하기 위해 KDE(Kernel Density Function) 사용한다. 필드별 클래스(정상/결함)의 분포를 확인하여 구 분이 확실한 필드만을 후보로 선정한다. 분포 밀도함수를 확인하여 클래스의 분포가 서로 대칭 형상에 가까운 것들과 겹치는 구간이 존재하지만, 겹치는 면적보다 한쪽 타겟(클래 스)의 값의 밀도가 분명하게 높은 경우를 후보로 선정하였다.
KDE를 통한 후보 메시지셋은 20개이며, 메시지셋에 포 함된 모든 메시지 필드는 총 83이다. 자세 및 진동과 관련 된 메시지 필드값의 정상/결함 분포 시각화한 예시는 <Figure 5>와 같고 상세한 메시지셋과 해당 필드는 <Table 2>에 제시하였다.
마지막으로, 최종 결함 진단지표를 결정하기 위해 20개 메시지 세트별로 각 필드에 대해 감독 학습 모델(랜덤포레 스트, TabNet)을 학습시켜 결함진단 결과를 평가한다. 성 능지표는 이진 분류 모델의 성능평가에서 가장 널리 사용 하는 지표인 ROC 커브(Receiver Operating Characteristic Curve)와 AUC(Area Under the Curve)를 활용한다.
결함진단 지표 선정의 기준은 특정 기준값(예, 정확도) 에 의존하지 않아 감독학습 모델의 전체적인 성능을 보기 에 적합한 AUC값이며, 그 범위로는 매우 우수한 모델 기 준인 0.9이상으로 선택하였다. 총 20개의 각 메시지 세트 에 랜덤포레스트 및 TabNet 모델로 분류를 수행하였으며, <Figure 6>는 0.9 이상의 메시지 세트 ATT와 CTRL의 TabNet 및 랜덤포레스트의 ROC 및 AUC값을 보여준다.
반대로, <Figure 7>의 두 가지 모델의 평가 결과가 모두 0.9이하인 메시지세트를 보여준다.
<Figure 6>의 (a), (b) 메시지 세트는 최종 결함진단 지 표로 선택되나 <Figure 7>의 경우에는 0.9 이하로서 제외 되는 메시지 세트이다.
모든 메시지 세트에 대한 ROC 및 AUC 반복 검증한 후 에 선정된 결함 진단 지표(메시지 필드)를 <Table 3>에 제 시하였다.
4. 감독학습 모델 기반의 진단 지표의 유효성 검증을 위한 실험 및 평가
제3장에서 선정된 멀티콥터 결함 진단지표의 평가를 위 해서 구조화된 데이터 분류에 적합한 머신러닝 및 딥러닝 알고리즘을 활용한다. 학습 및 시험 데이터셋 구축은 총 10개의 메시지셋과 36개의 결함 진단지표를 사용한다 (<Table 3> 참조).
4.1 비행 시험을 통한 FC 로그 데이터 수집
멀티콥터의 정상 상태와 결함 상태를 모두 포괄하는 데 이터를 생성하기 위해 광범위한 비행 임무시험을 수행하 였다.
-
- 비행 시간: 총 100분으로, 표준 비행 세션(RC 조종을 통한 호버링 및 구간 비행)과 프로펠러 파손 후 하드 랜딩 세션으로 균등하게 분배
-
- 비행 환경: 실제 멀티콥터 운용환경 조건과 동일하게 다양한 풍속 조건(5m/s~10m/s) 하에서 통제된 공역에 서 야외 테스트를 수행
-
- 데이터 로깅: MAV Proxy 및 맞춤형 Python 스크립트 를 사용하여 FC 로그를 세밀하게 추출 및 분석
데이터 수집 후, AI 감독학습을 위해 두 가지 서로 다른 데이터셋을 구축한다.
첫째, 수집된 FC 로그에서 초기 64개 메시지셋으로 필 터링하고, 최적의 특징벡터(진단지표) 추출을 위해 최종적 으로 10개 메시지셋과 36개의 메시지 필드 값을 포함한 데이터셋로 구성한다. 데이터셋 규모는 정상 조건에서의 데이터 410건과 결함 조건에서의 데이터 410건으로 클래 스 균형을 유지할 수 있는 데이터를 구축한다. 클래스 레 이블은 비행 주석에서 도출된 정확한 결함 시점 정보를 기반으로 할당하였다.
4.2 진단 지표 검증을 위한 감독학습 모델
구조화된 데이터 분류에 적합한 머신러닝 및 딥러닝 알 고리즘들을 총 36개의 결함 진단지표를 활용하여 평가한 다. 멀티콥터 결함진단을 위한 학습 모델은 다음과 같다.
-
- 랜덤포레스트: 랜덤포레스트 모델은 부트스트랩 집계 로 훈련된 의사 결정 트리의 앙상블기법의 머신러닝 모델
-
- MLP: MLP는 입력층(36개 특징), ReLU 활성화 함수 를 사용하는 3~5개의 레이어와 “결함” 대 “정상”을 판 별하는 이진 softmax 분류기 출력으로 구성
-
- TabNet: 의사결정 단계를 순차적으로 진행하는 딥러 닝 모델로, 각 단계에서 Attentive Transformer가 입력 특징에 대해 sparse mask를 생성하여 특정 특징벡터만 을 선택하며, 이러한 특징벡터만을 특징 트랜스포머 를 통과하여 의사결정 벡터를 생성함. 여러 단계의 출 력을 결합하여 최종 예측을 산출하는 모델
-
- XGBoost: 결정트리를 약한 학습모델로 사용하는 그레 디언트 부스팅의 구현으로, 2차미분까지 쓰는 손실 최 소화, 강한 정규화, 효율적 분할 탐색으로 정확도와 속 도를 높인 모델
멀티콥터 부품의 결함 진단지표 유효성을 검증하기 위 해 먼저 네 가지 감독학습 모델을 학습한다. 학습은 전처 리된 데이터셋(정상: 344,917건, 결함: 302,785건, 총 647,702건)을 사용하여 수행되었다. 네 가지 모델의 학습 후, 비행 테스트를 통해 수집된 실제 비행제어(FC) 로그를 시험 데이터(결함: 410건, 정상: 410건)로 활용하여 진단모 델의 신뢰도를 검증하였다. 실험 평가 결과는 <Table 4>에 제시하였고, 각 메시지셋에 대한 결함탐지 결과는 랜덤 포 레스트(Random Forest), TabNet, 다층 퍼셉트론(MLP)에서 높은 F1-score를 기록하여 높은 신뢰도를 검증하였다.
5. 결 론
멀티콥터의 활용성이 다양한 산업분야에서 급증함에 따라, 원인을 알 수 없는 부품 결함에 의한 멀티콥터 추락 사고 및 고장사고 역시 계속 증가하고 있다. 이 논문에서 는 멀티콥터의 주요 부품 및 임무장치에 대한 사전 결함을 조기 탐지할 수 있는 FC로그 정보를 활용한 AI 감독학습 모델 기반의 결함탐지 기법을 제안하였다. 구체적으로 멀 티콥터 비행제어(FC) 로그를 실시간으로 수집하고, 로그 를 파싱 및 메시지 셋별로 분류하여 계층적 구조의 정형 데이터로 가공한 후, 각 메시지셋에 포함된 핵심 결함 진 단지표를 추출하는 표준화된 프로세스를 제시하였다. 마 지막으로 제안한 멀티콥터 결함진단 지표에 대해 정상 및 결함 데이터에 대해 다수의 머신/딥러닝 감독학습 모델을 생성하고 그 성능을 검증하였다. 멀티콥터 결함의 경우에 는 동력계통 부품 이상을 가정하여 인위적으로 프롭을 파 손시킨 후 FC로그를 수집하였다. 성능평가 결과 XGBoost 및 TabNet 모델에서 성능지표 F1-score 0.99 이상의 높은 신뢰성을 확인하였다.
















