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

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

Info

Publication number
KR102543488B1
KR102543488B1 KR1020210050589A KR20210050589A KR102543488B1 KR 102543488 B1 KR102543488 B1 KR 102543488B1 KR 1020210050589 A KR1020210050589 A KR 1020210050589A KR 20210050589 A KR20210050589 A KR 20210050589A KR 102543488 B1 KR102543488 B1 KR 102543488B1
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
KR20220144206A (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/1425Traffic logging, e.g. anomaly detection
    • 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
    • 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

Abstract

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

Description

시스템 상태 추정 장치 및 방법{APPARATUS AND METHOD FOR SYSTEM STATE ESTIMATION}
본 발명은 시스템 상태 추정 장치 및 방법에 관한 것으로, 외란에 강인한 자율 복원 시스템 상태 추정(Resilient State Estimation; RSE) 장치 및 방법에 관한 것이다.
이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.
사이버 물리 시스템(Cyber Physical System; CPS)은 물리 세계와 사이버 세계의 융합 기술 연구 분야로서 센서, 액추에이터 및 제어기 등이 네트워크로 연결되는 물리 시스템의 동작을 모델링하고 상호작용을 연구한다.
한편 네트워크를 통한 센서 공격으로부터 시스템을 방어하고 외부 공격으로 인한 교란이 발생하여도 시스템의 목적을 최대한 달성할 수 있는 제어 시스템 기술이 필요하다.
이를 위하여 악의를 가진 외부 공격으로부터 복원성(Resiliency)을 갖는 제어 시스템의 설계가 필요하다.
공개특허공보 제10-2019-0059024호(2019.05.30.)
본 발명의 일 과제는, 외란과 상관없이 시스템의 상태를 부분적으로 추정할 수 있는 부분 상태 관측기의 설계 기법을 제공하는 것이다.
본 발명의 일 과제는 부분 상태 관측기를 이용하여 전체 시스템 상태를 추정하는 시스템 상태 추정 장치 및 방법을 제공하는 것이다.
본 발명의 일 과제는, 부분 상태 관측기에서 출력된 부분 상태 정보를 조합하여 센서 공격/고장의 영향을 제거하고 시스템의 실제 상태를 추정하는 시스템 상태 추정 장치 및 방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시예에 따른 시스템 상태 추정 장치는, 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
Figure 112021045501169-pat00001
)에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure 112021045501169-pat00002
)을 생성하는 생성부, 상기 복수의 부분 상태 추정값에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
Figure 112021045501169-pat00003
)을 결정하는 조합부 및 상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
Figure 112021045501169-pat00004
)을 결정하는 결정부를 포함할 수 있다.
본 발명의 일 실시예에 따른 시스템 상태 추정 방법은, 생성부에 의해, 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
Figure 112021045501169-pat00005
)에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure 112021045501169-pat00006
)을 생성하는 단계, 조합부에 의해, 상기 복수의 부분 상태 추정값에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
Figure 112021045501169-pat00007
)을 결정하는 단계 및 결정부에 의해 상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
Figure 112021045501169-pat00008
)을 결정하는 단계를 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 및 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면 부분 상태 관측기의 도입에 의해 각 센서 출력으로부터 외란의 영향이 없는 추정값을 얻을 수 있다.
본 발명의 실시예에 따르면 외란과 센서 고장/공격을 제거하는 구조에서 부분 상태 관측기를 활용함으로써 상태 추정 기법의 사용 조건이 완화되어 더 넓은 범위의 시스템에 적용 가능하다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 실시예에 따른 시스템 상태 추정 장치의 동작 환경을 개략적으로 보여주는 도면이다.
도 2는 실시예에 따른 시스템 상태 추정 장치의 구성을 개략적으로 설명하기 위한 도면이다.
도 3은 실시예에 따른 시스템 상태 추정 장치의 블록도이다.
도 4는 실시예에 따른 시스템 상태 추정 장치의 기능 블록도이다.
도 5는 실시예에 따른 시스템 상태 추정 방법의 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시예들에 한정되지 않는다. 이하 실시예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.
이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 실시예에 따른 시스템 상태 추정 장치의 동작 환경을 개략적으로 보여주는 도면이다.
실시예에 따른 시스템 상태 추정 장치(100)는 타겟 시스템(1000)의 상태를 실시간으로 추정한다.
타겟 시스템(1000)은 제어 입력(
Figure 112021045501169-pat00009
)에 따라 일련의 작업을 수행하는 물리적 시스템을 의미한다. 예를 들어 타겟 시스템(1000)은 발전소(plant), 스마트 팩토리, 스마트 팜 등과 같은 자동화된 제어 시스템에 의해 작동하는 설비를 갖는 다양한 물리적 시스템을 포함한다.
타겟 시스템(1000)에는 다양한 센서가 배치되어 타겟 시스템(1000)의 동작 상태를 모니터링할 수 있다. 여기서 센서는 위치 센서, 온도 센서, 이미지 센서, 속도 센서, 습도 센서, 압력 센서, 모션 센서 등의 다양한 물리량을 감지할 수 있는 센서를 포함할 수 있다.
타겟 시스템(1000)은 외란의 영향을 받을 수 있다. 여기서 외란은 자동제어계의 상태를 바꾸려 하는 외적 작용/외부 요인에 의한 신호 교란을 의미한다. 외란은 타겟 시스템(1000)이 정상적인 상태에 있다면 만들어내지 않을 제어 신호를 만들어 내도록 하는 다양한 유인을 총칭한다.
또한, 타겟 시스템(1000)의 센서는 기계적인 고장 및/또는 외부로부터의 공격에 의하여 부분적으로 또는 전적으로 정상 작동하지 않을 수 있다. 이와 같은 센서의 오동작은 해당 센서의 출력값에 반영되어 타겟 시스템(1000)의 실제 현재 상태와는 상이한 센서 출력값을 유발할 수 있다.
시스템 상태 추정 장치(100)는 타겟 시스템(1000)에 대한 제어 입력(
Figure 112021045501169-pat00010
)과 타겟 시스템(1000)에 배치된 센서에서 감지한 센서값, 즉 타겟 시스템(1000)의 상태와 관련된 관측치에 해당하는 센서의 출력값(
Figure 112021045501169-pat00011
)을 입력 받아서 타겟 시스템(1000)의 현재 상태에 대한 추정값(
Figure 112021045501169-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 112021045501169-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 112021045501169-pat00014
)을 생성하기 위하여, 타겟 시스템(1000)의 동역학 상태 방정식의 특성 행렬(A) 및 상기 복수의 센서에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
Figure 112021045501169-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 112021045501169-pat00016
)을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
Figure 112021045501169-pat00017
)을 생성하는 제 3 연산을 더 수행할 수 있다.
제 3 연산에 후속하여 생성부(20)는 제 2 선형 변환 행렬(
Figure 112021045501169-pat00018
)의 행렬 블록(
Figure 112021045501169-pat00019
)을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
Figure 112021045501169-pat00020
)을 통해 행렬 블록(
Figure 112021045501169-pat00021
)을 좌표 변경하여 제 4 선형 변환 행렬(
Figure 112021045501169-pat00022
)을 생성하는 제 4 연산을 더 수행할 수 있다.
제 5 연산에 후속하여 생성부(20)는 제 3 선형 변환 행렬에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성하는 제 5 연산을 더 수행할 수 있다.
제 5 연산에 후속하여 생성부(20)는 제 6 선형 변환 행렬(Ti) 및 제 6 선형 변환 행렬의 역행렬(
Figure 112021045501169-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 112021045501169-pat00024
) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
Figure 112021045501169-pat00025
)에 기반하여 최종 상태 추정값(
Figure 112021045501169-pat00026
)을 결정할 수 있다.
여기서 제 1 변환 행렬(Ui)은 부분 상태 추정값(
Figure 112021045501169-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 112021045501169-pat00028
이로부터 타겟 시스템(1000)의 동역학 상태 방정식으로 다음의 수학식 2로 표현되는 구조를 가지는 단일 입력 다중 출력 선형 시간 불변 시스템(Single Input Multiple Output Linear Time Invariant System)을 고려한다.
Figure 112021045501169-pat00029
Figure 112021045501169-pat00030
여기서
Figure 112021045501169-pat00031
은 타겟 시스템(1000)의 상태,
Figure 112021045501169-pat00032
은 타겟 시스템(1000)에 대한 제어 입력,
Figure 112021045501169-pat00033
는 타겟 시스템(1000)에 존재하는 외란,
Figure 112021045501169-pat00034
은 복수의 센서(10)(예를 들어 p개)의 출력값,
Figure 112021045501169-pat00035
는 센서 공격을 나타낸다.
여기서 행렬 A는 동역학 상태 방정식(수학식 1)의 특성 행렬이고, 행렬 C는 복수의 센서(10)에 대한 출력 행렬을 나타낸다. A, B, E, C는 계수 벡터(coefficient vector)로서, 각 계수 벡터와 곱할 벡터에 맞는 적절한 차원을 가진다.
타겟 시스템(1000)에 배치된 복수의 센서(10)의 각 센서에 대한 부분 상태 관측기(Partial State Unknown Input Observer; Partial UIO)를 설계하기 위하여 수학식 2의 시스템은 다음과 같은 조건을 만족한다고 가정한다.
[조건 1]
Figure 112021045501169-pat00036
조건 1은 타겟 시스템(1000)에 외란이 있기 위한 조건이 된다.
우선, 제 1 연산 단계는 타겟 시스템(1000)의 동역학 상태 방정식(수학식 2)의 특성 행렬(A) 및 복수의 센서(10)에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
Figure 112021045501169-pat00037
) 및 제 2 가관측성 행렬(G)을 생성할 수 있다.
제 1 연산 단계에서, 제 1 가관측성 행렬(
Figure 112021045501169-pat00038
) 및 제 2 가관측성 행렬(G)은 다음의 수학식 3과 같이 정의된다.
Figure 112021045501169-pat00039
Figure 112021045501169-pat00040
제 2 연산 단계는 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성할 수 있다.
즉, 제 2 가관측성 행렬(G)로부터 행렬
Figure 112021045501169-pat00041
를 이끌어 내는데 각각의 행은 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space) 및 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 영 공간(null space)의 직교 기저부(orthonormal bases)에 각각 대응한다.
이로부터 제 1 선형 변환 행렬(Mi)은 수학식 4와 같이 정의한다.
Figure 112021045501169-pat00042
제 3 연산 단계는 수학식 5에 나타난 바와 같이 제 1 선형 변환 행렬(Mi)을 통해 제 1 가관측성 행렬(
Figure 112021045501169-pat00043
)을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
Figure 112021045501169-pat00044
)을 생성할 수 있다.
Figure 112021045501169-pat00045
여기서
Figure 112021045501169-pat00046
이다.
후속하여, 제 4 연산 단계는 제 2 선형 변환 행렬(
Figure 112021045501169-pat00047
)의 행렬 블록(
Figure 112021045501169-pat00048
)을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
Figure 112021045501169-pat00049
)을 통해 행렬 블록(
Figure 112021045501169-pat00050
)을 좌표 변경하여 제 4 선형 변환 행렬(
Figure 112021045501169-pat00051
)을 생성할 수 있다.
여기서 행렬 블록(
Figure 112021045501169-pat00052
)을 블록 대각으로 만드는 제 3 선형 변환 행렬
Figure 112021045501169-pat00053
은 항상 존재하며, 제 4 선형 변환 행렬(
Figure 112021045501169-pat00054
)은 다음의 수학식 6과 같다.
Figure 112021045501169-pat00055
수학식 6에서
Figure 112021045501169-pat00056
는 고윳값(eigenvalue)의 실수부가 음수인 행렬이고,
Figure 112021045501169-pat00057
는 고윳값의 실수부가 양수인 행렬이다.
제 5 연산 단계는 제 3 선형 변환 행렬(
Figure 112021045501169-pat00058
)에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성할 수 있다.
일 예에서 제 6 선형 변환 행렬(Ti)을 다음의 수학식 7과 같이 정의한다.
Figure 112021045501169-pat00059
여기서 제 5 선형 변환 행렬(Ni)은 다음의 수학식 8에 따라 정의된다.
Figure 112021045501169-pat00060
제 6 선형 변환 행렬(Ti)은
Figure 112021045501169-pat00061
로 나눌 수 있고,
Figure 112021045501169-pat00062
는 각각
Figure 112021045501169-pat00063
행을 가진다.
이와 유사하게, 제 6 선형 변환 행렬(Ti)의 역행렬(
Figure 112021045501169-pat00064
)은
Figure 112021045501169-pat00065
로 정의하며,
Figure 112021045501169-pat00066
는 각각
Figure 112021045501169-pat00067
열을 가진다.
제 6 연산 단계는 제 6 선형 변환 행렬(Ti) 및 상기 제 6 선형 변환 행렬의 역행렬(
Figure 112021045501169-pat00068
)에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성할 수 있다.
제 6 선형 변환 행렬(Ti) 및 제 6 선형 변환 행렬의 역행렬(
Figure 112021045501169-pat00069
)에 기반하여 수학식 9에 따라 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성한다.
Figure 112021045501169-pat00070
제 7 연산 단계는 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 수학식 2의 타겟 시스템(1000)에 대한 동역학 상태 방정식을 변환할 수 있다.
즉, 수학식 9의 제 7 선형 변환 행렬(Ui)을 통해 수학식 2의 A,B,E,ci를 다음과 같이 변환할 수 있다.
Figure 112021045501169-pat00071
조건 1 하에서 수학식 9의 행렬을 활용하여 부분 상태 관측기(Partial state UIO)를 다음과 같이 설계할 수 있다.
Figure 112021045501169-pat00072
여기서
Figure 112021045501169-pat00073
로 관측기 상태(observer state)이고,
Figure 112021045501169-pat00074
는 타겟 시스템(1000)의 상태에 대한 추정값이다.
행렬
Figure 112021045501169-pat00075
는 수학식 12에서 다음과 같이 설정될 수 있다.
Figure 112021045501169-pat00076
수학식 12에서 Fi의 모든 고윳값의 실수부가 음수가 되도록 Ki,1을 설정하며, 이와 같은 파라미터(parameter) 설정은 항상 가능하다(수학적으로 증명 가능).
수학식 2의 타겟 시스템(1000)의 상태를 제 6 선형 변환 행렬(Ti)로 변환한 벡터를
Figure 112021045501169-pat00077
라고 정의한다. zi(t)는 타겟 시스템(1000)의 실제 현재 상태 x(t) 보다 차원(dimension)이 더 작으므로 타겟 시스템(1000)의 일부 상태 정보를 포함하게 됨을 알 수 있다.
수학식 5 내지 수학식 12에 따라 부분 상태 관측기(Partial State UIO)를 설계하면, zi(t)와 부분 상태 관측기가 관측기 상태(gi(t))에 기반하여 추정한 상태 추정값(
Figure 112021045501169-pat00078
)간의 추정 오차는 다음의 수학식 13과 같이 표현할 수 있다.
Figure 112021045501169-pat00079
수학식 13의 해를 구하면,
Figure 112021045501169-pat00080
이며, 여기서
Figure 112021045501169-pat00081
는 각각
Figure 112021045501169-pat00082
의 초기값이다.
i번째 센서에 공격이 들어오지 않는 상황을 고려하면,
Figure 112021045501169-pat00083
이고, Fi의 고윳값 실수부는 모두 음수이므로,
Figure 112021045501169-pat00084
Figure 112021045501169-pat00085
의 차이는 지수 함수에 의하여 시간이 지남에 따라 0에 수렴한다.
따라서, 전술한 수학식에 따른 실시예에 따른 부분 상태 관측기는 외란의 영향이 없는 부분 상태 추정값을 출력할 수 있다.
실시예에 따른 시스템 상태 추정 방법은 생성부(20)에 의해, 타겟 시스템(1000)에 대한 제어 입력 및 제어 입력에 따른 타겟 시스템(1000)의 상태 관측치에 대응하는 타겟 시스템(1000)에 배치된 복수의 센서(10)의 출력값(
Figure 112021045501169-pat00086
)에 기반하여 타겟 시스템(1000)의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure 112021045501169-pat00087
)을 생성하는 단계(S2), 조합부(30)에 의해, 복수의 부분 상태 추정값에 기반하여 타겟 시스템(1000)의 전체 상태 추정값에 대한 복수의 후보 추정값(
Figure 112021045501169-pat00088
))의 집합(
Figure 112021045501169-pat00089
)을 결정하는 단계(S3) 및 결정부(40)에 의해 복수의 후보 추정값(
Figure 112021045501169-pat00090
) 중에서 타겟 시스템(1000)의 현재 상태에 대한 최종 상태 추정값(
Figure 112021045501169-pat00091
)을 결정하는 단계(S4)를 포함할 수 있다.
단계(S2)에서 생성부(20)는, 타겟 시스템(1000)에 대한 제어 입력 및 제어 입력에 따른 타겟 시스템(1000)의 상태 관측치에 대응하는 타겟 시스템(1000)에 배치된 복수의 센서(10)의 출력값(
Figure 112021045501169-pat00092
)에 기반하여 타겟 시스템(1000)의 현재 상태에 대한 복수의 부분 상태 추정값(
Figure 112021045501169-pat00093
)을 생성할 수 있다.
생성부(20)는 단계(S1)에서 설계된 복수의 부분 상태 관측기를 포함할 수 있다. 일 예에서, 복수의 부분 상태 관측기는 타겟 시스템(1000)에 배치된 복수의 센서(10)와 일대일로 연계될 수 있다. 즉, 생성부(20)는 복수의 센서의 개수만큼의 복수의 부분 상태 관측기를 포함할 수 있다.
단계(S2)에서 생성부(20)는 프로세서(110)에 의해 실행되어, 복수의 센서(10)의 각 센서의 출력값(yi) 및 각 센서와 연계된 부분 상태 관측기의 관측기 상태(gi)에 기반하여, 타겟 시스템(1000)의 각 부분 상태 추정값(
Figure 112021045501169-pat00094
)을 결정할 수 있다.
일 예에서 생성부(20)에 의해 생성된 복수의 부분 상태 추정값 및 결정부(40)에 의해 결정된 최종 상태 추정값은 각각 벡터로 표현되고, 각 부분 상태 추정값을 나타내는 벡터의 차원은 상기 최종 상태 추정값을 나타내는 벡터의 차원보다 더 낮다.
예를 들어, 타겟 시스템(1000)의 전체 상태 정보가 n 차원 벡터인 경우, 부분 상태 추정값은 m차원 벡터이고, m은 n 보다 작은 양의 정수일 수 있다.
즉, 부분 상태 추정값은 타겟 시스템(1000)의 전체 상태 정보 중 일부 상태 정보를 포함할 수 있다.
단계(S3)에서 조합부(30)는 단계(S2)에서 생성된 복수의 부분 상태 추정값(
Figure 112021045501169-pat00095
)에 기반하여 타겟 시스템(1000)의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
Figure 112021045501169-pat00096
)을 결정할 수 있다.
설명을 위하여 수학적 표현을 소개한다. 임의의 행렬
Figure 112021045501169-pat00097
에 대하여,
Figure 112021045501169-pat00098
으로 정의한다. 또한, 집합
Figure 112021045501169-pat00099
의 부분집합
Figure 112021045501169-pat00100
이 존재한다. 이 때,
Figure 112021045501169-pat00101
는 부분집합
Figure 112021045501169-pat00102
에 포함되지 않은 숫자 i로 표현된 Mi를 M에서 제거한 행렬로 정의한다. 또한, 집합
Figure 112021045501169-pat00103
의 크기를
Figure 112021045501169-pat00104
로 표현한다.
단계(S3)에서 조합부(30)는 전술한 단계(S2)에서 각 부분 상태 관측기로부터 얻은 부분 상태 추정값(
Figure 112021045501169-pat00105
)을 조합하여 타겟 시스템(1000)의 실제 현재 상태(x(t))에 대한 복수의 후보 추정값(X(t))의 집합을 생성한다.
Figure 112021045501169-pat00106
로 정의하면, 복수의 후보 추정값(X(t))의 집합(
Figure 112021045501169-pat00107
)은 다음과 같이 계산할 수 있다.
Figure 112021045501169-pat00108
여기서 p와 q는 각각 타겟 시스템(1000)에 배치된 센서의 개수 및 공격 당한 센서의 개수를 나타낸다. 여기서 행렬
Figure 112021045501169-pat00109
는 수학식 16의 행렬
Figure 112021045501169-pat00110
에서 집합
Figure 112021045501169-pat00111
에 들어가는 인덱스에 해당하는 Ui들만 남기고 나머지는 제거한 행렬이다.
이와 같은 기법은 q의 개수가 p의 절반 미만인 것을 가정한다. 후보 집합
Figure 112021045501169-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 112021045501169-pat00113
)을 결정할 수 있다.
이를 위하여 결정부(40)는 단계(S4)에서 단계(S3)에서 결정된 복수의 후보 추정값(X(t))의 각 후보 추정값 중 추정오차가 최소인 후보 추정값을 최종 상태 추정값(
Figure 112021045501169-pat00114
)으로 선택할 수 있다.
단계(S4)는 복수의 후보 추정값 중에서 타겟 시스템(1000)의 실제 상태를 나타내는 후보 추정값을 골라내는 과정이다. 이는 도 2를 참조하여 유한 공간 l2 최적화 과정(Finite Space l2 optimization process)에 대응한다.
최적화 과정은 다음과 같은 수학식 18로 표현할 수 있다.
Figure 112021045501169-pat00115
여기서
Figure 112021045501169-pat00116
는 시스템 파라미터에 의해 설정된 임계값(threshold)이며 다음의 수학식 19에 따라 설정된다.
Figure 112021045501169-pat00117
행렬
Figure 112021045501169-pat00118
(수학식 17 아래 설명)는 집합 람다(
Figure 112021045501169-pat00119
)에 따라 다른 행렬이 된다. 여기서 다음의 조건 2를 정의한다.
[조건 2]
부분 집합 람다(
Figure 112021045501169-pat00120
) 중 원소의 개수가 p-2q보다 큰 모든 경우에 대해 상응하는
Figure 112021045501169-pat00121
가 full column rank를 갖는다.
조건 2를 만족하는 경우, 즉 부분 집합 람다(
Figure 112021045501169-pat00122
)중 원소의 개수가 p-2q보다 큰 모든 부분 집합 람다에 대해 상응하는
Figure 112021045501169-pat00123
가 full column rank이면, 수학식 18의 최적화 과정에서 선정된 후보 상태 (
Figure 112021045501169-pat00124
)는 센서 공격의 영향을 받지 않은 것이 된다.
전체 p개의 센서 중에서 q개의 센서에 공격이 들어왔다고 가정하면, 복수의 부분 상태 추정값(
Figure 112021045501169-pat00125
) 중 p-q개는
Figure 112021045501169-pat00126
에 수렴하는 값이고, q개는
Figure 112021045501169-pat00127
에 수렴하지 않을 수 있는 값이다.
따라서 주어진 후보 추정값(
Figure 112021045501169-pat00128
)이 타겟 시스템(1000)의 실제 상태(
Figure 112021045501169-pat00129
)를 나타내는 후보라면, 최소 p-q개의 부분 상태 추정값(
Figure 112021045501169-pat00130
)에 대해
Figure 112021045501169-pat00131
는 시간이 지남에 따라 0으로 수렴한다. 이와 같은 후보 추정값에 대하여 수학식 18의 부등식을 만족하는 최대 q개가 고장/공격 하에 있는 센서가 된다.
실제 상태와 다른 후보 추정값(
Figure 112021045501169-pat00132
)은 모든 부분 상태 추정값(
Figure 112021045501169-pat00133
)에 대해서
Figure 112021045501169-pat00134
가 0으로 수렴하지 않을 수도 있다. 실제와 다른 후보 추정값에 대해서 0이 될 수 있는 이유는 행렬 Ui가 역행렬이 있는 정방행렬이 아니기 때문이다. 그러나 조건 2가 성립하면 수학식 18의 최적화의 해는 항상 타겟 시스템(1000)의 실제 상태를 나타내게 된다. 따라서 수학식 18의 결과는 센서 공격과 외란의 영향이 포함되지 않은 후보 추정값
Figure 112021045501169-pat00135
이 된다.
즉, 단계(S4)에서 결정부(40)는 최종 상태 추정값(
Figure 112021045501169-pat00136
)을 결정하기 위하여, 각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
Figure 112021045501169-pat00137
) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
Figure 112021045501169-pat00138
)에 기반하여 최종 상태 추정값(
Figure 112021045501169-pat00139
)을 결정하게 된다(수학식 18 참조).
여기서 제 1 변환 행렬(Ui)은 부분 상태 추정값(
Figure 112021045501169-pat00140
)과 타겟 시스템의 실제 상태값(x(t)) 간의 선형 변환에 대한 의사 역행렬에 대응한다. 일 예에서 제 1 변환 행렬(Ui)은 전술한 수학식 9를 참조하여 제 7 선형변환행렬(Ui)과 동일한 행렬일 수 있다.
한편, 센서 공격과 외란의 영향이 포함되지 않은 후보 추정값 X(t)과 실제 상태 간의 추정오차를 보이기 위해 다음을 정의한다.
Figure 112021045501169-pat00141
이에 따라 추정 오차는 다음의 수학식과 같이 전개된다.
Figure 112021045501169-pat00142
여기서 Fi의 고윳값 실수부는 모두 음수이므로
Figure 112021045501169-pat00143
을 만족하는
Figure 112021045501169-pat00144
를 항상 찾을 수 있다.
이를 통해 수학식 21을 다시 쓰면, 수학식 22가 된다.
Figure 112021045501169-pat00145
최종적으로
Figure 112021045501169-pat00146
,
Figure 112021045501169-pat00147
Figure 112021045501169-pat00148
를 설정하여 다음과 같은 추정 오차를 유도할 수 있다.
Figure 112021045501169-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 112022067928055-pat00150
    )에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00151
    )을 생성하는 생성부;
    상기 복수의 부분 상태 추정값에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
    Figure 112022067928055-pat00152
    )을 결정하는 조합부; 및
    상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
    Figure 112022067928055-pat00153
    )을 결정하는 결정부를 포함하고,
    상기 생성부는 복수의 부분 상태 관측기(Partial state Unknown Input Observer; Partial UIO)를 포함하고,
    상기 복수의 부분 상태 관측기의 각 부분 상태 관측기는 상기 복수의 센서 중 서로 다른 하나의 센서의 출력값 및 상기 제어 입력에 기반하여 하나의 부분 상태 추정값(
    Figure 112022067928055-pat00209
    )을 생성하며, 상기 타겟 시스템의 동역학 상태 방정식에 기반하여 유도한 관측기 상태(gi)에 기반하여 상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00210
    ) 중 하나를 생성하고,
    상기 생성부는,
    상기 관측기 상태(gi) 및 상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00211
    )을 생성하기 위하여,
    상기 동역학 상태 방정식의 특성 행렬(A) 및 상기 복수의 센서에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
    Figure 112022067928055-pat00212
    ) 및 제 2 가관측성 행렬(G)을 생성하는 제 1 연산,
    상기 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 상기 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성하는 제 2 연산,
    상기 제 1 선형 변환 행렬(Mi)을 통해 상기 제 1 가관측성 행렬(
    Figure 112022067928055-pat00213
    )을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
    Figure 112022067928055-pat00214
    )을 생성하는 제 3 연산,
    상기 제 2 선형 변환 행렬(
    Figure 112022067928055-pat00215
    )의 행렬 블록(
    Figure 112022067928055-pat00216
    )을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
    Figure 112022067928055-pat00217
    )을 통해 상기 행렬 블록(
    Figure 112022067928055-pat00218
    )을 좌표 변경하여 제 4 선형 변환 행렬(
    Figure 112022067928055-pat00219
    )을 생성하는 제 4 연산,
    상기 제 3 선형 변환 행렬에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 상기 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성하는 제 5 연산,
    상기 제 6 선형 변환 행렬(Ti) 및 상기 제 6 선형 변환 행렬의 역행렬(
    Figure 112022067928055-pat00220
    )에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성하는 제 6 연산, 및
    상기 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 상기 동역학 상태 방정식을 변환하는 제 7 연산
    을 수행하도록 구성되는,
    시스템 상태 추정 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 복수의 부분 상태 추정값(
    Figure 112021045501169-pat00166
    ) 및 상기 최종 상태 추정값(
    Figure 112021045501169-pat00167
    )은 각각 벡터로 표현되고,
    각 부분 상태 추정값(
    Figure 112021045501169-pat00168
    )을 나타내는 벡터의 차원은 상기 최종 상태 추정값(
    Figure 112021045501169-pat00169
    )을 나타내는 벡터의 차원보다 더 낮은,
    시스템 상태 추정 장치.
  6. 제 1 항에 있어서,
    상기 조합부는,
    상기 복수의 센서에 포함된 센서의 개수에 기반하여 오동작 센서 개수 임계값을 결정하고,
    상기 오동작 센서 개수 임계값에 기반하여 상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00170
    )의 조합에 대한 경우의 수를 결정하고,
    상기 경우의 수에 따라 상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00171
    ) 중에서 상기 복수의 후보 추정값(X(t))의 각 후보 추정값을 구성할 부분 상태 추정값을 선택하도록 구성되는,
    시스템 상태 추정 장치.
  7. 제 1 항에 있어서,
    상기 결정부는
    각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
    Figure 112021045501169-pat00172
    ) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
    Figure 112021045501169-pat00173
    )에 기반하여 상기 최종 상태 추정값(
    Figure 112021045501169-pat00174
    )을 결정하도록 구성되는,
    시스템 상태 추정 장치.
  8. 제 7 항에 있어서,
    상기 제 1 변환 행렬(Ui)은 상기 부분 상태 추정값(
    Figure 112021045501169-pat00175
    )과 상기 타겟 시스템의 실제 상태값(x(t)) 간의 선형 변환에 대한 의사 역행렬에 대응하는,
    시스템 상태 추정 장치.
  9. 생성부에 의해, 타겟 시스템에 대한 제어 입력 및 상기 제어 입력에 따른 상기 타겟 시스템의 상태 관측치에 대응하는 상기 타겟 시스템에 배치된 복수의 센서의 출력값(
    Figure 112022130927336-pat00176
    )에 기반하여 상기 타겟 시스템의 현재 상태에 대한 복수의 부분 상태 추정값(
    Figure 112022130927336-pat00177
    )을 생성하는 단계;
    조합부에 의해, 상기 복수의 부분 상태 추정값(
    Figure 112022130927336-pat00178
    )에 기반하여 상기 타겟 시스템의 전체 상태 추정값에 대한 복수의 후보 추정값(X(t))의 집합(
    Figure 112022130927336-pat00179
    )을 결정하는 단계; 및
    결정부에 의해 상기 복수의 후보 추정값(X(t)) 중에서 상기 타겟 시스템의 현재 상태에 대한 최종 상태 추정값(
    Figure 112022130927336-pat00180
    )을 결정하는 단계를 포함하고,
    상기 생성부는 복수의 부분 상태 관측기를 포함하고,
    상기 복수의 부분 상태 관측기를 설계하는 단계를 더 포함하며,
    상기 설계하는 단계는, 상기 타겟 시스템의 동역학 상태 방정식으로부터 상기 복수의 부분 상태 관측기의 관측기 상태(gi)를 유도하는 단계를 포함하고,
    상기 유도하는 단계는,
    상기 동역학 상태 방정식의 특성 행렬(A) 및 상기 복수의 센서에 대한 출력 행렬(C)에 기반하여 제 1 가관측성 행렬(
    Figure 112022130927336-pat00221
    ) 및 제 2 가관측성 행렬(G)을 생성하는 제 1 연산 단계,
    상기 제 2 가관측성 행렬(G)의 전치 행렬(GT)의 범위 공간(range space)(P) 및 상기 제 2 가관측성 행렬(G)의 영 공간(null space)의 직교 기저부(orthonormal bases)(Q)에 기반하여 제 1 선형 변환 행렬(Mi)을 생성하는 제 2 연산 단계,
    상기 제 1 선형 변환 행렬(Mi)을 통해 상기 제 1 가관측성 행렬(
    Figure 112022130927336-pat00222
    )을 좌표 변경(coordinate change)하여 제 2 선형 변환 행렬(
    Figure 112022130927336-pat00223
    )을 생성하는 제 3 연산 단계,
    상기 제 2 선형 변환 행렬(
    Figure 112022130927336-pat00224
    )의 행렬 블록(
    Figure 112022130927336-pat00225
    )을 블록 대각(block diagonal)으로 만드는 제 3 선형 변환 행렬(
    Figure 112022130927336-pat00226
    )을 통해 상기 행렬 블록(
    Figure 112022130927336-pat00227
    )을 좌표 변경하여 제 4 선형 변환 행렬(
    Figure 112022130927336-pat00228
    )을 생성하는 제 4 연산 단계,
    상기 제 3 선형 변환 행렬에 기반하여 정의되는 제 5 선형 변환 행렬(Ni) 및 상기 제 1 선형 변환 행렬(Mi)에 기반하여 제 6 선형 변환 행렬(Ti)을 생성하는 제 5 연산 단계,
    상기 제 6 선형 변환 행렬(Ti) 및 상기 제 6 선형 변환 행렬의 역행렬(
    Figure 112022130927336-pat00229
    )에 기반하여 제 7 선형 변환 행렬(Ui) 및 제 8 선형 변환 행렬(Vi)을 생성하는 제 6 연산 단계, 및
    상기 제 7 선형 변환 행렬Ui) 및 제 8 선형 변환 행렬(Vi)에 기반하여 상기 동역학 상태 방정식을 변환하는 제 7 연산 단계
    을 포함하는,
    시스템 상태 추정 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제 9 항에 있어서,
    상기 복수의 부분 상태 관측기는 상기 복수의 센서와 일대일로 연계되고,
    상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00190
    )을 생성하는 단계는,
    각 센서의 출력값(yi) 및 각 센서와 연계된 부분 상태 관측기의 관측기 상태(gi)에 기반하여, 각 부분 상태 추정값(
    Figure 112022067928055-pat00191
    )을 결정하는 단계를 포함하는,
    시스템 상태 추정 방법.
  14. 제 9 항에 있어서,
    상기 복수의 부분 상태 추정값(
    Figure 112021045501169-pat00192
    ) 및 상기 최종 상태 추정값(
    Figure 112021045501169-pat00193
    )은 각각 벡터로 표현되고,
    각 부분 상태 추정값(
    Figure 112021045501169-pat00194
    )을 나타내는 벡터의 차원은 상기 최종 상태 추정값(
    Figure 112021045501169-pat00195
    )을 나타내는 벡터의 차원보다 더 낮은,
    시스템 상태 추정 방법.
  15. 제 9 항에 있어서,
    상기 복수의 후보 추정값(X(t))의 집합(
    Figure 112022067928055-pat00196
    )을 결정하는 단계는,
    상기 복수의 센서의 개수에 기반하여 오동작 센서 개수 임계값을 결정하는 단계;
    오동작 센서 개수 임계값에 기반하여 상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00197
    )의 조합에 대한 경우의 수를 결정하는 단계; 및
    상기 경우의 수에 따라 상기 복수의 부분 상태 추정값(
    Figure 112022067928055-pat00198
    ) 중에서 상기 복수의 후보 추정값(X(t))의 각 후보 추정값을 구성할 부분 상태 추정값을 선택하는 단계
    를 포함하는,
    시스템 상태 추정 방법.
  16. 제 9 항에 있어서,
    상기 최종 상태 추정값(
    Figure 112021045501169-pat00199
    )을 결정하는 단계는,
    각 후보 추정값(X(t))마다 각 후보 추정값(X(t))에 포함된 부분 상태 추정값(
    Figure 112021045501169-pat00200
    ) 및 제 1 변환 행렬(Ui)과 각 후보 추정값(X(t))을 곱한 벡터 간의 거리(
    Figure 112021045501169-pat00201
    )에 기반하여 상기 최종 상태 추정값(
    Figure 112021045501169-pat00202
    )을 결정하는 단계
    를 포함하는
    시스템 상태 추정 방법.
  17. 제 16 항에 있어서,
    상기 제 1 변환 행렬(Ui)은 상기 부분 상태 추정값(
    Figure 112021045501169-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 KR20220144206A (ko) 2022-10-26
KR102543488B1 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026755A (ja) 2019-08-02 2021-02-22 株式会社日立製作所 産業用コントローラのデータ完全性を保証するためのaiの使用

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738682B1 (en) * 2001-09-13 2004-05-18 Advances Micro Devices, Inc. Method and apparatus for scheduling based on state estimation uncertainties
KR101926257B1 (ko) * 2017-05-15 2018-12-06 두산중공업 주식회사 이상 신호 복원 시스템 및 방법
WO2018229898A1 (ja) * 2017-06-14 2018-12-20 三菱電機株式会社 状態推定装置
KR20190059024A (ko) 2017-11-22 2019-05-30 재단법인대구경북과학기술원 자율복원 상태추정 시스템 및 방법
US11119462B2 (en) * 2019-10-08 2021-09-14 Global Energy Interconnection Research Institute (Gelrina) Systems and methods for hybrid dynamic state estimation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026755A (ja) 2019-08-02 2021-02-22 株式会社日立製作所 産業用コントローラのデータ完全性を保証するためのaiの使用

Also Published As

Publication number Publication date
US20220353277A1 (en) 2022-11-03
KR20220144206A (ko) 2022-10-26

Similar Documents

Publication Publication Date Title
CN111670415B (zh) 用于控制系统的预测控制器、车辆及方法
Han et al. Reduced-order observer based fault estimation and fault-tolerant control for switched stochastic systems with actuator and sensor faults
Tohidi et al. Fault tolerant control design using adaptive control allocation based on the pseudo inverse along the null space
Demetriou Using unknown input observers for robust adaptive fault detection in vector second-order systems
Park Estimation strategies for fault isolation of linear systems with disturbances
Hassanabadi et al. Robust fault detection of singular LPV systems with multiple time-varying delays
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
Lungu et al. Design of full‐order observers for systems with unknown inputs by using the eigenstructure assignment
KR102543488B1 (ko) 시스템 상태 추정 장치 및 방법
JP7265965B2 (ja) 機械学習装置および機械学習方法
WO2018198267A1 (ja) 因果関係学習方法、プログラム、装置および異常分析システム
KR20210104284A (ko) 구조진동 가상센서 장치 및 그 동작 방법
Zhirabok et al. Robust virtual sensors design for linear and nonlinear systems under external disturbances
KR20190059024A (ko) 자율복원 상태추정 시스템 및 방법
Nazari et al. Invariant-set-based fault tolerant control using virtual sensors
KR20230079804A (ko) 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법
Huang et al. Sliding mode state and fault estimation for decentralized systems
KR101547025B1 (ko) 이동 기기의 위치를 예측하는 방법, 및 장치
Krokavec et al. On Some Ways to Implement State–Multiplicative Fault Detection in Discrete–Time Linear Systems
Luzar et al. Neural-network based robust predictive fault-tolerant control for multi-tank system
KR102250354B1 (ko) 선박의 지연 가능성 판단 방법 및 장치
KR102477587B1 (ko) Ugv 모니터링 방법 및 장치
KR20230116583A (ko) 뉴럴 네트워크 제어 방법 및 장치
Pérez Estrada et al. Generalized dynamic observer design for discrete LPV systems with parameter dependent Lyapunov functions

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