사이언스로봇
 
     
   
     
     
     
     
     
     
     
뉴스&공지

로봇테크&사이언스_무인기와 안전성

페이지 정보

작성자 실장 작성일14-12-20 10:49 조회3,817회 댓글0건

본문

무인기와 안전성


다중화를 통한 무인기 안전성 보장 소프트웨어 프레임워크

 

(UAV SW Framework for Dependable Redundancy Provision)

 

글 _ 김철기 _ 항공대 항공전자 및 정보통신공학부 교수


최근 드론이라고 불리는 무인기가 많은 관심을 끌고 있다. 인터넷쇼핑몰인 아마존이 택배를 드론으로 하기 위한 제반 준비를 하고 있고, 구글도 드론택배 시험을 성공적으로 마쳤다. 독일의 DHL은 외딴섬에 의약품을 드론으로 배송하기도 하였다. 이렇듯 드론의 상용화를 통해 우리의 하늘은 이제 곧 드론이 지배할 날이 멀지 않았지만, 아직도 각국은 드론의 상용화에 난색을 표하고 있다. 법적, 윤리적 문제를 포함해 여러 가지 이유가 있겠지만, 가장 큰 이유는 아무래도 안전성에 가장 큰 요인이 있다. 이에 본고는 항공대학교 드론의 안정성의 권위자인 김철기교수의 한국연구재단 신진연구자지원사업으로 진행중인 드론의 안정성에 관한 연구 제안서를 정리하여 공개한 원고로, 드론의 안정성에 대한 중요한 내용들을 총망라하고 있어 이 지면을 빌어 공개한다. 지면관계상 구체적인 연구방법은 제외했고, 인용된 자료출처도 기재하지 않았다.[편집자]

 

14163754875286.jpg

 

드론안전성 연구의 필요성

 

과거 기계적 장치나 전자제어장치에 의존했던 비행기, 자동차, 의료, 발전 및 전력 통제 시스템과 같은 물리적 대상에 대한 제어시스템들이 점점 소프트웨어에 의한 통제 시스템으로 진화해 가고 있으며 소프트웨어의 크기와 복잡도도 점점 늘어나고 있다.
물리적 대상에 대한 제어 시스템은 다른 소프트웨어 시스템과는 구별되는 다음과 같은 특성을 갖는다. 첫째, 실시간성, 둘째, 높은 신뢰성 및 안전성 셋째, 기계, 전기 시스템과 연동된 제어 시스템 특성 등이다.
최근에 이러한 비행기, 자동차 시스템과 같은 물리적 대상에 대한 제어 시스템에 지능적인 요소를 더하여 스마트 시스템을 지향하는 추세에 있으며 이를 사이버-물리 시스템 (CPS; Cyber-Physical System)이라고 부른다.
스마트 시스템을 추구하는 현상은 단순히 제어 시스템 뿐 아니라 사회 전반적으로 이루어지는 패라다임의 변화로서 다음과 같은 예에서 그 변화를 살펴볼 수 있다.
    ① 휴대전화 → 스마트폰   
    ② 아날로그 TV → 스마트 디지털 3D TV    ③ 일반 송전 시스템 → 스마트 그리드
    ④ 일반 승용차 → 자동 운전 스마트 자동차

사이버-물리 시스템에 대한 중요성은 미국의 NSF(National Science Foundation)에서 주창되었으며, 현재도 주요 연구분야로 지정하여 집중 육성하고 있다.
무인기 시스템은 가장 대표적인  사이버-물리 시스템의 하나로, 조종사가 없이 비행을 수행해야 하기 때문에 모든 상황에 대비한 지능화 소프트웨어에 의하여 조종되어야 한다. 따라서 시스템의 제어는 대부분 소프트웨어에 의하여 이루어진다. Northrop Grumman, Market Info Group 등에서 예측한 바에 따르면 향후 5년간 무인기 시장의 규모는 1.5배에서 2배 가량 증가할 것으로 보고 있다. COTS Journal의 무인기 시장 예상은 [그림1]에 나타나 있다.
특히 민수용 UAV 시장이 활성화 될 것으로 예상되고 있다. 그 예로 구글은 생태계 희귀 생물 모니터링을 위한 UAV 설계에 5백만불을 투자하였으며, 피자 배달에 무인기를 상용화하는 4천만불 기반의 연구가 시작되는 등 다양한 민간 분야에서 무인기를 활용하려는 노력이 계속되고 있다.

 

