KR101418491B1 - 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법 - Google Patents

스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법 Download PDF

Info

Publication number
KR101418491B1
KR101418491B1 KR1020130050026A KR20130050026A KR101418491B1 KR 101418491 B1 KR101418491 B1 KR 101418491B1 KR 1020130050026 A KR1020130050026 A KR 1020130050026A KR 20130050026 A KR20130050026 A KR 20130050026A KR 101418491 B1 KR101418491 B1 KR 101418491B1
Authority
KR
South Korea
Prior art keywords
simulator
scheduler
model
cpu
flight
Prior art date
Application number
KR1020130050026A
Other languages
English (en)
Inventor
강임주
Original Assignee
한국항공우주산업 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국항공우주산업 주식회사 filed Critical 한국항공우주산업 주식회사
Priority to KR1020130050026A priority Critical patent/KR101418491B1/ko
Application granted granted Critical
Publication of KR101418491B1 publication Critical patent/KR101418491B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/12Motion systems for aircraft simulators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/16Control of vehicles or other craft
    • G09B19/165Control of aircraft
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/16Ambient or aircraft conditions simulated or indicated by instrument or alarm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 비행제어 컴퓨터가 시뮬레이터와 ITS를 통하여 인터페이스하면서 지상통제장비의 제어명령신호에 따라 시뮬레이터의 시뮬레이션기능을 실행하는 제1 과정과; 상기 제1 과정후에 스케쥴러가 비행체의 기능을 모사하는 시뮬레이터 모델의 각 기능에 대한 모델 프로세스를 설정된 해당 CPU에 할당하는 제2 과정과; 상기 제2 과정후에 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하여 독립적으로 관리를 실행하는 제3 과정을 포함하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅시스템 및 그 제어방법을 제공한다.
상기와 같은 본 발명은 시뮬레이팅 시스템내에 독립적으로 운용되는 스케쥴러를 구비하여 CPU별 또는 코어별로 프로세스 형태의 실행 모델을 CPU 또는 코어에 할당하여 비행 시뮬레이션작업을 분산 수행시키므로써, 시뮬레이팅 시스템이 실시간성을 유지하면서 다기종 무인기에 대한 변경을 용이하게 실행할 수가 있어 하나의 CPU에 연산이 몰리는 현상을 방지하게되므로 그에 따라 전체 시뮬레이션의 실시간성을 상당히 향상시키는 효과가 있다.

Description

