KR20220144206A - 시스템 상태 추정 장치 및 방법 - Google Patents

시스템 상태 추정 장치 및 방법 Download PDF

Info

Publication number
KR20220144206A
KR20220144206A KR1020210050589A KR20210050589A KR20220144206A KR 20220144206 A KR20220144206 A KR 20220144206A KR 1020210050589 A KR1020210050589 A KR 1020210050589A KR 20210050589 A KR20210050589 A KR 20210050589A KR 20220144206 A KR20220144206 A KR 20220144206A
Authority
KR
South Korea
Prior art keywords
state
matrix
linear transformation
transformation matrix
estimate
Prior art date
Application number
KR1020210050589A
Other languages
English (en)
Other versions
KR102543488B1 (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 KR1020210050589A priority Critical patent/KR102543488B1/ko
Priority to US17/555,705 priority patent/US20220353277A1/en
Publication of KR20220144206A publication Critical patent/KR20220144206A/ko
Application granted granted Critical
Publication of KR102543488B1 publication Critical patent/KR102543488B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Virology (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명은 시스템 상태 추정 장치 및 방법을 제공한다. 이로써, 외란에 강인하고 센서 공격/고장으로부터 자율 복원성이 있는 시스템 상태 추정(Resilient State Estimation; RSE)이 가능하다.

Description

시스템 상태 추정 장치 및 방법{APPARATUS AND METHOD FOR SYSTEM STATE ESTIMATION}
본 발명은 시스템 상태 추정 장치 및 방법에 관한 것으로, 외란에 강인한 자율 복원 시스템 상태 추정(Resilient State Estimation; RSE) 장치 및 방법에 관한 것이다.
이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.
사이버 물리 시스템(Cyber Physical System; CPS)은 물리 세계와 사이버 세계의 융합 기술 연구 분야로서 센서, 액추에이터 및 제어기 등이 네트워크로 연결되는 물리 시스템의 동작을 모델링하고 상호작용을 연구한다.
한편 네트워크를 통한 센서 공격으로부터 시스템을 방어하고 외부 공격으로 인한 교란이 발생하여도 시스템의 목적을 최대한 달성할 수 있는 제어 시스템 기술이 필요하다.
이를 위하여 악의를 가진 외부 공격으로부터 복원성(Resiliency)을 갖는 제어 시스템의 설계가 필요하다.
본 발명의 일 과제는, 외란과 상관없이 시스템의 상태를 부분적으로 추정할 수 있는 부분 상태 관측기의 설계 기법을 제공하는 것이다.
본 발명의 일 과제는 부분 상태 관측기를 이용하여 전체 시스템 상태를 추정하는 시스템 상태 추정 장치 및 방법을 제공하는 것이다.
본 발명의 일 과제는, 부분 상태 관측기에서 출력된 부분 상태 정보를 조합하여 센서 공격/고장의 영향을 제거하고 시스템의 실제 상태를 추정하는 시스템 상태 추정 장치 및 방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시예에 따른 시스템 상태 추정 장치는, 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
Figure pat00001
)에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure pat00002
)을 생성하는 생성부, 상기 복수의 부분 상태 추정값에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
Figure pat00003
)을 결정하는 조합부 및 상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
Figure pat00004
)을 결정하는 결정부를 포함할 수 있다.
본 발명의 일 실시예에 따른 시스템 상태 추정 방법은, 생성부에 의해, 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
Figure pat00005
)에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure pat00006
)을 생성하는 단계, 조합부에 의해, 상기 복수의 부분 상태 추정값에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
Figure pat00007
)을 결정하는 단계 및 결정부에 의해 상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
Figure pat00008
)을 결정하는 단계를 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 및 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면 부분 상태 관측기의 도입에 의해 각 센서 출력으로부터 외란의 영향이 없는 추정값을 얻을 수 있다.
본 발명의 실시예에 따르면 외란과 센서 고장/공격을 제거하는 구조에서 부분 상태 관측기를 활용함으로써 상태 추정 기법의 사용 조건이 완화되어 더 넓은 범위의 시스템에 적용 가능하다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 실시예에 따른 시스템 상태 추정 장치의 동작 환경을 개략적으로 보여주는 도면이다.
도 2는 실시예에 따른 시스템 상태 추정 장치의 구성을 개략적으로 설명하기 위한 도면이다.
도 3은 실시예에 따른 시스템 상태 추정 장치의 블록도이다.
도 4는 실시예에 따른 시스템 상태 추정 장치의 기능 블록도이다.
도 5는 실시예에 따른 시스템 상태 추정 방법의 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시예들에 한정되지 않는다. 이하 실시예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.
이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 실시예에 따른 시스템 상태 추정 장치의 동작 환경을 개략적으로 보여주는 도면이다.
실시예에 따른 시스템 상태 추정 장치(100)는 타겟 시스템(1000)의 상태를 실시간으로 추정한다.
타겟 시스템(1000)은 제어 입력(
Figure pat00009
)에 따라 일련의 작업을 수행하는 물리적 시스템을 의미한다. 예를 들어 타겟 시스템(1000)은 발전소(plant), 스마트 팩토리, 스마트 팜 등과 같은 자동화된 제어 시스템에 의해 작동하는 설비를 갖는 다양한 물리적 시스템을 포함한다.
타겟 시스템(1000)에는 다양한 센서가 배치되어 타겟 시스템(1000)의 동작 상태를 모니터링할 수 있다. 여기서 센서는 위치 센서, 온도 센서, 이미지 센서, 속도 센서, 습도 센서, 압력 센서, 모션 센서 등의 다양한 물리량을 감지할 수 있는 센서를 포함할 수 있다.
타겟 시스템(1000)은 외란의 영향을 받을 수 있다. 여기서 외란은 자동제어계의 상태를 바꾸려 하는 외적 작용/외부 요인에 의한 신호 교란을 의미한다. 외란은 타겟 시스템(1000)이 정상적인 상태에 있다면 만들어내지 않을 제어 신호를 만들어 내도록 하는 다양한 유인을 총칭한다.
또한, 타겟 시스템(1000)의 센서는 기계적인 고장 및/또는 외부로부터의 공격에 의하여 부분적으로 또는 전적으로 정상 작동하지 않을 수 있다. 이와 같은 센서의 오동작은 해당 센서의 출력값에 반영되어 타겟 시스템(1000)의 실제 현재 상태와는 상이한 센서 출력값을 유발할 수 있다.
시스템 상태 추정 장치(100)는 타겟 시스템(1000)에 대한 제어 입력(
Figure pat00010
)과 타겟 시스템(1000)에 배치된 센서에서 감지한 센서값, 즉 타겟 시스템(1000)의 상태와 관련된 관측치에 해당하는 센서의 출력값(
Figure pat00011
)을 입력 받아서 타겟 시스템(1000)의 현재 상태에 대한 추정값(
Figure pat00012
)을 출력할 수 있다. 특히, 실시예에 따른 시스템 상태 추정 장치(100)는 외란 및 센서 고장/공격 하에서도 타겟 시스템(1000)의 현재 상태를 정확하게 추정할 수 있다.
도 2는 실시예에 따른 시스템 상태 추정 장치의 구성을 개략적으로 설명하기 위한 도면이다.
실시예에 따른 시스템 상태 추정 장치(100)는 외란 및 센서 공격/고장이 있는 경우에도 타겟 시스템(1000)의 실제 현재 상태에 수렴하는 추정값을 얻을 수 있다.
시스템 상태 추정 장치(100)는 다음과 같은 과정을 통해 추정값에서 외란(d)과 센서 공격/고장의 영향을 제거한다.
먼저 센서 출력(y1, y2, ..., yp)에 대하여 부분 상태 관측기(Partial state Unknown Input Observer; Partial UIO)를 설계하고 이를 시스템 상태 추정에 적용하여 외란(d)의 영향이 제거된 부분 상태 추정값을 획득한다.
실시예에 의하면 외란과 센서 고장/공격을 제거하는 구조에서 부분 상태 관측기를 활용함으로써 실시예에 따른 시스템 상태 추정 기법의 사용 조건이 완화되어 더 넓은 범위의 시스템에 적용 가능하다.
그 다음으로, 각 부분 상태 관측기(Partial UIO)가 출력한 부분 상태 추정값을 조합하여 타겟 시스템(1000)의 전체 상태를 나타내는 복수의 후보 추정값을 생성한다. 이와 같은 복수의 후보 추정값 중에는 센서 공격/고장의 영향이 없는 부분 상태 추정값으로만 조합된 후보가 반드시 존재한다. 이러한 후보를 유한 공간 최적화 과정(Finite space optimization process)를 통해 찾아내고, 찾아낸 값을 타겟 시스템(1000)의 현재 상태에 대한 최종 상태 추정값(
Figure pat00013
)으로 반환한다.
이와 같은 유한 공간 최적화 과정에 의해 탐색 공간을 획기적으로 줄여서 연산 시간이 대폭 감소되는 효과가 있다.
이하에서 실시예에 따른 시스템 상태 추정 과정에 대하여 보다 상세히 살펴본다.
도 3은 실시예에 따른 시스템 상태 추정 장치의 블록도이다.
실시예에 따른 시스템 상태 추정 장치(100)는 프로세서(110)를 포함할 수 있다.
프로세서(110)는 일종의 중앙처리장치로서, 후술할 메모리(120)에 저장된 하나 이상의 명령어를 실행하여 시스템 상태 추정 장치(100)의 동작을 제어할 수 있다. 프로세서(110)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다.
프로세서(110)는 도 4를 참조하여 후술할 생성부(20), 조합부(30) 및 결정부(40)에 대응하는 하나 이상의 명령어를 포함하는 프로그램을 실행하여 시스템 상태 추정 과정을 실행할 수 있다.
프로세서(110)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다. 프로세서(110)는 하나 이상의 프로세서를 포함할 수 있다. 프로세서(110)는 적어도 하나의 코어를 포함할 수 있다.
시스템 추정 장치(100)는 메모리(120)를 포함할 수 있다.
메모리(120)는 시스템 추정 장치(100)의 실행을 위한 명령들을 저장할 수 있다. 메모리(120)는 실시예에 따른 시스템 추정 과정을 실행가능한(executable) 프로그램을 저장할 수 있다. 메모리(120)는 도 4를 참조하여 후술할 생성부(20), 조합부(30) 및 결정부(40)를 포함하는 실행가능한 프로그램을 저장할 수 있다.
프로세서(110)는 메모리(120)에 저장된 프로그램 및 명령어들에 기반하여 실시예에 따른 시스템 상태 추정을 실행할 수 있다.
메모리(120)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다. 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
시스템 추정 장치(100)는 버스(130)를 더 포함할 수 있다. 버스(130)는 프로세서(110) 및 메모리(120)를 연결하는 논리적/물리적 경로이다. 프로세서(110)는 버스(130)를 통해 메모리(120)에 대한 읽기/쓰기(read/write)를 수행할 수 있다.
도 4는 실시예에 따른 시스템 상태 추정 장치의 기능 블록도이다.
시스템 상태 추정 장치(100)는 타겟 시스템(1000)에 대한 제어 입력 및 제어 입력에 따른 타겟 시스템(1000)의 상태 관측치에 대응하는 타겟 시스템(1000)에 배치된 복수의 센서(10)의 출력값에 기반하여 타겟 시스템(1000)의 현재 상태에 대한 복수의 부분 상태 추정값을 생성하는 생성부(20), 복수의 부분 상태 추정값에 기반하여 타겟 시스템(1000)의 전체 상태 추정값에 대한 복수의 후보 추정값의 집합을 결정하는 조합부(30) 및 복수의 후보 추정값 중에서 타겟 시스템(1000)의 현재 상태에 대한 전체 상태 추정값을 결정하는 결정부(40)를 포함할 수 있다.
시스템 상태 추정 장치(100)는 타겟 시스템(1000)에 대한 제어 입력 및 해당 제어 입력에 따른 타겟 시스템(1000)의 상태 관측치에 대응하는 타겟 시스템(1000)에 배치된 복수의 센서(10)의 출력값에 기반하여 타겟 시스템(1000)의 현재 상태에 대한 복수의 부분 상태 추정값을 생성하는 생성부(20)를 포함할 수 있다.
일 예에서 생성부(20)는 복수의 부분 상태 관측기(Partial state Unknown Input Observer; Partial UIO)를 포함할 수 있다.
복수의 부분 상태 관측기의 각 부분 상태 관측기는 복수의 센서(10) 중 서로 다른 하나의 센서의 출력값 및 타겟 시스템(1000)에 대한 제어 입력에 기반하여 하나의 부분 상태 추정값을 생성하도록 구성될 수 있다.
일 예에서, 복수의 부분 상태 추정값 및 최종 상태 추정값은 각각 벡터로 표현되고, 각 부분 상태 추정값을 나타내는 벡터의 차원은 최종 상태 추정값을 나타내는 벡터의 차원보다 더 낮게 부여될 수 있다.
구체적인 생성부(20)의 동작에 대하여는 도 5를 참조하여 단계(S2)에서 후술한다.
일 예에서 복수의 부분 상태 관측기는 복수의 센서(10)와 일대일로 연계될 수 있다. 각 부분 상태 관측기는 복수의 센서(10) 중에서 자신과 연계된 센서의 출력값 및 타겟 시스템(1000)에 대한 제어 입력에 기반하여, 각 부분 상태 관측기의 관측기 상태 함수를 연산함으로써 복수의 부분 상태 추정값 중 하나를 생성할 수 있다.
즉, 각 부분 상태 관측기는 타겟 시스템(1000)의 동역학 상태 방정식에 기반하여 유도한 관측기 상태 함수(gi)에 기반하여 복수의 상태 추정값 중 하나를 생성하도록 설계될 수 있다.
생성부(20)는 다음의 제 1 연산 내지 제 7 연산을 수행함으로써 복수의 부분 상태 관측기를 설계한다.
생성부(20)는, 관측기 상태 함수(gi) 및 복수의 부분 상태 추정값(
Figure pat00014
)을 생성하기 위하여, 타겟 시스템(1000)의 동역학 상태 방정식의 특성 행렬(A) 및 상기 복수의 센서에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
Figure pat00015
) 및 제 2 가관측성 행렬(G)을 생성하는 제 1 연산을 수행할 수 있다.
제 1 연산에 후속하여, 생성부(20)는 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성하는 제 2 연산을 더 수행할 수 있다.
제 2 연산에 후속하여, 생성부(20)는 제 1 선형 변환 행렬(Mi)을 통해 제 1 가관측성 행렬(
Figure pat00016
)을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
Figure pat00017
)을 생성하는 제 3 연산을 더 수행할 수 있다.
제 3 연산에 후속하여 생성부(20)는 제 2 선형 변환 행렬(
Figure pat00018
)의 행렬 블록(
Figure pat00019
)을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
Figure pat00020
)을 통해 행렬 블록(
Figure pat00021
)을 좌표 변경하여 제 4 선형 변환 행렬(
Figure pat00022
)을 생성하는 제 4 연산을 더 수행할 수 있다.
제 5 연산에 후속하여 생성부(20)는 제 3 선형 변환 행렬에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성하는 제 5 연산을 더 수행할 수 있다.
제 5 연산에 후속하여 생성부(20)는 제 6 선형 변환 행렬(Ti) 및 제 6 선형 변환 행렬의 역행렬(
Figure pat00023
)에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성하는 제 6 연산을 더 수행할 수 있다.
제 6 연산에 후속하여 생성부(20)는 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 타겟 시스템(100)의 동역학 상태 방정식을 변환하는 제 7 연산을 더 수행할 수 있다.
부분 상태 관측기 설계를 위한 제 1 연산 내지 제 7 연산에 대하여는 도 5를 참조하여 단계(S1)에서 살펴본다.
시스템 상태 추정 장치(100)는 복수의 부분 상태 추정값에 기반하여 타겟 시스템(1000)의 전체 상태 추정값에 대한 복수의 후보 추정값의 집합을 결정하는 조합부(30)를 포함할 수 있다.
조합부(30)는 복수의 센서(10)에 포함된 센서의 개수에 기반하여 오동작 센서 개수 임계값을 결정하고, 오동작 센서 개수 임계값에 기반하여 복수의 부분 상태 추정값의 조합에 대한 경우의 수를 결정하고, 결정된 경우의 수에 따라 복수의 부분 상태 추정값 중에서 복수의 후보 추정값의 각 후보 추정값을 구성할 부분 상태 추정값을 선택하도록 구성될 수 있다.
구체적인 조합부(30)의 동작에 대하여는 도 5를 참조하여 단계(S3)에서 후술한다.
시스템 상태 추정 장치(100)는 복수의 후보 추정값 중에서 타겟 시스템(1000)의 현재 상태에 대한 전체 상태 추정값을 결정하는 결정부(40)를 포함할 수 있다.
결정부(40)는 각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
Figure pat00024
) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
Figure pat00025
)에 기반하여 최종 상태 추정값(
Figure pat00026
)을 결정할 수 있다.
여기서 제 1 변환 행렬(Ui)은 부분 상태 추정값(
Figure pat00027
)과 타겟 시스템의 실제 상태값(x(t)) 간의 선형 변환에 대한 의사 역행렬에 대응한다. 일 예에서 제 1 변환 행렬(Ui)은 전술한 제 7 선형변환행렬(Ui)과 동일한 행렬일 수 있고, 수학식 9를 참조하여 후술한다.
한편, 결정부(40)는 최종적으로 결정된 전체 상태 추정값에 기반하여 타겟 시스템(1000)에 대한 제어 입력을 재생성할 수 있다.
구체적인 결정부(40)의 동작에 대하여는 도 5를 참조하여 단계(S4)에서 후술한다.
도 5는 실시예에 따른 시스템 상태 추정 방법의 흐름도이다.
실시예에 따른 시스템 상태 추정 방법은 생성부(20)에 포함된 복수의 부분 상태 관측기를 설계하는 단계(S1)를 포함할 수 있다.
단계(S1)은 타겟 시스템(1000)의 동역학 상태 방정식으로부터 복수의 부분 상태 관측기의 관측기 상태 함수를 유도하는 단계를 포함할 수 있다.
일 예에서, 복수의 부분 상태 관측기의 관측기 상태 함수를 유도하는 단계는, 제 1 연산 단계 내지 제 7 연산 단계를 포함할 수 있다.
우선, 항공기(aircraft)의 단기(short-period) 동역학은 수학식 1과 같이 표현된다.
Figure pat00028
이로부터 타겟 시스템(1000)의 동역학 상태 방정식으로 다음의 수학식 2로 표현되는 구조를 가지는 단일 입력 다중 출력 선형 시간 불변 시스템(Single Input Multiple Output Linear Time Invariant System)을 고려한다.
Figure pat00029
Figure pat00030
여기서
Figure pat00031
은 타겟 시스템(1000)의 상태,
Figure pat00032
은 타겟 시스템(1000)에 대한 제어 입력,
Figure pat00033
는 타겟 시스템(1000)에 존재하는 외란,
Figure pat00034
은 복수의 센서(10)(예를 들어 p개)의 출력값,
Figure pat00035
는 센서 공격을 나타낸다.
여기서 행렬 A는 동역학 상태 방정식(수학식 1)의 특성 행렬이고, 행렬 C는 복수의 센서(10)에 대한 출력 행렬을 나타낸다. A, B, E, C는 계수 벡터(coefficient vector)로서, 각 계수 벡터와 곱할 벡터에 맞는 적절한 차원을 가진다.
타겟 시스템(1000)에 배치된 복수의 센서(10)의 각 센서에 대한 부분 상태 관측기(Partial State Unknown Input Observer; Partial UIO)를 설계하기 위하여 수학식 2의 시스템은 다음과 같은 조건을 만족한다고 가정한다.
[조건 1]
Figure pat00036
조건 1은 타겟 시스템(1000)에 외란이 있기 위한 조건이 된다.
우선, 제 1 연산 단계는 타겟 시스템(1000)의 동역학 상태 방정식(수학식 2)의 특성 행렬(A) 및 복수의 센서(10)에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
Figure pat00037
) 및 제 2 가관측성 행렬(G)을 생성할 수 있다.
제 1 연산 단계에서, 제 1 가관측성 행렬(
Figure pat00038
) 및 제 2 가관측성 행렬(G)은 다음의 수학식 3과 같이 정의된다.
Figure pat00039
Figure pat00040
제 2 연산 단계는 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성할 수 있다.
즉, 제 2 가관측성 행렬(G)로부터 행렬
Figure pat00041
를 이끌어 내는데 각각의 행은 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space) 및 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 영 공간(null space)의 직교 기저부(orthonormal bases)에 각각 대응한다.
이로부터 제 1 선형 변환 행렬(Mi)은 수학식 4와 같이 정의한다.
Figure pat00042
제 3 연산 단계는 수학식 5에 나타난 바와 같이 제 1 선형 변환 행렬(Mi)을 통해 제 1 가관측성 행렬(
Figure pat00043
)을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
Figure pat00044
)을 생성할 수 있다.
Figure pat00045
여기서
Figure pat00046
이다.
후속하여, 제 4 연산 단계는 제 2 선형 변환 행렬(
Figure pat00047
)의 행렬 블록(
Figure pat00048
)을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
Figure pat00049
)을 통해 행렬 블록(
Figure pat00050
)을 좌표 변경하여 제 4 선형 변환 행렬(
Figure pat00051
)을 생성할 수 있다.
여기서 행렬 블록(
Figure pat00052
)을 블록 대각으로 만드는 제 3 선형 변환 행렬
Figure pat00053
은 항상 존재하며, 제 4 선형 변환 행렬(
Figure pat00054
)은 다음의 수학식 6과 같다.
Figure pat00055
수학식 6에서
Figure pat00056
는 고윳값(eigenvalue)의 실수부가 음수인 행렬이고,
Figure pat00057
는 고윳값의 실수부가 양수인 행렬이다.
제 5 연산 단계는 제 3 선형 변환 행렬(
Figure pat00058
)에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성할 수 있다.
일 예에서 제 6 선형 변환 행렬(Ti)을 다음의 수학식 7과 같이 정의한다.
Figure pat00059
여기서 제 5 선형 변환 행렬(Ni)은 다음의 수학식 8에 따라 정의된다.
Figure pat00060
제 6 선형 변환 행렬(Ti)은
Figure pat00061
로 나눌 수 있고,
Figure pat00062
는 각각
Figure pat00063
행을 가진다.
이와 유사하게, 제 6 선형 변환 행렬(Ti)의 역행렬(
Figure pat00064
)은
Figure pat00065
로 정의하며,
Figure pat00066
는 각각
Figure pat00067
열을 가진다.
제 6 연산 단계는 제 6 선형 변환 행렬(Ti) 및 상기 제 6 선형 변환 행렬의 역행렬(
Figure pat00068
)에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성할 수 있다.
제 6 선형 변환 행렬(Ti) 및 제 6 선형 변환 행렬의 역행렬(
Figure pat00069
)에 기반하여 수학식 9에 따라 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성한다.
Figure pat00070
제 7 연산 단계는 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 수학식 2의 타겟 시스템(1000)에 대한 동역학 상태 방정식을 변환할 수 있다.
즉, 수학식 9의 제 7 선형 변환 행렬(Ui)을 통해 수학식 2의 A,B,E,ci를 다음과 같이 변환할 수 있다.
Figure pat00071
조건 1 하에서 수학식 9의 행렬을 활용하여 부분 상태 관측기(Partial state UIO)를 다음과 같이 설계할 수 있다.
Figure pat00072
여기서
Figure pat00073
로 관측기 상태(observer state)이고,
Figure pat00074
는 타겟 시스템(1000)의 상태에 대한 추정값이다.
행렬
Figure pat00075
는 수학식 12에서 다음과 같이 설정될 수 있다.
Figure pat00076
수학식 12에서 Fi의 모든 고윳값의 실수부가 음수가 되도록 Ki,1을 설정하며, 이와 같은 파라미터(parameter) 설정은 항상 가능하다(수학적으로 증명 가능).
수학식 2의 타겟 시스템(1000)의 상태를 제 6 선형 변환 행렬(Ti)로 변환한 벡터를
Figure pat00077
라고 정의한다. zi(t)는 타겟 시스템(1000)의 실제 현재 상태 x(t) 보다 차원(dimension)이 더 작으므로 타겟 시스템(1000)의 일부 상태 정보를 포함하게 됨을 알 수 있다.
수학식 5 내지 수학식 12에 따라 부분 상태 관측기(Partial State UIO)를 설계하면, zi(t)와 부분 상태 관측기가 관측기 상태(gi(t))에 기반하여 추정한 상태 추정값(
Figure pat00078
)간의 추정 오차는 다음의 수학식 13과 같이 표현할 수 있다.
Figure pat00079
수학식 13의 해를 구하면,
Figure pat00080
이며, 여기서
Figure pat00081
는 각각
Figure pat00082
의 초기값이다.
i번째 센서에 공격이 들어오지 않는 상황을 고려하면,
Figure pat00083
이고, Fi의 고윳값 실수부는 모두 음수이므로,
Figure pat00084
Figure pat00085
의 차이는 지수 함수에 의하여 시간이 지남에 따라 0에 수렴한다.
따라서, 전술한 수학식에 따른 실시예에 따른 부분 상태 관측기는 외란의 영향이 없는 부분 상태 추정값을 출력할 수 있다.
실시예에 따른 시스템 상태 추정 방법은 생성부(20)에 의해, 타겟 시스템(1000)에 대한 제어 입력 및 제어 입력에 따른 타겟 시스템(1000)의 상태 관측치에 대응하는 타겟 시스템(1000)에 배치된 복수의 센서(10)의 출력값(
Figure pat00086
)에 기반하여 타겟 시스템(1000)의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure pat00087
)을 생성하는 단계(S2), 조합부(30)에 의해, 복수의 부분 상태 추정값에 기반하여 타겟 시스템(1000)의 전체 상태 추정값에 대한 복수의 후보 추정값(
Figure pat00088
))의 집합(
Figure pat00089
)을 결정하는 단계(S3) 및 결정부(40)에 의해 복수의 후보 추정값(
Figure pat00090
) 중에서 타겟 시스템(1000)의 현재 상태에 대한 최종 상태 추정값(
Figure pat00091
)을 결정하는 단계(S4)를 포함할 수 있다.
단계(S2)에서 생성부(20)는, 타겟 시스템(1000)에 대한 제어 입력 및 제어 입력에 따른 타겟 시스템(1000)의 상태 관측치에 대응하는 타겟 시스템(1000)에 배치된 복수의 센서(10)의 출력값(
Figure pat00092
)에 기반하여 타겟 시스템(1000)의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure pat00093
)을 생성할 수 있다.
생성부(20)는 단계(S1)에서 설계된 복수의 부분 상태 관측기를 포함할 수 있다. 일 예에서, 복수의 부분 상태 관측기는 타겟 시스템(1000)에 배치된 복수의 센서(10)와 일대일로 연계될 수 있다. 즉, 생성부(20)는 복수의 센서의 개수만큼의 복수의 부분 상태 관측기를 포함할 수 있다.
단계(S2)에서 생성부(20)는 프로세서(110)에 의해 실행되어, 복수의 센서(10)의 각 센서의 출력값(yi) 및 각 센서와 연계된 부분 상태 관측기의 관측기 상태(gi)에 기반하여, 타겟 시스템(1000)의 각 부분 상태 추정값(
Figure pat00094
)을 결정할 수 있다.
일 예에서 생성부(20)에 의해 생성된 복수의 부분 상태 추정값 및 결정부(40)에 의해 결정된 최종 상태 추정값은 각각 벡터로 표현되고, 각 부분 상태 추정값을 나타내는 벡터의 차원은 상기 최종 상태 추정값을 나타내는 벡터의 차원보다 더 낮다.
예를 들어, 타겟 시스템(1000)의 전체 상태 정보가 n 차원 벡터인 경우, 부분 상태 추정값은 m차원 벡터이고, m은 n 보다 작은 양의 정수일 수 있다.
즉, 부분 상태 추정값은 타겟 시스템(1000)의 전체 상태 정보 중 일부 상태 정보를 포함할 수 있다.
단계(S3)에서 조합부(30)는 단계(S2)에서 생성된 복수의 부분 상태 추정값(
Figure pat00095
)에 기반하여 타겟 시스템(1000)의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
Figure pat00096
)을 결정할 수 있다.
설명을 위하여 수학적 표현을 소개한다. 임의의 행렬
Figure pat00097
에 대하여,
Figure pat00098
으로 정의한다. 또한, 집합
Figure pat00099
의 부분집합
Figure pat00100
이 존재한다. 이 때,
Figure pat00101
는 부분집합
Figure pat00102
에 포함되지 않은 숫자 i로 표현된 Mi를 M에서 제거한 행렬로 정의한다. 또한, 집합
Figure pat00103
의 크기를
Figure pat00104
로 표현한다.
단계(S3)에서 조합부(30)는 전술한 단계(S2)에서 각 부분 상태 관측기로부터 얻은 부분 상태 추정값(
Figure pat00105
)을 조합하여 타겟 시스템(1000)의 실제 현재 상태(x(t))에 대한 복수의 후보 추정값(X(t))의 집합을 생성한다.
Figure pat00106
로 정의하면, 복수의 후보 추정값(X(t))의 집합(
Figure pat00107
)은 다음과 같이 계산할 수 있다.
Figure pat00108
여기서 p와 q는 각각 타겟 시스템(1000)에 배치된 센서의 개수 및 공격 당한 센서의 개수를 나타낸다. 여기서 행렬
Figure pat00109
는 수학식 16의 행렬
Figure pat00110
에서 집합
Figure pat00111
에 들어가는 인덱스에 해당하는 Ui들만 남기고 나머지는 제거한 행렬이다.
이와 같은 기법은 q의 개수가 p의 절반 미만인 것을 가정한다. 후보 집합
Figure pat00112
에는 센서 고장/공격의 영향이 없는 원소(X(t))가 반드시 1개 존재하게 된다.
일 예에서, 단계(S3)에서 조합부(30)는 복수의 센서(10)의 개수에 기반하여 오동작 센서 개수 임계값을 결정하고 결정된 오동작 센서 개수 임계값에 기반하여 복수의 부분 상태 추정값의 조합에 대한 경우의 수를 결정할 수 있다.
예를 들어, 센서가 4개(p=4)인 경우, 조합부(30)는 오동작 센서 개수 임계값을 1개(q=1)로 결정할 수 있다. 조합부(30)는 전체 센서 4개 중에서 순서없이 3개(즉, 전체 센서 개수에서 오동작 센서 개수 임계값을 뺀 값; p-q)를 선택하는 경우의 수(combination)에 따라 복수의 부분 상태 추정값의 조합에 대한 경우의 수를 4로 결정할 수 있다.
조합부(30)는 결정된 경우의 수에 따라 복수의 부분 상태 추정값 중에서 복수의 후보 추정값의 각 후보 추정값을 구성할 부분 상태 추정값을 선택할 수 있다.
조합부(30)는 전체 4개의 센서 중에서 순서없이 3개의 센서를 선택하는 경우의 수에 따라 각 후보 추정값을 구성할 부분 상태 추정값을 선택할 수 있다.
예를 들어, 조합부(30)는 4개의 부분 상태 추정값 중에서 순서없이 3개를 선택하는 방법으로 3개의 부분 상태 추정값의 조합을 결정할 수 있다.
즉, 4개의 부분 상태 추정값을 Z1, Z2, Z3, Z4라고 하면, 제 1 조합(Z1, Z2, Z3), 제 2 조합(Z1, Z2, Z4), 제 3 조합(Z1, Z3, Z4) 및 제 4 조합(Z2, Z3, Z4)을 결정할 수 있다.
단계(S4)에서 결정부(40)는 복수의 후보 추정값(X(t)) 중에서 타겟 시스템(1000)의 현재 상태에 대한 최종 상태 추정값(
Figure pat00113
)을 결정할 수 있다.
이를 위하여 결정부(40)는 단계(S4)에서 단계(S3)에서 결정된 복수의 후보 추정값(X(t))의 각 후보 추정값 중 추정오차가 최소인 후보 추정값을 최종 상태 추정값(
Figure pat00114
)으로 선택할 수 있다.
단계(S4)는 복수의 후보 추정값 중에서 타겟 시스템(1000)의 실제 상태를 나타내는 후보 추정값을 골라내는 과정이다. 이는 도 2를 참조하여 유한 공간 l2 최적화 과정(Finite Space l2 optimization process)에 대응한다.
최적화 과정은 다음과 같은 수학식 18로 표현할 수 있다.
Figure pat00115
여기서
Figure pat00116
는 시스템 파라미터에 의해 설정된 임계값(threshold)이며 다음의 수학식 19에 따라 설정된다.
Figure pat00117
행렬
Figure pat00118
(수학식 17 아래 설명)는 집합 람다(
Figure pat00119
)에 따라 다른 행렬이 된다. 여기서 다음의 조건 2를 정의한다.
[조건 2]
부분 집합 람다(
Figure pat00120
) 중 원소의 개수가 p-2q보다 큰 모든 경우에 대해 상응하는
Figure pat00121
가 full column rank를 갖는다.
조건 2를 만족하는 경우, 즉 부분 집합 람다(
Figure pat00122
)중 원소의 개수가 p-2q보다 큰 모든 부분 집합 람다에 대해 상응하는
Figure pat00123
가 full column rank이면, 수학식 18의 최적화 과정에서 선정된 후보 상태 (
Figure pat00124
)는 센서 공격의 영향을 받지 않은 것이 된다.
전체 p개의 센서 중에서 q개의 센서에 공격이 들어왔다고 가정하면, 복수의 부분 상태 추정값(
Figure pat00125
) 중 p-q개는
Figure pat00126
에 수렴하는 값이고, q개는
Figure pat00127
에 수렴하지 않을 수 있는 값이다.
따라서 주어진 후보 추정값(
Figure pat00128
)이 타겟 시스템(1000)의 실제 상태(
Figure pat00129
)를 나타내는 후보라면, 최소 p-q개의 부분 상태 추정값(
Figure pat00130
)에 대해
Figure pat00131
는 시간이 지남에 따라 0으로 수렴한다. 이와 같은 후보 추정값에 대하여 수학식 18의 부등식을 만족하는 최대 q개가 고장/공격 하에 있는 센서가 된다.
실제 상태와 다른 후보 추정값(
Figure pat00132
)은 모든 부분 상태 추정값(
Figure pat00133
)에 대해서
Figure pat00134
가 0으로 수렴하지 않을 수도 있다. 실제와 다른 후보 추정값에 대해서 0이 될 수 있는 이유는 행렬 Ui가 역행렬이 있는 정방행렬이 아니기 때문이다. 그러나 조건 2가 성립하면 수학식 18의 최적화의 해는 항상 타겟 시스템(1000)의 실제 상태를 나타내게 된다. 따라서 수학식 18의 결과는 센서 공격과 외란의 영향이 포함되지 않은 후보 추정값
Figure pat00135
이 된다.
즉, 단계(S4)에서 결정부(40)는 최종 상태 추정값(
Figure pat00136
)을 결정하기 위하여, 각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
Figure pat00137
) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
Figure pat00138
)에 기반하여 최종 상태 추정값(
Figure pat00139
)을 결정하게 된다(수학식 18 참조).
여기서 제 1 변환 행렬(Ui)은 부분 상태 추정값(
Figure pat00140
)과 타겟 시스템의 실제 상태값(x(t)) 간의 선형 변환에 대한 의사 역행렬에 대응한다. 일 예에서 제 1 변환 행렬(Ui)은 전술한 수학식 9를 참조하여 제 7 선형변환행렬(Ui)과 동일한 행렬일 수 있다.
한편, 센서 공격과 외란의 영향이 포함되지 않은 후보 추정값 X(t)과 실제 상태 간의 추정오차를 보이기 위해 다음을 정의한다.
Figure pat00141
이에 따라 추정 오차는 다음의 수학식과 같이 전개된다.
Figure pat00142
여기서 Fi의 고윳값 실수부는 모두 음수이므로
Figure pat00143
을 만족하는
Figure pat00144
를 항상 찾을 수 있다.
이를 통해 수학식 21을 다시 쓰면, 수학식 22가 된다.
Figure pat00145
최종적으로
Figure pat00146
,
Figure pat00147
Figure pat00148
를 설정하여 다음과 같은 추정 오차를 유도할 수 있다.
Figure pat00149
수학식 23은 지수함수에 의하여 시간이 지남에 따라 0으로 수렴하게 된다.
따라서, 실시예에 따른 시스템 상태 추정 장치(100)는 센서 고장/공격 및 외란에 상관없이 타겟 시스템(1000)의 실제 상태에 수렴하는 상태 추정값을 제공할 수 있다.
한편, 결정부(40)는 최종 상태 추정값에 기반하여 타겟 시스템(1000)에 대한 제어 입력을 재생성할 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, SSD(Solid State Drive), SDD(Silicon Disk Drive), 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
이상 설명된 본 발명의 실시예에 대한 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1000: 타겟 시스템
100: 시스템 상태 추정 장치
110: 프로세서
120: 메모리