14163754900658.jpg

그림1. 무인기 시장 전망 (COTS Journal [2])

 

F-35 전투기의 소프트웨어는 2천4백만 줄 정도의 크기를 갖는 것으로 추산되고 있는데, 1997년 양산이 시작되었으나 상위 기종인 F-22의 3배 정도에 해당하는 것으로 알려져 있다.
유인항공기에서도 소프트웨어 비중은 크게 증가되었다. 유인 항공기는 1972년 F-8C 크루세이더의 테스트베드에서 디지털 Fly-by-wire 시스템이 처음 실현된 이래 소프트웨어는 항공기 제어에서 기계적/전기적 제어 장치를 빠르게 대치하였다.
그리하여 소프트웨어는 세밀하고 안정적인 제어를 가능하게 하며 비선형적이고 복잡한 제어표면의 구현을 가능하게 하여 항공기의 안전성을 비약적으로 향상시켰다. 예를 들어, 최초의 스텔스 전투기인 F-117의 경우 스텔스 특성을 확보하기 위하여 곡면을 배재한 다면체 형의 비일상적 형상을 띄고 있는데, 소프트웨어는 이러한 비행체의 세밀한 제어를 가능하게 한 원동력이었다.
2014년 현재 개발의 막바지 단계에 있는 F-35 전투기의 소프트웨어는 2천4백만 줄 정도의 크기를 갖는 것으로 추산되고 있는데, 1997년 양산이 시작되었으나 상위 기종인 F-22의 3배 정도에 해당하는 것으로 알려져 있다.
자동차 시스템에서의 소프트웨어도 마찬가지이다. 이 연구가 특히 사이버-물리 시스템 연구가 활용될 수 있는 1차적인 관련 분야로 스마트 자동차 분야를 꼽을 수 있다. 자동차의 경우, GM이 1977년 올즈모빌 토로나도 모델의 엔진 실린더 스파크 제어 시스템에 마이크로 컨트롤러 기반의 ECU를 채용한 이후, 1981년 5만 줄 가량의 엔진제어 소프트웨어를 양산모델에 최초로 적용하였다.
이 후 SW는 빠르게 그 비중을 늘려 갔으며, 2009년 자료에 따르면, 최고급 자동차의 경우 약 1억 줄의 소프트웨어가 70~100개 정도의 전자 제어 장치 (ECU)를 제어하는 것으로 추산 된다. 항공기 업계에 비하여 상대적으로 안전성 측면에서 덜 보수적인 자동차 업계가 훨씬 빠른 속도로 소프트웨어의 비중을 늘려가고 있다.
특히 근래에는 자동 주차 시스템을 필두로, 충돌방지 시스템과 같이 소프트웨어에 기반 한 안전 관련 스마트 제어 기능들이 속속 탑재, 상용화 되고 있다. 아우디, 닛산, GM, 메르세데츠 벤츠, 볼보와 같은 다수의 자동차 제조업체들이 충돌 방지를 위한 제어 시스템을 탑재하고 있다.
더 나아가, Google에서는 2012년 자동운전 자동차를 개발하여 미국 네바다 주에서 합법적인 운행을 수행 중에 있다. 자동차 소프트웨어 증가 추이를 살펴보면 추가되는 기능들의 많은 수가 시스템의 안전성과 관련된 기능임을 알 수 있다.

이 외에도 의료기기 시스템은 최근 들어 잦은 의료 사고가 사회 문제로 대두되면서, 의료기기를 네트워크로 연결하고, 기기간의 상호 작용을 자동화된 소프트웨어에 의하여 관리, 사고를 예방하도록 하는 시스템을 도입 중에 있다.
스마트 그리드 시스템분야도, 이산화탄소에 의한 지구 온난화 문제 및 화석 연료의 고갈로 인한 에너지 가격의 상승으로 인하여 스마트 그리드라고 하는 지능형 전기 에너지 분산 관리 시스템이 미국과 유럽 등지에 속속 도입되고 있다. 스마트 그리드에서 가장 중요한 이슈는 문제 인지 (fault detection), 자가 치료 (self healing), 및 문제의 고립화 (fault isolation)와 같은 안전성 이슈이다.

 