스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법{Simulating System for testing a Various Configuration UAV using a Scheduler and Controlling Meathod for the Same}
본 발명은 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법에 관한 것으로, 특히 시뮬레이팅 시스템내에 독립적으로 운용되는 스케쥴러를 구비하여 CPU별 또는 코어별로 프로세스 형태의 실행 모델을 CPU 또는 코어에 할당하여 비행 시뮬레이션작업을 분산 수행시키므로써, 전체 시뮬레이션의 실시간성을 상당히 향상시키는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법에 관한 것이다.
일반적으로 무인기(UAV, Unmanned Aerial Vehicle)는 세계 여러 나라에서 정찰, 재해감시, 농업, 군사관련 임무 수행 등을 위하여 많은 투자가 이루어지고 있다. 그리고 상기와 같은 무인기는 목적에 따라 고정익 무인기뿐만 아니라 회전익 무인기와 같은 다양한 형태의 무인기들이 개발되고 있다. 그리고 이러한 무인기를 제어하기 위해서는 그 특성에 맞는 제어법칙 설계가 필요하다. 하지만 상기와 같은 제어법칙이 적용된 무인기의 안정성(stability)을 보장하고 비행성(flying quality)을 확인하기 위해서는 무인기를 제작하여 확인을 하거나, 시험 장비를 통하여 검증할 필요가 있다. 그런데, 상기와 같이 실 비행체 제작을 통한 비행성능의 확인방법은 실제적으로 많은 시간과 인적 물적 자원을 소비하기 때문에 시험 장비 예컨대, 시뮬레이팅 시스템을 통한 검증을 우선시하고 있다. 이러한 시뮬레이팅 시스템 중 대표적인 환경으로 HILS(Hardware In the Loop Simulation)환경을 들 수 있다.
그러면 상기와 같은 종래 시뮬레이tus 시스템의 일례를 도 1을 참고로 살펴보면, 실시간 비행 시험 환경을 제공하는 시뮬레이터(70)와;
상기 시뮬레이터(70)와 ITS(71: Integrated TestStation)를 통하여 인터페이스되고 시뮬레이터(70)의 시뮬레이션기능을 제어하는 비행제어 컴퓨터(73:FLCC, Flight Control Computer)와;
상기 비행제어 컴퓨터(73)로 시뮬레이션을 위한 제어명령신호를 인가하는 지상통제장비(72: GCS, Ground Control System)와;
상기 지상통제장비(72)의 제어 명령에 따라 시뮬레이션 및 지상통제장비로부터 받은 결과를 차트로 보여주는 디스플레이(74)를 포함하여 구성된다.
상기 시뮬레이터는 HILS 환경에서 비행 시험 환경을 모사하여 제공하고 실시간 비행 시뮬레이션 환경을 제공하는 중요한 역할을 하고 있다.
여기서, 상기 종래 시뮬레이팅 시스템 예컨대, HILS 시스템의 경우 연구 목적으로 MATLAB/SIMULINK 기반으로 비행환경을 구현하거나, dSPACE 등의 외부 장비를 이용하여 비행 환경을 제공한다.
한편, 상기와 같은 종래 시뮬레이팅 시스템의 동작은 먼저, 비행제어 컴퓨터(73)가 비행 시뮬레이션작업을 위해 지상통제장비(72)로부터 제어명령신호를 인가받게 된다. 그러면, 상기 비행제어 컴퓨터(73)는 시뮬레이터(70)와 ITS(71)를 통하여 인터페이스하면서 지상통제장비(72)의 제어명령신호에 따라 시뮬레이터(70)의 시뮬레이션기능을 제어한다. 따라서, 상기 시뮬레이터(70)는 비행제어 컴퓨터(73)가 설정해 주는 대로 실시간 비행 시험 환경을 제공하여 조종훈련자에게 항공기의 시뮬레이션을 수행하게된다. 이때, 상기 디스플레이(74)는 지상통제장비(72)의 제어 명령에 따라 시뮬레이터 및 지상통제장비로부터 받은 결과를 차트로 보여줄 수 있다.
그러나 상기와 같은 종래 시뮬레이팅 시스템은 대개의 경우 연구 목적 으로 MATLAB/SIMULINK 기반으로 비행환경을 구현하거나, dSPACE등의 외부 장비를 이용하여 비행 환경을 제공해 왔기 때문에 시뮬레이션의 실시간성에 제약이 따르거나, 환경변경에 따른 초기 적용과정이 매우 복잡하였으며, 또한, 비행체의 각 기능별 독립적인 컴퓨터를 구성하여 하나의 체계를 이루는 방식일 경우 별도의 통신 부하를 야기시키기 때문에 이 또한 실시간성의 제약이 따른 다는 문제점이 있었다.
이에 본 발명은 상기와 같은 종래기술의 문제점을 해결하기위해 발명된 것으로, 시뮬레이팅 시스템이 실시간성을 유지하면서 다기종 무인기에 대한 변경을 용이하게 실행할 수가 있기 때문에 하나의 CPU에 연산이 몰리는 현상을 방지하게됨으로 그에 따라 전체 시뮬레이션의 실시간성을 상당히 향상시키는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법을 제공함에 그 목적이 있다.
본 발명의 또 다른 목적은 시뮬레이팅 시스템내에서 독립적으로 운용되는 스케줄러가 CPU별로 수행 주기를 달리하여 실행 모델에 대한 시뮬레이션 작업을 수행할 수가 있기 때문에 실 비행 환경에 가까운 비행환경을 구현할 수 있는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법을 제공하는데 있다.
상기와 같은 목적을 달성하기위한 본 발명은 비행시뮬레이션 훈련에 대응하여 실제 항공기의 비행과 유사한 움직임을 구현하는 시뮬레이터와;
상기 시뮬레이터의 비행 시뮬레이션을 위한 제어명령신호를 인가하는 지상통제장비부와;
상기 시뮬레이터와 ITS를 통하여 인터페이스되고 지상통제장비부의 제어명령신호에 따라 내부에 탑재된 비행제어소트웨어를 구동하여 시뮬레이터의 기능을 제어하는 비행제어컴퓨터와;
상기 지상통제장비부의 제어 명령에 따라 시뮬레이션 및 지상통제장비로부터 받은 결과를 차트로 보여주는 엔진니어링 스테이션부와;
상기 시뮬레이터부의 제어신호에 따라 3D 지형영상을 생성하여 지상통제장비에 제공하고 지형으로 부터의 항공기 고도 정보를 시뮬레이터로 전송하는 지형영상시스템부와;
상기 시뮬레이터와 연결되어 시뮬레이터에 구비된 각각의 모델들을 모듈화시켜 독립적으로 실행시키고 그러한 작업을 스케쥴링하는 스케쥴러를 포함하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템을 제공한다.
본 발명의 또 다른 특징은 비행제어 컴퓨터가 시뮬레이터와 ITS를 통하여 인터페이스하면서 지상통제장비의 제어명령신호에 따라 시뮬레이터의 시뮬레이션기능을 실행하는 제1 과정과;
상기 제1 과정후에 스케쥴러가 비행체의 기능을 모사하는 시뮬레이터 모델의 각 기능에 대한 모델 프로세스를 설정된 해당 CPU에 할당하는 제2 과정과;
상기 제2 과정후에 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하여 독립적으로 관리를 실행하는 제3 과정을 포함하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템의 제어방법을 제공한다.
상기와 같은 본 발명에 의하면, 시뮬레이팅 시스템내에 독립적으로 운용되는 스케쥴러를 구비하여 CPU별 또는 코어별로 프로세스 형태의 실행 모델을 CPU 또는 코어에 할당하여 비행 시뮬레이션작업을 분산 수행시키므로써, 시뮬레이팅 시스템이 실시간성을 유지하면서 다기종 무인기에 대한 변경을 용이하게 실행할 수가 있어 하나의 CPU에 연산이 몰리는 현상을 방지하게됨으로 그에 따라 전체 시뮬레이션의 실시간성을 상당히 향상시키는 효과가 있다.
상기와 같은 본 발명은 시뮬레이팅 시스템내에서 독립적으로 운용되는 스케줄러가 CPU별로 수행 주기를 달리하여 실행 모델에 대한 시뮬레이션 작업을 수행할 수가 있기 때문에 실 비행 환경에 가까운 비행환경을 구현할 수 있으므로 그에 따라 다기종 무인기의 검증을 위한 시뮬레이션작업의 고품질화를 이룰 수 있는 효과도 있다.
도 1은 종래 시뮬레이팅 시스템의 일례를 설명하는 설명도.
도 2는 본 발명에 따른 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템을 설명하는 설명도.
도 3은 본 발명 장치에 구비된 스케쥴러를 좀 더 구체적으로 설명하는 설명도.
도 4는 본 발명의 플로우차트.
이하, 본 발명에 따른 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다.
그러나 본 발명은 여기서 설명되어지는 본 발명에 따른 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템의 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 "포함한다(comprises)." 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
실시예
도 2는 본 발명에 따른 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템의 일실시예를 개략적으로 설명하는 설명도이고, 도 3은 본 발명 장치에 구비된 스케쥴러를 좀 더 구체적으로 설명하는 설명도이며, 도 4는 본 발명의 플로우차트이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템은,
비행시뮬레이션 훈련에 대응하여 실제 항공기의 비행과 유사한 움직임을 구현하는 시뮬레이터(1)와;
상기 시뮬레이터(1)의 비행 시뮬레이션을 위한 제어명령신호를 인가하는 지상통제장비부(3: GCS, Ground Control System)와;
상기 시뮬레이터(1)와 ITS(2: Integrated TestStation)를 통하여 인터페이스되고 지상통제장비부(3)의 제어명령신호에 따라 내부에 탑재된 비행제어소트웨어를 구동하여 시뮬레이터(1)의 기능을 제어하는 비행제어컴퓨터(4)와;
상기 지상통제장비부(3)의 제어 명령에 따라 시뮬레이션 및 지상통제장비로부터 받은 결과를 차트로 보여주는 엔진니어링 스테이션부(5)와;
상기 지상통제장비부(3)의 기능제어신호에 따라 3D 지형영상을 생성하여 시뮬레이터(1)로 전송하는 지형영상시스템부(6)와;
상기 시뮬레이터(1)와 연결되어 시뮬레이터(1)에 구비된 각각의 모델들을 모듈화시켜 독립적으로 실행시키고 그러한 작업을 스케쥴링하는 스케쥴러(8)를 포함하여 구성된다.
여기서, 상기 스케쥴러(8)는 멀티 코어(Multi Core), 멀티 CPU가 널리 보급화 되고 있는 서버 환경에서 CPU별 또는 코어별로 모델을 할당하여 분산 수행할 수 있는 기능을 제공하고 이와 함께 수행 주기를 달리하는 스케줄러를 구성하여 실 비행 환경에 가까운 환경을 제공하도록 구성된다.
또한, 상기 스케줄러(8)는 도 3에 도시된 바와같이 비행체의 기능을 모사하는 시뮬레이터(1)의 모델 예컨대, 제어법칙, 임무제어, 액츄에이터(actuator), airdata 및 센서 등 비행체의 각 기능에 대한 모델의 프로세스를 설정된 해당 CPU에 할당하는 기능을 처리하는 모델할당모듈(9)과;
상기 모델할당모듈(9)에 의해 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하고 이를 독립적으로 관리하는 타이머생성모듈(10)과;
상기 모델할당모듈(9)에 의해 시뮬레이터(1)에 구비된 각각의 모델들이 독립적으로 스케쥴링되도록 시뮬레이터(1)의 운영체제(OS)를 별로 스케쥴링하여 관리하는 OS관리모듈(11)을 포함하여 구성된다.
한편, 상기와 같이 본 발명에 의해 적용된 시뮬레이터(1)의 OS는 예컨대, RedHat의 리눅스(linux)를 사용하였고, 실시간 커널(RedHat linux MRG 버전)을 적용한다. 또한, 상기 시뮬레이터(1)의 OS의 MRG(Messaging, Realtime, Grid) 버전은 RedHat에서 고성능 분산 컴퓨팅을 위한 통한 플랫폼으로 제공하고 있는 버전이다. 상기 스케줄러를 적용할 본 발명에 따른 시뮬레이터(1)는 예컨대, CPU가 4개 적용된 HP의 DL580G7의 서버이다. 이때, 상기 CPU는 코어를 4개 가지고 있는 멀티코어 CPU이지만, 본발명에 의한 스케줄러(8)를 적용할 때는 CPU를 단일코어로 설정하여 적용할 수 있다.
그리고 상기 타이머생성모듈(10)은 시뮬레이터(1)의 모델을 수행할 타이밍을 지정하는 각각의 타이머(12-14)를 생성하는 기능을 담당한다. 이때, 상기 타이머(12-14)는 우선순위 및 수행 주기에 따른 모델을 실행할 수 있는 신호를 생성하는 기능을 실행한다. 뿐만아니라, 상기 시뮬레이터(1)의 실시간 OS에서 제공하는 실시간성을 유지하기위해서는 사용하는 타이머의 종류가 매우 중요하다. 일반적으로 리눅스에서 사용하는 타이머의 경우 마이크로초(micro second)의 정밀도를 가지는 타이머를 많이 사용하지만 본 발명에 따른 스케줄러(8)에서는 실시간성을 유지하기 위하여 예컨대, POSIX.1b에서 정의하여 제공하는 타이머(Timer)를 사용한다. 상기 본발명에 따른 타이머(12-14)는 나노초(nano second)의 분해능을 가진 HR-timer (High Resolution Timer)로써 높은 정밀도를 제공하고 있다.
또한, 상기 모델할당모듈(9)과 타이머생성모듈(10)은 모두 모델과 타이머를 각각의 독립된 프로세스로 사용하기 때문에 멀티 CPU에서 기능 또는 모델별로 각 CPU에 할당을 실행할 수 있다.
따라서, 상기 스케쥴러(8)는 예컨대, OS관리모듈(11)을 통해 OS 및 사용자 인터페이스와 시뮬레이터(1)를 운영/제어하는 부분인 CPU0에 할당하고, 타이머(12)는 CPU1, 타이머(13)는 CPU2, 타이머(14)는 CPU3에 할당한다. 반면에 상기 비행체의 모델은 각 모델이 사용할 타이머와 같은 CPU에 할당하여 실행한다.
여기서, 상기 스케쥴러(8)에 의해 생성된 프로세스는 시뮬레이션이 종료될 때 모두 소멸되고, 그 전까지는 각 프로세스 내에서 각 모델이 계산할 순간을 기다리며 대기하는 과정을 반복한다.
한편, 상기 스케쥴러(8)는 각각의 타이머와 모델이 프로세스를 제어 할당하기 때문에 독립적인 메모리 영역을 가진다. 따라서, 상기 스케쥴러(8)는 상기와 같이 독립적으로 작용하기 때문에 서로 데이터를 공유하거나 전송하기 위해서 별개의 메모리 접근방법을 필요로 하는데, 상기 스케줄러(8)에서는 서로 데이터를 주고 받을 때 IPC(inter-process communication) 공유메모리(15)를 사용한다. 이때, 상기 IPC 공유메모리는 둘 이상의 프로세스가 특정 메모리 영역을 공유하여 자료에 접근할 수 있는 방식으로 대용량의 데이터를 공유할 때 사용된다. 그리고 각각의 타이머가 사용할 상기 IPC 공유메모리(15)는 각 타이머가 할당되는 CPU에 같이 할당되어 사용할 수 있도록 스케줄러(8)를 구성한다.
여기서, 일반적인 타이머를 사용할 경우 일정한 주기의 신호를 발생하여 그 신호를 전달하는 한편, 규정된 주기로 모델을 수행하기 위해서 프로세스로 할당된 모델에 신호를 전달할 필요가 있다. 그러므로, 이를 위해서 일반적으로 메모리를 이용하여 그 값을 전달할 경우, 계속 그 메모리를 감시하여야하기 때문에 프로그램 실행에 따른 부하가 많이 걸리고, 메모리 확인 과정으로 인한 시간 지연으로 실시간성을 만족하기 어려울 수 있다.
그래서 본발명에 따른 스케줄러(8)는 리눅스 시스템에서 제공하는 시그널(SIGNAL)을 이용하여 프로세스간 또는 타이머에 신호를 전달하도록 설계하였다. 이때, 상기 시그널은 리눅스의 커널모드(kernel-mode)에서 처리를 하기 때문에, 실시간 커널에서는 시그널을 사용함으로 그 실시간성을 잘 유지하며 프로세스 사이에 신호를 전달할 수 있다. 그리고 상기와 같은 스케쥴러(8)는 세 개의 타이머가 동작을 하기 때문에 타이머 사이의 동기화가 이루어져야 한다. 그러므로 상기 스케쥴러(8)는 이러한 동기화 역시 시그널을 이용하여 수행하고, 동기화 신호는 타이머1 에서 생성하여 나머지 타이머에 전달하는 형태로 실행된다. 이때, 상기 타이머생성모듈(10)은 각 타이머에 할당된 모델의 수행이 우선 순위에 따라 타이머에서 신호를 발생하여 모델에 제공하게 하고, 신호를 전달받은 모델이 대기 상태에서 벗어나 각 역할에 따른 계산을 하도록 한다. 상기 스케쥴러(8)에 사용되는 시그널은 두 종류가 있는데, 하나는 주기적인 신호를 발생하는 타이머에 관련된 시그널이고, 다른 하
나는 할당 모델을 수행하는 모델 실행과 관련된 시그널이다.
이과정에서 상기 스케쥴러(8)에 의한 모델 실행과 관련된 시그널은 모델의 연산을 시작하게 하는 시그널과 모델에서 연산이 종료되면 이를 타이머에 알려주는 시그널두 가지로 구분이 된다. 즉, 하나의 모델이 동작하기 위해서는 계산의 시작과 끝을 알리는 시그널이 하나의 쌍을 이루며 발생한다.
따라서, 상기 스케쥴러(8)는 이러한 시그널의 쌍이 이루어지지 않은 시점에서 타이머 시그널이 발생할 경우 오버런(Overrun)을 계산하여 모델들이 연산의 지연정보를 제공하는 기능 또한 제공할 수 있도록 구성한다.
다음에는 상기와 같은 구성으로 된 본 발명장치의 제어방법을 설명한다.
본 발명의 방법은 도 4에 도시된 바와같이 초기상태(S1)에서 비행제어 컴퓨터가 시뮬레이터와 ITS를 통하여 인터페이스하면서 지상통제장비의 제어명령신호에 따라 시뮬레이터의 시뮬레이션기능을 실행하는 제1 과정(S1)과;
상기 제1 과정(S1)후에 스케쥴러가 비행체의 기능을 모사하는 시뮬레이터 모델의 각 기능에 대한 모델 프로세스를 설정된 해당 CPU에 할당하는 제2 과정(S2)과;
상기 제2 과정(S2)후에 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하여 독립적으로 관리를 실행하는 제3 과정(S3)을 포함하여 구성된다.
그리고 상기 제3 과정(S3)에는 스케쥴러에 의해 생성된 프로세스가 시뮬레이션이 종료될 때 모두 소멸되고, 그 이전까지 각 프로세스 내에서 각 모델이 계산할 순간을 기다리며 대기하는 과정을 반복실행하는 프로세스 실시간수행단계를 더 포함한다.
환언하면, 상기와 같은 본 발명에 따른 시뮬레이팅 시스템(7)은 제어법칙, 임무제어, 액츄에이터(actuator), airdata 및 센서 등 비행체의 각 기능에 대한 모델을 모듈화시켜 독립적으로 실행하고 이를 스케줄링함으로써 시뮬레이션을 수행되게 한다. 이때, 상기 스케쥴러(8)는 비행체의 모델을 변경함으로써 다기종 무인(various configuration UAV)에 대한 시뮬레이션 역시 가능하게 한다. 그리고 상기와 같이 스케쥴러(8)가 각각의 독립적인 모델을 수행하기 위해서는 각 모델을 스케줄링해주는 스케줄러(Scheduler)가 중요한 역할을 수행하고, 실시간 OS(Real-Time OS)를 기반으로 하는 시뮬레이터 역시 스케쥴러(8)가 실시간성을 유지하는 것이 매우 중요하다.
따라서, 본 발명에 따른 비행제어컴퓨터(4)는 시뮬레이터(1)와 ITS(2)를 통하여 인터페이스하면서 지상통제장비(3)의 제어명령신호에 따라 시뮬레이터(1)의 시뮬레이션기능을 실행한다. 그리고 상기 지상통제장비부(3)의 제어 명령에 따라 엔진니어링 스테이션부(5)는 시뮬레이션 및 지상통제장비로부터 받은 결과를 차트로 보여주고 지형영상시스템부(6)는 3D 지형영상을 생성하여 지상통제 장비와 시뮬레이터(1)로 전송한다.
이 과정에서, 상기 스케쥴러(8)의 OS관리모듈(11)은 먼저, 모델할당모듈(9)에 의해 시뮬레이터(1)에 구비된 각각의 모델들이 독립적으로 스케쥴링되도록 시뮬레이터(1)의 운영체제(OS)를 별도로 스케쥴링하여 관리한다. 또한 상기 과정중에 스케줄러(8)의 모델할당모듈(9)은 비행체의 기능을 모사하는 시뮬레이터(1)의 모델 예컨대, 제어법칙, 임무제어, 액츄에이터(actuator), airdata 및 센서 등 비행체의 각 기능에 대한 모델의 프로세스를 설정된 해당 CPU에 할당한다. 그리고 상기 스케쥴러(8)의 타이머생성모듈(10)는 모델할당모듈(9)에 의해 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하고 이를 독립적으로 관리한다.
여기서, 상기 모델할당모듈(9)과 타이머생성모듈(10)은 모두 모델과 타이머를 각각의 독립된 프로세스를 사용하기 때문에 멀티 CPU에서 기능 또는 모델별로 각 CPU에 할당을 실행한다. 즉, 상기 스케쥴러(8)는 예컨대, OS관리모듈(11)을 통해 OS 및 사용자 인터페이스와 시뮬레이터(1)를 운영/제어하는 부분인 CPU0에 할당하고, 타이머(12)는 CPU1, 타이머(13)는 CPU2, 타이머(14)는 CPU3에 할당한다. 반면에 상기 비행체의 모델은 각 모델이 사용할 타이머와 같은 CPU에 할당하여 실행한다.
이 과정에서, 상기 스케쥴러(8)에 의해 생성된 프로세스는 시뮬레이션이 종료될 때 모두 소멸되고, 그 전까지는 각 프로세스 내에서 각 모델이 계산할 순간을 기다리며 대기하는 과정을 반복한다.
한편, 상기 스케쥴러(8)는 각각의 타이머와 모델이 프로세스를 통하여 할당되기 때문에 독립적인 메모리 영역을 가진다. 따라서, 상기 스케쥴러(8)는 상기와 같이 독립적으로 작용하기 때문에 서로 데이터를 공유하거나 전송하기 위해서 별개의 메모리 접근방법을 필요로 하는데, 상기 스케줄러(8)는 서로 데이터를 주고 받을 때 IPC(inter-process communication) 공유메모리(15)를 사용한다. 이때, 상기 IPC 공유메모리는 둘 이상의 프로세스가 특정 메모리 영역을 공유하여 자료에 접근할 수 있는 방식으로 대용량의 데이터를 공유할 때 사용된다.
본 발명 시스템(7)에 의한 시뮬레이션 시 사용되는 제어법칙은 예컨대, 다기종 무인항공기용 파라미터 최적화용 SW 툴킷(ToolKit)인 ACDAS에서 설계되고 생성된 자동코드(C-언어)가 적용된다. 그리고 본 발명에 따른 스케줄러(8)는 무인기의 비행성 검증을 위하여 설계되었기 때문에, 무인기에 적용되는 제어법칙과 같은 수행 주기를 가질 필요가 있다. 예컨대, 본 발명 시스템(7)의 제어법칙은 50Hz로 동작을 한다. 따라서, 상기 스케쥴러(8)의 타이머0 의 수행주기를 제어법칙과 같은 동작 주기인 50Hz로 설정한다. 그 나머지 타이머(12-14)는 타이머간 동기화를 유지하기 위해서 타이머0의 배수로 설정한다. 타이머(12)의 경우 실 비행체에 탑재되는 NSU(Navigation Sensor Unit) 센서의 값 중 100Hz로 제공되는 값이 존재하기 때문에 100Hz 그 주기를 설정한다. 또한 상기 타이머(13)는 조종면(Actuator), 운동방정식(Equation of Motion)을 풀어 정밀한 계산이 필요하기 때문에 시간 간격을 고려하여 400Hz로 동작되도록 한다. 그리고 상기 모델들은 타이머에 할당되어 그 우선순위에 따라 연산을 수행할 수도 있다.
그러므로 상기 스케줄러(8)는 동기화되어 있기 때문에 모델들의 동작이 타이머의 동기화에 영향을 미치지 않고 오버런을 발생하지 않는다.
따라서, 상기와 같은 본 발명에 의하면, 시뮬레이팅 시스템내에 독립적으로 운용되는 스케쥴러를 구비하여 CPU별 또는 코어별로 프로세스 형태의 실행 모델을 CPU 또는 코어에 할당하여 비행 시뮬레이션작업을 분산 수행시키므로써, 시뮬레이팅 시스템이 실시간성을 유지하면서 다기종 무인기에 대한 변경을 용이하게 실행할 수가 있어 하나의 CPU에 연산이 몰리는 현상을 방지하게되므로 그에 따라 전체 시뮬레이션의 실시간성을 상당히 향상시킬 수 있다.
또한, 상기와 같은 본 발명은 시뮬레이팅 시스템내에서 독립적으로 운용되는 스케줄러가 CPU별로 수행 주기를 달리하여 실행 모델에 대한 시뮬레이션 작업을 수행할 수가 있기 때문에 실 비행 환경에 가까운 비행환경을 구현할 수 있다.
1 : 시뮬레이터 2 : ITS
3 : 지상통제장비부 4 : 비행제어컴퓨터
5 : 엔진니어링 스테이션부 6 : 지형영상시스템부
7 : 시뮬레이팅 시스템 8 : 스케쥴러
9 : 모델할당모듈 10: 타이머생성모듈
11: OS관리모듈 12~14: 타이머
15: 공유메모리

