Files
2026-10-08 16:43:48 +09:00

268 lines
14 KiB
Markdown

**TRN01 실습가이드 - 드론 시뮬레이터 비행로그 기반 숙련도 분석기**
구 분 **실습가이드 [교육용가상자료]**
**1. 실습 개요**
본 실습은 교육용 가상 드론 시뮬레이터 비행로그로 조종 숙련도 분석기를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(TRN01_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| **과제** | TRN01 드론 시뮬레이터 비행로그 기반 숙련도 분석기 |
| --- | --- |
| **난이도·유형** | 고급 / 코딩형 |
| --- | --- |
| **예상 소요시간** | 미션 10개, 총 27.5시간 |
| --- | --- |
| **준비물** | TRN01_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
| --- | --- |
**2. 진행 방법**
- 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 비행로그 생성기·특징 추출 함수가 빠져 오류가 난다).
- 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 있어 같은 값이 나와야 한다(처리 속도·처리시간은 실행 환경에 따라 달라진다).
- 미션 4·5·8·9·10은 가상 비행을 수백 회 모의하므로 실행에 10초 안팎이 걸릴 수 있다.
- 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
- 실제 훈련생 이름·군번·비행 기록은 입력하지 않는다. AI 점수는 교관 판단 보조 자료이며 등급·재교육 결정은 교관이 확정한다.
**3. 미션 진행 요약**
| **미션** | **난이도·시간** | **핵심 확인 결과** |
| --- | --- | --- |
| **M1. 드론 조종 시뮬레이터 비행로그(스틱 조작, 자세각, 고도 유지, 경로 오차) 데이터 스키마 정의** | 초급
1.5시간 | 정상 세션 20건 오류 0건, 주입 오류 5종 모두 검출 |
| **M2. 시계열 비행 궤적 데이터 정제 및 이상 조작 노이즈 필터링 전처리 구현** | 초급~중급
2시간 | 처리 속도 1,000건/초 이상(예시 약 9만 레코드/초), 오류 0건 |
| **M3. 비행 경로 이탈도 및 호버링 안정성 계산 1차 숙련도 채점 Baseline 알고리즘 구현** | 중급
2.5시간 | 등급 일치율 75% 이상(예시 75.8%), 점수 평균 오차 5.3점 |
| **M4. 돌발 장애물 회피 및 비상 착륙 반응 속도 기반 정밀 숙련도 평가 엔진 고도화** | 중급
3시간 | 위험 조작 사건 탐지 재현율 85% 이상(예시 97.8%), 로그당 1ms 미만 |
| **M5. 조종자별 조작 습관(급조작, 과보정) 분석 및 신뢰도 등급 산출 모듈 개발** | 중급~고급
3시간 | 오지정률 71.0% 감축(목표 40%), 등급 일관성 97.6% |
| **M6. 조종자 비행 궤적 3D 재생 및 취약 구간 하이라이트 분석 대시보드 구현** | 중급
2.5시간 | 갱신 처리시간 100ms 이내(예시 평균 1ms 미만) |
| **M7. 교관이 직접 조종자 성향을 진단하고 피드백을 입력하는 HITL 평가 인터페이스 설계** | 고급
3시간 | AI 자동 확정 0건, 규칙 위반 6건 차단 |
| **M8. 100명 조종자 대량 비행로그 배치 분석 스트레스 테스트 및 성능 프로파일링** | 고급
3.5시간 | 모든 상황 다운 0건, 로그 유실 0건(채점+격리=전체) |
| **M9. AAR 기반 교관 평가 점수와 AI 숙련도 점수 간 편차 분석 및 가중치 재튜닝** | 고급
3시간 | 초기 일치율 47.5%, 돌풍 비행 평균 -40점 과소평가 원인 규명 |
| **M10. 드론 비행로그 숙련도 분석 시스템 통합 및 교육훈련 브리핑 패키지 완성** | 최고급
3.5시간 | 자체 점검 10/10 통과, 함수 커버리지 92% |
**미션 1. 드론 조종 시뮬레이터 비행로그(스틱 조작, 자세각, 고도 유지, 경로 오차) 데이터 스키마 정의**
| **난이도·시간** | 초급 · 1.5시간 |
| --- | --- |
| **진행 순서** | 1) M1 코드를 실행해 정상 세션 20건의 검증 결과를 확인한다.
2) 오류 주입 결과 5건이 어떤 규칙에 걸렸는지 표로 정리한다.
3) 데이터 명세 요약표에서 전술 파라미터(조건·풍속·GPS 오차·영상 지연)가 포함됐는지 확인한다. |
| --- | --- |
| **확인할 결과** | 정상 세션 20건 오류 0건, 주입 오류 5종 모두 검출
조종자 ID는 가명 형식(P001~)만 허용 |
| --- | --- |
| **도전 과제** | SCHEMA의 tactical 그룹에 시정(visibility_m, 0~10000) 필드를 추가하고 범위를 벗어난 값을 넣어 검출되는지 확인한다. |
| --- | --- |
| **제출물** | 스키마 정의 코드, 데이터 명세서 |
| --- | --- |
**미션 2. 시계열 비행 궤적 데이터 정제 및 이상 조작 노이즈 필터링 전처리 구현**
| **난이도·시간** | 초급~중급 · 2시간 |
| --- | --- |
| **진행 순서** | 1) M2 코드를 실행해 처리 속도와 결측 보정율을 확인한다.
2) 조건별 전처리 효과표에서 위치 오차가 얼마나 줄었는지 비교한다.
3) 전후 비교 그림에서 튐 값과 단절 구간이 처리된 모습을 확인한다. |
| --- | --- |
| **확인할 결과** | 처리 속도 1,000건/초 이상(예시 약 9만 레코드/초), 오류 0건
결측 보정율 100%, 단위 테스트 5/5 통과 |
| --- | --- |
| **도전 과제** | HAMPEL_K의 gust 값을 3.0으로 낮추면 돌풍 조건의 이상치 수와 위치 오차가 어떻게 바뀌는지 확인하고, 실제 급기동이 지워질 위험을 토의한다. |
| --- | --- |
| **제출물** | 전처리 코드, 전처리 전후 비교표, 비교 그림 |
| --- | --- |
**미션 3. 비행 경로 이탈도 및 호버링 안정성 계산 1차 숙련도 채점 Baseline 알고리즘 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M3 코드를 실행해 채점식 가중치와 등급 일치율을 확인한다.
2) 조건 표준화 유무에 따른 조건별 정확도를 비교한다.
3) 혼동표에서 가장 많은 오류 유형과 그 원인을 정리한다. |
| --- | --- |
| **확인할 결과** | 등급 일치율 75% 이상(예시 75.8%), 점수 평균 오차 5.3점
가장 많은 오류: 교관 C -> Baseline B(돌발 대응 미반영) |
| --- | --- |
| **도전 과제** | BASE_F에서 alt_err를 빼고 다시 실행해 일치율 변화를 보고, 고도 유지 오차가 숙련도를 얼마나 설명하는지 토의한다. |
| --- | --- |
| **제출물** | Baseline 채점 코드, 기본 채점 결과 보고서(혼동표 포함) |
| --- | --- |
**미션 4. 돌발 장애물 회피 및 비상 착륙 반응 속도 기반 정밀 숙련도 평가 엔진 고도화**
| **난이도·시간** | 중급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M4 코드를 실행해 10개 시나리오의 위험 사건 탐지 결과를 확인한다.
2) 사건별 재현율과 오탐 수에서 오탐이 많은 사건을 찾는다.
3) 엔진 가중치에서 점수를 크게 깎는 특징을 확인한다. |
| --- | --- |
| **확인할 결과** | 위험 조작 사건 탐지 재현율 85% 이상(예시 97.8%), 로그당 1ms 미만
등급 일치율 Baseline 74.0% -> 고도화 77.8% |
| --- | --- |
| **도전 과제** | RULES의 경착륙 기준(touch_vz 2.0)을 1.6으로 낮추면 재현율과 오탐이 어떻게 바뀌는지 표로 정리한다. |
| --- | --- |
| **제출물** | 고도화 엔진 코드, 복합 시나리오 시험 결과표, 오탐 패턴 분석 |
| --- | --- |
**미션 5. 조종자별 조작 습관(급조작, 과보정) 분석 및 신뢰도 등급 산출 모듈 개발**
| **난이도·시간** | 중급~고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M5 코드를 실행해 습관 판정 정확도를 확인한다.
2) 기존 방식과 엔진의 재교육 지정 오지정률·재현율을 비교한다.
3) 기준점수 민감도와 등급 일관성, 신뢰등급 분포를 해석한다. |
| --- | --- |
| **확인할 결과** | 오지정률 71.0% 감축(목표 40%), 등급 일관성 97.6%
습관 판정 정확도 급조작 95%·과보정 88% |
| --- | --- |
| **도전 과제** | 재교육 기준점수를 55에서 60으로 올리면 지정 인원과 오지정률이 어떻게 바뀌는지 확인하고, 교육 자원과 안전을 고려한 기준을 토의한다. |
| --- | --- |
| **제출물** | 신뢰도 엔진 코드, 재교육 지정 전후 비교표, 불확실성 그림 |
| --- | --- |
**미션 6. 조종자 비행 궤적 3D 재생 및 취약 구간 하이라이트 분석 대시보드 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M6 코드를 실행해 재생 갱신 처리시간을 확인한다.
2) 취약 구간 목록과 단계별 취약 시간을 정리한다.
3) 대시보드의 3D 궤적과 약점 프로필로 조종자에게 줄 피드백 3가지를 정한다. |
| --- | --- |
| **확인할 결과** | 갱신 처리시간 100ms 이내(예시 평균 1ms 미만)
구성요소 4종(3D 궤적·경로 이탈·스틱 입력·약점 프로필) 표시 |
| --- | --- |
| **도전 과제** | weak_flags()의 경로 이탈 기준을 3m에서 5m로 바꾸면 취약 구간 수가 어떻게 바뀌는지 확인하고 돌풍 비행에 맞는 기준을 제안한다. |
| --- | --- |
| **제출물** | 대시보드 코드, 재생 분석 화면, 조종자 피드백 3가지 |
| --- | --- |
**미션 7. 교관이 직접 조종자 성향을 진단하고 피드백을 입력하는 HITL 평가 인터페이스 설계**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M7 코드를 실행해 검토 순서와 AI 확정 건수(0건)를 확인한다.
2) 차단된 규칙 위반 결정 6건과 차단 사유를 정리한다.
3) 자격 보류의 2단계 확인 과정과 감사 로그 변조 검출 결과를 확인한다. |
| --- | --- |
| **확인할 결과** | AI 자동 확정 0건, 규칙 위반 6건 차단
로깅 성공률 100%, 변조 위치(8번째 기록) 검출 |
| --- | --- |
| **도전 과제** | 재교육 지정(RETRAIN)에도 두 번째 교관 확인을 요구하도록 바꿀지 토의하고, 교관 업무량과 공정성 측면의 장단점을 정리한다. |
| --- | --- |
| **제출물** | HITL 평가 코드, 교관 평가 절차 요약, 조종자 피드백 양식 |
| --- | --- |
**미션 8. 100명 조종자 대량 비행로그 배치 분석 스트레스 테스트 및 성능 프로파일링**
| **난이도·시간** | 고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M8 코드를 실행해 상황별 채점·격리·유실·다운을 확인한다.
2) 격리 사유가 주입한 손상 유형과 맞는지 확인한다.
3) 묶음 예외 상황의 처리량 감소와 병목 함수를 정리한다. |
| --- | --- |
| **확인할 결과** | 모든 상황 다운 0건, 로그 유실 0건(채점+격리=전체)
손상 로그 30건 전부 격리, 예외 시 기능 축소 1회 |
| --- | --- |
| **도전 과제** | run_batch()의 chunk를 100에서 20으로 줄이면 처리량과 예외 시 손실 범위가 어떻게 달라지는지 비교한다. |
| --- | --- |
| **제출물** | 스트레스 시험 코드, 시험 결과표, 병목 개선안 |
| --- | --- |
**미션 9. AAR 기반 교관 평가 점수와 AI 숙련도 점수 간 편차 분석 및 가중치 재튜닝**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M9 코드를 실행해 초기 AI의 일치율과 편차 원인 분해를 확인한다.
2) 격자 탐색 상위 조합과 선택된 재튜닝값을 확인한다.
3) 새 기수 2개 회귀 테스트 결과와 반복 불일치의 특성을 정리한다. |
| --- | --- |
| **확인할 결과** | 초기 일치율 47.5%, 돌풍 비행 평균 -40점 과소평가 원인 규명
재튜닝 후 평균 +42.9%p 향상, 회귀 테스트 2/2 통과 |
| --- | --- |
| **도전 과제** | 격자에서 조건 표준화를 False로 고정하면 어떤 조합이 선택되고 돌풍 비행 편차가 얼마나 남는지 확인한다. |
| --- | --- |
| **제출물** | AAR 보고서(계획·결과·원인·개선), 재튜닝 파라미터 |
| --- | --- |
**미션 10. 드론 비행로그 숙련도 분석 시스템 통합 및 교육훈련 브리핑 패키지 완성**
| **난이도·시간** | 최고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M10 코드를 실행해 자체 점검 항목이 모두 PASS인지 확인한다.
2) 손상 로그 2건이 격리된 것을 확인한다.
3) 출력된 브리핑 요약을 바탕으로 5분 분량 교육훈련 브리핑 자료를 만든다. |
| --- | --- |
| **확인할 결과** | 자체 점검 10/10 통과, 함수 커버리지 92%
조종자 등급 일치율 93.3%, 위험 사건 재현율 97.4% |
| --- | --- |
| **도전 과제** | CONFIG의 ridge_alpha를 0.1로 바꾸고 make_dataset 대신 주간 자료만으로 엔진을 맞춰 실행한 뒤 재튜닝값과의 차이를 브리핑에 추가한다. |
| --- | --- |
| **제출물** | 통합 코드, 교육훈련 브리핑 자료, 최종 결과 보고서 |
| --- | --- |
**4. 최종 점검표**
| **점검 항목** | **확인** |
| --- | --- |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 | ( ) |
| 각 미션의 확인할 결과를 기록했다 | ( ) |
| 도전 과제 결과와 이유를 기록했다 | ( ) |
| 브리핑 수치가 실행 결과와 일치한다 | ( ) |
| 실제 훈련생 정보 대신 가명 ID만 사용했다 | ( ) |
| 등급·재교육 결정은 교관 확정·근거 기록을 거침을 명시했다 | ( ) |