Claims (17)

  1. 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
    Figure pat00150
    )에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
    Figure pat00151
    )을 생성하는 생성부;
    상기 복수의 부분 상태 추정값에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
    Figure pat00152
    )을 결정하는 조합부; 및
    상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
    Figure pat00153
    )을 결정하는 결정부
    를 포함하는
    시스템 상태 추정 장치.
  2. 제 1 항에 있어서,
    상기 생성부는 복수의 부분 상태 관측기(Partial state Unknown Input Observer; Partial UIO)를 포함하고,
    상기 복수의 부분 상태 관측기의 각 부분 상태 관측기는 상기 복수의 센서 중 서로 다른 하나의 센서의 출력값 및 상기 제어 입력에 기반하여 하나의 부분 상태 추정값(
    Figure pat00154
    )을 생성하도록 구성되는,
    시스템 상태 추정 장치.
  3. 제 2 항에 있어서,
    각 부분 상태 관측기는 상기 타겟 시스템의 동역학 상태 방정식에 기반하여 유도한 관측기 상태(gi)에 기반하여 상기 복수의 부분 상태 추정값(
    Figure pat00155
    ) 중 하나를 생성하도록 구성되는,
    시스템 상태 추정 장치.
  4. 제 3 항에 있어서,
    상기 생성부는,
    상기 관측기 상태(gi) 및 상기 복수의 부분 상태 추정값(
    Figure pat00156
    )을 생성하기 위하여,
    상기 동역학 상태 방정식의 특성 행렬(A) 및 상기 복수의 센서에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
    Figure pat00157
    ) 및 제 2 가관측성 행렬(G)을 생성하는 제 1 연산,
    상기 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 상기 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성하는 제 2 연산,
    상기 제 1 선형 변환 행렬(Mi)을 통해 상기 제 1 가관측성 행렬(
    Figure pat00158
    )을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
    Figure pat00159
    )을 생성하는 제 3 연산,
    상기 제 2 선형 변환 행렬(
    Figure pat00160
    )의 행렬 블록(
    Figure pat00161
    )을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
    Figure pat00162
    )을 통해 상기 행렬 블록(
    Figure pat00163
    )을 좌표 변경하여 제 4 선형 변환 행렬(
    Figure pat00164
    )을 생성하는 제 4 연산,
    상기 제 3 선형 변환 행렬에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 상기 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성하는 제 5 연산,
    상기 제 6 선형 변환 행렬(Ti) 및 상기 제 6 선형 변환 행렬의 역행렬(
    Figure pat00165
    )에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성하는 제 6 연산, 및
    상기 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 상기 동역학 상태 방정식을 변환하는 제 7 연산
    을 수행하도록 구성되는,
    시스템 상태 추정 장치.
  5. 제 1 항에 있어서,
    상기 복수의 부분 상태 추정값(
    Figure pat00166
    ) 및 상기 최종 상태 추정값(
    Figure pat00167
    )은 각각 벡터로 표현되고,
    각 부분 상태 추정값(
    Figure pat00168
    )을 나타내는 벡터의 차원은 상기 최종 상태 추정값(
    Figure pat00169
    )을 나타내는 벡터의 차원보다 더 낮은,
    시스템 상태 추정 장치.
  6. 제 1 항에 있어서,
    상기 조합부는,
    상기 복수의 센서에 포함된 센서의 개수에 기반하여 상기 오동작 센서 개수 임계값을 결정하고,
    상기 오동작 센서 개수 임계값에 기반하여 상기 복수의 부분 상태 추정값(
    Figure pat00170
    )의 조합에 대한 경우의 수를 결정하고,
    상기 경우의 수에 따라 상기 복수의 부분 상태 추정값(
    Figure pat00171
    ) 중에서 상기 복수의 후보 추정값(X(t))의 각 후보 추정값을 구성할 부분 상태 추정값을 선택하도록 구성되는,
    시스템 상태 추정 장치.
  7. 제 1 항에 있어서,
    상기 결정부는
    각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
    Figure pat00172
    ) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
    Figure pat00173
    )에 기반하여 상기 최종 상태 추정값(
    Figure pat00174
    )을 결정하도록 구성되는,
    시스템 상태 추정 장치.
  8. 제 7 항에 있어서,
    상기 제 1 변환 행렬(Ui)은 상기 부분 상태 추정값(
    Figure pat00175
    )과 상기 타겟 시스템의 실제 상태값(x(t)) 간의 선형 변환에 대한 의사 역행렬에 대응하는,
    시스템 상태 추정 장치.
  9. 생성부에 의해, 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
    Figure pat00176
    )에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
    Figure pat00177
    )을 생성하는 단계;
    조합부에 의해, 상기 복수의 부분 상태 추정값(
    Figure pat00178
    )에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
    Figure pat00179
    )을 결정하는 단계; 및
    결정부에 의해 상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
    Figure pat00180
    )을 결정하는 단계
    를 포함하는,
    시스템 상태 추정 방법.
  10. 제 9 항에 있어서,
    상기 생성부는 복수의 부분 상태 관측기를 포함하고,
    상기 시스템 상태 추정 방법은,
    상기 복수의 부분 상태 관측기를 설계하는 단계
    를 더 포함하는,
    시스템 상태 추정 방법.
  11. 제 10 항에 있어서,
    상기 설계하는 단계는 상기 타겟 시스템의 동역학 상태 방정식으로부터 상기 복수의 부분 상태 관측기의 관측기 상태(gi)를 유도하는 단계
    를 포함하는,
    시스템 상태 추정 방법.
  12. 제 11 항에 있어서,
    상기 유도하는 단계는,
    상기 동역학 상태 방정식의 특성 행렬(A) 및 상기 복수의 센서에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
    Figure pat00181
    ) 및 제 2 가관측성 행렬(G)을 생성하는 제 1 연산 단계,
    상기 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 상기 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성하는 제 2 연산 단계,
    상기 제 1 선형 변환 행렬(Mi)을 통해 상기 제 1 가관측성 행렬(
    Figure pat00182
    )을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
    Figure pat00183
    )을 생성하는 제 3 연산 단계,
    상기 제 2 선형 변환 행렬(
    Figure pat00184
    )의 행렬 블록(
    Figure pat00185
    )을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
    Figure pat00186
    )을 통해 상기 행렬 블록(
    Figure pat00187
    )을 좌표 변경하여 제 4 선형 변환 행렬(
    Figure pat00188
    )을 생성하는 제 4 연산 단계,
    상기 제 3 선형 변환 행렬에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 상기 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성하는 제 5 연산 단계,
    상기 제 6 선형 변환 행렬(Ti) 및 상기 제 6 선형 변환 행렬의 역행렬(
    Figure pat00189
    )에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성하는 제 6 연산 단계, 및
    상기 제 7 선형 변환 행렬Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 상기 동역학 상태 방정식을 변환하는 제 7 연산 단계
    을 포함하는,
    시스템 상태 추정 방법.
  13. 제 10 항에 있어서,
    상기 복수의 부분 상태 관측기는 상기 복수의 센서와 일대일로 연계되고,
    상기 복수의 부분 상태 추정값(
    Figure pat00190
    )을 생성하는 단계는,
    각 센서의 출력값(yi) 및 각 센서와 연계된 부분 상태 관측기의 관측기 상태(gi)에 기반하여, 각 부분 상태 추정값(
    Figure pat00191
    )을 결정하는 단계를 포함하는,
    시스템 상태 추정 방법.
  14. 제 9 항에 있어서,
    상기 복수의 부분 상태 추정값(
    Figure pat00192
    ) 및 상기 최종 상태 추정값(
    Figure pat00193
    )은 각각 벡터로 표현되고,
    각 부분 상태 추정값(
    Figure pat00194
    )을 나타내는 벡터의 차원은 상기 최종 상태 추정값(
    Figure pat00195
    )을 나타내는 벡터의 차원보다 더 낮은,
    시스템 상태 추정 방법.
  15. 제 9 항에 있어서,
    상기 복수의 후보 추정값(X(t))의 집합(
    Figure pat00196
    )을 결정하는 단계는,
    상기 복수의 센서의 개수에 기반하여 상기 오동작 센서 개수 임계값을 결정하는 단계;
    오동작 센서 개수 임계값에 기반하여 상기 복수의 부분 상태 추정값(
    Figure pat00197
    )의 조합에 대한 경우의 수를 결정하는 단계; 및
    상기 경우의 수에 따라 상기 복수의 부분 상태 추정값(
    Figure pat00198
    ) 중에서 상기 복수의 후보 추정값(X(t))의 각 후보 추정값을 구성할 부분 상태 추정값을 선택하는 단계
    를 포함하는,
    시스템 상태 추정 방법.
  16. 제 9 항에 있어서,
    상기 최종 상태 추정값(
    Figure pat00199
    )을 결정하는 단계는,
    각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
    Figure pat00200
    ) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
    Figure pat00201
    )에 기반하여 상기 최종 상태 추정값(
    Figure pat00202
    )을 결정하는 단계
    를 포함하는
    시스템 상태 추정 방법.
  17. 제 16 항에 있어서,
    상기 제 1 변환 행렬(Ui)은 상기 부분 상태 추정값(
    Figure pat00203
    )과 상기 타겟 시스템의 실제 상태값(x(t)) 간의 선형 변환에 대한 의사 역행렬에 대응하는,
    시스템 상태 추정 방법.
