자동운항

Autopilot

1 개요

항공기 또는 차량, 배 등 탈것을 인간의 조작 없이도 진로가 일정하게 유지되도록 제어해주는 장치 또는 체계를 말한다.

2 역사

비행기가 개발되고 난 직후에는 안전하게 날아다니기 위해 조종사가 항상 신경쓰고 있었어야 했는데, 이는 비행시간이 늘어날수록 심각한 피로의 누적을 가져오게 되었다. 이에 1919년 스페리社에 의하여 자이로스코프를 이용하여 조종사가 진로에 신경쓰지 않고도 똑바로 날 수 있도록 하는 오토파일럿이 최초 개발되었고, 1947년에는 미 공군 C-54가 이착륙을 포함한 대서양 횡단을 오토파일럿의 제어 하에 할 수 있었다.

선박의 경우엔 1920년대 초기에 스탠다드 오일의 유조선인 J.A 머펫이 최초로 자동항해를 한 배 되시겠다.

3 일반 비행기

우리가 아는 항공기는 기장과 부기장이 직접 조종하는것으로 아는데, 이것은 옛말. 물론 이륙시는 무조건 수동으로 조종한다.

기내 컴퓨터에(FMC라 한다) 비행할 항로, 순항 속도, 순항 고도 등을 입력하여 항로에 대한 데이터를 작성하고[1] 이륙 후 일정 고도에서 오토 파일럿 스위치를 작동시키면 기내 컴퓨터가 항법장치와 FMC 컴퓨터에 입력된 데이터를 토대로 조종간, 엔진 출력 등을 조절하여 목적지까지 비행한다.

생짜로 알아서 운항...은 아직까지는 무리고, 중간중간 웨이포인트를 찍어주고 고도를 맞춰주거나 비행시 비행 안정성을 해치는 각종 상황에 대처하여 항공기 자체가 피드백을 해주는 등의 자동운항이 가능하다. 물론 자동운항 모드로 맞춰놓고 운항중이라 하더라도, 기장과 부기장이 모두 자리를 비우는 일은 불가능하지만, 오토파일럿모드를 온 했을때 부 기장과 기장이 모두 휴식을 취하지 않고, 교대하면서 휴식을 취하면서 운항한다. 3가지의 페일세이프 시스템이 갖추어져있고 6 시그마(99.99966%의 사고 안날 확률)을 가지고 있지만, 갑자기 자동운항이 풀린다거나, 엔진이 갑자기 꺼진다거나 하는 등 아직 컴퓨터로 완전히 대처할 수 없는 부분도 있기에 항상 지켜볼 사람이 필요하기 때문이다.

예외로 FAA나 ICAO의 감독/규제를 받는 항공사가 아니라면 자동운항 맞춰놓고 기장은 비즈니스석에 앉아서 쉰다고 한다는데... 왓더... 그런데 항공 사고 관련해서 이런 자동화 시스템 혹은 기기의 경고 등을 '사람 판단으로' 무시하다 대형 사고를 내는 경우도 많다고 한다. 자동화 시스템을 믿었으면 사고가 안 났을 일도 많다나.

그런데 또 한편으로는 비행기에 아무도 없는데 자동운항만 맞추어져 있다면 저 혼자 멀쩡히 날아가는 것도 가능하긴 하다. 말 그대로 유령 비행기. 실제로 이에 얽힌 사고도 있다. 바로 헬리오스 항공 522편 추락 사고. 물론 이 경우는 정말로 아무도 없었다는 말은 아니지만.

착륙할 때가 되면 자동으로 착륙하는 시스템이 있는데 이것은 오토파일럿이 아닌 오토 렌딩 시스템이라고 따로 있다. 이 시스템은 ILS(계기착륙장치)나 MLS(마이크로파 착륙 시스템),DGPS(Differential GPS)등을 수감하고 보정하여 자동으로 착륙하는 시스템이다.[2]

군용항공기에도 전투기, 폭격기등에 장착된다. 이들 항공기도 경우에 따라서는 2시간, 3시간, 심지어 12시간이 넘는 장거리 임무를 뛰는 경우도 있기 때문. 물론 자동으로 비행만 할 뿐이지, 자동으로 싸워주지는 않는다(...).자동비행에 자동전투이면 사람태울자리에 연료, 무기를 더 넣는것이 이득아닐까