Claims (8)

  1. 비행시뮬레이션 훈련에 대응하여 실제 항공기의 비행움직임을 가상으로 구현하는 실제 항공기의 비행과 유사한 움직임을 구현하는 시뮬레이터와;
    상기 시뮬레이터의 비행 시뮬레이션을 위한 제어명령신호를 인가하는 지상통제장비부와;
    상기 시뮬레이터와 ITS를 통하여 인터페이스되고 지상통제장비부의 제어명령신호에 따라 내부에 탑재된 비행제어소트웨어를 구동하여 시뮬레이터의 기능을 제어하는 비행제어컴퓨터와;
    상기 지상통제장비부의 제어 명령에 따라 시뮬레이션 및 지상통제장비로부터 받은 결과를 차트로 보여주는 엔진니어링 스테이션부와;
    상기 지상통제장비부의 기능제어신호에 따라 3D 지형영상을 생성하여 지상통제장비에 제공하며, 지형으로부터 항공기의 고도를 시뮬레이터로 전송하는 지형영상시스템부와;
    상기 시뮬레이터와 연결되어 시뮬레이터에 구비된 각각의 모델들을 모듈화시켜 독립적으로 실행시키고 그러한 작업을 스케쥴링하는 스케쥴러를 포함하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템.
  2. 제1항에 있어서,
    상기 스케줄러는 비행체의 기능을 모사하는 시뮬레이터 모델에 따른 비행체의 각 기능에 대한 프로세스를 설정된 해당 CPU에 할당하는 기능을 처리하는 모델할당모듈과;
    상기 모델할당모듈에 의해 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하고 이를 독립적으로 관리하는 타이머생성모듈과;
    상기 모델할당모듈에 의해 시뮬레이터에 구비된 각각의 모델들이 독립적으로 스케쥴링되도록 시뮬레이터의 운영체제(OS)별로 스케쥴링하여 관리하는 OS관리모듈을 포함하는 것을 특징으로 하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템.
  3. 제1항에 있어서,
    상기 시뮬레이터는 멀티코어 CPU에 스케줄러를 적용할 경우 CPU를 단일코어로 설정하여 사용하는 것을 특징으로 하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템.
  4. 제2항에 있어서,
    상기 타이머생성모듈은 실시간성을 유지하기 위해 POSIX.1b에서 정의된 타이머(Timer)가 사용하는 것을 특징으로 하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템.
  5. 제1항 또는 제2항중 어느 한 항에 있어서,
    상기 스케줄러는 상호 데이터를 주고 받을 경우 IPC(inter-process communication) 공유메모리를 사용하는 것을 특징으로 하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템.
  6. 제1항에 있어서,
    상기 스케쥴러는 시그널의 쌍이 이루어지지 않은 시점에서 타이머 시그널이 발생할 경우 오버런(Overrun)을 계산하여 모델들이 연산의 지연정보를 적용하도록 구성시키는 것을 특징으로 하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템.
  7. 비행제어 컴퓨터가 시뮬레이터와 ITS를 통하여 인터페이스하면서 지상통제장비의 제어명령신호에 따라 시뮬레이터의 시뮬레이션기능을 실행시키는 제1 과정과;
    상기 제1 과정후에 스케쥴러가 비행체의 기능을 모사하는 시뮬레이터 모델의 각 기능에 대한 모델 프로세스를 설정된 해당 CPU에 할당하는 제2 과정과;
    상기 제2 과정후에 CPU별로 설정되는 타스크에 대해 타이머이벤트를 생성하여 독립적으로 관리를 실행하는 제3 과정을 포함하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템의 제어방법.
  8. 제7항에 있어서,
    상기 제3 과정은 스케쥴러에 의해 생성된 프로세스가 시뮬레이션이 종료될 때 모두 소멸되고, 그 이전까지 각 프로세스 내에서 각 모델이 계산할 순간을 기다리며 대기하는 과정을 반복실행하는 프로세스 실시간수행단계를 더 포함하는 것을 특징으로 하는 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템의 제어방법.
