KR20180075821A - 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법 - Google Patents

폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법 Download PDF

Info

Publication number
KR20180075821A
KR20180075821A KR1020160179654A KR20160179654A KR20180075821A KR 20180075821 A KR20180075821 A KR 20180075821A KR 1020160179654 A KR1020160179654 A KR 1020160179654A KR 20160179654 A KR20160179654 A KR 20160179654A KR 20180075821 A KR20180075821 A KR 20180075821A
Authority
KR
South Korea
Prior art keywords
shot
unit
model
data
target
Prior art date
Application number
KR1020160179654A
Other languages
English (en)
Other versions
KR101934166B1 (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 KR1020160179654A priority Critical patent/KR101934166B1/ko
Publication of KR20180075821A publication Critical patent/KR20180075821A/ko
Application granted granted Critical
Publication of KR101934166B1 publication Critical patent/KR101934166B1/ko

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41GWEAPON SIGHTS; AIMING
    • F41G7/00Direction control systems for self-propelled missiles
    • F41G7/001Devices or systems for testing or checking
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41GWEAPON SIGHTS; AIMING
    • F41G7/00Direction control systems for self-propelled missiles
    • F41G7/006Guided missiles training or simulation devices
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41GWEAPON SIGHTS; AIMING
    • F41G9/00Systems for controlling missiles or projectiles, not provided for elsewhere
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법에 관한 것으로, 본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치는, 소프트웨어 검증용 표적 및 탄에 대한 초기값이 입력되는 초기값 입력부; 상기 표적 및 탄에 대한 초기값과 구동장치 모델부의 현재상태를 바탕으로 상기 탄에 대한 운동을 예측하여 검증 입력 데이터를 산출하기 위한 데이터 생성부; 상기 검증 입력 데이터를 이용하여 상기 탄을 표적으로 유도하기 위한 조종 데이터를 생성하기 위한 유도조종장치 모델부; 상기 유도조종장치 모델부와 유도조종장치로부터 각각 전달된 비행시간에 따른 결과데이터를 상호 비교하기 위한 소프트웨어 검증부; 및 상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부의 비행시작 시점을 지연시키는 비행 천이 제어부;를 포함하며, 상기 유도조종장치는, 상기 데이터 생성부로부터 상기 검증 입력 데이터를 전달받아 비행시간에 따른 결과데이터를 출력한다.

Description

폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법{APPARATUS AND METHOD OF SOFTWARE VERIFICATION FOR GUIDANCE CONTROL UNIT USING ClOSED-LOOP SIMULATION}
본 발명은 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법에 관한 것으로, 구체적으로는 유도조종장치와 비행상태 시작시점의 동기화를 수행하고, 폐루프 시뮬레이션 환경을 유도조종장치의 실시간(real-time) 테스트 환경으로 변경하여 유도조종장치용 소프트웨어의 검증을 수행함으로써, 시뮬레이션 테스트와 유도조종장치 테스트를 통합하여 검증 시간을 단축할 뿐만 아니라 사용자에 의해 발생할 수 있는 실수 유발 요인을 제거하기 위한, 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법에 관한 것이다.
일반적으로, 유도무기체계의 유도조종장치는 유도법칙에 따라 목표지점으로 유도하는 유도장치, 주어진 유도명령으로 비행자세를 제어하기 위하여 조종명령을 계산하는 조종장치, 조종장치의 명령에 의하여 조종날개를 제어하는 구동장치 등으로 구성할 수 있다.
이와 같은 복잡한 시스템으로 구성된 유도조종장치에 대한 종합 성능 평가 방법으로는 실제로 비행시험을 수행하여 확실한 성능평가를 내릴 수 있지만, 처음으로 설계된 시스템에 대해서는 실제 비행시험을 하는데 많은 위험 부담을 초래할 수 있다. 더욱이, 비행시험만으로 유도무기체계의 성능을 확인한다면 많은 경비가 소요될 수 있다.
유도조종장치의 성능 평가 방법의 일환으로, 유도조종장치에 탑재된 소프트웨어를 검증하는 방법은 실제 비행시험을 수행하지 않더라도 어느 정도 실제 비행시험과 동일한 성능 평가에 대한 결과를 얻을 수 있기 때문에 많은 경우에 활용되고 있다.
일반적으로, 유도조종장치에 탑재된 소프트웨어를 검증하기 위해서는, 복수개의 시험 입출력 데이터 세트를 구성한 후, 유도조종장치의 입력 및 검증 데이터로 활용한다. 이 경우, 입출력 데이터 세트는 다양한 테스트 조건을 통해 얻을 수 있다. 즉, 표적위치, 표적속도, 탄의 초기위치, 초기자세, 초기속도, 대기환경 등에 따라 수십에서 수백개의 입출력 데이터 세트를 구성한다. 이러한 입출력 데이터 세트를 구성하기 위해서는 각각의 조건에 대해서 직접 시뮬레이션을 수행하여 얻어야한다. 이러한 입출력 데이터 구성은 유도조종장치 탑재 소프트웨어 업데이트, 시뮬레이션에 영향을 주는 탄의 형상 변경, 그 외 유도탄 탑재장치 변경 등과 같은 상황이 발생하면 다시 수행해야 한다.
특히, 소프트웨어 개발시에는 입출력 데이터 세트를 빈번하게 구성하여 검증 작업을 수행해야 하는데, 매번 입출력 데이터 세트를 구성하고 검증하는 상당한 시간이 필요하다.
유도조종장치에 탑재된 소프트웨어 동작은 유도탄의 현재상태와 표적과의 관계에 따라 결과를 출력하지만, 유도탄의 이전상태도 현재 출력결과에 영향을 미칠 수 있다. 즉, 유도조종장치는 A라는 임의의 입력에 항상 A'라는 결과를 출력하지 않는다. 따라서, 유도조종장치에 탑재된 소프트웨어를 검증하기 위해서는, 폐루프 시뮬레이션 처리결과를 저장한 후, 별도의 테스트를 통해 저장된 결과를 유도조종장치에 인가하여 시뮬레이션 처리결과와 유도조종장치 출력결과를 비교한다.
종래에는 유도조종장치에 탑재된 소프트웨어를 검증하기 위해, 시뮬레이션에 의한 처리결과를 확인하고, 유도조종장치의 출력결과를 확인하는 2가지 테스트를 순차적으로 수행하기 때문에 검증 시간이 많이 소요된다. 또한, 종래에는 전술한 바와 같이 입출력 데이터 세트를 다양한 테스트 조건하에서 매번 실시해야 하므로, 소프트웨어 검증 시간이 더욱 늘어날 수밖에 없다.
이처럼 종래에는 유도조종장치에 탑재된 소프트웨어를 검증하기 위해, 전술한 바와 같이 다양한 테스트 조건하에서 시뮬레이션을 실시하고 시뮬레이션에 의한 처리결과로 데이터 입출력 세트를 구성한 후, 유도조종장치에 앞서 구성된 검증 입력 데이터를 이용하여 시뮬레이션을 한 번 더 수행하고 수행결과를 확인한다. 2가지 테스트를 순차적으로 수행하기 때문에 검증 시간이 많이 소요된다.
아울러, 종래에는 시뮬레이션 테스트와 유도조종장치 테스트를 각각 분리하여 수행하므로, 초기값 입력, 시뮬레이션 및 유도조종장치 환경설정 등에 있어 사용자에 의한 휴먼에러가 발생할 수 있다. 더욱이, 시뮬레이션 테스트와 유도조종장치 테스트 각각 수행하는 담당자가 다른 경우에는 해당 담당자 실수로 인해 시뮬레이션 테스트 결과 또는 유도조종장치 테스트 결과가 서로 다르게 나올 수 있기 때문에, 소프트웨어 자체에 문제가 없더라도 부적합한 소프트웨어로 판정될 수도 있다.
따라서, 종래에 유도조종장치에 탑재된 소프트웨어를 검증하기 위해서는 시뮬레이션 테스트와 유도조종장치 테스트를 통합하여 검증 시간을 단축할 뿐만 아니라, 사용자에 의해 발생할 수 있는 실수를 유발하는 요인을 제거할 필요가 있다.
본 발명의 목적은 유도조종장치와 비행상태 시작시점의 동기화를 수행하고, 폐루프 시뮬레이션 환경을 유도조종장치의 실시간(real-time) 테스트 환경으로 변경하여 유도조종장치용 소프트웨어의 검증을 수행함으로써, 시뮬레이션 테스트와 유도조종장치 테스트를 통합하여 검증 시간을 단축할 뿐만 아니라 사용자에 의해 발생할 수 있는 실수 유발 요인을 제거하기 위한, 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법을 제공하는데 있다.
본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치는, 소프트웨어 검증용 표적 및 탄에 대한 초기값이 입력되는 초기값 입력부; 상기 표적 및 탄에 대한 초기값과 구동장치 모델부의 현재상태를 바탕으로 상기 탄에 대한 운동을 예측하여 검증 입력 데이터를 산출하기 위한 데이터 생성부; 상기 검증 입력 데이터를 이용하여 상기 탄을 표적으로 유도하기 위한 조종 데이터를 생성하기 위한 유도조종장치 모델부; 상기 유도조종장치 모델부와 유도조종장치로부터 각각 전달된 비행시간에 따른 결과데이터를 상호 비교하기 위한 소프트웨어 검증부; 및 상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부의 비행시작 시점을 지연시키는 비행 천이 제어부;를 포함하며, 상기 유도조종장치는, 상기 데이터 생성부로부터 상기 검증 입력 데이터를 전달받아 비행시간에 따른 결과데이터를 출력할 수 있다.
상기 비행시작 시점은, 상기 탄에 비행시작 신호가 인가될 때, 상기 유도조종장치의 최초 시험 이후에 상기 유도조종장치 모델부와 상기 유도조종장치의 입력데이터가 상호 비교되어 상기 유도조종장치의 비행천이 지연정도가 측정되어 결정된다.
상기 구동장치 모델부는, 상기 조종 데이터를 이용하여 상기 탄을 조종하기 위한 동력을 전달하는 모델을 수행한다.
상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부는, 유도탄의 비행시간 동안 동작한다.
상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부는, 소프트웨어에 대한 폐루프 시뮬레이션을 수행하여 폐루프 구조의 데이터 흐름을 형성한다.
상기 데이터 생성부는, 상기 표적에 대한 초기값을 이용하여 '표적의 위치 및 속도 상태값'을 추정하기 위한 표적 운동 모델; 상기 탄에 대한 초기값과 상기 구동장치 모델부의 현재상태를 이용하여 '탄의 위치 및 속도 상태값'과 '탄의 각속도 및 가속도 상태값'을 추정하기 위한 탄 운동 모델; 상기 '표적의 위치 및 속도 상태값'과 상기 '탄의 위치 및 속도 상태값'을 이용하여 '탄에 대한 표적의 상대적인 상태값'을 산출하기 위한 탐색기 모델; 및 상기 '탄의 각속도 및 가속도 상태값'을 이용하여 관성 측정기 특성에 따른 '수정된 탄의 각속도 및 가속도 상태값'을 산출하기 위한 관성 측정기 모델;을 포함한다.
상기 표적에 대한 초기값은, 3축 표적 초기위치, 3축 표적 초기속도, 3축 표적 초기자세이고, 상기 탄에 대한 초기값은, 3축 탄 초기위치, 3축 탄 초기속도, 3축 탄 초기자세이다.
상기 '표적의 위치 및 속도 상태값'은 3축 표적 위치와 3축 표적 속도이고, 상기 '탄의 위치 및 속도 상태값'은 3축 탄 위치와 3축 탄 속도이며, 상기 '탄의 각속도 및 가속도 상태값'은 3축 탄 회전 각속도와 3축 탄 선형 가속도이고, 상기 '탄에 대한 표적의 상대적인 상태값'은 2축 표적 상대각과 2축 표적 상대각속도이다.
상기 검증 입력 데이터에는, 상기 '탄에 대한 표적의 상대적인 상태값'과 상기 '수정된 탄의 각속도 및 가속도 상태값'이 포함된다.
상기 유도조종장치 모델부는, 상기 '수정된 탄의 각속도 및 가속도 상태값'을 이용하여 '수정된 탄의 위치, 속도 및 자세 상태값'을 산출하기 위한 항법 모델; 및 상기 '탄에 대한 표적의 상대적인 상태값'과 상기 '수정된 탄의 위치, 속도 및 자세 상태값'을 이용하여 비행시간에 따른 결과데이터를 산출하기 위한 유도조종 모델;을 포함한다.
상기 조종 데이터는, 상기 탄의 조종날개 편향각에 대한 상태값과 상기 탄의 추력방향(thrust vector)에 대한 상태값이다.
상기 항법 모델은, 상기 유도조종장치에 탑재된 항법 소프트웨어와 동일한 기능과 버전으로 구현된 모델이고, 상기 유도조종 모델은, 상기 유도조종장치에 탑재된 유도조종 소프트웨어와 동일한 기능과 버전으로 구현된 모델이다.
상기 소프트웨어 검증부는, 상기 검증 입력 데이터와 상기 조종 데이터를 비행시간별로 정렬하여 한 주기의 수행된 일련의 결과를 하나의 입출력 데이터 세트로 관리한다.
본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치는, 소프트웨어 검증용 표적 및 탄에 대한 초기값이 입력되는 단계; 상기 표적 및 탄에 대한 초기값과 구동장치의 현재상태를 이용하여 상기 탄에 대한 운동을 예측하여 검증 입력 데이터를 산출하는 단계; 상기 검증 입력 데이터를 유도조종장치로 입력하는 단계; 상기 검증 입력 데이터를 이용하여 상기 탄의 비행을 조종하는 모델을 통해 조종 데이터를 산출하고, 비행시간에 따른 결과데이터를 출력하는 단계; 및 상기 출력된 비행시간에 따른 결과데이터를 상기 유도조종장치로부터 출력된 비행시간에 따른 결과데이터와 상호 비교하는 단계;를 포함하며, 상기 초기값이 입력되는 단계 이후에, 상기 탄이 비행상태로 천이되면, 상기 유도조종장치의 비행천이 지연정도에 따라 비행상태 시작시점을 지연시킨다.
또한, 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치는, 상기 조종 데이터를 산출한 이후에, 상기 조종 데이터를 이용하여 상기 탄을 조종하기 위한 동력을 전달하는 모델을 수행하는 단계;를 더 포함한다.
본 발명은 유도조종장치와 비행상태 시작시점의 동기화를 수행하고, 폐루프 시뮬레이션 환경을 유도조종장치의 실시간(real-time) 테스트 환경으로 변경하여 유도조종장치용 소프트웨어의 검증을 수행함으로써, 시뮬레이션 테스트와 유도조종장치 테스트를 통합하여 검증 시간을 단축할 뿐만 아니라 사용자에 의해 발생할 수 있는 실수 유발 요인을 제거할 수 있다.
또한, 본 발명은 유도조종장치에 탑재된 소프트웨어를 검증함에 있어, 시뮬레이션 테스트와 유도조종장치 테스트를 통합하여 검증 시간을 단축할 뿐만 아니라, 사용자에 의해 발생할 수 있는 실수를 유발하는 요인을 제거할 수 있다.
또한, 본 발명은 두 개의 별도의 공정을 하나로 합쳐 수행시간이 줄어들고, 같은 환경에서 동시에 시험을 수행하여 환경설정시 사용자의 실수를 줄일 수 있다.
또한, 본 발명은 기존 소프트웨어 시뮬레이션과 소프트웨어 검증을 별도로 수행하던 작업을 같은 환경에서 한번의 작업으로 줄일 수 있어, 초기값 입력 실수 및 시뮬레이션 환경설정 실수를 막을 수 있다.
도 1은 본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치에 대한 도면,
도 2a는 상기 도 1의 데이터 생성부의 상세 구성을 나타낸 도면,
도 2b는 상기 도 1의 유도조종장치 모델부의 상세 구성을 나타낸 도면,
도 2c는 상기 도 1의 유도조종장치를 나타낸 도면,
도 3a는 실시간 시스템 양자간 비동기 동작을 나타낸 도면,
도 3b는 실시간 시스템 양자간 동기 동작을 나타낸 도면,
도 4는 소프트웨어 검증 장치와 유도조종장치 간의 프로세스 동기화를 나타낸 도면,
도 5는 소프트웨어 검증 장치와 유도조종장치 간의 비행상태 천이지연에 따른 프로세스 비동기화를 설명하는 도면,
도 6은 본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 방법에 대한 도면이다.
본 발명을 충분히 이해하기 위해서 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 설명한다. 본 발명의 실시예는 여러 가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상세히 설명하는 실시예로 한정되는 것으로 해석되어서는 안 된다. 본 실시예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공 되어지는 것이다. 따라서 도면에서의 요소의 형상 등은 보다 명확한 설명을 강조하기 위해서 과장되어 표현될 수 있다. 각 도면에서 동일한 부재는 동일한 참조부호로 도시한 경우가 있음을 유의하여야 한다. 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 공지 기능 및 구성에 대한 상세한 기술은 생략된다.
도 1은 본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치에 대한 도면이고, 도 2a는 상기 도 1의 데이터 생성부의 상세 구성을 나타낸 도면이며, 도 2b는 상기 도 1의 유도조종장치 모델부의 상세 구성을 나타낸 도면이고, 도 2c는 상기 도 1의 유도조종장치를 나타낸 도면이다.
본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치(이하 "소프트웨어 검증 장치"라 함, 100)는, 유도조종장치용 소프트웨어에 대해 폐루프 시뮬레이션(closed-loop simulation)과 유도조종장치 검증시험을 통합하여 수행한다. 즉, 소프트웨어 검증 장치(100)는 유도조종장치(200)와 비행상태 시작시점의 동기화를 수행하고, 폐루프(closed-loop) 시뮬레이션 환경을 유도조종장치(200)의 실시간(real-time) 테스트 환경으로 변경하여 유도조종장치용 소프트웨어의 검증을 수행한다. 여기서, 유도조종장치용 소프트웨어는 항법 소프트웨어, 유도조종 소프트웨어, 탑재 운용 소프트웨어 등이 있는데, 비행체 중의 하나인 유도탄에 탑재되는 경우에 대해 설명한다.
이와 같이, 소프트웨어 검증 장치(100)가 실시간 테스트 환경에서 검증 작업을 수행한다는 것은, 유도탄의 발사시점부터 표적도달시점까지 실제로 유도탄이 비행하는 시간(즉, 유도탄의 비행시간)에 유도조종장치(200)에 탑재된 소프트웨어에 대한 검증을 실시하는 것을 의미한다. 따라서, 후술할 데이터 생성부(120), 유도조종장치 모델부(130), 구동장치 모델부(140)는 유도탄의 비행시간 동안 동작해야 한다.
소프트웨어는 실시간 테스트 환경에서 정해진 임무를 정해진 시간에 처리할 수 있을 때 유도조종장치(200)에 적합하다는 판정을 받을 수 있다. 이 경우, 소프트웨어 검증 장치(100)와 유도조종장치(200)는 비행시간에 따른 결과데이터가 동일하게 나타난다. 반면에, 소프트웨어는 실시간 테스트 환경에서 정해진 임무를 정해진 시간에 처리하기 곤란하여 임무 수행에 있어 지연이 발생할 때 유도조종장치(200)에 부적합하다는 판정을 받을 수 있다. 이 경우, 소프트웨어 검증 장치(100)와 유도조종장치(200)는 비행시간에 따른 결과데이터가 서로 상이하게 나타난다.
도 1, 도 2a 내지 도 2c에 도시된 바와 같이, 소프트웨어 검증 장치(100)는 초기값 입력부(110), 데이터 생성부(120), 유도조종장치 모델부(130), 구동장치 모델부(140), 소프트웨어 검증부(150), 비행천이 제어부(160)를 포함한다.
소프트웨어 검증 장치(100)는 소프트웨어에 대한 폐루프 시뮬레이션을 수행하여 폐루프 구조의 데이터 흐름을 형성한다. 소프트웨어 검증 장치(100)는 처음에 표적 및 탄에 대한 초기값 입력을 제외하고, 데이터 생성부(120), 유도조종장치 모델부(130), 구동장치 모델부(140)의 각 모델들이 매 주기마다 동작한다.
초기값 입력부(110)는 소프트웨어 검증용 표적 및 탄에 대한 시뮬레이션 초기값이 입력된다. 즉, 초기값 입력부(110)는 표적에 대한 초기값(즉, 3축 표적 초기위치, 3축 표적 초기속도, 3축 표적 초기자세), 탄에 대한 초기값(즉, 3축 탄 초기위치, 3축 탄 초기속도, 3축 탄 초기자세), 대기정보(즉, 고도별 바람세기, 바람방향, 대기압력)가 입력된다. 여기서, 초기값 입력부(110)는 표적 및 탄에 대한 초기값의 입력을 위한 사용자 인터페이스 환경을 사용자에게 제공할 수 있다.
그리고, 초기값 입력부(110)는 표적에 대한 초기값을 데이터 생성부(120)의 표적 운동 모델(121)로 전달하고, 탄에 대한 초기값과 대기정보를 데이터 생성부(120)의 탄 운동 모델(122)로 전달한다. 아울러, 초기값 입력부(110)는 표적 및 탄에 대한 초기값을 유도조종장치(200)로 전달한다.
데이터 생성부(120)는 초기값 입력부(110)로부터 전달된 표적 및 탄에 대한 시뮬레이션 초기값과 구동장치 모델부(140)의 현재상태를 바탕으로 탄에 대한 운동을 예측하여 유도조종장치(200)를 검증하기 위한 데이터(이하 "검증 입력 데이터"라 함)를 산출한다. 그리고, 데이터 생성부(120)는 유도조종장치(200)의 수행결과로 구동되는 구동장치 모델부(140)의 현재상태에 따른 탄의 운동을 예측하고 표적 운동을 예측하여 검증 입력 데이터를 유도조종장치 모델부(130)로 전달한다.
또한, 데이터 생성부(120)는 초기값 입력 및 구동장치 모델부(140)의 현재상태로 표적 운동, 탄 운동, 탐색기, 관성 측정기 동작을 모의하여 동작하는 유도탄 시뮬레이션 환경을 제공한다.
데이터 생성부(120)는 표적 운동 모델(121), 탄 운동 모델(122), 탐색기 모델(123), 관성 측정기 모델(124)를 포함한다.
표적 운동 모델(121)은 운동 역학에 의해 운동하는 표적의 운동을 해석하기 위해 근사화된 모델로서, 초기값 입력부(110)로부터 전달된 표적에 대한 초기값을 이용하여 표적의 위치 및 속도 상태값(즉, 3축 표적 위치, 3축 표적 속도)을 추정할 수 있다. 그리고, 표적 운동 모델(121)은 표적의 위치 및 속도 상태값을 탐색기 모델(123)로 전달한다.
마찬가지로, 탄 운동 모델(122)은 운동 역학에 의해 운동하는 탄의 운동을 해석하기 위해 근사화된 모델로서, 초기값 입력부(110)로부터 전달된 탄에 대한 초기값과 구동장치 모델부(140)의 현재상태값을 바탕으로 탄의 위치 및 속도 상태값(즉, 3축 탄 위치, 3축 탄 속도)과 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도, 3축 탄 선형 가속도)을 추정할 수 있다. 그리고, 탄 운동 모델(122)은 탄의 위치 및 속도 상태값(즉, 3축 탄 위치, 3축 탄 속도)을 탐색기 모델(123)로 전달하고, 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도, 3축 선형 가속도)을 관성 측정기 모델(124)로 전달한다.
탐색기 모델(123)은 표적을 찾고 추적하여 표적의 방향 또는 위치를 확인하는 탐색기 기능을 근사화한 모델이다. 즉, 탐색기 모델(123)은 표적 운동 모델(121)로부터 표적의 위치 및 속도 상태값을 전달받고, 탄 운동 모델(122)로부터 탄의 위치 및 속도 상태값을 전달받아, 탄에 대한 표적의 상대적인 상태값(즉, 2축 표적 상대각, 2축 표적 상대각속도)을 산출한다. 여기서, 탐색기 모델(123)은 탄에 대한 표적의 상대적인 상태값을 유도조종장치 모델부(130)와 유도조종장치(200)로 전달한다. 이때 실제 탐색기의 특성(성능)에 따라 결과를 수정할 수 있다.
관성 측정기 모델(124)은 3차원 관성공간에서 탄의 각속도를 측정하는 자이로스코프와 선형 가속도를 측정하는 가속도계가 근사화된 모델이다. 즉, 관성 측정기 모델(124)은 탄 운동 모델(122)로부터 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도, 3축 탄 선형 가속도)을 전달받아, 실제 관성 측정기의 특성에 따라 수정된 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도#, 3축 탄 선형 가속도#)을 산출한다. 여기서, 관성 측정기 모델(124)은 수정된 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도#, 3축 탄 선형 가속도#)을 유도조종장치 모델부(130)와 유도조종장치(200)로 전달한다.
따라서, 전술한 검증 입력 데이터에는 탄에 대한 표적의 상대적인 상태값(즉, 2축 표적 상대각, 2축 표적 상대각속도), 수정된 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도#, 3축 탄 선형 가속도#)이 포함될 수 있다.
유도조종장치 모델부(130)는 데이터 생성부(120)로부터 전달된 검증 입력 데이터를 이용하여 탄의 비행을 조종하는 모델을 통해 상태값을 산출한다. 즉, 유도조종장치 모델부(130)는 검증 입력 데이터의 입력으로 실행하여 탄을 원하는 방향으로 비행시키기 위한 상태값을 산출하여 구동장치 모델부(140)로 전달한다.
유도조종장치 모델부(130)는 항법 모델(131)과 유도조종 모델(132)을 포함한다.
항법 모델(131)은 유도조종장치(200)에 탑재된 '항법 소프트웨어'를 검증하기 위해, 항법 소프트웨어와 동일한 기능과 버전으로 구현된 모델이지만, 항법 소프트웨어와 사용된 소프트웨어 언어가 다를 수 있다. 마찬가지로, 유도조종 모델(132)은 유도조종장치(200)에 탑재된 '유도조종 소프트웨어'를 검증하기 위해, 유도조종 소프트웨어와 동일한 기능과 버전으로 구현된 모델이지만, 유도조종 소프트웨어와 사용된 소프트웨어 언어가 다를 수 있다.
항법 모델(131)은 관성 측정기 모델(124)로부터 수정된 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도#, 3축 탄 선형 가속도#)을 전달받아 수정된 탄의 위치 및 속도 상태값(즉, 3축 탄 위치#, 3축 탄 속도#, 3축 탄 자세#)을 산출한다. 항법 모델(131)은 수정된 탄의 위치, 속도 및 자세 상태값을 유도조종 모듈(132)로 전달한다.
유도조종 모델(132)은 탐색기 모델(123)로부터 탄에 대한 표적의 상대적인 상태값(즉, 2축 표적 상대각, 2축 표적 상대각속도)을 전달받고, 항법 모델(131)로부터 수정된 탄의 위치 및 속도 상태값(즉, 3축 탄 위치#, 3축 탄 속도#)을 전달받아 비행시간에 따른 결과 데이터를 산출한다. 그리고, 유도조종 모델(132)은 비행시간에 따른 결과 데이터를 소프트웨어 검증부(150)로 전달한다.
또한, 유도조종 모델(132)은 탄의 조종날개 편향각에 대한 상태값과 탄의 추력방향(thrust vector)에 대한 상태값을 구동장치 모델부(140)로 전달한다. 여기서는 유도조종 모델(132)이 구동장치 모델부(140)로 전달하는 상태값을 설명의 편의상 이하 "조종 데이터"라 한다.
구동장치 모델부(140)는 유도조종장치 모델부(130)로부터 전달된 조종 데이터를 이용하여 탄을 조종하기 위한 동력을 전달하는 모델을 구현한다. 구동장치 모델부(140)는 되먹임 제어 체계를 구성하여 폐순환 시뮬레이션을 가능하게 한다.
소프트웨어 검증부(150)는 데이터 생성부(120)로부터 전달된 비행시간에 따른 검증 입력 데이터, 유도조종장치 모델부(130)로부터 전달된 비행시간에 따른 조종 데이터, 유도조종장치(200)로부터 전달된 비행시간에 따른 결과데이터가 전달된다. 여기서, 유도조종장치(200)의 비행시간에 따른 결과데이터에는 입출력 데이터가 모두 포함된다.
특히, 소프트웨어 검증부(150)는 데이터 생성부(120)로부터 전달된 비행시간에 따른 검증 입력 데이터와 유도조종장치(200)로부터 전달된 비행시간에 따른 결과 데이터(입력 데이터)를 비교하여 시뮬레이션의 유효성을 판단하고, 유도조종장치 모델부(130)로부터 전달된 비행시간에 따른 조종 데이터와 유도조종장치(200)로부터 전달된 비행시간에 따른 결과 데이터(출력 데이터)를 상호 비교함으로써, 유도조종장치(200)에 탑재되어 있는 소프트웨어에 대한 검증을 실시한다.
소프트웨어 검증부(150)는 데이터 생성부(120)로부터 검증 입력 데이터를 전달받아 저장하고, 유도조종장치 모델부(130)로부터 조종 데이터를 전달받아 저장한다. 즉, 소프트웨어 검증부(150)는 탄에 대한 표적의 상대적인 상태값(즉, 2축 표적 상대각, 2축 표적 상대각속도), 수정된 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도#, 3축 탄 선형 가속도#), 탄의 조종날개 편향각에 대한 상태값, 탄의 추력방향에 대한 상태값이 저장된다.
소프트웨어 검증부(150)는 비행시간별로 검증 입력 데이터와 조종 데이터를 정렬하여 한 주기의 수행된 일련의 결과를 하나의 세트(묶음)로 관리한다. 즉, 소프트웨어 검증부(150)는 유도조종장치(200)에 탑재된 소프트웨어를 검증하기 위해, 유도조종장치 모델부(130)[즉, 항법 모델(131)과 유도조종 모델(132)]의 입력과 출력을 매 주기마다 저장하여 입출력 데이터 세트를 구성한다.
비행 천이 제어부(160)는 비행상태 천이 이후에, 유도조종장치(200)와 비행상태 시작시점에 대한 동기화를 진행한다. 이에 대한 자세한 설명은 후술할 도 4 및 도 5를 참조하여 설명하기로 한다.
유도조종장치(200)는 초기값 입력부(110)로부터 데이터 생성부(120)에 전달된 탄 및 표적에 대한 초기값이 초기값 입력부(110)로부터 동일하게 전달된다. 즉, 유도조종장치(200)는 초기값 입력부(110)로부터 탄에 대한 초기값(즉, 3축 탄 초기위치, 3축 탄 초기속도, 3축 탄 초기자세)와 표적에 대한 초기값(3축 표적 초기위치)을 전달받는다. 이와 같이 유도조종장치(200)는 데이터 생성부(120)의 입력 중 일부가 동일하게 입력된다.
또한, 유도조종장치(200)는 탐색기 모델(123)로부터 탄에 대한 표적의 상대적인 상태값(즉, 2축 표적 상대각, 2축 표적 상대각속도)을 전달받고, 관성 측정기 모델(124)로부터 수정된 탄의 각속도 및 가속도 상태값(즉, 3축 탄 회전 각속도#, 3축 탄 선형 가속도#)을 전달받는다.
한편, 유도조종장치(200)의 비행시간에 따른 결과데이터에는, 입출력 데이터가 모두 포함됨으로써 소프트웨어 검증 장치(100)와 유도조종장치(200) 사이의 동작주기가 동기화되었는지를 소프트웨어 검증부(150)가 확인할 수 있게 한다.
도 3a는 실시간 시스템 양자간 비동기 동작을 나타낸 도면이고, 도 3b는 실시간 시스템 양자간 동기 동작을 나타낸 도면이다.
일반적인 실시간 시스템은 소정의 동작주기를 갖는 프로세스를 수행한다. 따라서, 두 개의 실시간 시스템은 프로세스 시작시점과 프로세스 시간간격이 같다면, 양쪽 시스템이 동기화하여 동작한다고 볼 수 있다. 두 개의 실시간 시스템은 내부 또는 외부 동기화 신호에 의해 프로세스를 시작하여 동기화한다.
도 3a에 도시된 A 및 B 시스템은 실시간 시스템으로서 비동기 동작을 수행하는 예를 나타내며, 도 3b에 도시된 C 및 D 시스템은 실시간 시스템으로서 동기 동작을 수행하는 예를 나타낸다.
도 3a의 A 및 B 시스템은 서로 동작주기(10㎳)가 같지만 주기시작이 같지 않거나 일정하지 않기 때문에 비동기 동작을 수행한다. 즉, 양쪽 시스템은 예측 불가능한 시간 차이(구간 X)가 있기 때문에 서로 동기화되지 못한다. 이러한 예측 불가능한 시간 차이는 시스템이 시작될 때 결정된다.
반면에, 도 3b의 C 및 D 시스템은 서로 동작주기(10㎳)가 같을 뿐만 아니라 주기시작도 동일하기 때문에 동기 동작을 수행한다. 즉, 양쪽 시스템은 A 시스템, B 시스템 및 외부장비 중 어느 하나로부터 동기신호를 전달받아 주기시작을 동기화한다. 양쪽 시스템은 동기 신호로부터 일정한 오프셋을 설정하여 주기를 시작할 수 있다.
전술한 바와 같이, 소프트웨어 검증 장치(100)와 유도조종장치(200)는 소프트웨어에 대한 검증을 통합하여 실시간으로 수행하기 위해서 양자 사이의 동기화가 중요하다. 이처럼 소프트웨어 검증 장치(100)와 유도조종장치(200)는 프로세스 시작시점과 프로세스 시간간격를 동일하게 동기화하여 동작한다.
도 4는 소프트웨어 검증 장치와 유도조종장치 간의 프로세스 동기화를 나타낸 도면이고, 도 5는 소프트웨어 검증 장치와 유도조종장치 간의 비행상태 천이지연에 따른 프로세스 비동기화를 설명하는 도면이다.
유도조종장치(200)는 소프트웨어 검증 장치(100)로부터 검증 입력 데이터를 수신받아 프로세스 주기를 시작한다. 즉, 검증 입력 데이터는 유도조종장치(200)의 내부 프로세스 동기신호로 이용된다. 구체적으로, 검증 입력 데이터는 탐색기 모델(123)과 관성 측정기 모델(124)로부터 전달된 결과 데이터를 포함하는데, 유도조종장치(200)의 내부 프로세스 동기신호는 탐색기 모델(123) 또는 관성 측정기 모델(124) 중 어느 하나로부터 전달된 결과 데이터일 수 있다. 유도조종장치(200)의 내부 프로세스 동기신호는 탄의 비행과 관련하여 주 입력데이터로 활용되는 관성 측정기 모델(124)의 결과 데이터를 이용하는 것이 바람직하다.
전술한 바와 같이, 소프트웨어 검증 장치(100)는 검증 입력 데이터를 유도조종장치(200)로 송신한다. 여기서, 검증 입력 데이터에는 관성 측정기 모델(124)의 결과 데이터가 포함된다. 결과적으로, 소프트웨어 검증 장치(100)는 검증 입력 데이터의 송신 시간을 조정하여 유도조종장치(200)의 동작 주기를 제어할 수 있다.
도 4를 참조하면, 소프트웨어 검증 장치(100)는 먼저 데이터 생성부(120)의 동작을 수행할 필요가 있기 때문에, 유도조종장치(200)보다 먼저 프로세스를 시작하여 검증 입력 데이터를 산출한 후 유도조종장치(200)로 전달한다. 즉, 데이터 생성부(120)의 수행 시간은 표적 운동 모델(121), 탄 운동 모델(122), 탐색기 모델(123), 관성 측정기 모델(124) 각각의 수행 시간의 합이다. 유도조종장치(200)는 소프트웨어 검증 장치(100)로부터 수신된 유도데이터를 기준으로 프로세스를 시작할 수 있다.
하지만, 유도조종장치(200)는 실시간 시스템 특성상 검증 입력 데이터를 무한정 기다리지는 않는다. 유도조종장치(200)는 동작에 이상이 없는 만큼의 허용오차(tolerance)를 가진다. 따라서, 유도조종장치(200)는 검증 입력 데이터가 허용오차 시간 이내로 들어오지 않으면 에러로 간주하고 검증 입력 데이터가 허용오차 시간 이내로 들어오면 프로세스를 시작한다.
이처럼 소프트웨어 검증 장치(100)와 유도조종장치(200)는 검증 입력 데이터의 송신 주기를 기준으로 서로 동기화된다. 이를 통해, 소프트웨어 검증 장치(100)의 유도조종장치 모델부(130)와 유도조종장치(200)는 검증 입력 데이터를 기준으로 동일한 데이터가 입력되고, 동일한 프로세스를 실시간으로 수행하여 결과를 출력한다.
다시 말해, 소프트웨어 검증 장치(100)는 유도조종장치(200)보다 앞서 프로세스를 시작하지만, 소프트웨어 검증을 위한 과정은 프로세스 시작시점이 서로 동기화된다. 프로세스 시간간격도 서로 동일하다.
이하, 도 5를 참조하여 소프트웨어 검증 장치(100)와 유도조종장치(200)가 비행상태 천이 프로세스 시작과정에서 비동기가 발생하는 과정을 설명한다. 여기서, 비행상태 천이 상태라 함은 사용자에 의해 탄의 발사절차가 진행되어 발사된 상태(일례로, 사용자에 의한 발사버튼 선택)를 나타낸다.
소프트웨어 검증 장치(100)는 발사절차의 특정신호에 의해 비행상태 천이 과정을 진행할 때, 비행상태 천이에 따른 시간 지연없이 비행상태를 시작할 수 있다. 이는 소프트웨어 검증 장치(100)에서 발사절차가 진행되기 때문이다. 즉, 소프트웨어 검증 장치(100)는 비행상태 천이시점과 비행상태 시작시점을 일치시킬 수 있다.
반면에, 유도조종장치(200)는 소프트웨어 검증 장치(100)에서의 비행상태 천이시점 이후에, 비행상태 천이 신호인식 및 상태변경으로 인해 비행상태 천이 과정을 완료하기 위한 소정의 상태 천이 시간이 필요하다. 여기서, 비행상태 천이 지연은 발사절차 시 비행상태 천이 신호인식이 느릴 경우, 비행상태를 위해 새로운 프로세스를 실행시켜야 하는 경우 등에 의해 발생될 수 있다. 일반적으로, 유도탄은 비행초기에 안정화 구간을 갖기 때문에 비행상태 천이 신호의 빠른 인식이 필요하지 않다. 상태 천이 시간은 수행주기로 표현할 수 있고, 한 주기는 일례로 10㎳이다.
유도조종장치(200)는 상태 천이 시간 이내에 소프트웨어 검증 장치(100)로부터 검증 입력 데이터가 전달되는 경우에, 비행상태를 시작하기 이전의 상태이다. 이 경우, 소프트웨어 검증 장치(100)는 비행상태이지만, 유도조종장치(200)는 비행상태가 아니다.
이와 같이, 유도조종장치(200)는 비행상태가 아닌 비행상태로 천이하는 과정중에 있는 경우에, 소프트웨어 검증 장치(100)로부터 전달된 검증 입력 데이터를 입력데이터로 사용하지 않는다. 즉, 유도조종장치(200)는 비행상태 천이 과정중에 있기에(즉, 비행상태가 아니기에) 검증 입력 데이터를 이용한 후속절차(즉, 조종데이터 산출)를 수행하지 않고 해당 검증 입력 데이터를 조종 데이터 산출에 사용하지 않는다.
도 5에서, 유도조종장치(200)는 비행상태 천이 과정의 시간지연으로 인해 첫번째 검증 입력 데이터를 이용한 동작을 수행하지 않고(201), 소프트웨어 검증 장치(100)가 2주기 동작중에 소프트웨어 검증 장치(100)로부터 전달된 두번째 검증 입력 데이터를 이용하여 1주기 동작을 비로소 시작한다(202).
예를 들어, 소프트웨어 검증 장치(100)와 유도조종장치(200)가 3주기 동안 동작하는 경우를 가정하여 설명한다. 소프트웨어 검증 장치(100)와 유도조종장치(200)는 비행상태 천이 과정이 없다면(도 4 참조), 양자간의 동작주기가 동기화되기 때문에 해당 주기에 동일한 결과 데이터를 출력한다. 그에 따라, 소프트웨어 검증부(150)는 해당 주기별로 동일한 결과 데이터를 비교하여 소프트웨어 검증을 수행할 수 있다.
아래 표 1을 참고하면, 유도조종장치(200)가 비행상태 천이과정에서 지연이 발생하면 결과데이터가 아래와 같이 출력되는 것으로 가정할 수 있다. 즉, 소프트웨어 검증 장치(100)에서 첫번째 검증 입력 데이터로 'A'가 처리되고, 두번째 검증 입력 데이터로 'B'가 처리되며, 세번째 검증 입력 데이터로 'C'가 처리되고, 네번째 검증 입력 데이터로 'D'가 처리되는 경우를 가정하여 설명한다. 동작주기는 소프트웨어 검증 장치(100)와 유도조종장치(200) 각각이 비행상태 시작 이후에 검증 입력 데이터를 입력받고 출력하는 시간간격(비행시간)을 나타낸다. 표 1은 비행상태 천이지연의 발생을 나타낸다.
동작
주기
소프트웨어 검증 장치
에서 처리한
검증 입력 데이터
소프트웨어 검증 장치
의 조종 데이터
유도조종장치
에서 처리한
입력데이터
유도조종장치
의 출력데이터
1주기 A A# B B##
2주기 B B# C C##
3주기 C C# D D##
4주기 D D# E E##
상기 표 1에서, 소프트웨어 검증 장치(100)는 1주기에서 첫번째 검증 입력 데이터 'A'가 입력되므로 조종 데이터 'A#'을 출력하고, 2주기에서 두번째 검증 입력 데이터 'B'가 입력되므로 조종 데이터 'B#'을 출력하며, 3주기에서 세번째 검증 입력 데이터 'C'가 입력되므로 조종 데이터 'C#'을 출력한다.
반면에, 유도조종장치(200)는 소프트웨어 검증 장치(100)의 1주기에 해당하는 시점에, 비행상태 천이 과정을 진행중이므로 비행상태 천이 과정을 중단하고 검증 입력 데이터를 입력받아 출력하는 과정을 수행하지 않는다. 즉, 유도조종장치(200)는 첫번째 검증 입력 데이터 'A'가 입력되지만, 결과데이터 'A##'을 출력하지 않는다.
이후, 유도조종장치(200)는 소프트웨어 검증 장치(100)의 2주기에 해당할 때, 비행상태이므로 검증 입력 데이터 입력에 따른 출력에 대한 1주기 동작을 비로소 수행한다. 이 경우에, 유도조종장치(200)는 두번째 검증 입력 데이터 'B'가 입력되므로 결과데이터 'B##'을 출력한다. 마찬가지로, 유도조종장치(200)는 2주기에서 세번째 검증 입력 데이터 'C'가 입력되므로 결과데이터 'C##'을 출력하며, 3주기에서 네번째 검증 입력 데이터 'D'가 입력되므로 결과데이터 'D##'을 출력한다.
이와 같이, 유도조종장치(200)는 비행상태 천이 과정을 수행할 때, 소프트웨어 검증 장치(100)로부터 수신된 검증 입력 데이터를 처리하지 못하기 때문에 소프트웨어 검증 장치(100)의 동작주기에 맞춰 동기화되지 못하고 해당 주기를 놓치게 된다. 이로 인해, 소프트웨어 검증 장치(100)와 유도조종장치(200)는 특정 동작주기에 각각의 결과데이터가 서로 달라진다. 다시 말해, 소프트웨어 검증 장치(100)와 유도조종장치(200)는 현재 상태에 저장되어 있는 결과데이터가 다르다.
앞서 언급한 바와 같이, 검증 입력 데이터가 1주기 지연되어 처리되지 않으면 각 시스템에서 현재 상태를 다르게 저장하고 있기 때문에 출력결과 오차가 점점 커진다.
이와 같은 원인의 일례로 항법 출력 데이터인 위치, 속도, 가속도로 간단히 설명한다. 검증 입력 데이터 중에 '3축 탄 선형 가속도 정보'가 있는데, 이 정보를 기초로 소프트웨어 검증장치(100)와 유도조종장치(200) 양쪽은 현재의 속도와 위치를 갱신한다. 즉, 가속도를 시간으로 적분하여 속도를 계산하고 속도를 시간으로 적분하여 위치를 계산한다. 이 경우에 현재 상태는 이전 상태(위치, 속도)를 기반으로 갱신되므로, 이전 상태가 중요하다. 표 1에 설명한 바와 같이, 1주기의 입력을 놓치면 현재 알고 있는 이전 상태의 위치, 속도 데이터가 서로 다르고 그 이후 같은 검증 입력 데이터(가속도)가 입력되더라도 일정한 속도 오차가 유지된다. 따라서, 서로 간의 위치 오차는 계속 증가한다. 이와 같이 이전 상태가 서로 다른 경우에는 현재 위치를 사용하는 많은 연산들의 결과에 오차를 유발할 수 있다.
이처럼 소프트웨어 검증 장치(100)와 유도조종장치(200)는 비행상태 천이 이후에 비행상태 시작시점에 대한 동기화가 필요하다. 이에 따라, 소프트웨어 검증 장치(100)는 비행상태 시작을 조정한다. 이는 소프트웨어 검증 장치(100)의 비행 천이 제어부(160)에서 진행된다.
구체적으로, 소프트웨어 검증 장치(100)는 유도조종장치(200)가 최초 시험을 수행할 때 동작주기의 지연정도를 고려하지 않고 탑재된 소프트웨어를 검증한 후[즉, 유도조종장치(200)의 최초 시험 이후에], 소프트웨어 검증 장치(100)의 검증 입력 데이터와 유도조종장치(200)의 입력 데이터를 같은 주기에서 비교하여 동작주기의 지연정도를 측정한다. 도 5와 표 1를 참조하면, 소프트웨어 검증 장치(100)의 2주기에서 검증 입력 데이터는 유도조종장치(200)의 1주기에서 입력데이터와 동일하므로, 1주기의 동작주기가 지연되고 있음을 알 수 있다.
따라서, 소프트웨어 검증 장치(100)는 비행상태 시작시점을 1주기 지연하여 유도조종장치(200)와 프로세스 동기화를 수행할 수 있다. 예를 들어, 유도조종장치(200)는 비행상태 시작신호 인가 이후 0.05초만에 비행상태로 천이된다면, 소프트웨어 검증 장치(100)는 비행상태 시작시점을 0.05초 지연시킨다.
이처럼 소프트웨어 검증 장치(100)는 유도조종장치(200)의 종류에 따라 비행상태 시작시점을 변경하여 유도조종장치(200)와 시작시점을 동기화할 수 있다. 동종 유도조종장치(200)는 항상 같은 지연시간을 갖는다. 따라서, 해당 지연시간은 한차례 측정으로 동종 유도조종장치(200)에 대해 적용 가능하며, 매번 소프트웨어 검증 작업을 위해 측정할 필요가 없다.
종래의 소프트웨어 검증 시간은 입출력 데이터 세트 생성을 위한 소프트웨어 시뮬레이션 수행시간 'T1', 유도조종장치 초기화, 초기값 입력, 발사절차 수행 등을 위한 수행시간 'T2', 비행상태 이후 절차 수행시간 'T3'와 같다면, 'T1+T2+T3'로 나타낼 수 있다.
반면에, 본 발명의 소프트웨어 검증 시간은 'T2+T3'로 나타낼 수 있다. 즉, T1의 수행시간은 T3의 수행시간보다 작거나 같고 병렬로 수행되기 때문에 T1의 수행시간을 없앨 수 있다. 이는 시뮬레이션을 위한 소프트웨어 검증 장치(100)와 유도조종장치(200)가 별도로 존재하여 병렬 처리가 가능하기 때문이다. 유도탄 개발시 T1의 수행횟수가 빈번하기 때문에, 본 발명의 소프트웨어 검증 시간은 짧아질 수 있다.
또한, 유도조종장치(200)에 탑재된 소프트웨어 동작은 유도탄의 현재상태와 표적과의 관계에 따라 결과를 출력하지만, 유도탄의 이전 상태도 현재 출력결과에 영향을 미친다. 결과적으로 유도조종장치(200)는 A라는 임의의 입력에 항상 A'라는 결과를 출력하지 않는다. 따라서 종래에는 유도조종장치(200)에 탑재된 소프트웨어 검증을 위해 폐루프 시뮬레이션 결과를 저장하여, 별도의 시험으로 저장된 결과를 유도조종장치에 인가하고 시뮬레이션 결과와 유도조종장치 출력 결과를 비교한다. 따라서, 종래에는 두 가지 시험 진행으로 검증시험 시간이 늘어나고 초기값 입력, 시뮬레이션 환경설정 등의 사용자 실수를 유발할 수 있다.
하지만, 본 발명의 소프트웨어 검증 장치(100)는 소프트웨어 검증 시간을 줄일 수 있을 뿐만 아니라, 사용자의 실수 유발을 줄일 수 있다.
도 6은 본 발명의 일실시예에 따른 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 방법에 대한 도면이다.
소프트웨어 검증 장치(100)는 소프트웨어 검증용 표적 및 탄에 대한 시뮬레이션 초기값이 입력된다(S211). 또한, 유도조종장치(200)는 초기화 및 소프트웨어 검증을 위한 초기값이 입력된다(S212, S213).
이후, 소프트웨어 검증 장치(100)는 탄이 발사절차를 수행함에 따라 유도조종장치(200)의 비행상태 천이 과정이 수행된다(S214, S215). 이때, 비행 천이 제어부(160)는 미리 저장된 유도조종장치(200)의 비행상태 천이 지연시간에 따라 데이터 생성부(120), 유도조종장치 모델부(130), 구동장치 모델부(140)의 비행상태 시작시점을 지연시키는 방법으로, 소프트웨어 검증 장치(100)와 유도조종장치(200)의 비행시작 시점을 동기화한다(S216).
이에 따라, 소프트웨어 검증 장치(100)는 유도조종장치(200)의 비행상태 천이 과정에 따른 지연시간을 반영하여 소프트웨어 검증 작업을 수행할 수 있다.
여기서는 전술한 비행상태 천이 과정에 따른 동기화 절차(S214 단계 내지 S216 단계)를 소프트웨어 검증 작업에 앞서 수행하였으나, 소프트웨어 검증 작업의 임의의 시점에 수행할 수도 있다. 다만, 동작주기 지연정도는 소프트웨어 검증 작업에 앞서 측정됨으로써, 소프트웨어 검증 작업 중 임의의 시점에 탄의 발사절차를 진행할 때 곧바로 적용될 수 있다.
그런 다음, 소프트웨어 검증 장치(100)는 일련의 데이터 생성부(120) 및 유도조종장치 모델부(130)를 수행한다.
먼저, 소프트웨어 검증 장치(100)는 표적 및 탄 운동 모델을 수행하면서(S217, S218), 탄이 표적에 도달하는지를 확인한다(S219). 여기서, 소프트웨어 검증 장치(100)는 탄이 표적에 도달하는지에 대한 확인 절차를 전체 모델링을 수행한 이후(후술할 S226 단계 이후)에 수행할 수도 있다.
소프트웨어 검증 장치(100)는 탄이 표적에 도달하지 않은 상태, 즉, 탄이 비행상태인 경우에(S219), 관성 측정기 모델을 수행하여 비행시간에 따른 결과 데이터를 저장하면서(S220), 관성 측정기 모델로부터 출력된 비행시간에 따른 결과데이터를 유도조종장치(200)에 입력한다(S221). 이와 동시에, 소프트웨어 검증 장치(100)는 탐색기 모델을 수행하여 비행시간에 따른 결과 데이터를 저장하면서(S222), 탐색기 모델로부터 출력된 비행시간에 따른 결과데이터를 유도조종장치(200)에 입력한다(S223). 이때, 소프트웨어 검증 장치(100)와 유도조종장치(200)는 검증 입력 데이터의 송신 주기를 기준으로 서로 프로세스 동기화된다.
이후, 소프트웨어 검증 장치(100)는 항법 모델, 유도조종 모델 및 구동장치 모델을 수행하여 비행시간에 따른 결과데이터를 저장한다(S224, S225). 이때, 유도조종장치(200)는 내부에 탑재되어 있는 소프트웨어(즉, 항법 소프트웨어, 유도조종 소프트웨어, 탑재 운용 소프트웨어)를 수행한 후 비행시간에 따른 결과데이터를 저장한다(S226).
한편, 소프트웨어 검증 장치(100)는 탄이 표적에 도달하기 전까지 전술한 S220 단계 내지 S226 단계를 반복 수행한다(S219). 이후, 소프트웨어 검증 장치(100)는 탄이 표적에 도달하면(S219) 다음과 같이 판단한다. 이때, 소프트웨어 검증 장치(100)는 비행시간에 따른 입력데이터(즉, 검증 입력 데이터와 유도조종장치의 입력데이터)의 비교 결과에 따라 시험의 유효성을 판단하고(S227, S228), 비행시간에 따른 출력데이터(즉, 조종 데이터와 유도조종장치의 출력데이터)의 비교 결과에 따라 시험결과를 출력하고 작업을 종료한다(S229).
여기서, 비행시간에 따른 입력데이터가 서로 일치하지 않는 경우에는 입력데이터의 지연정도를 측정한 후 재설정하고(S228), 비행시간에 따른 입력데이터가 서로 일치하는 경우에는 비행시간에 따른 결과데이터를 서로 비교한다(S229). 비행시간에 따른 결과데이터가 서로 일치하는 경우에는 소프트웨어 검증 결과 '이상없음'을 나타내고, 비행시간에 따른 결과데이터가 서로 일치하지 않는 경우에는 소프트웨어 검증 결과 '이상있음'을 나타낸다.
전술한 바와 같이, 비행시간에 따른 입력데이터가 서로 일치하지 않는 경우에는 시험에 문제가 있다고 판단할 수 있다. 특히, 입력데이터에 시간의 지연이 발생했다면 비행시작 시점의 지연시간을 재조정하여 재수행할 수 있다.
이상에서 설명된 본 발명의 실시예는 예시적인 것에 불과하며, 본 발명이 속한 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 잘 알 수 있을 것이다. 그럼으로 본 발명은 상기의 상세한 설명에서 언급되는 형태로만 한정되는 것은 아님을 잘 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. 또한, 본 발명은 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 그 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
100 : 소프트웨어 검증 장치 110 : 초기값 입력부
120 : 데이터 생성부 121 : 표적 운동 모델
122 : 탄 운동 모델 123 : 탐색기 모델
124 : 관성 측정기 모델 130 : 유도조종장치 모델부
131 : 항법 모델 132 : 유도조종 모델
140 : 구동장치 모델부 150 : 소프트웨어 검증부
160 : 비행천이 제어부 200 : 유도조종장치

Claims (15)

  1. 소프트웨어 검증용 표적 및 탄에 대한 초기값이 입력되는 초기값 입력부;
    상기 표적 및 탄에 대한 초기값과 구동장치 모델부의 현재상태를 바탕으로 상기 탄에 대한 운동을 예측하여 검증 입력 데이터를 산출하기 위한 데이터 생성부;
    상기 검증 입력 데이터를 이용하여 상기 탄을 표적으로 유도하기 위한 조종 데이터를 생성하기 위한 유도조종장치 모델부;
    상기 유도조종장치 모델부와 유도조종장치로부터 각각 전달된 비행시간에 따른 결과데이터를 상호 비교하기 위한 소프트웨어 검증부; 및
    상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부의 비행시작 시점을 지연시키는 비행 천이 제어부;를 포함하며,
    상기 유도조종장치는, 상기 데이터 생성부로부터 상기 검증 입력 데이터를 전달받아 비행시간에 따른 결과데이터를 출력하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  2. 제 1 항에 있어서,
    상기 비행시작 시점은,
    상기 탄에 비행시작 신호가 인가될 때, 상기 유도조종장치의 최초 시험 이후에 상기 유도조종장치 모델부와 상기 유도조종장치의 입력데이터가 상호 비교되어 상기 유도조종장치의 비행천이 지연정도가 측정되어 결정되는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  3. 제 1 항에 있어서,
    상기 구동장치 모델부는,
    상기 조종 데이터를 이용하여 상기 탄을 조종하기 위한 동력을 전달하는 모델을 수행하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  4. 제 1 항에 있어서,
    상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부는, 유도탄의 비행시간 동안 동작하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  5. 제 1 항에 있어서,
    상기 데이터 생성부, 상기 유도조종장치 모델부, 상기 구동장치 모델부는, 소프트웨어에 대한 폐루프 시뮬레이션을 수행하여 폐루프 구조의 데이터 흐름을 형성하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  6. 제 1 항에 있어서,
    상기 데이터 생성부는,
    상기 표적에 대한 초기값을 이용하여 '표적의 위치 및 속도 상태값'을 추정하기 위한 표적 운동 모델;
    상기 탄에 대한 초기값과 상기 구동장치 모델부의 현재상태를 이용하여 '탄의 위치 및 속도 상태값'과 '탄의 각속도 및 가속도 상태값'을 추정하기 위한 탄 운동 모델;
    상기 '표적의 위치 및 속도 상태값'과 상기 '탄의 위치 및 속도 상태값'을 이용하여 '탄에 대한 표적의 상대적인 상태값'을 산출하기 위한 탐색기 모델; 및
    상기 '탄의 각속도 및 가속도 상태값'을 이용하여 관성 측정기 특성에 따른 '수정된 탄의 각속도 및 가속도 상태값'을 산출하기 위한 관성 측정기 모델;
    을 포함하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  7. 제 6 항에 있어서,
    상기 표적에 대한 초기값은, 3축 표적 초기위치, 3축 표적 초기속도, 3축 표적 초기자세이고, 상기 탄에 대한 초기값은, 3축 탄 초기위치, 3축 탄 초기속도, 3축 탄 초기자세인 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  8. 제 6 항에 있어서,
    상기 '표적의 위치 및 속도 상태값'은 3축 표적 위치와 3축 표적 속도이고, 상기 '탄의 위치 및 속도 상태값'은 3축 탄 위치와 3축 탄 속도이며, 상기 '탄의 각속도 및 가속도 상태값'은 3축 탄 회전 각속도와 3축 탄 선형 가속도이고, 상기 '탄에 대한 표적의 상대적인 상태값'은 2축 표적 상대각과 2축 표적 상대각속도인 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  9. 제 6 항에 있어서,
    상기 검증 입력 데이터에는, 상기 '탄에 대한 표적의 상대적인 상태값'과 상기 '수정된 탄의 각속도 및 가속도 상태값'이 포함되는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  10. 제 6 항에 있어서,
    상기 유도조종장치 모델부는,
    상기 '수정된 탄의 각속도 및 가속도 상태값'을 이용하여 '수정된 탄의 위치, 속도 및 자세 상태값'을 산출하기 위한 항법 모델; 및
    상기 '탄에 대한 표적의 상대적인 상태값'과 상기 '수정된 탄의 위치, 속도 및 자세 상태값'을 이용하여 비행시간에 따른 결과데이터를 산출하기 위한 유도조종 모델;
    을 포함하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  11. 제 1 항에 있어서,
    상기 조종 데이터는, 상기 탄의 조종날개 편향각에 대한 상태값과 상기 탄의 추력방향(thrust vector)에 대한 상태값인 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  12. 제 10 항에 있어서,
    상기 항법 모델은, 상기 유도조종장치에 탑재된 항법 소프트웨어와 동일한 기능과 버전으로 구현된 모델이고, 상기 유도조종 모델은, 상기 유도조종장치에 탑재된 유도조종 소프트웨어와 동일한 기능과 버전으로 구현된 모델인 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  13. 제 1 항에 있어서,
    상기 소프트웨어 검증부는,
    상기 검증 입력 데이터와 상기 조종 데이터를 비행시간별로 정렬하여 한 주기의 수행된 일련의 결과를 하나의 입출력 데이터 세트로 관리하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치.
  14. 소프트웨어 검증용 표적 및 탄에 대한 초기값이 입력되는 단계;
    상기 표적 및 탄에 대한 초기값과 구동장치의 현재상태를 이용하여 상기 탄에 대한 운동을 예측하여 검증 입력 데이터를 산출하는 단계;
    상기 검증 입력 데이터를 유도조종장치로 입력하는 단계;
    상기 검증 입력 데이터를 이용하여 상기 탄의 비행을 조종하는 모델을 통해 조종 데이터를 산출하고, 비행시간에 따른 결과데이터를 출력하는 단계; 및
    상기 출력된 비행시간에 따른 결과데이터를 상기 유도조종장치로부터 출력된 비행시간에 따른 결과데이터와 상호 비교하는 단계;를 포함하며,
    상기 초기값이 입력되는 단계 이후에, 상기 탄이 비행상태로 천이되면, 상기 유도조종장치의 비행천이 지연정도에 따라 비행상태 시작시점을 지연시키는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 방법.
  15. 제 14 항에 있어서,
    상기 조종 데이터를 산출한 이후에, 상기 조종 데이터를 이용하여 상기 탄을 조종하기 위한 동력을 전달하는 모델을 수행하는 단계;를 더 포함하는 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 방법.
KR1020160179654A 2016-12-27 2016-12-27 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법 KR101934166B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160179654A KR101934166B1 (ko) 2016-12-27 2016-12-27 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160179654A KR101934166B1 (ko) 2016-12-27 2016-12-27 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180075821A true KR20180075821A (ko) 2018-07-05
KR101934166B1 KR101934166B1 (ko) 2018-12-31

Family

ID=62920623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160179654A KR101934166B1 (ko) 2016-12-27 2016-12-27 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101934166B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073195A (ko) * 2020-11-26 2022-06-03 주식회사 한화 유도 무기 탑재 소프트웨어 갱신을 위한 유도 조종 컴퓨터를 제어하는 장치 및 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101052040B1 (ko) * 2010-11-25 2011-07-26 삼성탈레스 주식회사 유도탄의 자동 조종 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073195A (ko) * 2020-11-26 2022-06-03 주식회사 한화 유도 무기 탑재 소프트웨어 갱신을 위한 유도 조종 컴퓨터를 제어하는 장치 및 그 방법

Also Published As

Publication number Publication date
KR101934166B1 (ko) 2018-12-31

Similar Documents

Publication Publication Date Title
KR101931002B1 (ko) 유도탄 동적 지상 점검 시스템 및 방법
EP1999528B1 (en) Onboard guidance method for powered ballistic missiles
US5021982A (en) Motion base control process and pilot perceptual simulator
RU2442962C2 (ru) Система и способ управления инерционной платформой подвижного объекта
JP5479577B2 (ja) 移動体の軌道の概算方法および概算用システム
CN106681170B (zh) 一种半实物制导仿真方法及仿真系统
Samaan et al. Star tracker real-time hardware in the loop testing using optical star simulator
JP5822675B2 (ja) 多段式ロケット誘導装置、多段式ロケット誘導プログラム、多段式ロケット誘導方法および多段式ロケット誘導システム
KR20180071712A (ko) 비행자세 모의기 제어 장치 및 방법
CN115755641A (zh) 一种红外制导武器桌面半实物仿真系统及仿真方法
KR101934166B1 (ko) 폐루프 시뮬레이션을 이용한 유도조종장치용 소프트웨어 검증 장치 및 그 방법
KR101312315B1 (ko) 비행 모의 장치 및 그 방법
Boge et al. Using robots for advanced rendezvous and docking simulation
US9874422B2 (en) Stationary and mobile test device for missiles
Steffes et al. Reconfigurable hardware-in-the-loop test bench for the SHEFEX2 hybrid navigation system experiment
Todić et al. Cost-Effective HWIL testing methodology for SALS guided missiles
Chang et al. Design and integration of hardware-in-the-loop simulation system for certain missile
KR102180984B1 (ko) 비행체의 가속도 제어 종료 시점을 고려한 제어 명령 생성 방법 및 장치
Alsaraj et al. Investigation of hardware-in-loop simulation (HILS) for guidance system
CN113656887B (zh) 基于坐标偏置优化的弹目运动仿真能力拓展方法和系统
RU2281232C2 (ru) Способ управления космическим аппаратом при поддержании заданной ориентации с помощью реактивных маховиков и система для его осуществления
Zhao et al. On joint hardware-in-the-loop simulation of aircraft control system and propulsion system
Kaden et al. Hardware-in-the-loop flight simulator–an essential part in the development process for the automatic flight control system of a utility aircraft
Silvestro et al. A closed loop simulation environment for GPS/INS guidance systems
Belsky et al. Estimation of Generic Parameters in a Technique for Initial Alignment and Calibration of INS for Space Launch Vehicles

Legal Events

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