[go: up one dir, main page]

KR101807769B1 - 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법 - Google Patents

데스크 탑 기반 실시간 시뮬레이션 장치 및 방법 Download PDF

Info

Publication number
KR101807769B1
KR101807769B1 KR1020140190685A KR20140190685A KR101807769B1 KR 101807769 B1 KR101807769 B1 KR 101807769B1 KR 1020140190685 A KR1020140190685 A KR 1020140190685A KR 20140190685 A KR20140190685 A KR 20140190685A KR 101807769 B1 KR101807769 B1 KR 101807769B1
Authority
KR
South Korea
Prior art keywords
subsystem
simulation
time
real
frequency
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020140190685A
Other languages
English (en)
Other versions
KR20160079394A (ko
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 KR1020140190685A priority Critical patent/KR101807769B1/ko
Publication of KR20160079394A publication Critical patent/KR20160079394A/ko
Application granted granted Critical
Publication of KR101807769B1 publication Critical patent/KR101807769B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/085Special purpose teaching, e.g. alighting on water, aerial photography
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/952Simulation

Landscapes

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

Abstract

본 발명은 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 방법을 개시하고 있다. 상기 방법은 비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 단계, 상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 단계, 서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 단계, 모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 단계 및 각 서브시스템 시뮬레이션 순서를 결정하는 단계를 포함한다.

Description

데스크 탑 기반 실시간 시뮬레이션 장치 및 방법{DESKTOP BASED REALTIME SIMULATION APPARATUS AND METHOD}
본 발명은 비행 조작 시물레이션 장치 및 방법에 관한 것으로, 보다 상세하게는, 다수의 CPU 사용 없이 종래 사용하는 비실시간 시뮬레이션에 추가하여 활용할 수 있는 실시간 시뮬레이션 장치 및 방법에 관한 것이다.
도 1은 항공기의 비행제어법칙 디자인 및 분석 프로세스를 나타낸 도면이다.
도 1을 참조하면, 항공기의 비행제어법칙은 요구도 분석(SUBP-01: Determine HQ Requirements)에서 시작하여 시뮬레이션 서브시스템 모델 및 제어구조를 설계한다(SUBP-02, SUBP-03). 그리고는, 공력, 중량을 기본으로 하는 데이터베이스와 연계한 선형해석을 통해 제어이득을 설계한 후(SUBP-04), 비선형 6-자유도 시뮬레이션을 통하여 제어법칙을 검증/보완한다(SUBP-05). 여기까지의 과정은 데스크 탑 환경에서 이루어질 수 있다.
그리고는, HQS(Handling Quality Simulator)를 활용하여 엔지니어나 조종사가 포함된 실시간 유인 조종성을 검증하는 일련의 단계를 거쳐 수행된다(SUBP-06).
이 중 HQS를 이용한 유인모사법은 조종성 평가방법으로 가장 광범위하게 사용되는 방법으로, 컴퓨터 성능과 그래픽 기술 발달에 힘입어 통합형 예측도구로서 활용되고 있다. HQS는 실제 조종사가 참여하여 항공기 모델 수준 전반에 대해 실제 비행경험과 비교평가를 함으로써 조종성 개선을 위한 제어법칙 개선작업과 해석단계에서 드러나지 않았던 항공기 모델오류 수정에 활용된다. 또한, 비행시험 전에 여러 가지 시험항목을 조종사가 사전에 평가하고, 기동에 대한 훈련을 수행하며 비행시험을 통해 검증하는데 위험이 따르는 항목인 조종면 재형상(Reconfiguration) 비행제어법칙 등의 평가에도 사용된다.
HQS에서의 시뮬레이션이 끝나면 지상 테스트(SUBP-07) 및 실제 비행 테스트(SUBP-08)를 거쳐 하나의 비행제어법칙 검증이 완료된다.
도 2는 HQS SILS(Software In the Loop Simulation) 환경을 도시한 도면이다.
도 2를 참조하면, 실제 비행제어 컴퓨터는 사용하지 않지만 동일한 제어법칙을 호스트 컴퓨터(210: Host Computer)에 의해 소프트웨어적인 모델링으로 처리하는 SILS 환경을 나타낸다.
6개의 중앙처리장치(CPU)를 갖춘 호스트 컴퓨터(210)는 비행제어법칙 및 항공기 모델 및 각종 서브시스템, 그와 관련된 입출력 데이터를 제공한다.
영상혼합기(230: Video Mixer)는 영상생성기(220: Image Generator)에서 제공되는 지형 데이터 베이스(225)와 전방향 시현기(HUD) 정보를 추가하여 영상출력기(240)에 제공한다. 영상 출력기(240)는 제공되는 정보를 사용자에게 디스플레이한다.
신호연동장치(SIU, Signal Interface Unit)는 항공기의 하드웨어 입력을 호스트 컴퓨터(210)에 제공하며, 호스트 컴퓨터(210)에서 초기 설정값 및 항공기 모델링 모듈의 출력과 같은 신호를 하드웨어 장비에 제공한다.
그 가운데 호스트 컴퓨터(210)의 시뮬레이션 프로그램은 FORTRAN과 C언어로 구성되어 있으며 스케줄러(Scheduler)와 타이머(Timer)를 활용하여 서브시스템의 동적 특성에 따라 4개 수준으로 구분한 서브시스템의 작동주파수에 맞추어 다중 처리를 통한 시뮬레이션을 수행한다.
도 3은 HQS 시뮬레이션 프로그램의 다중처리 개념을 설명하기 위한 개념도이다.
도 3을 참조하면, 스케쥴러는 시뮬레이터 환경 설정 파일에 저장된 정보를 이용할 수 있고, 이를 통해 CPU별 태스크 관리자를 생성하고 스케줄링 정책을 결정한다. 이때, CPU별로 타이머를 생성하여 수행 주기등을 설정할 수 있다. 모델링 모듈은 CPU별로 적재되어 있고, 스케줄러는 CPU별 모델링 모듈들의 수행 순서를 결정한다. 그리고는, 복수 개의 병렬 CPU들(모델링 모듈들) 간의 동기를 맞춰 시뮬레이션이 수행되도록 할 수 있다.
다시 도 2로 돌아가서, HQS는 앞서 설명한 바와 같이 다수의 중앙처리장치(CPU)를 갖춘 고성능 호스트 컴퓨터(210)와 영상생성기(220), 영상혼합기(230), 영상출력기, 신호연동장치(260) 등의 하드웨어 및 소프트웨어의 조합으로 구성되는 복잡한 환경으로서 해당 환경의 구성을 위해서는 상당한 개발기간과 인력 투입이 필수적이다.
또한, HQS 개발 이후에도 데스크탑에서 수행되는 6 자유도 비선형 시뮬레이션 환경과 HQS 운용 환경과는 차이가 있어 데스크탑에서 개발된 제어법칙의 HQS Integration 작업과 통합된 제어법칙의 문제 여부 판단을 위한 HQS Integration Test와 같은 별도의 검증 절차를 필요로 한다. 이는 상당한 일정 및 비용 소요를 발생시키는 부분으로 항공기 개발 초기처럼 제어법칙 변경이 수시로 일어나는 시점에서는 더 큰 부담이 될 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 복수의 CPU를 스케줄러 및 타이머를 통한 다중처리 방식으로 통합 관리/운용되던 HQS 실시간 시뮬레이션 구현 방식을 하나의 CPU 로 구성된 데스크탑 환경에서 엔지니어나 조종사의 실시간 조작이 가능하도록 실시간 시뮬레이션을 구현하는 방법 및 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 방법은 비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 단계, 상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 단계, 서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 단계, 모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 단계 및 각 서브시스템 시뮬레이션 순서를 결정하는 단계를 포함할 수 있다.
상기 실시간 비행제어법칙 시뮬레이션 방법은 비행 조종 인터페이스로부터 조종신호를 입력받는 단계를 더 포함할 수 있다.
상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타낼 수 있다.
상기 각 서브시스템 시뮬레이션 순서를 결정하는 단계는 현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출하는 단계를 포함할 수 있다.
상기 실시간 비행제어법칙 시뮬레이션 방법은 상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 단계를 더 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 장치는, 비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 파일 로딩부, 상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 정렬부, 서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 주기 및 스텝 설정부, 모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 실행횟수 계산부 및 각 서브시스템 시뮬레이션 순서를 결정하는 시뮬레이션 순서 결정부를 포함할 수 있다.
상기 실시간 비행제어법칙 시뮬레이션을 위한 장치는 비행 조종 인터페이스로부터 조종신호를 입력받는 사용자 입력부를 더 포함할 수 있다.
상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타낼 수 있다.
상기 시뮬레이션 순서 결정부는 현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출할 수 있다.
상기 실시간 비행제어법칙 시뮬레이션을 위한 장치는 상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 시뮬레이션 수행부를 더 포함할 수 있다.
본 발명의 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법에 따르면, 종래에 비행제어법칙 개발에 사용하는 6자유도 비선형 시뮬레이션 툴에 반영하여 1차적인 유인 실시간 시뮬레이션 환경으로 활용할 경우 서로 다른 환경으로의 모델 전환과 그에 따른 검증 소유를 줄여 비행제어법칙 개발 과정의 인력/일정 상의 부담을 줄이고 개발기간을 단축하는 효과가 있다.
또한, 본 발명의 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법에 따르면, 상대적으로 매우 저렴한 비용으로 시스템 구축이 가능하여 손쉽게 활용할 수 있고 간단한 데스크탑 환경 기반의 이동성을 활용할 수 있어, 현재 고정된 HQS 룸(room)에서만 가능했던 제어법칙의 Demonstration의 공간적 제약을 벗어날 수 있는 효과가 있다.
도 1은 항공기의 비행제어법칙 디자인 및 분석 프로세스를 나타낸 도면,
도 2는 HQS SILS(Software In the Loop Simulation) 환경을 도시한 도면,
도 3은 HQS 시뮬레이션 프로그램의 다중처리 개념을 설명하기 위한 개념도,
도 4는 6자유도 비선형 시뮬레이션/HQS 환경 활용의 일 예를 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 6자유도 비선형 시뮬레이션/HQS 환경 활용 예를 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 방법을 개략적으로 나타낸 흐름도,
도 7은 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 방법의 시뮬레이션 순서 결정 과정을 구체적으로 나타낸 상세흐름도,
도 8은 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 방법의 실행 개념을 설명하기 위한 개념도,
도 9는 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 장치를 개략적으로 나타낸 블록도,
도 10a 및 10b는 시뮬레이션 결과 비교를 위한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 4는 6자유도 비선형 시뮬레이션/HQS 환경 활용의 일 예를 나타낸 도면이다.
도 4를 참조하면, 선형 및 비선형 분석은 데스크탑 환경에서 이루어지고, 실제 시뮬레이션을 통한 분석은 HQS 및 ETS 환경에서 이루어진다. 시뮬레이션은 실시간(real-time)으로 조종사가 직접 조종을 수행하면서 이루어지고, SIFS 및 HIFS(Hardware In the Loop Simulation)이 함께 수행될 수 있다. 만약, 시뮬레이션 결과 보완해야할 부분이 있으면, 디자인 요구사항에 포함시켜 다시 새로운 제어법칙으로 모델링될 수 있다.
도 5는 본 발명의 일 실시예에 따른 6자유도 비선형 시뮬레이션/HQS 환경 환경 활용 예를 나타낸 도면이다.
도 5를 참조하면, 도 4의 HQS 기반 유인 실시간 시뮬레이션 적용에 따른 항공기 개발의 부담을 줄이고, 개발 기간을 단축하기 위해, 비실시간으로 작동되는 6자유도 비선형 시뮬레이션 툴에 실시간 시뮬레이션 기능을 추가하여 실시간 시뮬레이션이 데스크탑 기반으로 돌아갈 수 있도록 한다. 또한, 스틱/스로틀(stick/throttle)과 같은 사용자 입력 환경에 대한 인터페이스를 적용하여 제어법칙 변경 검증 등의 유인 시뮬레이션 툴로써 활용가능하다.
즉, 조종사에 의해 유인 실시간 시뮬레이션 분석을 HQS 기반 환경에서 데스크탑 환경으로 이동시켜 6자유도 비선형 시뮬레이션을 포함한 모든 시뮬레이션 동작이 데스크탑 기반으로 이루어지도록 한다. 본 발명의 일 실시예에 따른 실시간 시뮬레이션 방법은 실제 HQS 환경과 유사한 동작이 데스크탑에서 구현되도록 스틱/스로틀 등의 기본적인 하드웨어 구성을 추가하고, 실시간으로 구현하는 데스크탑 컴퓨터의 성능에 따라 별도 영상 처리 운용을 위한 구성이 추가될 수 있다. 다만, 이러한 추가 장비에도 불구하고, 상대적으로 매우 저렴한 비용으로 시스템 구축이 가능하며 제어법칙 엔지니어의 필요에 따라 쉽게 유인 시뮬레이션 환경을 구축 활용할 수 있으며, 6자유도 비선형 시뮬레이션 환경에서 HQS 환경으로의 통합 작업이 별도로 요구되지 않아 제어법칙 변경 사항을 검증하고 개선 작업을 단순 데스크탑 환경에서 연속적으로 병행할 수 있다.
또한, HQS는 4 내지 6개의 CPU를 병렬로 구동시켜 동작을 수행하고, 각 CPU는 서로 다른 작동 주파수를 가지면서 동작하는데, 데스크탑 환경에서는 하나의 CPU를 사용하는 환경을 고려하고 있고, 하나의 CPU에서 서로 다른 서브시스템의 작동 주파수를 처리해야 한다. 따라서, 하나의 CPU에서 4 내지 6개의 CPU의 병렬 처리를 실시간으로 처리하기 위해, 실시간 제어용 시뮬레이션 타이머를 생성하여 수치 계산 후, 잔여시간에 대해 각 서브시스템을 슬립 처리하는 방식을 활용할 수 있다.
도 6은 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 방법을 개략적으로 나타낸 흐름도이다.
도 6을 참조하면, 실시간 시뮬레이션 장치(미도시)는 먼저, MDF(Master Definition File) 파일을 로딩한다(S610). 여기서, 실시간 시뮬레이션 장치는 데스크탑 PC와 같은 컴퓨터 장치로써, HQS 환경에서의 실시간 시뮬레이션 동작을 병행가능한 컴퓨팅 장치를 의미한다. MDF 파일은 서브시스템을 정의한 파일로써, 각 서브시스템의 작동주파수, 호출 우선순위, 주기, 입출력 인터페이스 및 상태(state) 정보가 정의되어 있을 수 있다. 서브시스템은 항공기 서브시스템을 의미한다.
그리고는, 상기 서브시스템의 정보(MDF 파일)를 활용하여 각 서브시스템의 시뮬레이션 순서를 결정하고, 여기에 실시간 시뮬레이션 특성을 반영한다(S620). 즉, 우선순위에 따라 서브시스템을 정렬하고, 각 서브시스템의 주기 및 스텝을 설정하여 실행 횟수를 계산하고, 계산된 실행횟수에 따라 시뮬레이션 순서를 결정할 수 있다. 이는 도 7을 통해 보다 상세히 설명한다.
도 7은 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 방법의 시뮬레이션 순서 결정 과정을 구체적으로 나타낸 상세흐름도이다.
도 7을 참조하면, 실시간 시뮬레이션 장치는 MDF 파일을 통해 서브시스템의 정보를 획득할 수 있다(S710). 획득된 서브시스템 정보 중에서 우선 순위 정보를 파싱하여, 우선순위에 따라 서브시스템을 정렬한다(S720).
서브시스템을 정렬한 이후, 서브시스템의 작동 주파수 정보를 활용하여 실시간으로 시뮬레이션 구현을 위한 주기 및 스템을 설정한다(S730). 여기서, 주기는 가장 느린 서브시스템의 주파수를 나타내고, 스텝은 가장 빠른 서브시스템의 주파수를 가장 느린 서브시스템의 주파수로 나눈 값으로 계산되는 값이다. 예컨대, 시뮬레이션 주기는 64Hz가 될 수 있고, 이때, 스텝은, 가장 빠른 서브시스템의 주파수가 512Hz인 경우, 64Hz 내에 512Hz의 계산이 8회 이루어질 수 있으므로 8(스텝)이 될 수 있다. 이는 특정 주기동안 가장 빠른 작동 주파수를 갖는 서브시스템의 계산이 적절하게 이루어질 수 있도록 알고리즘을 구성하기 위해 생성된 변수이다.
스템 및 주기를 설정하고 나면, 실시간 시뮬레이션 장치는 모든 서브시스템의 실행횟수를 계산하고(S740), 계산된 실행횟수 정보를 기반으로 각 서브시스템의 시뮬레이션 순서를 결정할 수 있다(S750).
하나의 사이클 동안 실행되는 전체 순서 결정 알고리즘을 수도 코드(pseudo code)로 표현하면 다음과 같다.
for (스텝(8) ) than
타이밍 = 현재 스텝 * 가장 빠른 주파수(512)
for(모든 타겟 서브시스템(19)) than
수행 스텝 = 가장 빠른 주파수 / 현재 서브시스템의 주파수
if( 스텝%수행 스텝 == 0) than
SimOrder에 현재 타이밍과 서브시스템 정보를 저장
end if
end for
end for
여기서, 특정 서브시스템의 타이밍은 현재 스텝 수와 가장 빠른 주파수(예컨대, 512Hz)의 곱으로 결정된다. 또한, 수행되어질 스텝은 가장 빠른 주파수를 특정 서브시스템의 주파수로 나눈 값으로 계산되어지고, 현재 스텝이 수행 스텝인 경우, 시뮬레이션 순서에 현재 타이밍과 서브시스템 정보를 저장하는 방식으로 순서 결정 알고리즘을 종료할 수 있다.
다시 도 6으로 돌아가서, 시뮬레이션 순서를 결정하고 나면, 실시간 시뮬레이션 장치는 서브시스템 모듈 초기값을 설정한다(S630). 즉, 모든 서브시스템을 모듈의 초기값을 설정하여 시뮬레이션 초기화를 준비한다.
초기값 설정이 완료되면, 실시간 시뮬레이션 장치는 데이터베이스 정보를 로딩하여 시뮬레이션을 초기화한다(S640).
그리고는, 실시간 제어용 시뮬레이션 타이머를 생성하고(S650), 결정된 서브시스템의 순서에 따라 실시간으로 시뮬레이션을 수행한다(S660). 실시간 시뮬레이션 장치는 시뮬레이션을 수행하면서 수치 계산으로 이루어지는 시뮬레이션이 완료되더라도 타이머로 시간을 체크하여 사용자가 설정한 시간 이내에 완료된 경우, 사용자 설정된 시간까지 슬립(sleep)하도록 하여 엔지니어 또는 조종사에게 전달되는 영상 정보 및 조종 입력을 실시간으로 처리할 수 있도록 한다.
실시간 시뮬레이션 알고리즘을 수도 코드(pseudo code)로 표현하면 다음과 같다.
타이머 시작
for (사용자가 설정한 시간) than
예상 시간 = 사이클 수행 횟수 * 주기(1/64)
예상 시간까지 슬립
타이머 체크 시작
for(서브시스템 수행 계수(60)) than
if( 서브시스템의 타이밍에 변화가 있을 경우) than
타이머가 체크된 곳에서부터 타이밍 시간까지 슬립(1/512)
end if
서브시스템 수행
end for
end for
여기서, 한 사이클은 1/64로 수행될 수 있고, 그렇기 때문에, 몇번의 사이클을 돌았는지 알면 비실시간 시스템에서의 수행시간을 예상할 수 있다. 예상시간은 사이클 수행횟수와 주기의 곱으로 산출가능하다.
만약, 예상 시간과 비교하여 수행시간이 많이 남았을 경우 서브시스템은 다음 설정된 시간까지의 잔여시간동안 슬립을 이용할 수 있다. 시뮬레이션 순서 결정 알고리즘에 의해 모든 서브시스템(예컨대, 60개)이 수행되면 한 사이클이 된다. 여기서, 60개의 서브시스템을 수행하던 중, 타이밍에 변화가 있을 수 있는데, 이는 하나의 스텝이 증가해야함을 의미한다. 따라서, 이러한 경우, 그때의 현재 시간을 실시간 제어용 타이머로 체크하여 타이밍 시간까지 슬립을 이용할 수 있다. 이를 통해 타이머를 기반으로 슬립 및 호출 동작을 반복하여, 비실시간 시뮬레이션을 실시간 시뮬레이션으로 변환할 수 있는 것이다.
이렇게, 실시간 시뮬레이션을 수행하면서, 시뮬레이션 종료 기준에 도달했는지를 판단하여(S670), 도달했을 경우, 시뮬레이션을 종료할 수 있다(S680). 시뮬레이션의 종료 기준은 시간으로 설정하여 특정 시간 도달시 종료하도록 설정할 수 있고, 특정 사이클, 특정 속도 등 목표치를 정해놓고, 목표치 도달 여부를 판단하여 도달했을 때 시뮬레이션이 종료되도록 설정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 방법의 실행 개념을 설명하기 위한 개념도이다.
도 8을 참조하면, 좌측 첫번째 줄은 각 서브시스템의 샘플링 레이트, 즉 작동 주파수를 나타내고, 두번째 줄은 해당 서브시스템의 실행 순서를 나타낸다. 세번째 줄은 서브시스템의 식별 번호를, 네번째 줄은 서브시스템의 이름이 나타난다. 그 우측에는 각 스텝(1/512)에서의 실제 실행 시간이 화살표로 나타나고, 슬립 시간이 화살표의 종단과 다음 스텝 사이에 나타나있다. 하나의 스텝에서 예상 시간 이전에 시뮬레이션 동작이 완료되면 잔여시간을 슬립하게 된다. 그리고, 다음 스텝에서 다시 시뮬레이션 순서에 맞춰 동작이 재개된다. 도 8의 실시예는 하나의 사이클에 8개의 스텝이 수행되는 과정을 나타낸다.
도 9는 본 발명의 일 실시예에 따른 데스크 탑 기반 실시간 시뮬레이션 장치를 개략적으로 나타낸 블록도이다. 도 9에 도시된 바와 같이, 본 발명의 일 실시예에 따른 파일 로딩부(910), 순서 결정부(920), 시뮬레이션 초기화부(930), 시뮬레이션 수행부(940), 타이머(950) 및 사용자 인터페이스(960)를 포함할 수 있다.
도 9를 참조하면, 파일 로딩부(910)는 먼저, MDF(Master Definition File) 파일을 로딩한다. MDF 파일은 데이터베이스(미도시)에 저장되어 있을 수 있고, 파일 로딩부(910)는 이를 로딩하여 파싱하는 기능을 수행한다.
순서 결정부(920)는 MDF 파일의 서브시스템 정보를 활용하여 각 서브시스템의 시뮬레이션 순서를 결정한다. 순서 결정부(920)는 정렬부(922), 주기/스텝 설정부(924), 실행횟수 계산부(926) 및 시뮬레이션 순서 결정부(928)를 포함할 수 있다.
정렬부(922)는 우선순위에 따라 서브시스템을 정렬한다. 정렬부(922)는 파일 로딩부(910)에서 로딩한 MDF 파일을 통해 서브시스템의 정보를 획득하고, 획득된 서브시스템 정보 중에서 우선 순위 정보를 파싱하여, 파싱된 우선순위에 따라 서브시스템을 정렬한다.
주기/스텝 설정부(924)는 각 서브시스템의 주기 및 스텝을 설정한다. 주기/스텝 설정부(924)는 서브시스템의 작동 주파수 정보를 활용하여 실시간으로 시뮬레이션 구현을 위한 주기 및 스텝을 설정한다. 주기는 가장 느린 서브시스템의 주파수를 나타내고, 스텝은 가장 빠른 서브시스템의 주파수를 가장 느린 서브시스템의 주파수로 나눈 값으로 계산되는 값일 수 있다.
실행횟수 계산부(926)는 모든 서브시스템의 실행횟수를 계산하고, 시뮬레이션 순서 결정부(928)는 계산된 실행횟수 정보를 기반으로 각 서브시스템의 시뮬레이션 순서를 결정할 수 있다.
여기서, 특정 서브시스템의 타이밍은 현재 스텝 수와 가장 빠른 주파수(예컨대, 512Hz)의 곱으로 결정된다. 또한, 수행되어질 스텝은 가장 빠른 주파수를 특정 서브시스템의 주파수로 나눈 값으로 계산되어지고, 현재 스텝이 수행 스텝인 경우, 시뮬레이션 순서에 현재 타이밍과 서브시스템 정보를 저장하는 방식으로 순서 결정 알고리즘을 종료할 수 있다.
시뮬레이션 초기화부(930)는 서브시스템 모듈 초기값을 설정하여 시뮬레이션 초기화를 준비한다. 그리고 시뮬레이션 초기화부(930)는 데이터베이스 정보를 로딩하여 시뮬레이션을 초기화한다.
그리고는, 시뮬레이션 수행부(940)는 실시간 제어용 시뮬레이션 타이머(950)를 생성하고, 결정된 서브시스템의 순서에 따라 실시간으로 시뮬레이션을 수행한다. 시뮬레이션 수행부(940)는 시뮬레이션을 수행하면서 수치 계산으로 이루어지는 시뮬레이션이 완료되더라도 타이머(950)로 시간을 체크하여 사용자가 설정한 시간 이내에 완료된 경우, 사용자 설정된 시간까지 슬립(sleep)하도록 하여 엔지니어 또는 조종사에게 전달되는 영상 정보 및 조종 입력을 실시간으로 처리할 수 있도록 한다. 한 사이클은 1/64로 수행될 수 있고, 그렇기 때문에, 몇번의 사이클을 돌았는지 알면 비실시간 시스템에서의 수행시간을 예상할 수 있다. 예상시간은 사이클 수행횟수와 주기의 곱으로 산출가능하다.
만약, 예상 시간과 비교하여 수행시간이 많이 남았을 경우 서브시스템은 다음 설정된 시간까지의 잔여시간동안 슬립을 이용할 수 있다. 시뮬레이션 순서 결정 알고리즘에 의해 결정된 모든 서브시스템(예컨대, 60개)의 동작이 수행되면 한 사이클이 된다. 여기서, 60개의 서브시스템을 수행하던 중, 타이밍에 변화가 있을 수 있는데, 이는 하나의 스텝이 증가해야 함을 의미하고, 이러한 경우, 그때의 현재 시간을 실시간 제어용 타이머(950)로 체크하여 타이밍 시간까지 슬립하도록 할 수 있다.
시뮬레이션 수행부(940)는 실시간 시뮬레이션을 수행하면서, 시뮬레이션 종료 기준에 도달했는지를 판단하여 도달했을 경우, 시뮬레이션을 종료할 수 있다. 시뮬레이션의 종료 기준은 시간으로 설정하여 특정 시간 도달시 종료하도록 설정할 수 있고, 특정 사이클, 특정 속도 등 목표치를 정해놓고, 목표치 도달 여부를 판단하여 도달했을 때 시뮬레이션이 종료되도록 설정할 수 있다.
사용자 인터페이스(960)는 스틱 또는 스로틀로, 비행 조종을 위한 사용자 입력을 받는다.
도 10a 및 10b는 시뮬레이션 결과 비교를 위한 그래프이다.
도 10a 및 10b를 참조하면, 상기한 시뮬레이션 순서 결정 알고리즘과 실시간으로 시뮬레이션 처리 알고리즘을 실제 개발/활용하고 있는 항공기 6자유도 시뮬레이션 툴에 적용하여 검토한 결과를 나타낸 그림이다.
특정 항공기 개발에 적용된 종래 6자유도 비실시간 시뮬레이션 결과(실선)와 실제 HQS 실시간 시뮬레이션 결과(좁은 폭의 점선), 본 발명에 따른 실시간 시뮬레이션 기능을 추가한 소프트웨어의 실시간 시뮬레이션 결과(넓은 폭의 점선)를 함께 나타낸 것으로, 3개의 시뮬레이션 결과를 나타내는 선들이 거의 일치하는 것으로 보아, 본 발명에 따른 실시간 시뮬레이션 기능을 추가한 소프트웨어 알고리즘이 적절히 작동하고 있음을 확인할 수 있다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 방법에 있어서,
    비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 단계;
    상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 단계;
    서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 단계;
    모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 단계; 및
    각 서브시스템 시뮬레이션 순서를 결정하는 단계를 포함하되,
    상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타내는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
  2. 제 1 항에 있어서,
    비행 조종 인터페이스로부터 조종신호를 입력받는 단계를 더 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
  3. 삭제
  4. 제 1 항에 있어서, 상기 각 서브시스템 시뮬레이션 순서를 결정하는 단계는
    현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출하는 단계를 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
  5. 제 1 항에 있어서,
    상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 단계를 더 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
  6. 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 장치에 있어서,
    비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 파일 로딩부;
    상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 정렬부;
    서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 주기 및 스텝 설정부;
    모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 실행횟수 계산부; 및
    각 서브시스템 시뮬레이션 순서를 결정하는 시뮬레이션 순서 결정부를 포함하되,
    상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타내는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
  7. 제 6 항에 있어서,
    비행 조종 인터페이스로부터 조종신호를 입력받는 사용자 입력부를 더 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
  8. 삭제
  9. 제 6 항에 있어서, 상기 시뮬레이션 순서 결정부는
    현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
  10. 제 6 항에 있어서,
    상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 시뮬레이션 수행부를 더 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.

KR1020140190685A 2014-12-26 2014-12-26 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법 Active KR101807769B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140190685A KR101807769B1 (ko) 2014-12-26 2014-12-26 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140190685A KR101807769B1 (ko) 2014-12-26 2014-12-26 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160079394A KR20160079394A (ko) 2016-07-06
KR101807769B1 true KR101807769B1 (ko) 2017-12-13

Family

ID=56502364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140190685A Active KR101807769B1 (ko) 2014-12-26 2014-12-26 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101807769B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486140A (zh) * 2020-11-20 2021-03-12 中国直升机设计研究所 一种飞控系统故障申报查询方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166271A1 (en) * 2010-07-06 2013-06-27 Torkel Danielsson Simulating and testing avionics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166271A1 (en) * 2010-07-06 2013-06-27 Torkel Danielsson Simulating and testing avionics

Also Published As

Publication number Publication date
KR20160079394A (ko) 2016-07-06

Similar Documents

Publication Publication Date Title
US11624773B2 (en) System and methods for analyzing and estimating susceptibility of circuits to radiation-induced single-event-effects
CN104793983B (zh) 用于模拟自动化工业设备的方法和模拟装置
Arrieta et al. Automatic generation of test system instances for configurable cyber-physical systems
US11144693B1 (en) Method and system for generating verification tests at runtime
KR20140098602A (ko) 분산 시뮬레이션 수행 시스템 및 방법
KR20150001620A (ko) 조립 공정에서 툴링 동작을 수행하기 위한 실시간 피드백 제어
CN110134580A (zh) 处理器验证方法及相关产品
KR20130091096A (ko) 하이브리드 시스템을 검증하기 위한 시뮬레이션 장치 및 방법
US10606970B2 (en) Selection of corners and/or margins using statistical static timing analysis of an integrated circuit
US20130212554A1 (en) Parallelization method, system and program
CN111563324A (zh) 飞行控制系统仿真方法、平台、服务器及存储介质
Bianchi et al. Robust identification/invalidation in an LPV framework
Nikiforov et al. Rosé: A hardware-software co-simulation infrastructure enabling pre-silicon full-stack robotics soc evaluation
Mossige et al. Using CP in automatic test generation for ABB robotics’ paint control system
US8543369B2 (en) Method and data processing system for simulating an embedded system
KR101807769B1 (ko) 데스크 탑 기반 실시간 시뮬레이션 장치 및 방법
Kuroiwa et al. Testing environment for CPS by cooperating model checking with execution testing
JP2011186991A (ja) 常微分方程式を解くための方法、プログラム及びシステム
Srinivasan et al. Optimizing massively parallel simulations of infection spread through air-travel for policy analysis
US20230174083A1 (en) Determining a computational effort of a virtual test
KR101674324B1 (ko) 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법
Jaddoe et al. Signature-based calibration of analytical system-level performance models
US20230195500A1 (en) Configuration of an sil simulation of a control unit running on a computer
Lee et al. Fast Verilog Simulation using Tel-based Verification Code Generation for Dynamically Reloading from Pre-Simulation Snapshot
JP5390464B2 (ja) シミュレーション装置、シミュレーション装置の制御方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20141226

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170405

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20171025

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20171205

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20171206

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20201202

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20211201

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20221201

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20231204

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20241202

Start annual number: 8

End annual number: 8