무인기 관련 사고

 

미 국방성은 무인기에 의한 인명, 비행체의 사고 횟수가 유인기에 비해 50배 많다고 발표했다. 일례로 2013년 11월 미 해군의 무인기가 미군 순양함에 충돌하여 순양함이 회항하게 만들었으며 (그림 2-가), 이는 미군 무인기 사고로 동일한 주에 두 번째로 발생한 사고였으며 원인은 규명되지 않았다. 2010년에는 미 해군의 회전익 무인기가 이유를 알 수 없는 제어 불능 상태에서 워싱턴의 비행 금지구역을 침범하여 어쩔 수 없이 요격하여 추락시킨 상황이 발생하기도 하였다. 계속되는 안전 사고로 인하여 조종사 집단들은 무인기의 상용화 속도를 늦춰야 한다는 주장을 꾸준히 제기하고 있다.

 

14163754929334.jpg

[그림2] 사이버-물리 시스템 사고 사례

 

14163758734078.jpg

14163760803338.jpg

(가) 무인기 순양함 충돌 사고

(나) ESA Ariane-5 폭발사고

14163760762337.jpg

14163761617084.jpg

(다) 토요타 프리우스 소프트웨어 리콜

(라) 북미 동북부 정전 사고구역

 

 항공우주 사고와 소프트웨어
2005년 8월 1일 보잉 777-200을 사용하는 말레이시아 항공 124기는 38,000 피트 상공에서 항공 데이터 타력 참고장치 (ADIRU; Air Data Inertial Reference Unit)의 오류가 발생하여 잘못된 비행 상태를 초래하였다. 비행기는 41,000 피트 상공까지 치솟은 후 스톨 경고가 발동되었다. 조종사가 이중화된 자동항법장치 각각을 사용하였으나 모두 잘못된 비행을 수행하여 수동으로 회항하는 사고가 발생하였다. 본 사고는 잘못된 가속도계의 데이터를 항공데이터 타력 참고장치의 소프트웨어가 읽어 들여 사용함으로 발생한 것으로 밝혀졌으며, 이후 소프트웨어는 수정되었다.
1996년 Ariane 5 폭발 사고: 1996년 6월 유럽 항공국 (ESA)에서 발사한 Ariane 5 로켓이 발사한 지 60분만에 공중에서 폭발하는 사고가 발생하였다(그림 2-나). 원인은 Ariane 4에서 그대로 가져다 쓴 관성 기준장치 소프트웨어였다. Ariane 5는 Ariane 4보다 더 큰 출력을 가지도록 설계되었으나 관성 기준장치에는 이러한 차이가 반영되지 않았다. 해당 시스템에서는 수평 가속도 값이 16-bit 정수형으로 표현되었는데, Ariane 4에서는 수평가속도의 한계치가 16-bit 정수형의 안쪽에서 형성되었으나 Ariane 5에서는 이를 벗어나 정수형 overflow를 발생시켰으며, 해당 오류는 로켓의 자동 폭발을 유도하였다.
F-22 추락사고: 1992년 4월 F-22 전투기가 에드워드 공군기지에서 착륙 도중 추락하였다. 사고의 원인은 보안상 정확히 알려져 있지는 않으나 비행 제어 소프트웨어의 결함이 그 원인인 것으로 밝혀졌다.

 

자동차 사고와 소프트웨어
자동차는 항공기의 소프트웨어 검증 규약인 DO-178B와 같은 엄격한 소프트웨어 인증 절차를 거치지 않기 때문에 항공기에 비하여 훨씬 더 소프트웨어 결함에 취약한 상태에 놓여 있다.
토요타 프리우스 리콜 사태: 2014년 2월 트렌지스터에 과부하를 발생시켜 전등이 나가거나, 구동력을 저하시키거나 자동차를 멈추게 할 수 있는 소프트웨어 버그로 190만대의 프리우스를 리콜하였다 (그림 2-다). 프리우스는 2005년 자동차를 제어불능 상태에 빠뜨릴 수 있는 소프트웨어 결함으로 16만대의 프리우스 하이브리드 자동차를 자발적으로 리콜한 이후, 소프트웨어 버그로 인한 계속적인 리콜이 진행 중이다.
크라이슬러 리콜 사태: 2008년 5월 크라이슬러는 약 24,000대의 지프 코맨더 모델을 자동변속기 소프트웨어 결함으로 리콜하였다.
폭스바겐 리콜 사태: 폭스바겐은 에어컨을 켤 경우 엔진 RPM이 갑자기 높아지는 소프트웨어 문제로 자사의 2008년 파사트 승용차와 티구안 SUV를 리콜하였다.
GM 캐딜락 리콜: GM은 조수석 에어백이 오작동되는 관련 소프트웨어 결함으로 12,000대의 2009년 캐딜락 승용차를 리콜한 바 있다.

 