KR1020210050589A 2021-04-19 2021-04-19 시스템 상태 추정 장치 및 방법 KR102543488B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210050589A KR102543488B1 (ko) 2021-04-19 2021-04-19 시스템 상태 추정 장치 및 방법
US17/555,705 US20220353277A1 (en) 2021-04-19 2021-12-20 Apparatus and method for estimating system state

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210050589A KR102543488B1 (ko) 2021-04-19 2021-04-19 시스템 상태 추정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220144206A true KR20220144206A (ko) 2022-10-26
KR102543488B1 KR102543488B1 (ko) 2023-06-13

Family

ID=83785318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050589A KR102543488B1 (ko) 2021-04-19 2021-04-19 시스템 상태 추정 장치 및 방법

Country Status (2)

Country Link
US (1) US20220353277A1 (ko)
KR (1) KR102543488B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040033315A (ko) * 2001-09-13 2004-04-21 어드밴스드 마이크로 디바이시즈, 인코포레이티드 제조 시스템에 대한 상태 평가 및 스케쥴링
KR20180125277A (ko) * 2017-05-15 2018-11-23 두산중공업 주식회사 이상 신호 복원 시스템 및 방법
KR20190059024A (ko) 2017-11-22 2019-05-30 재단법인대구경북과학기술원 자율복원 상태추정 시스템 및 방법
JP2021026755A (ja) * 2019-08-02 2021-02-22 株式会社日立製作所 産業用コントローラのデータ完全性を保証するためのaiの使用

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018229898A1 (ja) * 2017-06-14 2018-12-20 三菱電機株式会社 状態推定装置
US11119462B2 (en) * 2019-10-08 2021-09-14 Global Energy Interconnection Research Institute (Gelrina) Systems and methods for hybrid dynamic state estimation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040033315A (ko) * 2001-09-13 2004-04-21 어드밴스드 마이크로 디바이시즈, 인코포레이티드 제조 시스템에 대한 상태 평가 및 스케쥴링
KR20180125277A (ko) * 2017-05-15 2018-11-23 두산중공업 주식회사 이상 신호 복원 시스템 및 방법
KR20190059024A (ko) 2017-11-22 2019-05-30 재단법인대구경북과학기술원 자율복원 상태추정 시스템 및 방법
JP2021026755A (ja) * 2019-08-02 2021-02-22 株式会社日立製作所 産業用コントローラのデータ完全性を保証するためのaiの使用