일부 특수 항공기들은 단순히 순항비행만 하는 것이 아니라 초저고도로 비행할 때 전방에 산이나 구릉지대가 있으면 알아서 고도를 조절하여 충돌을 막아주기까지 한다. 옛날에 비하면 최근에는 저고도에 각종 대공포/지대공 미사일들이 깔려있다보니 전투기, 폭격기들이 저고도 침투할일이 잘 없지만 그래도 임무에 따라서는 필요한 기능. 특히 앞이 잘 보이지 않는 악천후시나 야간에도 지형추적레이더로 전방 상황을 파악하고 자동비행장치가 알아서 비행해준다. 고도 비행하는 일이 많은 헬리콥터에도 최근에는 이런 자동비행 및 자동 저고도 비행기능이 추가되고 있다.

mode.jpg
B777의 MCP
보잉 여객기는 LNAV 모드와 VNAV 모드, MCP 오버라이드 모드, 로컬라이저/어프로치 모드로 나뉘어진다. LNAV모드는 FMC에 입력된 수평 좌표 및 항로를 따라가며 고도나 속도는 MCP에 입력된 데이터를 따라간다. VNAV 모드는 MCP에 입력된 기수(heading) 방향을 따라 FMC 모드에 입력된 고도 및 속도로 비행한다. MCP 모드는 헤딩, 고도, 속도를 조종사가 직접 입력한 값대로 운항이 된다. 대부분 표준입출항 절차(SID/STAR)와 순항중에는 LNAV/VNAV를 동시에 사용하고 레이더벡터 관제를 받을 경우에는 MCP 모드를 사용하게 된다.
아. 그리고 VNAV를 활성화 했더라도 MCP SPEED 노브를 한번 눌러주면 MCP에 입력된 값으로 목표 속도가 오버라이드되며, MCP에 입력된 고도가 제한으로 적용되기 때문에 상승/하강 시 필요한 만큼 MCP 고도를 수동조작 해줘야 한다.
스로틀 레버는 AT를 활성화 할 경우 자동으로 움직이며 조절되며 TO/GA 모드는 버튼[3]으로 토글한다.

pfcu.jpg
A320~340의 MCP
에어버스 여객기는 LNAV/VNAV의 개념은 있지만 보잉과 달리 따로 버튼은 없고 MCP의 노브를 당기거나 누르면 각 모드가 오버라이드된다. 헤딩 노브를 누르면 FMC의 수평좌표대로 날아가고 고도 노브를 당기면 FMC의 고도를 무시하고 입력한 고도까지 직상승/하강한다.
AT를 활성화 할 경우 스로틀 레버를 AT 적용점까지 올려줘야 AT가 정상동작한다. 이래서 GPWS에서 Retard! Retard! 하는 걸지도..
TO/GA 모드는 스로틀을 끝까지 밀어주면 작동.

로컬라이저/어프로치 모드는 보잉과 에어버스가 서로 비슷한데 LOC 버튼을 누르면 항법주파수 입력부에 입력된 ILS 주파수를 따라 로컬라이저에 정렬한다. APP(R) 버튼을 누르면 글라이드 슬롭을 쫓아가 착륙하고 글라이드 슬롭이 없어도 FMC의 강하각 및 타겟 고도 데이터에 맞춰 자동으로 착륙한다. 다만 바람이나 항공기 무게에 따라 어느 한쪽으로 밀릴 수가 있다.

Flight Director(FD)는 수동조종 모드에서 FMC에 입력된 비행 경로대로 운항할 수 있도록 비행기 자세계에 표시를 해준다.

4 무인기

UAV의 AutoFlight는 자동 착륙 시스템을 포함해서 비행기 전반의 모든 기능을 스스로 제어할 수 있도록 만들어진다. 이를 보고 자율운항이라고 하는데, 기원은 자율주행. 자율주행이 먼저 나온 개념으로, UGV와 같은 무인 지상기들의 이동시에 사람이 목적지, 경유지(WayPoint), 수집해야 할 데이터나 기타 주의해야 할 것에 대한 데이터만 집어넣으면 해당 작업(Mission) 을 알아서 수행하도록 하는 것이었다. iRobot 사에서 나오는 Roomba 와 같은 로봇 청소기[4]나 Argo 사의 한국지점인 Argo Korea에서 만드는 UGV 및 구글의 자동 주행 시스템 등이 이런 계열에 속한다. 그리고, 이게 항공기로 가면 자동운항 시스템.

컴퓨팅 파워가 가장 중요한 시스템으로 생각되지만, 그건 제대로 된 물건에 한정이고, 일반적인 RC 에서는 낮은 성능의[5] 주 처리 장치를 통해 비행기 전반을 제어하게 된다. 우리가 생각하는 일반 여객기의 기능 중 하나인 웨이포인트를 따라 자동으로 비행하기는 기본이고, 돌풍 시 자세유지 및 자동 회귀와 자동 착륙[6]도 된다. 당연하게도, UAV 의 목적은 기본적으로 천리안이기에 데이터를 무선으로 쏴주기도 하며, 저가의 제품은 카메라에 OSD 형식으로 데이터를 띄워준다.