KR1020130050026A 2013-05-03 2013-05-03 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법 KR101418491B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130050026A KR101418491B1 (ko) 2013-05-03 2013-05-03 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130050026A KR101418491B1 (ko) 2013-05-03 2013-05-03 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR101418491B1 true KR101418491B1 (ko) 2014-07-14

Family

ID=51741921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130050026A KR101418491B1 (ko) 2013-05-03 2013-05-03 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR101418491B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133379A (zh) * 2014-08-15 2014-11-05 哈尔滨工业大学 四旋翼飞行器仿真方法
KR20160077902A (ko) * 2014-12-24 2016-07-04 한국항공우주산업 주식회사 시뮬레이션 인터페이스 생성방법 및 실시간 시뮬레이션 장치
KR20160125591A (ko) * 2015-04-21 2016-11-01 경상대학교산학협력단 무인비행체 기반 실시간 데이터 통합 시현 방법
CN112650175A (zh) * 2020-12-21 2021-04-13 佳都新太科技股份有限公司 环控设备的自组态方法、***、计算机设备及存储介质
KR20220153318A (ko) * 2021-05-11 2022-11-18 한국항공우주산업 주식회사 회전익 항공기의 비행제어 시뮬레이션을 위한 전기 기계식 구동기 통합 환경 모사장치 및 이를 포함하는 회전익 항공기의 비행제어 시뮬레이션 시스템
KR102558492B1 (ko) * 2022-10-12 2023-07-25 한국철도기술연구원 열차자동운행장치 시뮬레이션 고속화 시스템 및 이를 이용한 고속화 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057604A (ko) * 2005-12-01 2007-06-07 한국전자통신연구원 컴포넌트 기반 위성 모델링에 의한 위성 시뮬레이션 시스템
KR20110050298A (ko) * 2009-11-06 2011-05-13 건국대학교 산학협력단 다중 비행 시뮬레이션 시스템
KR101083049B1 (ko) 2010-06-11 2011-11-16 엘아이지넥스원 주식회사 시뮬레이션 시스템 및 시뮬레이션 방법
KR101236195B1 (ko) 2012-07-24 2013-02-26 대한민국 실시간 무인첩보기 영상 시뮬레이터와 훈련시뮬레이션의 연동 방법 및 그 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057604A (ko) * 2005-12-01 2007-06-07 한국전자통신연구원 컴포넌트 기반 위성 모델링에 의한 위성 시뮬레이션 시스템
KR20110050298A (ko) * 2009-11-06 2011-05-13 건국대학교 산학협력단 다중 비행 시뮬레이션 시스템
KR101083049B1 (ko) 2010-06-11 2011-11-16 엘아이지넥스원 주식회사 시뮬레이션 시스템 및 시뮬레이션 방법
KR101236195B1 (ko) 2012-07-24 2013-02-26 대한민국 실시간 무인첩보기 영상 시뮬레이터와 훈련시뮬레이션의 연동 방법 및 그 시스템

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133379A (zh) * 2014-08-15 2014-11-05 哈尔滨工业大学 四旋翼飞行器仿真方法
KR20160077902A (ko) * 2014-12-24 2016-07-04 한국항공우주산업 주식회사 시뮬레이션 인터페이스 생성방법 및 실시간 시뮬레이션 장치
KR101672763B1 (ko) * 2014-12-24 2016-11-07 한국항공우주산업 주식회사 시뮬레이션 인터페이스 생성방법 및 실시간 시뮬레이션 장치
KR20160125591A (ko) * 2015-04-21 2016-11-01 경상대학교산학협력단 무인비행체 기반 실시간 데이터 통합 시현 방법
KR101693319B1 (ko) * 2015-04-21 2017-01-09 경상대학교산학협력단 무인비행체 기반 실시간 데이터 통합 시현 방법
CN112650175A (zh) * 2020-12-21 2021-04-13 佳都新太科技股份有限公司 环控设备的自组态方法、***、计算机设备及存储介质
KR20220153318A (ko) * 2021-05-11 2022-11-18 한국항공우주산업 주식회사 회전익 항공기의 비행제어 시뮬레이션을 위한 전기 기계식 구동기 통합 환경 모사장치 및 이를 포함하는 회전익 항공기의 비행제어 시뮬레이션 시스템
KR102595516B1 (ko) * 2021-05-11 2023-10-31 한국항공우주산업 주식회사 회전익 항공기의 비행제어 시뮬레이션을 위한 전기 기계식 구동기 통합 환경 모사장치 및 이를 포함하는 회전익 항공기의 비행제어 시뮬레이션 시스템
KR102558492B1 (ko) * 2022-10-12 2023-07-25 한국철도기술연구원 열차자동운행장치 시뮬레이션 고속화 시스템 및 이를 이용한 고속화 방법