기타 소프트웨어 문제에서 기인한 사이버-물리 시스템 안전사고 사례
Therac-25 방사능 치료기기 사고: 1983 ~ 85년에 걸쳐 발생한 의료사고로 방사능 치료기기인 Therac 25 장비의 소프트웨어 결함이 기존에는 하드웨어 안전장치에 의하여 숨겨져 있다가, 비용 절감을 이유로 하드웨어 안전장치를 제거하면서 실제 문제로 표면화된 사건이었다. 3명이 사망하고 3명이 방사능 후유 장애를 가지게 되었다. 하드웨어와 소프트웨어 간의 인터페이스가 안전성을 보장하는 데에 얼마나 중요한지를 보여주는 대표적인 사례라 할 수 있다.
2003년 북미 동북부 정전사고: 2003년 미국과 캐나다 동북부 지역에서 광범위하게 발생한 정전사태 (그림 2-라)는 경보 시스템 소프트웨어의 결함이 이벤트 큐의 넘침 현상을 야기하여, 서버의 실패, 결과적으로 광범위한 전력 시스템 마비를 불러 일으켰다. 이는 적절하게 모니터링되지 않은 하나의 결함이 전체 시스템으로 번지는 사례를 대표적으로 보여 준다.


소프트웨어 다중화 프레임워크 연구의 필요성

 

사이버-물리 시스템을 위한 안전우선 소프트웨어 다중화 프레임워크의 필요성
다중화는 시스템의 신뢰성을 제공하는 가장 기본적인 방법론 중의 하나이다. 실제로 항공기의 많은 기능들은 다중화를 통하여 신뢰성을 향상시킨다. 예를 들어, 항공기 한 대에 기장과 부기장이 함께 탑승하는 것이나, 민항기의 경우 엔진이 2개 이상인 이유는 모두 하나의 단위에 문제가 생겼을 때 부분적으로라도 남아 있는 단위가 전체시스템이 실패하지 않을 수 있도록 기능을 유지하도록 하기 위함이다.
항공기 컴퓨터 시스템의 경우도 다중화를 통한 신뢰성 향상이 일반적으로 사용된다. 예를 들어, PPC 750GX와 같이 항공기에 사용되는 고신뢰성 프로세서의 경우 프로세서의 삼중화에 기반한 투표 시스템이 가능하도록 설계하여 다중화에 의한 오류 감내 구조를 지원한다. F-35 전투기의 경우 48대의 컴퓨터가 삼중화를 통하여 연산기능을 다중화 시키는 것으로 알려져 있다.
하지만, 소프트웨어의 다중화가 곧바로 시스템의 안전성을 보장하지는 않는다. 보잉 777-200에서 발생한 말레이시아 항공의 가속도 센서 관련 항공기 사고의 경우가 이에 대한 한 가지 예라고 할 수 있다. 이 시스템에는 실제로 7중화된 가속도 센서가 장착되어 있었으나 가속도기의 오작동 시 이에 대한 처리 방법이 잘못 구현되어 있었기 때문에 이와 같은 사고가 발생하였다.
사이버-물리 시스템에서는 연산 단위 뿐 아니라, 센서나 구동기 같은 물리적 장치도 함께 다중화된다. 이러한 물리적 장치의 오작동은 연산 프로세스의 오작동과는 다른 접근이 필요하다. 보잉 777-200의 가속도 센서 오류도 물리적 장치 다중화를 적절히 처리하지 못한 문제라 할 수 있다.
이와 같이, 소프트웨어는 소프트웨어 자신을 포함한 다중화된 시스템에 대한 총괄적인 교통정리를 수행할 필요가 있다. 예를 들어, 서로 다른 제어 출력이 발생한 경우 어떠한 단위의 출력을 사용할 것인지, 오동작한 단위가 존재하는지, 만일 그렇다면 어떻게 오동작한 단위를 처리할 것인지에 대한 판단이 필요하다.
현재 사이버-물리 시스템에서는 이러한 교통정리를 개개의 응용 프로그램 구현에 의존하는 것이 현실이며, 다중화에 의하여 증가된 복잡도는 그대로 소프트웨어의 안전성을 위협하는 새로운 요소로 작용하게 된다. 따라서 이중화 혹은 삼중화를 채용한 사이버-물리 시스템이라 할지라도, 얼마나 정밀하게 구현했는지에 따라서 보잉 777-200 사고의 경우와 같이 제 역할을 해내지 못하는 경우가 많이 있다.
또한, 다중화 소프트웨어 설계는 다중화 시스템의 특성산 분산 소프트웨어의 형태를 가져야 하기 때문에 단일 프로세스 혹은 계층화된 시스템에 비하여 현저히 높은 복잡도를 갖는다. 특히 전체 시스템을 조율해야 하는 관리자 프로세스 역시 다중화에 의한 분산 소프트웨어 간의 협업의 형태를 가져야 하기 때문에, 시스템의 복잡도가 비약적으로 증가된다.

 

