**드론 시뮬레이터 비행로그 기반 숙련도 분석기** 난 이 도 **고급** | **프로젝트 목표** | 러시아-우크라이나 전쟁에서는 소형 드론 조종 인력을 짧은 기간에 대량으로 양성해야 했고, 시뮬레이터 훈련에서 누가 어떤 조작 약점을 가지고 있는지 빠르게 찾아 개인별로 보완하는 일이 전투력 유지의 관건이 되었다. 본 프로젝트에서는 교육용 가상 드론 시뮬레이터 비행로그(경로 비행, 호버링, 돌발 장애물 회피, 비상 착륙)를 코드로 직접 만들어, 로그 스키마 정의, 잡음·결측 전처리, 경로 이탈도·호버링 안정성 기반 Baseline 채점, 장애물 반응·착륙 속도를 반영한 정밀 평가 엔진, 조작 습관 분석과 신뢰도 등급, 3D 재생 대시보드, 교관 HITL 평가 인터페이스, 대량 배치 스트레스 시험, AAR 재튜닝, 최종 통합까지 숙련도 분석기를 단계별로 구현한다. 최종 목표는 교관 평가와 일치하는 객관적 숙련도 지표와 개인별 피드백을 제공하되, 등급과 재교육 결정은 교관이 근거를 기록해 확정하도록 설계하는 것이다. | | --- | --- | | **유의사항** | 모든 비행로그·조종자·점수는 코드 안에서 만든 교육용 가상 자료이며, 조종자는 가명 ID(P001~)로만 표기하고 실제 훈련생 정보, 부대명, 장비 제원은 사용하지 않는다. 부대 자료의 외부 AI 서비스 입력과 부대 내 촬영은 금지한다. AI 숙련도 점수는 교관 판단을 돕는 참고 자료이며 인사·자격 결정의 단독 근거로 쓰지 않고, 재교육 지정·자격 보류는 교관이 근거를 기록하고 두 번째 교관이 확인한 뒤 확정한다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. | | --- | --- | **1단계. 비행로그 구조 정의 및 전처리** | **미션 1. 드론 조종 시뮬레이터 비행로그(스틱 조작, 자세각, 고도 유지, 경로 오차) 데이터 스키마 정의** [초급 · 1.5시간] | **미션 1. 드론 조종 시뮬레이터 비행로그(스틱 조작, 자세각, 고도 유지, 경로 오차) 데이터 스키마 정의** [초급 · 1.5시간] | | --- | --- | | **목표** | 드론 조종 시뮬레이터 비행로그(스틱 조작, 자세각, 고도, 위치·목표 경로)와 비행 세션 메타데이터의 스키마를 정의하고 잘못된 로그를 걸러내는 검증기를 만든다. | | **수행** | 세션(가명 조종자 ID, 코스, 기록 주기, 비행 시간), 전술 파라미터(비행 조건, 풍속, GPS 오차, 영상 지연), 레코드(스틱 3축, 자세각, 고도, 위치·목표) 필드와 허용 범위를 정의한다. 가상 세션 20건을 검증하고 실명형 ID, 허용되지 않은 조건, 누락 필드, 스틱 범위 초과, 시각 중복 오류를 넣어 검증기가 모두 잡아내는지 확인한 뒤 명세서로 정리한다. | | **산출물** | data/schema/trn01_input_schema.json, docs/trn01_data_spec.md | | **평가** | **[필수] 로그 구조화·검증** — 스키마 필드 정의 완성도 100%, 정상 세션 20건 검증 오류 0건, 주입한 오류 5종을 모두 검출하고 누락된 전술 파라미터(기상, 위치오차, 통신지연)를 반영했는가. | | **미션 2. 시계열 비행 궤적 데이터 정제 및 이상 조작 노이즈 필터링 전처리 구현** [초급~중급 · 2시간] | **미션 2. 시계열 비행 궤적 데이터 정제 및 이상 조작 노이즈 필터링 전처리 구현** [초급~중급 · 2시간] | | --- | --- | | **목표** | 시계열 비행로그의 시각 중복·역행, GPS 튐, 센서 단절, 스틱 PWM 원시값을 정리하는 전처리 모듈을 구현한다. | | **수행** | 10Hz 격자로 시각을 정렬하고 중복을 제거한 뒤, 스틱 PWM(1000~2000us)을 -1~1로 정규화하고 중립 데드밴드를 적용한다. Hampel 필터로 GPS 튐을 제거하고 단절 구간을 보간하며, 주간·야간·돌풍 조건별로 이상치 임계값을 달리 적용해 처리 속도와 위치 오차 개선을 비교하고 단위 테스트 5종을 통과시킨다. | | **산출물** | src/preprocess/trn01_preprocessor.py, 전처리 전후 비교표 | | **평가** | **[필수] 전처리 구현·정합성** — 처리 속도 1,000건/초 이상, 처리 중 오류 0건, 결측 보정율 100%, 단위 테스트 5종 통과, 조건별 임계값 설정 근거가 타당한가. | **2단계. 숙련도 채점 Baseline 및 정밀 평가 엔진 고도화** | **미션 3. 비행 경로 이탈도 및 호버링 안정성 계산 1차 숙련도 채점 Baseline 알고리즘 구현** [중급 · 2.5시간] | **미션 3. 비행 경로 이탈도 및 호버링 안정성 계산 1차 숙련도 채점 Baseline 알고리즘 구현** [중급 · 2.5시간] | | --- | --- | | **목표** | 비행 경로 이탈도와 호버링 안정성, 고도 유지 오차로 1차 숙련도 점수와 등급(A/B/C)을 계산하는 Baseline 채점 알고리즘을 개발한다. | | **수행** | 경로 RMSE, 호버링 평균 이탈·흔들림, 고도 오차를 조건별로 표준화하고 기준 집단으로 가중치를 1차 튜닝해 0~100점 채점식을 만든다. 평가용 조종자 비행에서 교관 등급과의 일치율, 점수 오차, 채점 지연을 재고, 조건 표준화 유무를 비교하며 Baseline이 놓치는 부분(돌발 상황 대응)을 혼동표로 분석한다. | | **산출물** | src/models/trn01_baseline_model.py, 기본 채점 결과 보고서 | | **평가** | **[필수] Baseline 채점·투명성** — 기본 데이터셋 등급 일치율(처리 정확도) 75% 이상, 채점식 가중치를 공개해 판단 기준이 투명하며, 한계를 수치로 설명했는가. | | **미션 4. 돌발 장애물 회피 및 비상 착륙 반응 속도 기반 정밀 숙련도 평가 엔진 고도화** [중급 · 3시간] | **미션 4. 돌발 장애물 회피 및 비상 착륙 반응 속도 기반 정밀 숙련도 평가 엔진 고도화** [중급 · 3시간] | | --- | --- | | **목표** | 돌발 장애물 회피 반응과 비상 착륙 접지 속도, 자세 한계, 급조작·과보정 특징을 반영한 정밀 숙련도 평가 엔진으로 고도화한다. | | **수행** | 장애물 출현 후 스틱 반응시간과 2.5초 후 회피 거리, 접지 직전 하강 속도, 자세 35도 초과 시간, 스틱 변화율, 회피 후 초과 이동을 특징으로 추가하고 위험 조작 사건(장애물 근접·경착륙·자세 한계) 탐지 규칙을 만든다. 주간·야간·돌풍, 장애물 방향, 영상 지연을 조합한 복합 시나리오 10종에서 탐지 재현율, 오탐 패턴, 등급 일치율, 로그당 처리 지연을 측정한다. | | **산출물** | src/models/trn01_advanced_detector.py, 복합 시나리오 시험 결과표 | | **평가** | **[선택] 정밀 평가·위험 조작 탐지** — 위험 조작 사건 탐지 재현율 85% 이상, 로그당 처리 지연 200ms 이하, 시나리오 10종 시험 완료, 오탐 유발 패턴을 찾아 특징을 보완했는가. | **3단계. 조작 습관·신뢰도 산출 및 3D 재생 대시보드** | **미션 5. 조종자별 조작 습관(급조작, 과보정) 분석 및 신뢰도 등급 산출 모듈 개발** [중급~고급 · 3시간] | **미션 5. 조종자별 조작 습관(급조작, 과보정) 분석 및 신뢰도 등급 산출 모듈 개발** [중급~고급 · 3시간] | | --- | --- | | **목표** | 조종자별 조작 습관(급조작, 과보정)을 분석하고 여러 비행을 묶어 숙련도 등급과 신뢰도 등급(High/Medium/Low)을 산출한다. | | **수행** | 같은 조건의 습관 없는 조종자 대비 스틱 변화율과 회피 후 초과 이동으로 습관을 판정한다. 조종자당 비행 6회의 점수를 묶어 등급을 내고 부트스트랩으로 같은 등급이 나올 확률을 신뢰도로 삼는다. 비행 1회 Baseline 점수로 재교육 대상을 지정하던 방식과 오지정률·재현율을 비교하고, ROC-AUC, 기준점수 민감도, 일부 비행만 썼을 때의 등급 일관성과 불확실성을 확인한다. | | **산출물** | src/verification/trn01_confidence_engine.py, 재교육 지정 전후 비교표, 불확실성 그림 | | **평가** | **[필수] 습관 분석·신뢰도 등급** — 재교육 오지정률(FAR) 40% 이상 감축, 등급 일관성 90% 이상, 신뢰도 등급별 조치(통보·교관 검토·추가 비행)가 교육 실무에 맞는가. | | **미션 6. 조종자 비행 궤적 3D 재생 및 취약 구간 하이라이트 분석 대시보드 구현** [중급 · 2.5시간] | **미션 6. 조종자 비행 궤적 3D 재생 및 취약 구간 하이라이트 분석 대시보드 구현** [중급 · 2.5시간] | | --- | --- | | **목표** | 조종자 비행 궤적을 3D로 재생하고 취약 구간을 강조하는 분석 대시보드를 구현한다. | | **수행** | 경로 이탈 3m 초과, 자세 30도 초과, 급조작 구간을 취약 구간으로 찾아 3D 궤적에 붉게 표시하고, 비행 단계별 경로 이탈 추이, 스틱 입력, 동료 대비 약점 프로필을 함께 보여 준다. 재생 1초마다 지표를 갱신하는 처리시간을 재고 야간 모드 화면과 취약 구간 목록을 만든다. | | **산출물** | src/ui/trn01_dashboard.py, 3D 재생 분석 화면 | | **평가** | **[선택] 재생·취약 구간 가시화** — 화면 갱신 1초 이내·처리 100ms 이내, 시각화 구성요소 4종 이상, 취약 구간과 위험 사건이 직관적으로 구분되는가. | **4단계. 교관 HITL 평가 및 대량 배치 검증** | **미션 7. 교관이 직접 조종자 성향을 진단하고 피드백을 입력하는 HITL 평가 인터페이스 설계** [고급 · 3시간] | **미션 7. 교관이 직접 조종자 성향을 진단하고 피드백을 입력하는 HITL 평가 인터페이스 설계** [고급 · 3시간] | | --- | --- | | **목표** | 교관이 AI 제안 등급과 조작 성향 진단을 직접 확인·수정하고 피드백을 입력하는 HITL 평가 인터페이스를 설계한다. | | **수행** | AI 제안은 항상 검토 대기로 등록하고 신뢰도가 낮은 제안과 C 등급을 먼저 보도록 순서를 정한다. 확정·수정·추가 비행·재교육 지정·자격 보류 조치에 교관 ID와 진단 근거를 강제하고, 불리한 결정은 더 자세한 근거와 다른 교관의 두 번째 확인을 요구한다. 모든 제안·결정을 해시 체인 감사 로그에 기록해 위·변조를 검출하고 조종자 피드백 양식을 만든다. | | **산출물** | src/hitl/trn01_approval_workflow.py, docs/trn01_hitl_guide.md | | **평가** | **[필수] 교관 검토·책임 추적** — AI 자동 확정 0건, 규칙 위반 결정 차단, 검토 대기시간과 결정 로깅 성공률 100%, 감사 로그 위·변조를 검출했는가. | | **미션 8. 100명 조종자 대량 비행로그 배치 분석 스트레스 테스트 및 성능 프로파일링** [고급 · 3.5시간] | **미션 8. 100명 조종자 대량 비행로그 배치 분석 스트레스 테스트 및 성능 프로파일링** [고급 · 3.5시간] | | --- | --- | | **목표** | 조종자 100명의 대량 비행로그 배치 분석에서 처리량 증가와 손상 로그, 처리 중 예외 상황에 대한 복원력을 검증한다. | | **수행** | 평시 100건, 100명 x 5회 500건, 500% 증가 600건, 손상 로그 5% 혼입, 묶음 처리 예외 상황을 주입한다. 로그별 검증으로 손상 로그를 사유와 함께 격리하고, 묶음 처리 실패 시 1건씩 처리로 기능을 축소한다. 다운 여부, 로그 유실(채점+격리=전체), 처리량, 메모리 누수, 병목 함수를 측정하고 개선안을 제시한다. | | **산출물** | tests/trn01_stress_test.py, 스트레스 시험 분석 보고서 | | **평가** | **[선택] 대량 배치 복원력** — 모든 상황에서 시스템 다운 0건, 로그 유실 0건, 기능 축소 동작이 정상 작동하고 병목 구간을 프로파일링했는가. | **5단계. 사후검토 재튜닝 및 최종 통합** | **미션 9. AAR 기반 교관 평가 점수와 AI 숙련도 점수 간 편차 분석 및 가중치 재튜닝** [고급 · 3시간] | **미션 9. AAR 기반 교관 평가 점수와 AI 숙련도 점수 간 편차 분석 및 가중치 재튜닝** [고급 · 3시간] | | --- | --- | | **목표** | AAR로 교관 평가 점수와 AI 점수의 편차를 분석해 원인을 규명하고 채점 가중치를 재튜닝한다. | | **수행** | 주간 비행만으로 맞춘 초기 AI를 한 기수 훈련에 적용해 조건별·위험 사건 수별·습관별 편차를 분해하고 원인을 정리한다. 특징 구성, 조건 표준화 여부, 규제 강도를 기수 내 교차검증으로 격자 탐색해 재튜닝값을 고르고, 학습에 쓰지 않은 새 기수 2개로 회귀 테스트하며 반복 불일치의 특성을 확인한다. | | **산출물** | docs/trn01_aar_report.md, configs/trn01_tuned_params.yaml | | **평가** | **[필수] AAR 편차 분석·재튜닝** — 편차 원인 분류 완료, 재튜닝 후 등급 일치율 10%p 이상 향상, 회귀 테스트 전부 통과, 반복 불일치의 원인과 지속 개선 방안을 제시했는가. | | **미션 10. 드론 비행로그 숙련도 분석 시스템 통합 및 교육훈련 브리핑 패키지 완성** [최고급 · 3.5시간] | **미션 10. 드론 비행로그 숙련도 분석 시스템 통합 및 교육훈련 브리핑 패키지 완성** [최고급 · 3.5시간] | | --- | --- | | **목표** | 로그 검증부터 전처리, 특징 추출, 재튜닝 엔진, 위험 조작 탐지, 조종자 등급·신뢰도, 교관 검토 대기열, 대시보드까지 통합하고 교육훈련 브리핑 패키지를 완성한다. | | **수행** | 재튜닝 파라미터로 신규 기수 로그를 한 번에 분석하는 통합 코드를 완성하고 손상 로그가 격리되는지 확인한다. 로그 유실, 결측, 비행·조종자 등급 일치율, 위험 사건 재현율, 처리 지연, AI 확정 여부, 함수 커버리지 등 자체 점검 항목을 모두 통과시키고, 결과·재교육 검토 대상·운용 유의사항·한계와 연동 확장 방향을 담은 브리핑 요약과 배포용 설명서를 작성한다. | | **산출물** | src/main_trn01.py, README.md, docs/trn01_final_report.md | | **평가** | **[필수] 통합·브리핑** — 통합 파이프라인 실행 성공률 100%, 자체 점검 항목 전부 통과(함수 커버리지 85% 이상 포함), 브리핑 수치가 실행 결과와 일치하는가. | **최종 판정** **판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다. 최종 판정 결과 : ( PASS / FAIL ) 평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)