RC에 쓰이는 AutoFlight 모듈도 생각보다 엄청 복잡한데, 센서도 상당히 많아서 D-GPS,자이로스코프,가속도계,고도계,기압계,초음파 센서를 통해 주변 환경을 파악하는 가 하면, 내부로는 서멀 센서, 연료 센서 배터리 상태를 확인하거나 active 서보 모듈들을 모두 데이지 체인으로 연결해 서보 상태 점검 및 변속기와의 연결로 모터 점검과 주행중 발열상태, 전력소모상태, 추력, 회전속도 들을 읽어들이게 된다. 물론 이정도까지 오면 비싸고, 첫문장의 D-GPS,자이로,가속도,기압계 정도가 기본 셋트.

실질적으로 지령을 수행하기 위해선 좀 더 복잡한 알고리즘들이 필요하게 되는데, 대표적으로 쓰이는게 KNN[7], FCC[8] 같은 집합 추정 알고리즘으로, 대개 영상에서 들어온 패턴분석으로 DB 매칭을 통해 타겟을 골라낸다든지 현 위치를 잡는 등의 기타 여러 용도로 쓰는가 하면, 나중에는 HMM 모델링까지 들어간다. ARM 으론 도저히 처리할 수 없는 마의 영역. 괜시리 제어컴퓨터가 무거워지는 게 아니었다. 이런 친구들은 센서도 더 좋아지는데, 전자의 스핀을 이용하는 자이로스코프 칩[9] 말고 진짜 MEMS 자이로스코프를 쓰고[10], 영상 관측장치도 N 모 회사나 S 모 사의 장치를 집어넣어서 해군 TOD 는 그냥 발라버리는 가 하면, 레이더를 장착하기도 하고...... 글로벌 호크 를 보면 대략 얼마나 진화하는지 알 수 있을 듯하다. Radar Warning System 도 올라간다.

기본적인 장애물 회피나 경로 추적 및 찍고 되돌아오기는 대학교 수준의 프로그램으로도 가능하니 능력있는 위키러라면 한번쯤 만들어보아도 좋을 것이다.[11]

잘 찾아보면 RC 핼기에 로망캔들을 달아 멀리 날려 표적에게 폭죽을 날리는 것도 있고, 비행기에 고프로나 액션캠 등의 액션 캠코더, 혹은 비행기 크기가 어느정도 된다면 소니제 개인용 캠코더를 통째로 달아 지상관측도 한다. 이정도는 어렵지 않으니 해보고싶으면 해볼것. 그런데 이때까지 비행신고해서 ok 떨어졌다는 내용을 들은적이 없다. 혹시 사례를 아시는 분은 추가바람.

사족으로, DragonFly란 회사에서 나온 제품은 이상하게 절대로 자동운항이 되지 않는다.
  1. 이 데이터는 비행 중에 임의로 수정이 가능하다
  2. 일단은 자동이지만 ILS(계기착륙장치)는 공항에도 장비가 설치되어 주파수를 송신해야한다. 대형 공항은 대부분 장비를 필수적으로 갖추고있는데 지금은 사라진 홍콩카이탁 국제공항은 공항위치상(...) 장비가 없었다. 다만 IGS로 중간유도까진 된다.
  3. 스로틀에 달린 경우도 있고 딴 곳에 붙어있는 경우도 있다.
  4. 삼성 or LG 및 코헬러 프로페셔널 로봇 청소기는 엄격하게 자율주행과는 살짝 거리감이 있음. 그리고 iRobot 군수,민수용은 자율주행 안됨.
  5. 라지만 ARM 이 들어가는데, 어떤건 DSP를 따로 올리기도 한다.
  6. 및 착륙 보조
  7. k-nearest neighbor algorithm
  8. Fuzzy c-means clustering
  9. 폰에 들어가거나 RC 헬기에 있는 그것.
  10. 참고로 이거 많이 무겁다. 그래서 어느 정도 크기가 안되면 아예 달 생각을 말 것. 가격도 많이 비싸다. 천만단위에서 책정된다.
  11. A* 알고리즘과 선호도 알고리즘을 잘 활용하면 기본적인 경로배치 및 장애물 회피가 된다. 그런데 한국법이 법이라 비행기 날리려면 반드시 1) 공군, 2) 소방서, 3) 근처 공항 관제센터 및 정부에 비행신고를 하고 정부로부터 비행 허가를 받아야한다. 고무동력기도 무인동력기인지라 사실 신고없이 날리면 불법크리.