사이버 물리 시스템의 프레임워크화, 정형화는 시스템의 복잡도를 낮추는 주요한 방법론
항공 소프트웨어의 IMA (Integrated Modular Avionics): 소프트웨어를 위험도 (Criticality) 별로 구분하여 가상기계에 나누어 격리함으로써 낮은 위험도를 가지는 소프트웨어의 결함이 높은 위험도를 가지는 시스템으로 전파되지 않도록 한다.
자동차 제어 시스템의 CAN (Control Ara Network) 및 AUTOSAR: CAN의 차량 내 ECU 간의 네트워크 표준으로 정확히 말하면 소프트웨어 프레임워크라고 볼 수는 없으나, ECU 네트워크를 표준화함으로써 자동차 내부 전장 시스템의 복잡도를 낮춘 것으로 평가 받는다. AUTOSAR는 전장 시스템의 기능별 추상화 표준으로 차량 내 분산된 전장 기능의 관계를 통일된 추상화 프레임워크 하에서 관리되도록 제안되어 있다. 그림 3은 차량 내 제어 시스템의 복잡도 변화 추이를 그린 것으로 CAN이나 차세대 프레임워크가 복잡도 저하에 얼마 간의 영향을 주는지 간접적으로 보여준다.
결론적으로, 사이버-물리 시스템의 다중화 소프트웨어의 복잡도를 시스템 적으로 경감시켜 줄 방법론 및 소프트웨어 프레임워크가 필요성은 상당히 높다 할 수 있다.

14163758867688.jpg

[그림3] 자동차 시스템 복잡도의 진화 추이 [20]

 

무인기 소프트웨어 다중화 연구의 필요성

 

그동안 사이버-물리 시스템에 대한 연구는 구체적인 대상이 없이 추상화된 연구를 진행할 경우, 실제 시스템의 특성을 반영하지 못한 연구로 마치는 경우가 많다. 따라서 본 연구는 사이버-물리 시스템의 프레임워크에 관한 연구를 진행함과 동시에 구체적 플랫폼을 설정하였다.
멀티콥터 무인기는 비행 안정성 보장을 위하여 상당히 세밀한 제어가 필요하다. 따라서 결함 주입 상황에서 다중화에 의한 안정적 비행이 가능함을 보일 경우 이는 사이버-물리 시스템 다중화 프레임워크의 효용성 검증에 직접적으로 사용될 수 있다.
소형 무인기는 탑재 하중 및 비용의 제한으로 인하여, 사용할 수 있는 자원의 제약이 많다. 따라서 시중에 판매하는 소형 멀티콥터들은 다중화 기술을 채용하지 않고 있다. 이러한 탑재 하중 제약의 한계를 바탕으로 다중화를 구현하는 것은 기술적인 의미가 크다. 예를 들어, 소형 무인기에서는 이중화를 초과하는 다중화가 어려울 뿐만 아니라 다중화에 특화된 기재의 사용이 어렵다.

댓글목록

등록된 댓글이 없습니다.