Similar Documents

Publication Publication Date Title
KR101418491B1 (ko) 스케쥴러를 이용한 다기종 무인기 검증을 위한 시뮬레이팅 시스템 및 그 제어방법
EP2591419B1 (en) Simulating and testing avionics
US11900076B2 (en) Method and apparatus for real-time control loop application execution from a high-level description
CN113110590B (zh) 一种多机分布式协同仿真控制平台及控制方法
KR101418487B1 (ko) Arinc 653을 이용하는 무인기용 비행제어시스템 및 그 제어방법
CN108694070A (zh) 硬件组件的仿真
Han et al. Resource partitioning for Integrated Modular Avionics: comparative study of implementation alternatives
US20220051584A1 (en) Flight Management System Operator
CN109100952B (zh) 分布式半实物仿真航天器健康管理***区域推理机
KR101994441B1 (ko) 관성항법장치를 포함한 비행체 유도조종 hwil 시뮬레이션 시스템 및 그 구성 방법
Fritz et al. Hardware-in-the-loop environment for verification of a small satellite's on-board software
US10712734B2 (en) Continuous monitoring of a model in an interactive computer simulation station
US11288340B2 (en) Dynamically updating a model associated to a simulated interactive object
CN111563324A (zh) 飞行控制***仿真方法、平台、服务器及存储介质
CA2963253A1 (en) Repairing a model associated to a simulated interactive object
KR101392266B1 (ko) Kuh를 위한 비행시뮬레이터 및 그 제어방법
CA3000448C (en) Recertification of an interactive computer simulation station
Gerlach et al. Running high level architecture in real-time for flight simulator integration
Bhandari et al. Avionics system for UAV flight controls research
Bremer et al. The Euclid verification facilities
Bauer et al. Usage of Operating System Kernel Paradigms to Build Modern Simulation Platforms for Autonomous Driving
Brzozowski et al. UAV Avionics System Software Development Using Simulation Method
Darafsheh Runtime monitoring on hard real-time operating systems
Lee et al. A framework for modeling and simulating human behavior in complex systems
Mahajani et al. MAV-hardware in loop simulation using LabVIEW

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170613

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180605

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190626

Year of fee payment: 6