Also Published As

Publication number Publication date
KR102543488B1 (ko) 2023-06-13
US20220353277A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
Han et al. Reduced-order observer based fault estimation and fault-tolerant control for switched stochastic systems with actuator and sensor faults
Alwi et al. Fault reconstruction using a LPV sliding mode observer for a class of LPV systems
Tohidi et al. Fault tolerant control design using adaptive control allocation based on the pseudo inverse along the null space
US20200192985A1 (en) Method and apparatus with machine translation
US10209685B2 (en) Method and apparatus for preconditioned model predictive control
Demetriou Using unknown input observers for robust adaptive fault detection in vector second-order systems
CN110647992A (zh) 卷积神经网络的训练方法、图像识别方法及其对应的装置
Bai et al. Multi-innovation gradient iterative locally weighted learning identification for a nonlinear ship maneuvering system
Witczak et al. Unknown input observers and filters
Elleuch et al. State and faults estimation based on proportional integral sliding mode observer for uncertain Takagi–Sugeno fuzzy systems and its application to a turbo-reactor
CN113841159A (zh) 由电子装置在神经网络中的特定层执行卷积运算的方法及其电子装置
Lungu et al. Design of full‐order observers for systems with unknown inputs by using the eigenstructure assignment
Abdo et al. Design of robust fault detection filter for hybrid switched systems
KR102543488B1 (ko) 시스템 상태 추정 장치 및 방법
JP7265965B2 (ja) 機械学習装置および機械学習方法
WO2018198267A1 (ja) 因果関係学習方法、プログラム、装置および異常分析システム
Witczak et al. Fault tolerant-control: Solutions and challenges
Zhirabok et al. Robust virtual sensors design for linear and nonlinear systems under external disturbances
KR20190059024A (ko) 자율복원 상태추정 시스템 및 방법
Ikonomopoulos et al. Wavelet decomposition and radial basis function networks for system monitoring
CN113821471A (zh) 神经网络的处理方法和电子装置
KR20220096434A (ko) 시뮬레이션을 이용한 강화 학습 방법 및 장치
Luzar et al. Neural-network based robust predictive fault-tolerant control for multi-tank system
CN114586042A (zh) 神经网络执行方法及系统
Krokavec et al. On Some Ways to Implement State–Multiplicative Fault Detection in Discrete–Time Linear Systems

Legal Events

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