KR20160079394A - Desktop based realtime simulation apparatus and method - Google Patents

Desktop based realtime simulation apparatus and method Download PDF

Info

Publication number
KR20160079394A
KR20160079394A KR1020140190685A KR20140190685A KR20160079394A KR 20160079394 A KR20160079394 A KR 20160079394A KR 1020140190685 A KR1020140190685 A KR 1020140190685A KR 20140190685 A KR20140190685 A KR 20140190685A KR 20160079394 A KR20160079394 A KR 20160079394A
Authority
KR
South Korea
Prior art keywords
simulation
subsystem
time
real
frequency
Prior art date
Application number
KR1020140190685A
Other languages
Korean (ko)
Other versions
KR101807769B1 (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 KR1020140190685A priority Critical patent/KR101807769B1/en
Publication of KR20160079394A publication Critical patent/KR20160079394A/en
Application granted granted Critical
Publication of KR101807769B1 publication Critical patent/KR101807769B1/en

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

The present invention discloses a method for simulating a real time flight control law at a desktop environment. The purpose of the present invention is to provide a method and an apparatus for realizing real time simulation to enable an engineer or a pilot at a desktop environment consisting of one CPU to perform a real time operation of a HQS real time simulation realizing method which has integrally managed or operated plural CPUs in a multiprocessing method through a scheduler and a timer. A method for simulating a real time flight control law at a desktop environment according to the present invention comprises: a step of loading an MDF (Master Definition File) which defines priorities of inputs/outputs, operating frequencies, and callings of flight control subsystems; a step of aligning the subsystems according to the priority of the callings defined in the MDF; a step of setting up cycles and steps of the respective subsystems using information on the operating frequencies of the subsystems; a step of calculating the implementation number for all subsystem simulations; and a step of determining the simulation sequence of the respective subsystems.

Description

데스트 탑 기반 실시간 시뮬레이션 장치 및 방법{DESKTOP BASED REALTIME SIMULATION APPARATUS AND METHOD}[0001] DESSTOP BASED REALTIME SIMULATION APPARATUS AND METHOD [0002]

본 발명은 비행 조작 시물레이션 장치 및 방법에 관한 것으로, 보다 상세하게는, 다수의 CPU 사용 없이 종래 사용하는 비실시간 시뮬레이션에 추가하여 활용할 수 있는 실시간 시뮬레이션 장치 및 방법에 관한 것이다.The present invention relates to a flight operation simulation apparatus and method, and more particularly, to a real-time simulation apparatus and method that can be utilized in addition to a non-real-time simulation conventionally used without using a plurality of CPUs.

도 1은 항공기의 비행제어법칙 디자인 및 분석 프로세스를 나타낸 도면이다.1 is a diagram illustrating an aircraft flight control law design and analysis process.

도 1을 참조하면, 항공기의 비행제어법칙은 요구도 분석(SUBP-01: Determine HQ Requirements)에서 시작하여 시뮬레이션 서브시스템 모델 및 제어구조를 설계한다(SUBP-02, SUBP-03). 그리고는, 공력, 중량을 기본으로 하는 데이터베이스와 연계한 선형해석을 통해 제어이득을 설계한 후(SUBP-04), 비선형 6-자유도 시뮬레이션을 통하여 제어법칙을 검증/보완한다(SUBP-05). 여기까지의 과정은 데스크 탑 환경에서 이루어질 수 있다. Referring to FIG. 1, a flight control law of an aircraft starts from a requirement analysis (SUBP-01: Determine HQ Requirements) to design a simulation subsystem model and a control structure (SUBP-02, SUBP-03). Then, the control gain is designed (SUBP-04) and the control law is verified / supplemented by the nonlinear 6-degree-of-freedom simulation (SUBP-05). The process up to this point can be done in a desktop environment.

그리고는, HQS(Handling Quality Simulator)를 활용하여 엔지니어나 조종사가 포함된 실시간 유인 조종성을 검증하는 일련의 단계를 거쳐 수행된다(SUBP-06).Then, it is performed through a series of steps to verify real-time maneuverability including engineers and pilots using the HQS (Handling Quality Simulator) (SUBP-06).

이 중 HQS를 이용한 유인모사법은 조종성 평가방법으로 가장 광범위하게 사용되는 방법으로, 컴퓨터 성능과 그래픽 기술 발달에 힘입어 통합형 예측도구로서 활용되고 있다. HQS는 실제 조종사가 참여하여 항공기 모델 수준 전반에 대해 실제 비행경험과 비교평가를 함으로써 조종성 개선을 위한 제어법칙 개선작업과 해석단계에서 드러나지 않았던 항공기 모델오류 수정에 활용된다. 또한, 비행시험 전에 여러 가지 시험항목을 조종사가 사전에 평가하고, 기동에 대한 훈련을 수행하며 비행시험을 통해 검증하는데 위험이 따르는 항목인 조종면 재형상(Reconfiguration) 비행제어법칙 등의 평가에도 사용된다.Among them, HJS is the most widely used method of maneuverability evaluation method, and it is utilized as an integrated prediction tool due to the development of computer performance and graphic technology. HQS is used to improve the control law to improve the maneuverability and to correct the aircraft model error that was not revealed in the interpretation stage by comparing the actual flight experience with the actual flight experience by participating in the actual pilot. Also, it is used for evaluation of various flight test methods such as reconfiguration flight control law, which is a dangerous item for pilots to evaluate in advance, perform training on maneuver, and verify flight test .

HQS에서의 시뮬레이션이 끝나면 지상 테스트(SUBP-07) 및 실제 비행 테스트(SUBP-08)를 거쳐 하나의 비행제어법칙 검증이 완료된다.After the simulation in HQS, one flight control rule verification is completed through the ground test (SUBP-07) and the actual flight test (SUBP-08).

도 2는 HQS SILS(Software In the Loop Simulation) 환경을 도시한 도면이다.FIG. 2 is a diagram illustrating a HQS SILS (Software In the Loop Simulation) environment.

도 2를 참조하면, 실제 비행제어 컴퓨터는 사용하지 않지만 동일한 제어법칙을 호스트 컴퓨터(210: Host Computer)에 의해 소프트웨어적인 모델링으로 처리하는 SILS 환경을 나타낸다.Referring to FIG. 2, the actual flight control computer is not used but represents a SILS environment in which the same control law is processed by software modeling by a host computer 210 (Host Computer).

6개의 중앙처리장치(CPU)를 갖춘 호스트 컴퓨터(210)는 비행제어법칙 및 항공기 모델 및 각종 서브시스템, 그와 관련된 입출력 데이터를 제공한다.A host computer 210 with six central processing units (CPUs) provides flight control laws and aircraft models and various subsystems and associated input and output data.

영상혼합기(230: Video Mixer)는 영상생성기(220: Image Generator)에서 제공되는 지형 데이터 베이스(225)와 전방향 시현기(HUD) 정보를 추가하여 영상출력기(240)에 제공한다. 영상 출력기(240)는 제공되는 정보를 사용자에게 디스플레이한다.The video mixer 230 adds the terrain database 225 and the forward direction video (HUD) information provided by the image generator 220 to the video output unit 240. The video output unit 240 displays the provided information to the user.

신호연동장치(SIU, Signal Interface Unit)는 항공기의 하드웨어 입력을 호스트 컴퓨터(210)에 제공하며, 호스트 컴퓨터(210)에서 초기 설정값 및 항공기 모델링 모듈의 출력과 같은 신호를 하드웨어 장비에 제공한다. A signal interface unit (SIU) provides the hardware input of the aircraft to the host computer 210 and provides signals to the hardware equipment, such as the initial setpoint and the output of the aircraft modeling module, at the host computer 210.

그 가운데 호스트 컴퓨터(210)의 시뮬레이션 프로그램은 FORTRAN과 C언어로 구성되어 있으며 스케줄러(Scheduler)와 타이머(Timer)를 활용하여 서브시스템의 동적 특성에 따라 4개 수준으로 구분한 서브시스템의 작동주파수에 맞추어 다중 처리를 통한 시뮬레이션을 수행한다. Among them, the simulation program of the host computer 210 is composed of FORTRAN and C language. The simulation program of the host computer 210 uses the scheduler and the timer to calculate the operating frequency of the subsystem classified into four levels according to the dynamic characteristics of the subsystem Simultaneously, simulation is performed through multiple processing.

도 3은 HQS 시뮬레이션 프로그램의 다중처리 개념을 설명하기 위한 개념도이다.3 is a conceptual diagram for explaining the multiprocessing concept of the HQS simulation program.

도 3을 참조하면, 스케쥴러는 시뮬레이터 환경 설정 파일에 저장된 정보를 이용할 수 있고, 이를 통해 CPU별 태스크 관리자를 생성하고 스케줄링 정책을 결정한다. 이때, CPU별로 타이머를 생성하여 수행 주기등을 설정할 수 있다. 모델링 모듈은 CPU별로 적재되어 있고, 스케줄러는 CPU별 모델링 모듈들의 수행 순서를 결정한다. 그리고는, 복수 개의 병렬 CPU들(모델링 모듈들) 간의 동기를 맞춰 시뮬레이션이 수행되도록 할 수 있다. Referring to FIG. 3, the scheduler can use the information stored in the simulator configuration file, thereby creating a task manager for each CPU and determining a scheduling policy. At this time, a timer can be generated for each CPU, and the execution cycle and the like can be set. The modeling module is loaded on a CPU-by-CPU basis, and the scheduler determines the order of execution of CPU-specific modeling modules. Then, the simulation can be performed in synchronization with a plurality of parallel CPUs (modeling modules).

다시 도 2로 돌아가서, HQS는 앞서 설명한 바와 같이 다수의 중앙처리장치(CPU)를 갖춘 고성능 호스트 컴퓨터(210)와 영상생성기(220), 영상혼합기(230), 영상출력기, 신호연동장치(260) 등의 하드웨어 및 소프트웨어의 조합으로 구성되는 복잡한 환경으로서 해당 환경의 구성을 위해서는 상당한 개발기간과 인력 투입이 필수적이다. 2, the HQS includes a high performance host computer 210 having a plurality of central processing units (CPUs), an image generator 220, an image mixer 230, an image output device, a signal interlock device 260, And a combination of hardware and software. For the configuration of the environment, considerable development time and manpower input are essential.

또한, HQS 개발 이후에도 데스크탑에서 수행되는 6 자유도 비선형 시뮬레이션 환경과 HQS 운용 환경과는 차이가 있어 데스크탑에서 개발된 제어법칙의 HQS Integration 작업과 통합된 제어법칙의 문제 여부 판단을 위한 HQS Integration Test와 같은 별도의 검증 절차를 필요로 한다. 이는 상당한 일정 및 비용 소요를 발생시키는 부분으로 항공기 개발 초기처럼 제어법칙 변경이 수시로 일어나는 시점에서는 더 큰 부담이 될 수 있다.Also, since HQS development, it is different from 6-DOF nonlinear simulation environment and HQS operating environment performed on desktop. HQS integration work of control rule developed on desktop and HQS integration test for judgment of problem of integrated control law A separate verification procedure is required. This is a part that generates considerable schedule and cost burdens, which can become a burden when the control law change occasionally occurs like in the initial stage of aircraft development.

상술한 문제점을 해결하기 위한 본 발명의 목적은 복수의 CPU를 스케줄러 및 타이머를 통한 다중처리 방식으로 통합 관리/운용되던 HQS 실시간 시뮬레이션 구현 방식을 하나의 CPU 로 구성된 데스크탑 환경에서 엔지니어나 조종사의 실시간 조작이 가능하도록 실시간 시뮬레이션을 구현하는 방법 및 장치를 제공하는 것이다.It is an object of the present invention to solve the above-mentioned problems and to provide a HQS real-time simulation realization method in which a plurality of CPUs are integratedly managed / operated by a multi-processing method using a scheduler and a timer, And to provide a method and apparatus for implementing real-time simulation to enable real-time simulation.

상기한 목적을 달성하기 위한 본 발명의 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 방법은 비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 단계, 상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 단계, 서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 단계, 모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 단계 및 각 서브시스템 시뮬레이션 순서를 결정하는 단계를 포함할 수 있다.In order to achieve the above object, a method for real-time flight control law simulation in a desktop environment of the present invention includes loading an MDF (Master Definition File) file defining an input / output, an operation frequency and a call priority of a flight control subsystem , Arranging the subsystems according to the paging priority defined in the MDF file, setting the cycle and step of each subsystem using operating frequency information of the subsystem, calculating the number of executions for all subsystem simulations And determining the order of each subsystem simulation.

상기 실시간 비행제어법칙 시뮬레이션 방법은 비행 조종 인터페이스로부터 조종신호를 입력받는 단계를 더 포함할 수 있다.The real-time flight control law simulation method may further include receiving a steering signal from a flight control interface.

상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타낼 수 있다.The period represents the frequency of the fastest subsystem, and the step may represent a value obtained by dividing the fastest subsystem frequency by the slowest subsystem frequency.

상기 각 서브시스템 시뮬레이션 순서를 결정하는 단계는 현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출하는 단계를 포함할 수 있다.The step of determining each subsystem simulation sequence may include calculating the timing of a particular subsystem in a cycle by computing a current step value and the fastest subsystem frequency.

상기 실시간 비행제어법칙 시뮬레이션 방법은 상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 단계를 더 포함할 수 있다.The real-time flight control law simulation method includes a step of performing a real-time simulation according to the determined order, a time calculation after numerical calculation using a simulation timer for real-time control, and, if the simulation is completed within a set time, So as to cause the mobile terminal to slip.

상기한 목적을 달성하기 위한 본 발명의 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 장치는, 비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 파일 로딩부, 상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 정렬부, 서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 주기 및 스텝 설정부, 모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 실행횟수 계산부 및 각 서브시스템 시뮬레이션 순서를 결정하는 시뮬레이션 순서 결정부를 포함할 수 있다.According to an aspect of the present invention, there is provided an apparatus for simulating a real-time flight control law in a desktop environment, the system comprising: a loader for loading an MDF (Master Definition File) file defining an input / output, A file loading unit, an arranging unit for arranging the subsystems according to the paging priority defined in the MDF file, a period setting unit for setting periods and steps of each subsystem using operating frequency information of the subsystems, An execution count calculation unit for calculating the number of executions for system simulation, and a simulation order determination unit for determining each subsystem simulation order.

상기 실시간 비행제어법칙 시뮬레이션을 위한 장치는 비행 조종 인터페이스로부터 조종신호를 입력받는 사용자 입력부를 더 포함할 수 있다.The apparatus for real-time flight control law simulation may further include a user input unit for receiving a steering signal from a flight control interface.

상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타낼 수 있다.The period represents the frequency of the fastest subsystem, and the step may represent a value obtained by dividing the fastest subsystem frequency by the slowest subsystem frequency.

상기 시뮬레이션 순서 결정부는 현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출할 수 있다.The simulation order determination unit may calculate the timing of the specific subsystem in one cycle by calculating the current step value and the fastest subsystem frequency.

상기 실시간 비행제어법칙 시뮬레이션을 위한 장치는 상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 시뮬레이션 수행부를 더 포함할 수 있다.The apparatus for simulating real-time flight control law may perform real-time simulation according to the determined order, calculate numerical values using a simulation timer for real-time control, check the time, and if simulation is completed within a predetermined time, And a simulation execution unit for causing the subsystem to slip.

본 발명의 데스트 탑 기반 실시간 시뮬레이션 장치 및 방법에 따르면, 종래에 비행제어법칙 개발에 사용하는 6자유도 비선형 시뮬레이션 툴에 반영하여 1차적인 유인 실시간 시뮬레이션 환경으로 활용할 경우 서로 다른 환경으로의 모델 전환과 그에 따른 검증 소유를 줄여 비행제어법칙 개발 과정의 인력/일정 상의 부담을 줄이고 개발기간을 단축하는 효과가 있다.According to the desktop-based real-time simulation apparatus and method of the present invention, when utilized as a first-in-first-in-time real-time simulation environment, it is reflected in a 6-DOF nonlinear simulation tool used for developing a flight control law. Therefore, it is effective to reduce the burden of manpower / schedule in the flight control rule development process and to shorten the development period.

또한, 본 발명의 데스트 탑 기반 실시간 시뮬레이션 장치 및 방법에 따르면, 상대적으로 매우 저렴한 비용으로 시스템 구축이 가능하여 손쉽게 활용할 수 있고 간단한 데스크탑 환경 기반의 이동성을 활용할 수 있어, 현재 고정된 HQS 룸(room)에서만 가능했던 제어법칙의 Demonstration의 공간적 제약을 벗어날 수 있는 효과가 있다.In addition, according to the desktop-based real-time simulation apparatus and method of the present invention, it is possible to utilize a mobility based on a simple desktop environment because the system can be constructed at a relatively low cost and can be easily utilized, It is possible to get rid of the spatial constraint of Demonstration of the control law that was possible only.

도 1은 항공기의 비행제어법칙 디자인 및 분석 프로세스를 나타낸 도면,
도 2는 HQS SILS(Software In the Loop Simulation) 환경을 도시한 도면,
도 3은 HQS 시뮬레이션 프로그램의 다중처리 개념을 설명하기 위한 개념도,
도 4는 6자유도 비선형 시뮬레이션/HQS 환경 활용의 일 예를 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 6자유도 비선형 시뮬레이션/HQS 환경 활용 예를 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 방법을 개략적으로 나타낸 흐름도,
도 7은 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 방법의 시뮬레이션 순서 결정 과정을 구체적으로 나타낸 상세흐름도,
도 8은 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 방법의 실행 개념을 설명하기 위한 개념도,
도 9는 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 장치를 개략적으로 나타낸 블록도,
도 10a 및 10b는 시뮬레이션 결과 비교를 위한 그래프이다.
1 shows a flight control law design and analysis process for an aircraft,
FIG. 2 is a diagram illustrating a HQS SILS (Software In the Loop Simulation)
3 is a conceptual diagram for explaining the multiprocessing concept of the HQS simulation program,
4 is a diagram illustrating an example of six degrees of freedom nonlinear simulation / HQS environment utilization,
5 is a diagram illustrating an example of utilizing a 6-degree-of-freedom nonlinear simulation / HQS environment according to an embodiment of the present invention,
FIG. 6 is a flowchart schematically illustrating a desktop-based real-time simulation method according to an embodiment of the present invention.
FIG. 7 is a detailed flowchart specifically illustrating a simulation order determination process of a desktop-based real-time simulation method according to an embodiment of the present invention;
FIG. 8 is a conceptual diagram for explaining an execution concept of a desktop-based real-time simulation method according to an embodiment of the present invention;
9 is a block diagram schematically illustrating a desktop-based real-time simulation apparatus according to an embodiment of the present invention.
10A and 10B are graphs for comparison of simulation results.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 4는 6자유도 비선형 시뮬레이션/HQS 환경 활용의 일 예를 나타낸 도면이다. Figure 4 is an illustration of an example of a six degree of freedom nonlinear simulation / HQS environment utilization.

도 4를 참조하면, 선형 및 비선형 분석은 데스크탑 환경에서 이루어지고, 실제 시뮬레이션을 통한 분석은 HQS 및 ETS 환경에서 이루어진다. 시뮬레이션은 실시간(real-time)으로 조종사가 직접 조종을 수행하면서 이루어지고, SIFS 및 HIFS(Hardware In the Loop Simulation)이 함께 수행될 수 있다. 만약, 시뮬레이션 결과 보완해야할 부분이 있으면, 디자인 요구사항에 포함시켜 다시 새로운 제어법칙으로 모델링될 수 있다.Referring to FIG. 4, linear and nonlinear analyzes are performed in a desktop environment, and analysis through actual simulation is performed in HQS and ETS environments. Simulation can be done in real-time while the pilot manages it directly, and SIFS and HIFS (Hardware In the Loop Simulation) can be performed together. If there is a part that needs to be supplemented by the simulation result, it can be modeled as a new control law by including it in the design requirement.

도 5는 본 발명의 일 실시예에 따른 6자유도 비선형 시뮬레이션/HQS 환경 환경 활용 예를 나타낸 도면이다.FIG. 5 is a diagram illustrating an example of utilizing a 6-degree-of-freedom nonlinear simulation / HQS environment environment according to an embodiment of the present invention.

도 5를 참조하면, 도 4의 HQS 기반 유인 실시간 시뮬레이션 적용에 따른 항공기 개발의 부담을 줄이고, 개발 기간을 단축하기 위해, 비실시간으로 작동되는 6자유도 비선형 시뮬레이션 툴에 실시간 시뮬레이션 기능을 추가하여 실시간 시뮬레이션이 데스트탑 기반으로 돌아갈 수 있도록 한다. 또한, 스틱/스로틀(stick/throttle)과 같은 사용자 입력 환경에 대한 인터페이스를 적용하여 제어법칙 변경 검증 등의 유인 시뮬레이션 툴로써 활용가능하다.5, a real-time simulation function is added to a 6-degree-of-freedom nonlinear simulation tool operating in a non-real-time manner in order to reduce the burden on the development of an aircraft according to the HQS- Allow the simulation to go back to the desktop. In addition, it can be utilized as an attracting simulation tool such as control law change verification by applying an interface to a user input environment such as a stick / throttle.

즉, 조종사에 의해 유인 실시간 시뮬레이션 분석을 HQS 기반 환경에서 데스트탑 환경으로 이동시켜 6자유도 비선형 시뮬레이션을 포함한 모든 시뮬레이션 동작이 데스크탑 기반으로 이루어지도록 한다. 본 발명의 일 실시예에 따른 실시간 시뮬레이션 방법은 실제 HQS 환경과 유사한 동작이 데스크탑에서 구현되도록 스틱/스로틀 등의 기본적인 하드웨어 구성을 추가하고, 실시간으로 구현하는 데스크탑 컴퓨터의 성능에 따라 별도 영상 처리 운용을 위한 구성이 추가될 수 있다. 다만, 이러한 추가 장비에도 불구하고, 상대적으로 매우 저렴한 비용으로 시스템 구축이 가능하며 제어법칙 엔지니어의 필요에 따라 쉽게 유인 시뮬레이션 환경을 구축 활용할 수 있으며, 6자유도 비선형 시뮬레이션 환경에서 HQS 환경으로의 통합 작업이 별도로 요구되지 않아 제어법칙 변경 사항을 검증하고 개선 작업을 단순 데스크탑 환경에서 연속적으로 병행할 수 있다.In other words, by moving the real-time simulation analysis from the pilot to the desktop environment from the HQS-based environment, all the simulation operations including the 6-DOF nonlinear simulation are performed on the desktop basis. The real-time simulation method according to an embodiment of the present invention adds a basic hardware configuration such as a stick / throttle so that an operation similar to an actual HQS environment is implemented on a desktop, and performs a separate image processing operation according to the performance of a desktop computer implementing real- May be added. Despite these additional equipment, it is possible to construct a system at a relatively low cost, and it is possible to easily utilize a manned simulation environment according to the need of a control law engineer. In addition, Are not required separately to validate control law changes and to continuously remediate improvements in a simple desktop environment.

또한, HQS는 4 내지 6개의 CPU를 병렬로 구동시켜 동작을 수행하고, 각 CPU는 서로 다른 작동 주파수를 가지면서 동작하는데, 데스트탑 환경에서는 하나의 CPU를 사용하는 환경을 고려하고 있고, 하나의 CPU에서 서로 다른 서브시스템의 작동 주파수를 처리해야 한다. 따라서, 하나의 CPU에서 4 내지 6개의 CPU의 병렬 처리를 실시간으로 처리하기 위해, 실시간 제어용 시뮬레이션 타이머를 생성하여 수치 계산 후, 잔여시간에 대해 각 서브시스템을 슬립 처리하는 방식을 활용할 수 있다. In addition, the HQS operates by running four to six CPUs in parallel, and each CPU operates with different operating frequencies. In the desktop environment, an environment using one CPU is considered, and one The CPU must handle the operating frequencies of the different subsystems. Therefore, in order to process parallel processing of 4 to 6 CPUs in one CPU in real time, a simulation timer for real-time control may be generated and numerical calculation may be performed, followed by slip processing of each subsystem with respect to the remaining time.

도 6은 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 방법을 개략적으로 나타낸 흐름도이다.FIG. 6 is a flowchart schematically illustrating a desktop-based real-time simulation method according to an embodiment of the present invention.

도 6을 참조하면, 실시간 시뮬레이션 장치(미도시)는 먼저, MDF(Master Definition File) 파일을 로딩한다(S610). 여기서, 실시간 시뮬레이션 장치는 데스크탑 PC와 같은 컴퓨터 장치로써, HQS 환경에서의 실시간 시뮬레이션 동작을 병행가능한 컴퓨팅 장치를 의미한다. MDF 파일은 서브시스템을 정의한 파일로써, 각 서브시스템의 작동주파수, 호출 우선순위, 주기, 입출력 인터페이스 및 상태(state) 정보가 정의되어 있을 수 있다. 서브시스템은 항공기 서브시스템을 의미한다.Referring to FIG. 6, a real-time simulation apparatus (not shown) first loads an MDF (Master Definition File) file (S610). Here, the real-time simulation apparatus is a computer apparatus such as a desktop PC, and refers to a computing apparatus capable of performing real-time simulation operation in the HQS environment. An MDF file is a file defining a subsystem, and may have an operation frequency, a call priority, a cycle, an input / output interface, and state information of each subsystem. Subsystem refers to the aircraft subsystem.

그리고는, 상기 서브시스템의 정보(MDF 파일)를 활용하여 각 서브시스템의 시뮬레이션 순서를 결정하고, 여기에 실시간 시뮬레이션 특성을 반영한다(S620). 즉, 우선순위에 따라 서브시스템을 정렬하고, 각 서브시스템의 주기 및 스텝을 설정하여 실행 횟수를 계산하고, 계산된 실행횟수에 따라 시뮬레이션 순서를 결정할 수 있다. 이는 도 7을 통해 보다 상세히 설명한다.Then, the simulation order of each subsystem is determined using the information of the subsystem (MDF file), and the real-time simulation characteristics are reflected thereat (S620). That is, it is possible to arrange the subsystems according to the priority, to set the cycle and step of each subsystem to calculate the number of executions, and to determine the order of simulation according to the calculated number of executions. This will be described in more detail with reference to FIG.

도 7은 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 방법의 시뮬레이션 순서 결정 과정을 구체적으로 나타낸 상세흐름도이다.FIG. 7 is a detailed flowchart illustrating a procedure of determining a simulation of a desktop-based real-time simulation method according to an embodiment of the present invention.

도 7을 참조하면, 실시간 시뮬레이션 장치는 MDF 파일을 통해 서브시스템의 정보를 획득할 수 있다(S710). 획득된 서브시스템 정보 중에서 우선 순위 정보를 파싱하여, 우선순위에 따라 서브시스템을 정렬한다(S720).Referring to FIG. 7, the real-time simulation apparatus can acquire information of the subsystem through the MDF file (S710). The priority information is parsed from the acquired subsystem information and the subsystems are sorted according to the priority (S720).

서브시스템을 정렬한 이후, 서브시스템의 작동 주파수 정보를 활용하여 실시간으로 시뮬레이션 구현을 위한 주기 및 스템을 설정한다(S730). 여기서, 주기는 가장 느린 서브시스템의 주파수를 나타내고, 스텝은 가장 빠른 서브시스템의 주파수를 가장 느린 서브시스템의 주파수로 나눈 값으로 계산되는 값이다. 예컨대, 시뮬레이션 주기는 64Hz가 될 수 있고, 이때, 스텝은, 가장 빠른 서브시스템의 주파수가 512Hz인 경우, 64Hz 내에 512Hz의 계산이 8회 이루어질 수 있으므로 8(스텝)이 될 수 있다. 이는 특정 주기동안 가장 빠른 작동 주파수를 갖는 서브시스템의 계산이 적절하게 이루어질 수 있도록 알고리즘을 구성하기 위해 생성된 변수이다. After arranging the subsystems, the cycle and system for realizing the simulation are set up in real time using the operating frequency information of the subsystem (S730). Here, the period represents the frequency of the slowest subsystem, and the step is a value calculated by dividing the frequency of the fastest subsystem by the frequency of the slowest subsystem. For example, the simulation period can be 64 Hz, where the step can be 8 (steps) since the fastest subsystem frequency is 512 Hz, the calculation of 512 Hz within 64 Hz can be done 8 times. This is a variable created to configure the algorithm so that the computation of the subsystem with the fastest operating frequency over a certain period can be done properly.

스템 및 주기를 설정하고 나면, 실시간 시뮬레이션 장치는 모든 서브시스템의 실행횟수를 계산하고(S740), 계산된 실행횟수 정보를 기반으로 각 서브시스템의 시뮬레이션 순서를 결정할 수 있다(S750). After setting the system and the cycle, the real-time simulation apparatus calculates the number of executions of all the subsystems (S740), and determines the order of simulation of each subsystem based on the calculated number of executions (S750).

하나의 사이클 동안 실행되는 전체 순서 결정 알고리즘을 수도 코드(pseudo code)로 표현하면 다음과 같다.A total ordering algorithm executed for one cycle is represented by pseudo code as follows.

for (스텝(8) ) thanfor (step (8)) than

타이밍 = 현재 스텝 * 가장 빠른 주파수(512)
Timing = current step * Fastest frequency (512)

for(모든 타겟 서브시스템(19)) than for (all target subsystems (19)) than

수행 스텝 = 가장 빠른 주파수 / 현재 서브시스템의 주파수 Perform step = Fastest frequency / Frequency of current subsystem

if( 스텝%수행 스텝 == 0) than if (step% step == 0) than

SimOrder에 현재 타이밍과 서브시스템 정보를 저장 Save current timing and subsystem information to SimOrder

end if end if

end for end for

end forend for

여기서, 특정 서브시스템의 타이밍은 현재 스텝 수와 가장 빠른 주파수(예컨대, 512Hz)의 곱으로 결정된다. 또한, 수행되어질 스텝은 가장 빠른 주파수를 특정 서브시스템의 주파수로 나눈 값으로 계산되어지고, 현재 스텝이 수행 스텝인 경우, 시뮬레이션 순서에 현재 타이밍과 서브시스템 정보를 저장하는 방식으로 순서 결정 알고리즘을 종료할 수 있다. Here, the timing of a particular subsystem is determined by the product of the current number of steps and the fastest frequency (e.g., 512 Hz). Also, the step to be performed is calculated by dividing the fastest frequency by the frequency of the specific subsystem, and if the current step is the execution step, the ordering algorithm is terminated by storing the current timing and subsystem information in the simulation order can do.

다시 도 6으로 돌아가서, 시뮬레이션 순서를 결정하고 나면, 실시간 시뮬레이션 장치는 서브시스템 모듈 초기값을 설정한다(S630). 즉, 모든 서브시스템을 모듈의 초기값을 설정하여 시뮬레이션 초기화를 준비한다.Returning to FIG. 6, after determining the simulation procedure, the real-time simulation apparatus sets the initial value of the subsystem module (S630). In other words, all subsystems are initialized by setting the initial value of the module.

초기값 설정이 완료되면, 실시간 시뮬레이션 장치는 데이터베이스 정보를 로딩하여 시뮬레이션을 초기화한다(S640). When the initial value setting is completed, the real-time simulation apparatus loads the database information and initializes the simulation (S640).

그리고는, 실시간 제어용 시뮬레이션 타이머를 생성하고(S650), 결정된 서브시스템의 순서에 따라 실시간으로 시뮬레이션을 수행한다(S660). 실시간 시뮬레이션 장치는 시뮬레이션을 수행하면서 수치 계산으로 이루어지는 시뮬레이션이 완료되더라도 타이머로 시간을 체크하여 사용자가 설정한 시간 이내에 완료된 경우, 사용자 설정된 시간까지 슬립(sleep)하도록 하여 엔지니어 또는 조종사에게 전달되는 영상 정보 및 조종 입력을 실시간으로 처리할 수 있도록 한다.Then, a simulation timer for real-time control is generated (S650), and simulation is performed in real time according to the order of the determined subsystem (S660). The real-time simulation apparatus checks the time with a timer even if the simulation using the numerical calculation is completed while performing the simulation. If the simulation is completed within the time set by the user, the real-time simulation apparatus sleeps until a user- This enables the control input to be processed in real time.

실시간 시뮬레이션 알고리즘을 수도 코드(pseudo code)로 표현하면 다음과 같다.The real-time simulation algorithm can be expressed as pseudo code as follows.

타이머 시작Start timer

for (사용자가 설정한 시간) thanfor (user-set time) than

예상 시간 = 사이클 수행 횟수 * 주기(1/64) Estimated time = number of cycles performed * cycle (1/64)

예상 시간까지 슬립 Sleep until the expected time

타이머 체크 시작
Start Timer Check

for(서브시스템 수행 계수(60)) than for (subsystem performance factor (60)) than

if( 서브시스템의 타이밍에 변화가 있을 경우) than if (if the timing of the subsystem changes) than

타이머가 체크된 곳에서부터 타이밍 시간까지 슬립(1/512) From the point where the timer is checked to the timing time,

end if end if

서브시스템 수행 Perform Subsystem

end for end for

end forend for

여기서, 한 사이클은 1/64로 수행될 수 있고, 그렇기 때문에, 몇번의 사이클을 돌았는지 알면 비실시간 시스템에서의 수행시간을 예상할 수 있다. 예상시간은 사이클 수행횟수와 주기의 곱으로 산출가능하다. Here, one cycle can be performed in 1/64, so knowing how many cycles have been made can predict the execution time in the non-real-time system. The expected time can be calculated as the product of the number of cycles and the cycle.

만약, 예상 시간과 비교하여 수행시간이 많이 남았을 경우 서브시스템은 다음 설정된 시간까지의 잔여시간동안 슬립을 이용할 수 있다. 시뮬레이션 순서 결정 알고리즘에 의해 모든 서브시스템(예컨대, 60개)이 수행되면 한 사이클이 된다. 여기서, 60개의 서브시스템을 수행하던 중, 타이밍에 변화가 있을 수 있는데, 이는 하나의 스텝이 증가해야함을 의미한다. 따라서, 이러한 경우, 그때의 현재 시간을 실시간 제어용 타이머로 체크하여 타이밍 시간까지 슬립을 이용할 수 있다. 이를 통해 타이머를 기반으로 슬립 및 호출 동작을 반복하여, 비실시간 시뮬레이션을 실시간 시뮬레이션으로 변환할 수 있는 것이다. If the execution time is longer than the expected time, the subsystem can use the sleep for the remaining time until the next set time. When all the subsystems (for example, 60) are executed by the simulation order determination algorithm, one cycle is obtained. Here, while performing 60 subsystems, there may be a change in the timing, which means that one step has to be incremented. Therefore, in such a case, the current time at that time can be checked with a timer for real-time control, and sleep can be used until the timing time. This allows the non-real time simulation to be converted into a real time simulation by repeating the sleep and call operations based on the timer.

이렇게, 실시간 시뮬레이션을 수행하면서, 시뮬레이션 종료 기준에 도달했는지를 판단하여(S670), 도달했을 경우, 시뮬레이션을 종료할 수 있다(S680). 시뮬레이션의 종료 기준은 시간으로 설정하여 특정 시간 도달시 종료하도록 설정할 수 있고, 특정 사이클, 특정 속도 등 목표치를 정해놓고, 목표치 도달 여부를 판단하여 도달했을 때 시뮬레이션이 종료되도록 설정할 수 있다.In this manner, it is determined whether the simulation end criterion has been reached while real-time simulation is being performed (S670). If the simulation end criterion has been reached, the simulation can be terminated (S680). The end criterion of the simulation can be set to be set to a time and to be terminated upon reaching a specific time. A target value such as a specific cycle, a specific speed, and the like can be set.

도 8은 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 방법의 실행 개념을 설명하기 위한 개념도이다.FIG. 8 is a conceptual diagram illustrating an execution concept of a desktop-based real-time simulation method according to an embodiment of the present invention.

도 8을 참조하면, 좌측 첫번째 줄은 각 서브시스템의 샘플링 레이트, 즉 작동 주파수를 나타내고, 두번째 줄은 해당 서브시스템의 실행 순서를 나타낸다. 세번째 줄은 서브시스템의 식별 번호를, 네번째 줄은 서브시스템의 이름이 나타난다. 그 우측에는 각 스텝(1/512)에서의 실제 실행 시간이 화살표로 나타나고, 슬립 시간이 화살표의 종단과 다음 스텝 사이에 나타나있다. 하나의 스텝에서 예상 시간 이전에 시뮬레이션 동작이 완료되면 잔여시간을 슬립하게 된다. 그리고, 다음 스텝에서 다시 시뮬레이션 순서에 맞춰 동작이 재개된다. 도 8의 실시예는 하나의 사이클에 8개의 스텝이 수행되는 과정을 나타낸다. Referring to FIG. 8, the first left line shows the sampling rate, i.e., the operating frequency, of each subsystem, and the second line shows the execution order of the subsystem. The third line is the identification number of the subsystem, and the fourth line is the name of the subsystem. On the right side, the actual execution time in each step (1/512) is indicated by an arrow, and the sleep time is shown between the end of the arrow and the next step. When the simulation operation is completed before the expected time in one step, the remaining time is slip. Then, in the next step, the operation is resumed in accordance with the simulation procedure. The embodiment of FIG. 8 shows a process in which eight steps are performed in one cycle.

도 9는 본 발명의 일 실시예에 따른 데스트 탑 기반 실시간 시뮬레이션 장치를 개략적으로 나타낸 블록도이다. 도 9에 도시된 바와 같이, 본 발명의 일 실시예에 따른 파일 로딩부(910), 순서 결정부(920), 시뮬레이션 초기화부(930), 시뮬레이션 수행부(940), 타이머(950) 및 사용자 인터페이스(960)를 포함할 수 있다.9 is a block diagram schematically illustrating a desktop-based real-time simulation apparatus according to an embodiment of the present invention. 9, a file loading unit 910, an order determining unit 920, a simulation initializing unit 930, a simulation executing unit 940, a timer 950, and a user 950 according to an embodiment of the present invention. Interface 960. < RTI ID = 0.0 >

도 9를 참조하면, 파일 로딩부(910)는 먼저, MDF(Master Definition File) 파일을 로딩한다. MDF 파일은 데이터베이스(미도시)에 저장되어 있을 수 있고, 파일 로딩부(910)는 이를 로딩하여 파싱하는 기능을 수행한다.Referring to FIG. 9, the file loading unit 910 first loads an MDF (Master Definition File) file. The MDF file may be stored in a database (not shown), and the file loading unit 910 loads and parses the MDF file.

순서 결정부(920)는 MDF 파일의 서브시스템 정보를 활용하여 각 서브시스템의 시뮬레이션 순서를 결정한다. 순서 결정부(920)는 정렬부(922), 주기/스텝 설정부(924), 실행횟수 계산부(926) 및 시뮬레이션 순서 결정부(928)를 포함할 수 있다.The order determination unit 920 uses the subsystem information of the MDF file to determine the simulation order of each subsystem. The order determining unit 920 may include an aligning unit 922, a period / step setting unit 924, an execution count calculating unit 926, and a simulation order determining unit 928. [

정렬부(922)는 우선순위에 따라 서브시스템을 정렬한다. 정렬부(922)는 파일 로딩부(910)에서 로딩한 MDF 파일을 통해 서브시스템의 정보를 획득하고, 획득된 서브시스템 정보 중에서 우선 순위 정보를 파싱하여, 파싱된 우선순위에 따라 서브시스템을 정렬한다.The sorting unit 922 sorts the subsystems according to the priority order. The sorting unit 922 obtains the information of the subsystem through the MDF file loaded in the file loading unit 910, parses the priority information from the obtained subsystem information, and sorts the subsystem according to the parsed priority do.

주기/스텝 설정부(924)는 각 서브시스템의 주기 및 스텝을 설정한다. 주기/스텝 설정부(924)는 서브시스템의 작동 주파수 정보를 활용하여 실시간으로 시뮬레이션 구현을 위한 주기 및 스텝을 설정한다. 주기는 가장 느린 서브시스템의 주파수를 나타내고, 스텝은 가장 빠른 서브시스템의 주파수를 가장 느린 서브시스템의 주파수로 나눈 값으로 계산되는 값일 수 있다.The cycle / step setting unit 924 sets the cycle and step of each subsystem. The cycle / step setting unit 924 sets a cycle and a step for simulation implementation in real time using the operating frequency information of the subsystem. The period represents the frequency of the slowest subsystem, and the step may be a value calculated by dividing the frequency of the fastest subsystem by the frequency of the slowest subsystem.

실행횟수 계산부(926)는 모든 서브시스템의 실행횟수를 계산하고, 시뮬레이션 순서 결정부(928)는 계산된 실행횟수 정보를 기반으로 각 서브시스템의 시뮬레이션 순서를 결정할 수 있다. The execution count calculation unit 926 calculates the execution counts of all the subsystems, and the simulation order determination unit 928 can determine the simulation order of each subsystem based on the calculated execution count information.

여기서, 특정 서브시스템의 타이밍은 현재 스텝 수와 가장 빠른 주파수(예컨대, 512Hz)의 곱으로 결정된다. 또한, 수행되어질 스텝은 가장 빠른 주파수를 특정 서브시스템의 주파수로 나눈 값으로 계산되어지고, 현재 스텝이 수행 스텝인 경우, 시뮬레이션 순서에 현재 타이밍과 서브시스템 정보를 저장하는 방식으로 순서 결정 알고리즘을 종료할 수 있다. Here, the timing of a particular subsystem is determined by the product of the current number of steps and the fastest frequency (e.g., 512 Hz). Also, the step to be performed is calculated by dividing the fastest frequency by the frequency of the specific subsystem, and if the current step is the execution step, the ordering algorithm is terminated by storing the current timing and subsystem information in the simulation order can do.

시뮬레이션 초기화부(930)는 서브시스템 모듈 초기값을 설정하여 시뮬레이션 초기화를 준비한다. 그리고 시뮬레이션 초기화부(930)는 데이터베이스 정보를 로딩하여 시뮬레이션을 초기화한다. The simulation initialization unit 930 prepares the initialization of the simulation by setting the initial value of the subsystem module. Then, the simulation initialization unit 930 initializes the simulation by loading the database information.

그리고는, 시뮬레이션 수행부(940)는 실시간 제어용 시뮬레이션 타이머(950)를 생성하고, 결정된 서브시스템의 순서에 따라 실시간으로 시뮬레이션을 수행한다. 시뮬레이션 수행부(940)는 시뮬레이션을 수행하면서 수치 계산으로 이루어지는 시뮬레이션이 완료되더라도 타이머(950)로 시간을 체크하여 사용자가 설정한 시간 이내에 완료된 경우, 사용자 설정된 시간까지 슬립(sleep)하도록 하여 엔지니어 또는 조종사에게 전달되는 영상 정보 및 조종 입력을 실시간으로 처리할 수 있도록 한다. 한 사이클은 1/64로 수행될 수 있고, 그렇기 때문에, 몇번의 사이클을 돌았는지 알면 비실시간 시스템에서의 수행시간을 예상할 수 있다. 예상시간은 사이클 수행횟수와 주기의 곱으로 산출가능하다. Then, the simulation performing unit 940 generates a simulation timer 950 for real-time control, and performs simulation in real time according to the order of the determined subsystems. The simulation execution unit 940 checks the time with the timer 950 even if the simulation using the numerical calculation is completed while performing the simulation, and when the simulation is completed within the time set by the user, the simulation execution unit 940 sleeps until the user- So that it can process the image information and the control input delivered to the controller in real time. One cycle can be performed in 1/64, so knowing how many cycles have been run can predict the run time in a non-real-time system. The expected time can be calculated as the product of the number of cycles and the cycle.

만약, 예상 시간과 비교하여 수행시간이 많이 남았을 경우 서브시스템은 다음 설정된 시간까지의 잔여시간동안 슬립을 이용할 수 있다. 시뮬레이션 순서 결정 알고리즘에 의해 결정된 모든 서브시스템(예컨대, 60개)의 동작이 수행되면 한 사이클이 된다. 여기서, 60개의 서브시스템을 수행하던 중, 타이밍에 변화가 있을 수 있는데, 이는 하나의 스텝이 증가해야 함을 의미하고, 이러한 경우, 그때의 현재 시간을 실시간 제어용 타이머(950)로 체크하여 타이밍 시간까지 슬립하도록 할 수 있다. If the execution time is longer than the expected time, the subsystem can use the sleep for the remaining time until the next set time. When the operation of all the subsystems (for example, 60) determined by the simulation order determination algorithm is performed, it becomes one cycle. Here, during the execution of 60 subsystems, there may be a change in the timing, which means that one step has to be incremented. In this case, the current time at that time is checked by the timer 950 for real- Of the vehicle.

시뮬레이션 수행부(940)는 실시간 시뮬레이션을 수행하면서, 시뮬레이션 종료 기준에 도달했는지를 판단하여 도달했을 경우, 시뮬레이션을 종료할 수 있다. 시뮬레이션의 종료 기준은 시간으로 설정하여 특정 시간 도달시 종료하도록 설정할 수 있고, 특정 사이클, 특정 속도 등 목표치를 정해놓고, 목표치 도달 여부를 판단하여 도달했을 때 시뮬레이션이 종료되도록 설정할 수 있다.The simulation performing unit 940 can determine whether the simulation end criterion has been reached while performing the real-time simulation, and can terminate the simulation when it is reached. The end criterion of the simulation can be set to be set to a time and to be terminated upon reaching a specific time. A target value such as a specific cycle, a specific speed, and the like can be set.

사용자 인터페이스(960)는 스틱 또는 스로틀로, 비행 조종을 위한 사용자 입력을 받는다. The user interface 960 is a stick or throttle, which receives user input for flight control.

도 10a 및 10b는 시뮬레이션 결과 비교를 위한 그래프이다.10A and 10B are graphs for comparison of simulation results.

도 10a 및 10b를 참조하면, 상기한 시뮬레이션 순서 결정 알고리즘과 실시간으로 시뮬레이션 처리 알고리즘을 실제 개발/활용하고 있는 항공기 6자유도 시뮬레이션 툴에 적용하여 검토한 결과를 나타낸 그림이다. Referring to FIGS. 10A and 10B, the present invention is applied to an aircraft 6-degree-of-freedom simulation tool that is actually developed / utilized in the simulation sequencing algorithm and real-time simulation processing algorithm.

특정 항공기 개발에 적용된 종래 6자유도 비실시간 시뮬레이션 결과(실선)와 실제 HQS 실시간 시뮬레이션 결과(좁은 폭의 점선), 본 발명에 따른 실시간 시뮬레이션 기능을 추가한 소프트웨어의 실시간 시뮬레이션 결과(넓은 폭의 점선)를 함께 나타낸 것으로, 3개의 시뮬레이션 결과를 나타내는 선들이 거의 일치하는 것으로 보아, 본 발명에 따른 실시간 시뮬레이션 기능을 추가한 소프트웨어 알고리즘이 적절히 작동하고 있음을 확인할 수 있다.Real-time simulation results (solid line), actual HQS real-time simulation results (narrow dashed line), and real-time simulation results (wide dotted line) of the software having the real-time simulation function according to the present invention, It can be seen that the software algorithms with the real-time simulation function according to the present invention are operating properly as the lines representing the three simulation results almost coincide with each other.

이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions as defined by the following claims It will be understood that various modifications and changes may be made thereto without departing from the spirit and scope of the invention.

Claims (10)

데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 방법에 있어서,
비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 단계;
상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 단계;
서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 단계;
모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 단계; 및
각 서브시스템 시뮬레이션 순서를 결정하는 단계를 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
A method for real-time flight control law simulation in a desktop environment,
Loading a Master Definition File (MDF) file defining the input / output, operating frequency and call priority of the flight control subsystem;
Arranging subsystems according to a paging priority defined in the MDF file;
Setting a cycle and a step of each subsystem using operating frequency information of the subsystem;
Calculating an execution frequency for all subsystem simulations; And
And determining the order of each subsystem simulation. ≪ Desc / Clms Page number 21 >
제 1 항에 있어서,
비행 조종 인터페이스로부터 조종신호를 입력받는 단계를 더 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
The method according to claim 1,
Further comprising receiving a steering signal from a flight control interface. ≪ RTI ID = 0.0 > 11. < / RTI >
제 1 항에 있어서,
상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타내는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
The method according to claim 1,
Wherein the period represents the frequency of the earliest subsystem and the step represents a value obtained by dividing the earliest subsystem frequency by the slowest subsystem frequency.
제 3 항에 있어서, 상기 각 서브시스템 시뮬레이션 순서를 결정하는 단계는
현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출하는 단계를 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 방법.
4. The method of claim 3, wherein determining each subsystem simulation sequence comprises:
Computing the timing of a particular subsystem in a cycle through computation of a current step value and the fastest subsystem frequency in a desktop environment.
제 1 항에 있어서,
상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 단계를 더 포함하는 것을 특징으로 하는 실시간 비행제어법칙 시뮬레이션 방법.
The method according to claim 1,
Checking the time after numerical calculation using a simulation timer for real-time control while performing real-time simulation according to the determined order, and if the simulation is completed within a set time, causing the corresponding subsystem to sleep during the remaining time up to the set time Wherein the real-time flight control law simulation method comprises:
데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션을 위한 장치에 있어서,
비행제어 서브시스템의 입출력, 작동주파수 및 호출 우선순위를 정의하는 MDF(Master Definition File) 파일을 로딩하는 파일 로딩부;
상기 MDF 파일에 정의된 호출 우선순위에 따라 서브시스템을 정렬하는 정렬부;
서브시스템의 작동주파수 정보를 이용하여 각 서브시스템의 주기 및 스텝을 설정하는 주기 및 스텝 설정부;
모든 서브시스템 시뮬레이션을 위한 실행횟수를 계산하는 실행횟수 계산부; 및
각 서브시스템 시뮬레이션 순서를 결정하는 시뮬레이션 순서 결정부를 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
An apparatus for real-time flight control law simulation in a desktop environment,
A file loading unit for loading an MDF (Master Definition File) file defining input / output, operation frequency and call priority of the flight control subsystem;
An arrangement unit for arranging the subsystems according to the paging priority defined in the MDF file;
A cycle and step setting unit for setting cycles and steps of each subsystem using operation frequency information of the subsystem;
An execution count calculation unit for calculating an execution count for all subsystem simulations; And
And a simulation order determining unit for determining the order of each subsystem simulation.
제 6 항에 있어서,
비행 조종 인터페이스로부터 조종신호를 입력받는 사용자 입력부를 더 포함하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
The method according to claim 6,
And a user input unit for receiving the control signal from the flight control interface.
제 6 항에 있어서,
상기 주기는 가장 빠른 서브시스템의 주파수를 나타내고, 상기 스텝은 가장 빠른 서브시스템 주파수를 가장 느린 서브시스템 주파수로 나눈 값을 나타내는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
The method according to claim 6,
Wherein the period represents the frequency of the earliest subsystem and the step represents a value obtained by dividing the earliest subsystem frequency by the slowest subsystem frequency.
제 8 항에 있어서, 상기 시뮬레이션 순서 결정부는
현재 스텝 값과 상기 가장 빠른 서브시스템 주파수와의 연산을 통해 한 사이클에서의 특정 서브시스템의 타이밍을 산출하는 것을 특징으로 하는 데스크 탑 환경에서 실시간 비행제어법칙 시뮬레이션 장치.
The apparatus according to claim 8, wherein the simulation order determination unit
Wherein the timing of a particular subsystem in a cycle is computed by computing the current step value and the fastest subsystem frequency.
제 6 항에 있어서,
상기 결정된 순서에 따라 실시간 시뮬레이션을 수행하면서 실시간 제어용 시뮬레이션 타이머를 통한 수치 계산 후 시간을 체크하여 설정된 시간 이내에 시뮬레이션이 완료된 경우, 상기 설정된 시간까지의 잔여시간 동안 해당 서브시스템을 슬립하도록 하는 시뮬레이션 수행부를 더 포함하는 것을 특징으로 하는 실시간 비행제어법칙 시뮬레이션 장치.

The method according to claim 6,
A simulation execution unit for checking the time after numerical calculation using a simulation timer for real-time control while performing real-time simulation according to the determined order, and causing the subsystem to sleep during the remaining time up to the set time when the simulation is completed within the set time Time flight control law simulation device.

KR1020140190685A 2014-12-26 2014-12-26 Desktop based realtime simulation apparatus and method KR101807769B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140190685A KR101807769B1 (en) 2014-12-26 2014-12-26 Desktop based realtime simulation apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140190685A KR101807769B1 (en) 2014-12-26 2014-12-26 Desktop based realtime simulation apparatus and method

Publications (2)

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

Family

ID=56502364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140190685A KR101807769B1 (en) 2014-12-26 2014-12-26 Desktop based realtime simulation apparatus and method

Country Status (1)

Country Link
KR (1) KR101807769B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486140A (en) * 2020-11-20 2021-03-12 中国直升机设计研究所 Flight control system fault reporting and inquiring method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2591419B1 (en) * 2010-07-06 2018-10-31 Saab AB Simulating and testing avionics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486140A (en) * 2020-11-20 2021-03-12 中国直升机设计研究所 Flight control system fault reporting and inquiring method

Also Published As

Publication number Publication date
KR101807769B1 (en) 2017-12-13

Similar Documents

Publication Publication Date Title
US11624773B2 (en) System and methods for analyzing and estimating susceptibility of circuits to radiation-induced single-event-effects
Arrieta et al. Automatic generation of test system instances for configurable cyber-physical systems
US10108763B2 (en) Method and simulation arrangement for simulating an automated industrial plant
US10331548B2 (en) Method and computer system for compiling and testing a control program
KR20140098602A (en) System and method for performing distributed simulation
US8990767B2 (en) Parallelization method, system and program
Bianchi et al. Robust identification/invalidation in an LPV framework
GB2508970A (en) Verifying logic design of a processor with an instruction pipeline by comparing the output from first and second instances of the design
Canedo et al. Automatic parallelization of simulink applications
US8543369B2 (en) Method and data processing system for simulating an embedded system
Mossige et al. Using CP in automatic test generation for ABB robotics’ paint control system
Annighöfer et al. Automated selection, sizing, and mapping of integrated modular avionics modules
Nikiforov et al. Rosé: A hardware-software co-simulation infrastructure enabling pre-silicon full-stack robotics soc evaluation
KR101807769B1 (en) Desktop based realtime simulation apparatus and method
Kuroiwa et al. Testing environment for CPS by cooperating model checking with execution testing
Srinivasan et al. Optimizing massively parallel simulations of infection spread through air-travel for policy analysis
JP2011186991A (en) Method, program and system for solving ordinary differential equation
KR101674324B1 (en) Task scheduling device and method for real-time control applications
Bormanis Development of energy consumption model for virtual commissioning software
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
US20230174083A1 (en) Determining a computational effort of a virtual test
Joo et al. An end-to-end tool for developing cpss from design to implementation
Mihai et al. On the development of an onboard real time system for the members of a heterogeneous UAV formation acting as LPWAN gateways
Lee et al. Synthesis of Quality Configurable Systems

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