오토파일럿은(는) 여기로 연결됩니다.
미국 자동차 기업인 테슬라의 자율주행 기술에 대한 내용은
테슬라 오토파일럿 문서 참고하십시오.1. 개요
자동운항( 自 動 運 航, Autopilot)은 항공기를 인간의 조작 없이도 진로가 일정하게 유지되도록 제어해주는 장치 또는 체계를 말한다. 선박에 대해서도 보통 같은 용어를 사용하지만, 굳이 구분을 해야 할경우 '자동항해'같은 용어를 쓰기도 한다.좀더 범위를 넓혀 일반적인 교통수단에 대한 기술은 자율주행 이라고 부르는데, 해당 용어를 좁게 해석할 경우는 자동차에 대한 기술인 자율주행 자동차만을 의미하기도 한다.
2. 역사
비행기가 개발되고 난 직후에는 안전하게 날아다니기 위해 조종사가 항상 신경쓰고 있었어야 했는데, 이는 비행시간이 늘어날수록 심각한 피로의 누적을 가져오게 되었다. 이에 1912년 로렌스 스페리에 의하여 자이로스코프를 이용하여 조종사가 진로에 신경쓰지 않고도 똑바로 날 수 있도록 하는 오토파일럿이 최초 개발되었고, 1947년에는 미 공군의 C-53가 이착륙을 포함한 대서양 횡단을 오토파일럿의 제어 하에 할 수 있었다.선박의 경우엔 1920년대 초기에 스탠다드 오일의 유조선인 J.A 머펫이 최초로 자동항해를 한 배다.
1960년대에 개발된 아폴로 사령선과 달 착륙선은 FBW 및 디지털 자동조종 장치를 이용한 초기의 우주선 중 하나로, 모든 과정은 대부분 자동 운항을 통하여 이루어졌다. 이후로의 우주선들도 자동 운항을 탑재하여 실질적으로 승무원이 우주선을 조종하는 일은 거의 없다.
3. 일반 비행기
우리가 아는 항공기는 기장과 부기장이 직접 조종하는 것으로 아는데, 이것은 옛말. 물론 이륙시는 무조건 수동으로 조종하고, 착륙시에도 시야가 극악인 경우만 아니라면 무조건 수동착륙하며 적어도 500ft쯤에서는 오토파일럿을 끈다. 자동착륙도 쉬운 일이 아니며 자격증이 있어야 가능한 일이라… 공항별로 달라지기도 하고, 글라이드 슬롭 상황, 주변 지형, 기후의 영향도 받는다.기내 컴퓨터에(FMC라 한다) 비행할 항로, 순항 속도, 순항 고도 등을 입력하여 항로에 대한 데이터를 작성하고[1] 이륙 후 일정 고도에서 오토 파일럿 스위치를 작동시키면 기내 컴퓨터가 항법장치와 FMC 컴퓨터에 입력된 데이터를 토대로 조종간, 엔진 출력 등을 조절하여 목적지까지 비행한다.
생짜로 알아서 운항은 아직까지는 무리고, 중간중간 웨이포인트를 찍어주고 고도를 맞춰주거나 비행시 비행 안정성을 해치는 각종 상황에 대처하여 항공기 자체가 피드백을 해주는 등의 자동운항이 가능하다. 자동운항 모드로 맞춰놓고 운항중이라 하더라도, 기장과 부기장이 모두 자리를 비울 수는 없다. 3가지의 페일 세이프 시스템이 갖추어져있고 6 시그마(99.99966%의 사고 안날 확률)를 가지고 있지만, 갑자기 자동운항이 풀린다거나, 엔진이 갑자기 꺼진다거나 하는 등 아직 컴퓨터로 완전히 대처할 수 없는 부분도 있기에 항상 지켜볼 사람이 필요하기 때문이다.
그래도, 2명 모두 필요한 이/착륙 상황에 비하면 훨씬 여유롭게 되기 때문에, 오토파일럿모드를 켰을 때부터 기장과 부기장이 교대하면서 화장실이나 식사를 위한 휴식을 취할 수 있게 된다. 실제로 FAA나 ICAO의 감독/규제를 받는 항공사가 아니라면 자동운항 맞춰놓고 기장은 비즈니스석에 앉아서 쉬는 경우도 많다고 한다. 하지만, 항공 사고 관련해서 이런 자동화 시스템 혹은 기기의 경고 등을 '사람 판단으로' 무시하다 대형 사고를 내는 경우도 많다고 한다. 자동화 시스템을 믿었으면 사고가 안 났을 일도 많다.[2]
그런데 또 한편으로는 비행기에 아무도 없는데 자동운항만 맞추어져 있다면 저 혼자 멀쩡히 날아가는 것도 가능하긴 하다. 말 그대로 유령 비행기. 실제로 이에 얽힌 사고도 있다. 바로 헬리오스 항공 522편 추락 사고[3]와 1989년 폴란드 주둔 소련 공군 MiG-23 유령비행 사고[4]. 물론 이 경우는 정말로 아무도 없었다는 말은 아니지만 말이다.
항로 비행에서 착륙을 위한 접근(Approach)를 자동으로 비행하는 시스템이 있는데 이는 오토파일럿이 아니다. 이 시스템은 계기착륙장치나 MLS(마이크로파 착륙 시스템), DGPS(Differential GPS) 등을 탑재하여 고도 및 방위 정보를 수신하고 계산하여 오토파일럿이 로컬라이저와 글라이드 슬로프를 자동 계산, 비행하여 착륙 직전까지 도와주는 시스템이다. 이 단락의 기술된 부분에는 자동착륙시스템이라고 되어있는데 엄밀히 말해서 '착륙' 시스템은 아니다. 다만 조종사가 눈으로 보고 활주로에 착륙할 수 있는 위치까지 비행기가 자동으로 비행하는 것 뿐이지 착륙 자체는 조종사가 하게 되어있다. 인천국제공항에 적용된 ILS Cat 3 B 같은 경우에도 조종사가 활주로를 눈으로 확인해야 하는 DH(Decision Height)가 존재하여서 최종적으로는 조종사의 판단이 필요하다.[5][6]
다만 호버링 상황에서는 큰 판단이 필요 없어 자동으로 이착륙하는 자동운항장치들이 Mi-28NM 같은 신형 군용 헬리콥터에 적용되어 있다.
군용항공기에도 전투기, 폭격기 등에 장착된다. 이들 항공기도 경우에 따라서는 2시간, 3시간, 심지어 12시간이 넘는 장거리 임무를 뛰는 경우도 있기 때문이다. 물론 자동으로 비행만 할 뿐이지, 자동으로 싸워주지는 않는다.[7]
일부 특수 항공기들은 단순히 순항비행만 하는 것이 아니라 초저고도로 비행할 때 전방에 산이나 구릉지대가 있으면 알아서 고도를 조절하여 충돌을 막아주기까지 한다. 옛날에 비하면 최근에는 저고도에 각종 대공포/지대공 미사일들이 깔려있는데다 스텔스기가 점차 많아지다 보니 전투기, 폭격기들이 저고도 침투할일이 잘 없지만 그래도 임무에 따라서는 필요한 기능. 특히 앞이 잘 보이지 않는 악천후시나 야간에도 지형추적 레이더로 전방 상황을 파악하고 자동비행장치가 알아서 비행해준다. 저고도 비행하는 일이 많은 헬리콥터에도 최근에는 이런 자동비행 및 자동 저고도 비행기능이 추가되고 있다.
이런식으로 Auto-GCAS들은 지상이나 충돌 물체에 접근하면 자동운항장치가 조종사에게 경고하고 그래도 듣지 않으면 조종사에게 조종권한을 강제로 탈취해 고도를 변경하고 다시 조종사가 조종할 수 있도록 변경한다. 이런 체계는 F-35나 신형 F-16 등 최신 기종에 탑재되어 있다.
그러나 전투중에 오토파일럿이 조종사의 권한을 탈취하면 위험해질 수도 있기 때문에 해당 기능을 끌 수도 있다. 특히 전투기들은 서로 꼬리잡기를 통해 기동하면서 상대편을 지상에 격돌하는걸 유도하는 위험한 기동을 많이 하기 때문에 이러한 기동이 불가능해 질 수도 있다. 일부 밀덕들은 이게 불가능하다고 주장하나 걸프전에서 미군의 이라크군 격추의 3%가 이러한 지면충돌 유도였으며, 터키군와 그리스군처럼 서로 기총이나 미사일을 사용하다가 확전되는걸 피하는 경우에도 이런 지면충돌 유도 기동을 많이 사용한다.
반대로 자동운항장치가 비행기를 제어하는 도중에 스로틀이나 요크를 급하게 잡아당기면 컴퓨터가 긴급상황이 발생했다고 판단하고 자동운행장치가 자동으로 해제되어 조종사가 컨트롤 할 수도 있기도 한다. 이런 장치가 없어서 일어난 사고가 바로 에어버스 A320 시연회 추락사고. 반대로 이런식으로 자동으로 조종장치가 해제되었는데 조종사가 모르고 있다가 대처를 못해 추락한 사고가 이스턴 항공 401편 추락사고, 아에로플로트 593편 추락사고가 있다. 후자의 경우 이런 사고들 때문에 요즘은 해제 경고음이 도입되어 있다. 영어는 "Autopilot"이라 하며, 현 러시아의 모든 현역 고정익&회전익 항공기에 채용, 보급되어 가고 있는, 현용 GPWS를 포함하는 종합 음성경고 시스템인 <<RI-65 "리타">>[8]의 경우 "Отказ СДУ!" 라고 경고한다.
3.1. 보잉과 에어버스 여객기
B777의 MCP(Mode Control Panel)
보잉 여객기는 LNAV, VNAV, MCP, APP 모드 등으로 나눌 수 있다.
- LNAV는 Lateral NAVigation을 줄인 말로, FMC(Flight Management Computer)에 입력된 수평 항로를 따라간다. 즉, 헤딩 제어 담당.
- VNAV는 Vertical NAVigation을 줄인 말로, FMC에 입력된 속도와 고도를 따라 기체를 제어한다.
- MCP는 Mode Control Panel을 줄인 말로, 속도, 헤딩, 고도를 파일럿이 직접 입력해가며 기체를 제어한다.
- APP 모드는 착륙을 위한 어프로치 모드. VOR/LOC, APP 두 버튼을 누르면 활성화된다. VOR/LOC 버튼은 로컬라이저만 잡을 때 사용하며, APP 버튼은 계기착륙장치 접근시에는 로컬라이저와 글라이드 슬롭의 신호를 받으면 즉시 그 신호를 따라가게 하며, RNAV이나 VOR 등 비정밀 접근시에는 접근 경로를 더욱 정확하게 따라가게 한다.
- 속도 제어는 오토스로틀이 담당한다. 왼쪽의 A/T 스위치를 ARM 위치로 옮겨주면 오토스로틀이 활성화된다. 이때 오토스로틀이 직접적으로 속도를 제어하고 있다면[9] 스러스트 레버도 같이 움직인다. TO/GA 버튼[10]은 주로 스러스트 레버에 달려있으며, 빠르게 복행하기 위해 손이 닿기 쉬운 곳에 붙어있다.
대부분의 비행은 LNAV, VNAV으로 하고, 레이더벡터 관제를 받을 경우엔 MCP모드를 사용한다. MCP모드는 HDG SEL 버튼으로 헤딩을 직접 제어하며, ALT HLD 버튼으로 고도를 직접 제어한다. V/S 버튼을 사용하면 상/하강 속도를 직접 제어할 수 있다. 참고로 VNAV을 사용중이더라도 MCP에 입력된 고도가 낮을 경우엔 상승하지 않고, 높을 경우엔 하강하지 않는다. 즉 MCP에 입력된 고도가 VNAV의 제한 고도인 셈이다.
위는 에어버스 A320의 FCU(Flight Control Unit), 아래는 A330의 FCU[11]
에어버스 여객기는 컴퓨터에게 제어권을 맡기냐, 파일럿에게 제어권을 맡기냐 두가지 주 모드가 있고, LOC, EXPED, APPR 기능이 있다.
- 속도, 헤딩 노브는 누르면 MCDU((Multifunction Control and Display Unit))[12]에 입력된 속도/수평 방향대로 제어된다.
- 고도 노브는 밀면 MCDU의 고도 프로필대로 상승/하강하며, 당기면 MCDU의 고도 프로필을 무시하고 상승/하강한다. 이때, FCU에 입력된 고도는 상승/하강의 제한을 의미한다.[13]
- V/S 노브는 밀면 상승/하강을 멈추고 현재 고도를 유지한다. 당기면 수직 속도의 제어권이 파일럿에게 있으며, FCU에 입력된 고도값만큼 상승/하강한다. 당연히 입력된 수직속도대로 움직이며, MCDU의 고도 프로필은 무시된다.
- 오토스로틀은 스로틀 레버를 FLX[14]나 TO/GA[15]로 올리면 자동으로 활성화된다. 대신, ARM 상태, 즉 대기 상태로 되어있으므로 출력은 고정된다, 이륙 후 일정한 고도에서 레버를 CL 위치로 옮겨주면 오토스로틀이 완전히 활성화되어 속도 제어가 시작된다. 출력 감소부터 순항고도 도달까진 CLB출력, 즉 상승출력을 유지하고, 순항때는 SPD나 MACH 기능으로 속도를 유지하며, 하강시엔 IDLE 출력으로 하강한다. 스러스트 레버의 위치는 오토스로틀의 최대 출력을 의미한다. 스러스트 레버의 위치가 IDLE이라면 오토스로틀은 자동으로 꺼진다.[16] 엔진 2개가 모두 살아있다면 오토스로틀의 최대 출력은 CL[17]단계이며, 그 이상은 오토스로틀이 대기 상태로 들어가며, 수동 조작을 하게 된다. 다만, 엔진 하나가 죽었다면 오토스로틀은 MCT[18]단계가 최대 출력이 된다. 에어버스의 오토쓰로틀은 오토쓰러스트 기능이 있으며 이는 오토스로틀을 활성화하고 특정 구간에 레버를 밀어놓으면 컴퓨터가 상황에 따라서 엔진의 출력을 적절히 조절해준다.
- LOC 버튼은 보잉 항공기의 VOR/LOC 버튼과 같은 기능이며, APPR 버튼은 보잉 항공기의 APP 버튼과 같은 기능이다.
- EXPED 버튼은 FCU에 입력된 고도로 직상승/직하강을 한다. 다른 고도 변경 방식과 다른점은 상승시엔 상승 출력 고정+최저 속도 설정으로 빠르게 (expedited) 상승한다. 그리고 하강시엔 출력을 최대한 뺀 상태에서 최대 속도를 설정하여 빠르게 하강한다.[19]
- 한가운데에 떡하니 박혀있는 HDG V/S-TRK/FPA 버튼은 Visual 접근시 사용한다.
- FD(Flight Director)는 MCP에 설정된 모드대로 PFD(지시계)에 안내를 해준다. 수직선과 수평선이 있는데, 수직선은 좌우로 움직이며 기수 방향을 안내하고, 수평선은 상하로 움직이며 수직속도를 안내한다. 참고로 MCP에서 아무 모드도 활성화되지 않았으면 FD는 작동하지 않는다.
4. 무인기
UAV의 AutoFlight는 자동 착륙 시스템을 포함해서 비행기 전반의 모든 기능을 스스로 제어할 수 있도록 만들어진다. 이를 보고 자율운항이라고 하는데, 기원은 자율주행. 자율주행이 먼저 나온 개념으로, UGV와 같은 무인 지상기들의 이동시에 사람이 목적지, 경유지(WayPoint), 수집해야 할 데이터나 기타 주의해야 할 것에 대한 데이터만 집어넣으면 해당 작업(Mission) 을 알아서 수행하도록 하는 것이었다. iRobot 사에서 나오는 룸바와 같은 로봇 청소기[20]나 Argo 사의 한국지점인 Argo Korea에서 만드는 UGV 및 구글의 자동 주행 시스템 등이 이런 계열에 속한다. 그리고, 이게 항공기로 가면 자동운항 시스템.컴퓨팅 파워가 가장 중요한 시스템으로 생각되지만, 그건 제대로 된 물건에 한정이고, 일반적인 RC에서는 낮은 성능의[21] 주 처리 장치를 통해 비행기 전반을 제어하게 된다. 우리가 생각하는 일반 여객기의 기능 중 하나인 웨이포인트를 따라 자동으로 비행하기는 기본이고, 돌풍 시 자세유지 및 자동 회귀와 자동 착륙[22]도 된다. 당연하게도, UAV의 목적은 기본적으로 천리안이기에 데이터를 무선으로 쏴주기도 하며, 저가의 제품은 카메라에 OSD 형식으로 데이터를 띄워준다.
RC에 쓰이는 AutoFlight 모듈도 생각보다 엄청 복잡한데, 센서도 상당히 많아서 D-GPS,자이로스코프,가속도계,고도계,기압계,초음파 센서를 통해 주변 환경을 파악하는 가 하면, 내부로는 서멀 센서, 연료 센서 배터리 상태를 확인하거나 active 서보 모듈들을 모두 데이지 체인으로 연결해 서보 상태 점검 및 변속기와의 연결로 모터 점검과 주행중 발열상태, 전력소모상태, 추력, 회전속도들을 읽어들이게 된다. 물론 이 정도까지 오면 비싸고, 첫 문장의 D-GPS, 자이로, 가속도, 기압계 정도가 기본 셋트.
실질적으로 지령을 수행하기 위해선 좀 더 복잡한 알고리즘들이 필요하게 되는데, 대표적으로 쓰이는게 kNN[23], FCC[24] 같은 집합 추정 알고리즘으로, 대개 영상에서 들어온 패턴분석으로 DB 매칭을 통해 타겟을 골라낸다든지 현 위치를 잡는 등의 기타 여러 용도로 쓰는가 하면, 나중에는 HMM 모델링까지 들어간다. ARM으론 도저히 처리할 수 없는 마의 영역. 괜시리 제어컴퓨터가 무거워지는 게 아니었다. 이런 친구들은 센서도 더 좋아지는데, 전자의 스핀을 이용하는 자이로스코프 칩[25] 말고 진짜 MEMS 자이로스코프를 쓰고[26], 영상 관측장치도 N 모 회사나 S 모 사의 장치를 집어넣어서 해군 TOD는 그냥 발라버리는가 하면, 레이더를 장착하기도 하고 글로벌 호크를 보면 대략 얼마나 진화하는지 알 수 있을 듯하다. Radar Warning System도 올라간다.
기본적인 장애물 회피나 경로 추적 및 찍고 되돌아오기는 대학교 수준의 프로그램으로도 가능하다. 알고리즘과 선호도 알고리즘을 잘 활용하면 기본적인 경로배치 및 장애물 회피가 된다. RC 헬기에 로망캔들을 달아 멀리 날려 표적에게 폭죽을 날리는 것도 있고, 비행기에 고프로나 액션캠 등의 액션 캠코더, 혹은 비행기 크기가 어느 정도 된다면 소니제 개인용 캠코더를 통째로 달아 지상관측도 한다. 이 정도는 어렵지 않다.[27]
DragonFly란 회사에서 나온 제품은 이상하게 절대로 자동운항이 되지 않는다.
5. 참고 문서
[1]
이 데이터는 비행 중에 임의로 수정이 가능하다.
[2]
물론 반대로 아주 사소한 센서 하나의 고장으로 자동운항에 오류가 생겨 대참사가 발생하는 경우도 있다. 그 중 하나가
에어아시아 8501편 추락 사고. 자동운항을 너무 믿은 나머지 사람이 꼼꼼하게 체크를 안해서 생긴 결과다. 결국 사람/자동항법 둘은 상호보완적이라 없으면 안된다.
[3]
이 경우 비행 자체는 멀쩡히 됐지만 여압 장치 설정 실수로 인해 조종사를 포함하여 모두가 실신했고, 결국 도착지 상공에서 연료가 다하여 추락했다.
[4]
엔진고장으로 조종사가 탈출했는데 그 순간 엔진이 회복돼서 자동운항에 따라 전투기가 벨기에까지 스스로 가버렸다(...)
[5]
일단은 자동이지만 ILS와 MLS는 공항에 지상장비가 설치되어 주파수를 송신해야한다. 대형 공항은 대부분 장비를 필수적으로 갖추고있는데 지금은 사라진
홍콩의
카이탁 국제공항은 공항위치상 장비가 없었다. 다만 IGS로 중간유도까진 된다.
[6]
ILS Cat 2부터는 오토랜딩 횟수를 채워야 자격등급이 주어진다. 뿐만아니라
저시정에서 오토랜딩을
하도록 규정한
항공사도 있다.
[7]
다만
F-35나
Su-57,
라팔 등 신형 전투기들은 조종사에게 이런식으로 공격하라고 권고하는 기능이 탑재되어 있다.
[8]
화재 발생 시 단순히 "Пожар"라 하던 기존 시스템에서 발전하여 유압 장치와 같은 각 부품이나 구획별로 경고한다. 참고로, 이전 버전은 꽤 독특한 물건인데, "등록번호 ○○○○○번기, 화재!" 라며 화재 시 자기가 몇번기인지 알리는 기능이 있었다. 실제로,
소련 시절 일류신
Il-76 СССР-76569호기 사고 때 이 기능이 동작했으며 음성이 남아있다.
[9]
이륙, 상승, 순항, 하강, 접근시 오토스로틀 해제 직전까지 말이다.
[10]
이륙시 최대 출력을 내거나
복행시 사용한다.
[11]
보잉 기종은 MCP, 에어버스 기종은 FCU라고 한다. 이름만 다르지 하는 역할은 똑같다.
[12]
이것도
보잉과
맥도넬 더글라스 기종은 FMC,
에어버스 기종은 MCDU라고 하며 역할이 같다. MCDU쪽이 FMC보다 컬러풀하다
[13]
상승시 FCU에 6000피트가 입력돼있다면, 6000피트 이상으로 상승하지 않는다. 하강시 FCU에 6000피트가 입력돼있다면, 6000피트 이하로는 하강하지 않는다.
[14]
Flexible thrust. 이륙시 출력을 적절히 조정함으로서 엔진의 수명을 연장시켜준다.
[15]
Takeoff/Go-Around. 최대출력, 복행시 스러스트 레버를 이 위치로 올리면 자동으로 복행 절차가 시작된다.
[16]
오토스로틀을 끄는 방법은 3가지가 있으며, 첫번째는 FCU의 버튼을 눌러 끄는것, 두번째는 스러스트 레버를 0으로 내리는것, 세번째는 스러스트 레버 양쪽에 달린 버튼을 통해 끄는 것이다.
[17]
CLimb, 상승출력.
[18]
Max ConTinuous, 지속 가능한 최대 출력. 최대출력만 유지하면 엔진이 Flame out, 즉 멈출 가능성이 있다.
[19]
이해가 안되는 분들을 위해 설명하자면, 비행기는 상승시 속도가 설정된 프로필을 넘어서면, 수직 속도를 올려 설정된 속도를 유지하며 상승한다. 이때, 출력은 상승 출력으로 고정되므로 엔진 힘이 좋다면 수직속도가 4000ft/m 이상 나올 수도 있다.ㄷㄷ 하강시엔 출력을 IDLE상태, 즉 출력을 최대한 뺀 상태에서 하강한다. 이때 비행기의 속도는 하강하면서 붙는 속도에 의해 유지되며, 설정된 프로필에서 모자라면 하강속도를 높여 속도를 맞추고, 속도가 너무 빠르면 하강속도를 늦춰 속도를 맞춘다. 이때 설정된 고도 프로필을 따라가기 위해서 스피드 브레이크를 쓰는것이다.
[20]
삼성 or LG 및 코헬러 프로페셔널 로봇 청소기는 엄격하게 자율주행과는 살짝 거리감이 있음. 그리고
iRobot 군수, 민수용은 자율주행 안됨.
[21]
라지만 ARM 이 들어가는데, 어떤건
DSP를 따로 올리기도 한다.
[22]
및 착륙 보조.
[23]
k-nearest neighbor algorithm
[24]
Fuzzy c-means clustering
[25]
폰에 들어가거나 RC 헬기에 있는 그것이다.
[26]
많이 무겁다. 그래서 어느 정도 크기가 안되면 아예 달 생각을 말 것. 가격도 많이 비싸다. 천만단위에서 책정된다.
[27]
한국의 법적 문제로 인해 비행기 날리려면 반드시 1) 공군, 2) 소방서, 3) 근처 공항 관제센터 및 정부에 비행신고를 하고 정부로부터 비행 허가를 받아야한다. 고무동력기도 무인동력기인지라 사실 신고없이 날리면 불법이다. 그런데 이때까지 비행신고해서 OK 떨어졌다는 내용을 들은 적이 없다.