민간 드론의 활용범위가 취미, 영화촬영, 시설감시 등과 같이 다양해짐에 따라서 응용 분야의 요구사항에 맞게 소프트웨어를 안정적으로 재구성할 수 있는 기술에 대한 요구가 높아지고 있다. 항공전자 시스템의 소프트웨어 통합을 안정적으로 제공하기 위해서 ARINC 653 표준이 제안되어 현재 유인 항공기를 중심으로 적용되고 있다. 따라서 ARINC 653을 민간 드론에도 활용하는 것을 고려할 수 있다. 하지만 지금까지 ARINC 653을 구현하기 위한 다양한 연구가 진행되었으나, 다양한 플랫폼을 사용하고 응용 분야가 넓은 민간 드론에 적용되기 위해서는 추가로 고려되어야 하는 요구사항들이 존재한다. 본 논문에서는 이러한 사항들을 고려해서 이식성과 확장성이 높은 ARINC 653을 구현하고 그 성능을 분석한다. 이식성을 위해 OS추상화 계층을 제공하여 운영체제에 대한 의존성을 낮추고 파티션 스케줄러 등의 기능을 확장할 수 있는 구조를 제공한다.
민간 드론의 활용범위가 취미, 영화촬영, 시설감시 등과 같이 다양해짐에 따라서 응용 분야의 요구사항에 맞게 소프트웨어를 안정적으로 재구성할 수 있는 기술에 대한 요구가 높아지고 있다. 항공전자 시스템의 소프트웨어 통합을 안정적으로 제공하기 위해서 ARINC 653 표준이 제안되어 현재 유인 항공기를 중심으로 적용되고 있다. 따라서 ARINC 653을 민간 드론에도 활용하는 것을 고려할 수 있다. 하지만 지금까지 ARINC 653을 구현하기 위한 다양한 연구가 진행되었으나, 다양한 플랫폼을 사용하고 응용 분야가 넓은 민간 드론에 적용되기 위해서는 추가로 고려되어야 하는 요구사항들이 존재한다. 본 논문에서는 이러한 사항들을 고려해서 이식성과 확장성이 높은 ARINC 653을 구현하고 그 성능을 분석한다. 이식성을 위해 OS 추상화 계층을 제공하여 운영체제에 대한 의존성을 낮추고 파티션 스케줄러 등의 기능을 확장할 수 있는 구조를 제공한다.
With the various usage of civil drones, such as hobby, filmmaking and surveillance, the need for technology that safely reconstructs software for target application domains has been increasingly rising. In order to support a reliable software integration of avionic systems, the ARINC 653 standard ha...
With the various usage of civil drones, such as hobby, filmmaking and surveillance, the need for technology that safely reconstructs software for target application domains has been increasingly rising. In order to support a reliable software integration of avionic systems, the ARINC 653 standard has been proposed and adapted mainly on manned aircrafts. Therefore, applying ARINC 653 on civil drones could be desirable. Though, various researches on implementing ARINC 653 has been conducted, there are still additional requirements to apply ARINC 653 to civil drones that use various platforms and have a wide range of use. In this paper, taking account of these requirements, we implement a portable and extensible ARINC 653 and analyze its performance. We offer the portability with the OS abstraction layer that reduces dependency on a specific operating system, and provide the design that can extend internal functions, such as partition scheduler and process scheduler.
With the various usage of civil drones, such as hobby, filmmaking and surveillance, the need for technology that safely reconstructs software for target application domains has been increasingly rising. In order to support a reliable software integration of avionic systems, the ARINC 653 standard has been proposed and adapted mainly on manned aircrafts. Therefore, applying ARINC 653 on civil drones could be desirable. Though, various researches on implementing ARINC 653 has been conducted, there are still additional requirements to apply ARINC 653 to civil drones that use various platforms and have a wide range of use. In this paper, taking account of these requirements, we implement a portable and extensible ARINC 653 and analyze its performance. We offer the portability with the OS abstraction layer that reduces dependency on a specific operating system, and provide the design that can extend internal functions, such as partition scheduler and process scheduler.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 이러한 사항들을 고려해서 이식성과 확장성이 높은 ARINC 653을 구현하고, 그 성능을 분석한다.
본 연구에서는 ARINC 653을 지원하기 위한 이식성 및 확장성을 제공하는 구조를 설계 및 개발하여 운영체제에 대한 의존성 없이 구동되는 ARINC 653을 제안하였다. 또한 성능측정을 통하여 APEX의 낮은 오버헤드를 확인하였다.
또한 드론의 종류와 목적이 다양해지고 부가기능이 많아지면서 소프트웨어 기능 또한 증가함하고 있다. 본 연구에서는 드론에서 다양한 운영체제에 ARINC 653을 지원하도록 운영체제의 의존성을 제거하고 이식성과 확장 가능한 구조를 제안한다. 본 연구에서 제안하는 구조는 소량 다품종으로 생산되는 드론에서 다양한 운영체제를 기반으로 ARINC 653을 지원하고, 여러 시스템 환경에 맞게 소프트웨어를 쉽게 구현할 수 있는 장점을 가진다.
제안 방법
현재는 APM에서 제공하는 오픈소스 소프트웨어를 분석하여 소프트웨어를 구성하고 있는 프로세스들을 서로의 의존도와 기능에 따라 파티셔닝을 진행하고 있다. 각 파티션이 사용하는 센서 및 디바이스의 진동수를 이용하여 파티션의 주기를 파악하고, WCET(Worst-Case Execution Time)을 측정하여 파티션의 실행시간을 분석할 예정이다. 그리고 분석된 파티션의 주기와 실행시간을 이용하여 스케줄링 가능성 또한 분석할 것이다.
와 본 논문에서 제안한 구조의 파티션 전환 오버헤드를 비교한 그래프이다. 두 개의 파티션에 각각 4개의 프로세스와 1개의 프로세스를 할당하고 성능측정을 하였다. 실험결과 기존 구조보다 3배 정도의 성능 향상을 보인다.
본 연구에서는 ARINC 653을 지원하기 위한 이식성 및 확장성을 제공하는 구조를 설계 및 개발하여 운영체제에 대한 의존성 없이 구동되는 ARINC 653을 제안하였다. 또한 성능측정을 통하여 APEX의 낮은 오버헤드를 확인하였다. 향후 계획으로는 본 논문에서 제안한 구조를 소형 드론에 적용하여 비행을 수행하고자 한다.
본 장에서는 논문에서 제안한 ARINC 653 구현 구조를 구현하고 실험을 통해 스케줄링 성능 및 ARINC 653 APEX의 성능을 측정한다. 대상 운영체제는 Ubuntu 10.
Ⅲ장에서는 민간 드론에 적용되기에 적합한 ARINC 653 구현 구조를 제안한다. 제안된 구조는 이식성과 확장성을 극대화할 수 있도록 설계된다. Ⅳ장에서는 구현된 ARINC 653의 성능을 측정하고, 실제 드론에 적용하기 위한 계획을 설명한다.
대상 데이터
ARINC 653 표준을 따르는 Win driver의 VxWorks 653은 보잉 787 드림라이너를 포함한 40가지 이상의 기체에서 180개 이상의 서브시스템에 적용되어 사용되고 있다[1]. GreenHills의 Integrety-178B는 미국의 전폭기인 JSF(Joint Strike Fighter)에 사용되었고[2] LynuxWorks의 LynxOS-178와 LynxOS-SERTOS 등은 보잉 777기에 사용되었다[3]. 하지만 이러한 ARINC 653 구현들 또한 운영체제 의존적이며 대형 또는 유인 항공기 관점에서 다루고 있다.
본 장에서는 논문에서 제안한 ARINC 653 구현 구조를 구현하고 실험을 통해 스케줄링 성능 및 ARINC 653 APEX의 성능을 측정한다. 대상 운영체제는 Ubuntu 10.04를 사용하였고, 커널 버전은 2.6.32이다. 실험장비는 Intel Mobile 1.
성능/효과
그림 5는 파티션이 전환될 때의 오버헤드를 측정한 것이다. 두 개의 파티션을 두고 각 파티션에 들어가는 프로세스의 개수를 다르게 하여 측정한 결과 프로세스의 개수가 증가할수록 오버헤드가 증가한다. 파티션이 전환될 때, 기존 파티션의 상태 값과 스케줄된 파티션의 상태 값을 변경해준다.
해당 계층은 여러 가지 범용운영체제와 RTOS를 수용할 수 있도록 설계되었다. 또한 다양한 스케줄링 알고리즘을 플러그인할 수 있는 구조를 제공하여 응용 분야에 따른 실시간 요구사항을 효율적으로 수용할 수 있도록 하였다. 성능측정 결과, 구현된 ARINC 653은 이식성과 확장성을 제공함에도 불구하고 적은 오버헤드와 낮은 지터를 보임을 확인할 수 있다.
본 연구에서는 드론에서 다양한 운영체제에 ARINC 653을 지원하도록 운영체제의 의존성을 제거하고 이식성과 확장 가능한 구조를 제안한다. 본 연구에서 제안하는 구조는 소량 다품종으로 생산되는 드론에서 다양한 운영체제를 기반으로 ARINC 653을 지원하고, 여러 시스템 환경에 맞게 소프트웨어를 쉽게 구현할 수 있는 장점을 가진다.
성능측정 결과, 구현된 ARINC 653은 이식성과 확장성을 제공함에도 불구하고 적은 오버헤드와 낮은 지터를 보임을 확인할 수 있다.
두 개의 파티션에 각각 4개의 프로세스와 1개의 프로세스를 할당하고 성능측정을 하였다. 실험결과 기존 구조보다 3배 정도의 성능 향상을 보인다.
CREATE_PROCESS는 OS 추상화 계층의 함수들 을 연속적으로 호출하기 때문에 비교적 큰 오버헤드를 보이고 있다. 제안된 ARINC 653에서는 실제로 프로세스를 생성하는 시스템콜을 CREATE_PROCESS 내부에서 호출하는 반면 기존 논문에서는 파티션 별로 초기화 시점에 호출하고, CREATE_PROCESS에서는 단순히 자료구조를 변경하는 기능을 수행하여 성능차이가 있음을 볼 수 있다. 하지만 일반적으로 프로세스들은 초기화 단계에서 대부분 생성되기 때문에 런타임 오버헤드를 증가시키는 원인은 아니다.
1의 OS 추상화 계층 라이브러리를 이용한 파티션 스케줄러의 스케줄링 동작 과정을 나타낸다. 제안된 구조는 파티션 스케줄링 기법을 설정할 수 있도록 파티션 스케줄러를 모듈화하여 확장성을 높였다. 현재 구현에서는 RM(Rate Monotonic) 스케줄링과 EDF(Earliest Deadline First) 스케줄링을 제공하며 다른 파티션 스케줄링 기법을 구현하여 추가할 수 있다.
프로세스는 할당된 스케줄링 정책에 따라 주기적인 프로세스와 비주기적인 프로세스를 가질 수 있다. 제안된 구조에서는 프로세스 스케줄링 기법을 설정할 수 있도록 모듈화하여 확장성을 높였다. 프로세스 스케줄러에는 사용자가 정의한 스케줄러를 사용할 수 있으며, 운영체제에서 제공하는 스케줄러도 사용할 수 있다.
표 3은 APEX의 실행시간의 평균과 편차를 나타낸다. 표 3에서 볼 수 있듯이 본 논문에서 구현된 ARINC 653 APEX는 이식성과 확장성을 위해 계층적 구조를 갖고 있음에도 불구하고 낮은 오버헤드를 보여주고 있다. GET_MY_ID, GET_PARTITION_STATUS, GET_PROCESS_STATUS, 그리고 SET_PARTITION_MODE는 사용자 레벨에서 저장된 자료구조에만 접근하기 때문에 낮은 오버헤드를 보인다.
후속연구
그리고 분석된 파티션의 주기와 실행시간을 이용하여 스케줄링 가능성 또한 분석할 것이다. 그 다음 분석된 내용을 이식성과 확장성을 위한 ARINC 653에 적용하여 비행시험을 수행할 계획이다.
그림 7과 같이 Elre-brain사의 보드를 이용하여 드론을 조립했고 APM(ArduPilot Mega)[17]에서 제공하는 자동비행을 위한 오픈소스 소프트웨어를 올릴 예정이다.
또한 성능측정을 통하여 APEX의 낮은 오버헤드를 확인하였다. 향후 계획으로는 본 논문에서 제안한 구조를 소형 드론에 적용하여 비행을 수행하고자 한다. 그림 7과 같이 Elre-brain사의 보드를 이용하여 드론을 조립했고 APM(ArduPilot Mega)[17]에서 제공하는 자동비행을 위한 오픈소스 소프트웨어를 올릴 예정이다.
질의응답
핵심어
질문
논문에서 추출한 답변
ARINC 653은 무엇을 제공하는가?
따라서 ARINC 653을 민간드론에도 활용하는 것을 고려할 수 있다. ARINC 653은 하나의 응용프로그램에 대하여 독립적인 CPU 및 메모리 자원 사용량을 보장함으로써 응용프로그램 사이의 시간적, 공간적 격리(파티셔닝)를 제공한다. 이러한 자원 파티셔닝은 소프트웨어 테스트 및 통합의 용이성을 제공하고 재사용성을 극대화할 수 있으며, 하나의 컴퓨팅 노드에서 다수의 응용프로그램을 운영할 수 있기 때문에 크기, 중량, 전력 (SWaP; Size, Weight and Power) 문제를 효율적으로 해결할 수 있다.
응용프로그램 사이의 시간적, 공간적 격리는 무엇을 극대화 할 수 있는가?
ARINC 653은 하나의 응용프로그램에 대하여 독립적인 CPU 및 메모리 자원 사용량을 보장함으로써 응용프로그램 사이의 시간적, 공간적 격리(파티셔닝)를 제공한다. 이러한 자원 파티셔닝은 소프트웨어 테스트 및 통합의 용이성을 제공하고 재사용성을 극대화할 수 있으며, 하나의 컴퓨팅 노드에서 다수의 응용프로그램을 운영할 수 있기 때문에 크기, 중량, 전력 (SWaP; Size, Weight and Power) 문제를 효율적으로 해결할 수 있다.
통합 모듈 항공전자는 무엇을 제공하는가?
통합 모듈 항공전자(IMA; Integrated Modular Avionics) 시스템은 응용프로그램 오류 및 자원 활용 측면에서 다른 응용프로그램에 영향을 주지 않고 안전하게 실행할 수 있는 환경을 제공한다. 따라서 통합모듈 항공전자 구조는 항공전자 소프트웨어에 대한 모듈화, 이식성 그리고 재사용성을 제공하기에 유용하다.
참고문헌 (17)
Windriver, Retrieved August 8. from http://www.windriver.com.
GreenHils safety critical product: INTEGRITY-178B RTOS, Retrieved August 8. from http://www.ghs.com/products/safety_critical/integrity-do-178b.html.
LynuxWorks, Retrieved Aug., 8. form http://lynuxworks.com/rtos/rtos-178.php.
H.-J. Park, K.-C. Go, and J.-H. Kim. "Design method for integrated modular avionics system architecture," J. KICS, vol. 39, no. 11, pp. 1094-1103, 2014.
P. Edgar, J. Rufino, T. Schoofs, and J. Windsor, "Amoba ARINC 653 simulator for modular based space applications," Eurospace DASIA, Oct. 2008.
T. Schoofs, S. Santos, C. Tatibana, and J. Anjos, "An integrated modular avionics development environment," in Proc. IEEE/AIAA DASC, Oct. 2009.
A. Dubey, G. Karsai, and N. Mahadevan, "A component model for hard real-time systems: CCM with ARINC-653," Software: Practice and Experience, vol. 41, no. 12, pp. 1517-1550, 2011.
Aeronautical Radio Inc., Avionics Application Software Standard Interface(Part 1): Require Services, ARINC Specification 653P1-2, Dec. 2005.
S. H. VanderLeest, "ARINC 653 hypervisor," in Proc. IEEE/AIAA DASC, Oct. 2012.
M. Masmano, I. Ripoll, A. Crespo, and J. Metge, "XtratuM: A hypervisor for safety critical embedded systems," Real-Time Linux Workshop, Sept. 2009.
S. Han and H.-W. Jin, "Resource partitioning for integrated modular avionics: comparative study of implementation alternatives," Software: Practice and Experience, vol. 44, no. 12, pp. 1441-1466, Dec. 2014.
H.-W. Jin, S.-H. Lee, S. Han, H.-C. Jo, and D. Kim, "WiP abstract: challenges and strategies for exploiting integrated modular avionics on unmanned aerial vehicles," in Proc. ACM/IEEE ICCPS, Apr. 2012.
H.-C. Jo, K. Park, D. Jeon, H.-W. Jin, and D.-H. Kim, "Integrated system of multiple real-time mission software for small unmanned aerial vehicles," Telecommun. Rev., vol. 24, no. 4, pp. 468-480, Aug. 2014.
H.-C. Jo, S. Han, S.-H. Lee, and H.-W. Jin, "Implementing control and mission software of UAV by exploiting open source softwarebased ARINC-653," in Proc. IEEE/AIAA DASC, Oct. 2012.
H. Shi, H. Park, H.-H. Kim, and K.-H. Park, "Vision-based trajectory tracking control system for a quadrotor-type UAV in indoor environment," J. KICS, vol. 39, no. 1, pp. 47-59, 2014.
W.-M. Park, J.-H. Choi, S.-G. Choi, N.-D. Hwang, and H.-C. Kim, "Real-time shooting area analysis algorithm of UAV considering three-dimensional topography," J. KICS, vol. 38, no. 12, pp. 1196-1206, 2013.
APM(ArduPilot Mega), Retrieved August 8. from http://ardupilot.org.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.