### 0.0.1 GPS 수신 불량으로 인한 플라이어웨이(Flyaway) 사고 발생 시 제어 루프 이탈 패턴 분석 및 하드웨어/소프트웨어 재현 방지 대책 수립
무인기 운영에서 가장 두려운 단어는 단연코 플라이어웨이(Flyaway) 다. 조종기 스틱을 아무것도 건드리지 않았는데도 기체가 스스로 미친 듯이 가속하며 시야 밖으로 사라지거나 벽에 틀어박히는 이 끔찍한 현상의 90% 이상은 GPS와 EKF2 센서 융합 시스템 간의 소통 단절, 즉 ’GPS 수신 불량’에서 시작된다.
본 절에서는 ULog 분석을 기반으로 플라이어웨이 사고가 발생할 때 기체 제어 루프(Control Loop)가 어떻게 무너져 내리는지 그 ’패턴’을 분석하고, 동일한 참사를 막기 위한 하드웨어 및 파라미터 방어 대책을 수립한다.
0.1 플라이어웨이 발생의 3단계 붕괴 패턴(Collapse Pattern)
ULog를 분석해 보면, 멀쩡하던 기체가 갑자기 미쳐 날뛰는 과정은 대개 다음과 같은 무자비한 3단계 패턴을 거친다.
[Phase 1: 기만 (Deception)]
- 현상: 기체가 거대한 송전탑이나 빌딩 숲에 진입한다.
satellites_used는 유지되나 다중 경로(Multipath)로 인해vehicle_gps_position상의 위도/경도 좌표가 1초 만에 20m 밖으로 튀어버린다(Glitch). - 필터 한계: 이때 EKF2의
EKF2_GPS_P_GATE임계값이 너무 관대하게(예: 넓게) 설정되어 있으면, 필터는 이 미친 좌표 이동을 “기체가 실제로 바람에 밀려 20m 날아갔다“고 착각하고 상태 벡터에 반영해 버린다.
[Phase 2: 급가속 (Aggressive Correction)]
- 현상: 포지션 홀드(Position Hold) 모드 로직은 원래 조종사가 명시했던 좌표(Set-point)로 기체를 묶어두려 한다. 기체가 20m 바깥으로 밀려났다고 굳게 믿는 컨트롤러는, 원래 자리로 돌아가기 위해 기부를 깊숙이 숙이고 모터 출력을 최대로 끌어올린다(Roll/Pitch 스파이크 발생).
- 시각적 결과: 실제로는 제자리에 잘 떠있던 기체가 갑자기 미친 듯이 기울어지며 20m 전방(실제로는 멀쩡한 벽이나 나무)을 향해 엑셀을 밟아 돌진한다.
[Phase 3: 공황 및 폴백 실패 (Panic and Fallback Failure)]
- 현상: 기체가 급가속하며 물리적으로 흔들리자, IMU 가속도계 데이터마저 노이즈에 절여진다. 뒤늦게 EKF2가 GPS 혁신 게이트를 닫고 거부(Rejection) 플래그를 세우지만, 기체는 이미 엄청난 관성을 가지고 날아가고 있다.
- 결과: 데드 레코닝(Dead Reckoning) 마저 어긋나며 기체는 지면에 충돌한다.
0.2 하드웨어/소프트웨어 재현 방지(Prevention) 대책
이러한 제어 루프 이탈을 포렌식(Forensic) 했다면, 다음 비행에서 똑같은 사고가 터지지 않도록 기체를 ’예방 접종’시켜야 한다.
[하드웨어 대책]
- 안테나 위치 상향 및 그라운드 플레인(Ground Plane) 설치: GPS 안테나를 기체 메인 프레임이나 알루미늄 카본 플레이트보다 최소한 5~10cm 이상 높이 띄워 올리고, 밑바닥에 구리/알루미늄 실드 캔(Shield Can)을 덧대어 아래에서 반사되어 올라오는 하단 다중파(Multipath)를 물리적으로 끊어내야 한다.
- 듀얼 GPS 장착 및 이격 거리 확보: 전파 방해로부터 살아남기 확률을 높이기 위해 CAN 노드 기반의 이기종 GPS 2개를 장착(Dual Setup)하되, 두 안테나를 좌우로 최소 20cm 이상 이격시켜 동일한 반사파 노이즈에 동시에 당하지 않도록 공간 다이버시티(Spatial Diversity)를 확보한다.
[소프트웨어 파라미터 대책]
EKF2_GPS_V_GATE/EKF2_GPS_P_GATE조이기: 도심 비행이 주 임무라면, এই 게이트 값을 타이트하게(예: 3~5 수준) 낮추어 작은 글리치(Glitch)에도 즉각 GPS 데이터를 끊어내고 코스팅(Coasting) 모드로 버티도록 만들어야 한다. 멍청하게 가짜 데이터에 속아 기체를 가속시키느니, 차라리 일찍 경고를 띄우는 것이 낫다.COM_POS_FS_DELAY튜닝 및COM_POS_FS_PROB설정: EKF가 위치 제어 불가를 선언했을 때(Navigation Loss), 수동 조작으로 제어권을 강제로 뺏기 귀찮더라도 시스템이 알아서 안전 모드(Altitude Mode 등)로 즉각 강등되도록 Failsafe 유예 시간을 짧고 강력하게 가져가야 한다.
결론적으로 플라이어웨이는 저주나 오류가 아니라, 너무 성실했던 제어 루프가 나쁜 데이터(Bad Data)를 먹고 최선을 다해 연산한 필연적 산물이다. 엔지니어의 역할은 사고 로그를 분석하여, 다음번에는 필터가 그 독이 든 사과(Bad GPS Data)를 먹기 전에 시스템의 입(Gate)을 틀어막도록 파라미터와 안테나를 교정하는 것이다.