KR102416612B1 - 고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법 - Google Patents
고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법 Download PDFInfo
- Publication number
- KR102416612B1 KR102416612B1 KR1020200032145A KR20200032145A KR102416612B1 KR 102416612 B1 KR102416612 B1 KR 102416612B1 KR 1020200032145 A KR1020200032145 A KR 1020200032145A KR 20200032145 A KR20200032145 A KR 20200032145A KR 102416612 B1 KR102416612 B1 KR 102416612B1
- Authority
- KR
- South Korea
- Prior art keywords
- computing unit
- information
- control
- user computing
- security
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
다양한 분야의 제어시스템에서, 보안뿐만 아니라 이상 상황, 비정상 동작 등을 감시하고 조치하기 위한 제어시스템에 관한 발명이다. 본 발명에 따른 제어시스템은 사용자컴퓨팅부와 보안컴퓨팅부를 포함한다. 사용자컴퓨팅부는 자신의 CPU를 포함하며, 사용자프로그램(즉, 제어 프로그램)을 실행하여 제어정보(제어신호)를 생성한다. 보안컴퓨팅부는 자신의 CPU를 포함하며, 피제어장치로부터 입력되는 입력정보와 상기 사용자컴퓨팅부에서 생성된 제어정보를 다시 점검하여 시스템점검정보를 만든다. 이 시스템점검정보를 사용자가 기설정한 시스템상태 결정 기준정보와 비교하여, 시스템의 상태가 정상범위인 경우에는 상기 제어정보를 그대로 출력장치로 출력하고 정상범위가 아닌 경우에는 사용자가 기설정한 보안조치를 수행한다.
Description
본 발명은 자동차, 로봇, 철도, 우주항공 및 플랜트 등 분야에서 사용되는 제어시스템의 안정성과 강인성(robustness)을 향상시키는 컴퓨터 하드웨어 및 소프트웨어 기술에 관한 것이다.
자동차, 로봇, 철도, 우주항공, 플랜트 등 다양한 분야에서 사용되는 제어시스템에서, 제어프로그램은 일반적으로 CPU와 메모리 및 I/O장치로 구성되는 제어용 컴퓨터에서 실행되며 피제어장치나 시스템, 플랜트의 전체를 제어하고 감시한다. 따라서 제어프로그램이 잘못된 동작을 하면 피제어장치나 시스템, 플랜트가 정지 또는 이상 동작을 하여 인명의 손실이나 막대한 금전적 손해가 발생할 수 있다.
한편 일반적으로 제어장치의 컴퓨터는 분산제어나 연속운전을 위하여 통신망으로 연결된 복수의 다른 제어장치들과 연결될 수 있으나 구조적으로는 범용컴퓨터와 매우 유사하다. 이들 장치에서는 일반적으로 OS와 기반프로그램들이 제어프로그램들을 실행시키는 구조가 된다.
그런데 최근 들어 AI(artificial intelligence)를 적용한 자율주행기술이나 자동운전기술이 자동차나 드론 등에 적용되면서 제어장치나 시스템의 안정성에 대한 문제가 드러나기 시작하였다. 또한 제어장치나 시스템이 해킹되거나 또는 그 밖의 이유로 제어권한이 악의를 가진 자에게 넘어가는 경우도 발생하게 되었다.
예를 들어 911 테러나 말레이시아 항공기 실종사건과 같은 사고를 살펴보자. 일반적으로 항공기 제어 시스템은 조종사의 선한 의도를 가정하여 설계된 것이다. 그러나 두 사건 모두 조종사가 악의를 가지고 항공기를 빌딩에 고의로 충돌시키거나 레이더에 걸리지 않게 조종하여 추락시킨 사례이다. 그런데 911테러 당시 항공기제어시스템은 이 상태로 항공기가 계속 비행한다면 건물에 충돌할 것임을 알 수 있는 충분한 정보를 가지고 있었고 이를 조종사에게 다양한 방법으로 경고했을 것이다. 또한 말레이시아 항공기 실종사건 시에도 항공기제어시스템은 항공기가 경로를 이탈한 것을 판단할 충분한 정보를 가지고 있었고 이를 조종사에게 다양한 방법으로 알렸을 것이다. 그러나 이미 악의를 가진 조종사는 제어시스템의 경고를 무시하였을 것이고 결국 비행기는 추락하거나 실종된 것이다.
또 다른 예로 AI가 제어하는 자율주행자동차의 경우 해킹되거나 AI 알고리즘의 예상치 못한 이상 동작으로 경로에서 벗어나 주행하거나, 기타 의도하지 않은 동작이 실행되거나 상황에 적합하지 않은 동작이 실행되어 문제가 발생할 수 있다. 즉 AI알고리즘의 이상 또는 해킹으로 자율운전 제어장치가 완전히 정지하거나 오동작하여 운전자의 명령에 반응하지 않는 경우, 해당 자동차는 사고가 발생하여 최악의 경우 탑승자가 사망할 수도 있을 것이다.
그런데 일반적으로 제어장치나 제어시스템에서는 입력과 출력의 상관관계를 파악하여 인터로킹(inter-locking)과 같은 방법으로 오동작을 부분적으로 보완한다. 예를 들면 장치의 동작을 설계할 때, 밸브A와 밸브B가 동시에 개방되면 안 될 경우 밸브A와 밸브B의 액튜에이터 신호를 인터로킹하여 동시에 두 개가 개방되는 것을 방지하도록 설계된다. 또한 제어장치나 제어시스템의 경우 이중화(redundancy) 또는 보팅(voting) 기술을 사용하여 하드웨어 이상시의 오동작을 방지한다. 이중화는 주 시스템의 고장시 대기 중인 부 시스템이 바로 동작하여 중단없이 동작을 계속하게 하는 방식으로, 하나의 시스템에 발생한 고장으로 인한 시스템 전체의 오동작을 막기 위한 것이다. 보팅은 여러 경로로 하나의 입출력신호나 정보를 관리하는 방식으로, 예를 들면 하나의 입력신호를 3개의 다른 경로로 읽어 다수결로 '표결'하여(예를 들면 3:0, 2:1 등) 입력값을 결정하는 방식이다.
그러나 이러한 오동작방지 구조는 운전자의 선한 의지나 정상적으로 동작하는 AI자율주행 제어장치를 가정한 것이기 때문에, 운전자나 AI자율주행 제어장치가 정상적인 기능을 오용하여 비정상적인 실행 결과(출력 신호)를 만들어 내는 이상동작을 막을 수는 없다.
상술한 문제를 극복하기 위하여 본 발명을 통해, 다양한 분야에 적용이 가능한 안정적이고 강인한 제어장치와 제어시스템의 새로운 구조(architecture)를 제안한다. 본 발명에서 제안하는 제어구조는 AI나 제어시스템 운전자가 정상적인 기능을 오용하여 비정상적인 실행 결과(출력 신호)를 만들어 내는 이상동작을 막을 수 있고 즉각적인 대응이 가능하여 전체장치나 시스템의 안정성이 크게 향상된다.
본 발명에 따른 제어시스템은 사용자컴퓨팅부와 보안컴퓨팅부, 통신인터페이스, 제어입출력부를 포함한다. 사용자컴퓨팅부는 CPU 및 메모리, 주변회로 등으로 구성되며, 사용자프로그램(즉, 제어 프로그램)을 실행하여 제어알고리즘과 입력정보, 기타 시스템상태정보를 이용하여 예비제어정보(피제어장치 제어신호)를 생성한다. 이때 입력정보는 보안컴퓨팅부가 제어입출력부로부터 읽어들인 정보로, 통신인터페이스를 통하여 사용자컴퓨팅부에 제공된다. 그리고 시스템상태정보는 자체적으로 생성할 수도 있고 보안컴퓨팅부가 제공할 수도 있다.
보안컴퓨팅부는 또 다른 CPU 및 메모리, 주변회로 등으로 구성되며, 제어입출력부를 통하여 피제어장치로부터 입력되는 입력정보를 통신인터페이스를 통하여 사용자컴퓨팅부에 제공한다. 또한 보안프로그램을 구동하여 사용자컴퓨팅부에서 생성한 예비제어정보를 통신인터페이스를 통하여 전달받아 입력정보, 시스템상태정보, 제어알고리즘 등의 정보와 사용자의 설정정보를 함께 분석하여 시스템점검정보를 생성한다. 이 시스템점검정보를 사용자가 기설정한 시스템상태결정 기준정보와 비교하여, 시스템의 상태가 정상범위인 경우에는 상기 예비제어정보를 변경없이 그대로 제어정보로서 제어입출력부로 출력하고 정상범위가 아닌 경우에는 사용자가 기설정한 보안조치를 수행한다. 사용자컴퓨팅부와 보안컴퓨팅부는 통신인터페이스를 통하여 통신하며 제어입출력부는 오직 보안컴퓨팅부에만 연결된다. 제어입출력부는 물리적인 입출력신호를 처리하도록 구성할 수 있다. 이 경우 제어입출력부는 PLC(Programmable Logic Controller)의 디지털입출력 모듈이나 아날로그입출력 모듈과 같은 기능을 하도록 구성할 수 있다. 또한 제어입출력부는 데이터통신장치로 구성하여 피제어장치의 통신포트에 연결할 수도 있다. 이때 입출력정보는 통신프로토콜에 따라 전송되거나 수신될 것이다. 한편 통신인터페이스는 CPU와 CPU를 고속통신으로 직접 연결하는 회로나 각각의 시스템버스에 연결되는 DPRAM(Dual Port RAM)이나 데이터레지스터, 인터럽트신호로 상호를 연결하는 로직회로 등을 조합하여 구현할 수 있다.
본 발명에 따른 제어시스템의 보안컴퓨팅부는 보안입출력부를 포함하여 구성할 수 있다. 보안입출력부는 물리적인 입출력신호를 처리하도록 구성할 수도 있는데 이 경우 PLC의 디지털입출력모듈이나 아날로그입출력모듈과 같은 기능을 하도록 구성할 수 있다. 또한 보안입출력부는 데이터통신장치로 구성하여 보안제어장치의 통신포트에 연결할 수도 있다. 이 경우 비상상황에서 제어권한을 위임받은 제3자나 기관에게 보안입출력부를 이용하여 전체시스템의 상황을 보고하거나 또는 상기 제3자나 기관이 보안제어장치를 이용하여 보안컴퓨팅부에 명령을 내리고 비상대응을 위한 프로그램을 다운로드하는 등으로 전체시스템을 제어하는 것이 가능하다.
이와 같이, 보안컴퓨팅부는 보안프로그램을 수행시켜 사용자컴퓨팅부로 입출력되는 데이터 및 신호를 기록하고 지속적으로 감시 및 분석함으로써, 사용자컴퓨팅부가 정상범위를 벗어나는 동작을 하여 전체시스템의 안정성을 훼손하는 것을 방지할 수 있다. 보다 구체적으로는 보안컴퓨팅부는 사용자컴퓨팅부의 제어연산결과를 추적하면서 시스템의 안정성이 훼손될 우려가 있는 경우 이를 통제하여 적절한 보안 조치를 취하거나 시스템을 정상상태로 복원하는 역할을 한다.
한편 본 발명의 제어시스템에서 수행되는 동작을 단계별로 설명하면 다음과 같다.
-제어입출력부에서 읽어들인 입력정보를 보안컴퓨팅부가 통신인터페이스를 통해서 사용자컴퓨팅부에 제공하는 입력정보 제공단계;
-사용자컴퓨팅부가 제어프로그램을 이용하여 제어알고리즘, 입력정보, 시스템상태정보를 이용하여 제어연산을 수행하고 예비제어정보를 만드는 제어연산단계;
-사용자컴퓨팅부로부터 보안컴퓨팅부가 통신인터페이스를 이용하여 예비제어정보를 전달받는 예비제어정보 수신단계;
-상기 사용자컴퓨팅부의 예비제어정보, 제어알고리즘, 입력정보, 시스템상태정보, 사용자의 설정정보를 이용하여 보안컴퓨팅부의 보안프로그램이 시스템점검정보를 만드는 시스템점검정보 도출단계;
-보안컴퓨팅부가 상기 시스템점검정보와 사용자가 설정한 시스템상태결정 기준정보와 비교하는 시스템상태 결정단계;
-보안컴퓨팅부가 상기 시스템상태 결정단계에서 시스템의 상태가 정상범위라고 판단하는 경우 상기 예비제어정보를 최종제어정보로 하여 상기 제어입출력부로 출력하는 최종제어정보 제공단계; 및
- 보안컴퓨팅부가 상기 시스템상태 결정단계에서 시스템의 상태가 정상범위가 아닌 것으로 판단하는 경우에 사용자가 기설정한 보안제어프로그램을 실행시키는 보안조치실행단계.
추가적으로 상기 보안조치실행단계는 보안입출력부를 통하여 보안제어장치에 사용자 설정정보, 시스템점검정보, 시스템상태정보, 입력정보, 제어정보 등을 선택적으로 제공하는 보안정보제공단계와, 보안제어장치가 제공된 정보를 바탕으로 보안입출력부를 통하여 보안컴퓨팅부에 보안명령을 내리는 보안명령인가단계로 구성된다.
한편 개념적 이해를 돕기 위하여 상기와 같이 단계를 나누어 설명하였지만 일반적으로 액튜에이터나 센서들의 반응속도가 컴퓨터보다 매우 느리므로 제어입출력이 있을 때마다(즉, 상기 입력정보 제공단계에서 입력정보가 상기 보안컴퓨팅부를 통해서 사용자컴퓨팅부에 제공될 때마다) 후속 단계들을 밟는 대신에, 제어입출력이 여러 번 행해지는 동안 한 번만 상기 단계들을 수행(즉, 상기 입력정보 제공단계에서 입력정보가 사전설정된 횟수만큼 상기 보안컴퓨팅부를 통해서 사용자컴퓨팅부에 제공된 후에, 후속 단계들을 수행)해도 보안조치를 취하는 데 큰 문제가 없다. 즉 보안컴퓨팅부가 사용자컴퓨팅부로부터 전달받은 예비제어정보를 받은 즉시 그대로 제어정보로서 출력하고, 주기적으로 상기 단계를 수행하는 방식으로도 적용이 가능하다. 이 경우 상기 단계를 수행하게 되면 문제가 없는 경우 결과적으로 같은 제어정보가 두 번 연속 출력되지만 앞서 설명한 바와 같이 피제어장치들의 반응속도가 컴퓨터보다 매우 느리고 제어정보들의 과거값/현재값들은 상호연관성이 있어서 전혀 문제가 없다.
그리고 상기 시스템점검정보 도출단계에서 수행되는 연산작업은 다른 방식으로 진행하여 연산결과의 정확성을 높이거나 병렬로 진행하여 연산시간을 단축할 수도 있다. 즉 사용자컴퓨팅부가 수행하는 제어연산단계와 동일한 방식으로 보안컴퓨팅부가 직접 생성한 예비제어정보를 사용자컴퓨팅부가 생성하여 제공한 예비제어정보와 비교하는 방식으로 결과를 검증한 후 이를 제어알고리즘, 입력정보, 시스템상태정보, 사용자의 설정정보를 이용하여 보안컴퓨팅부의 보안프로그램이 시스템점검정보를 만드는 방식으로 변형할 수 있다. 또는, 사용자컴퓨팅부가 제공하는 예비제어정보가 필요없는 연산절차를 보안컴퓨팅부가 병렬로 진행하고 사용자컴퓨팅부가 제어예비정보를 제공한 후 나머지 연산절차를 수행하는 방식으로 연산시간을 단축할 수도 있다. 또한 상기 시스템상태정보에는 시스템의 상태를 나타내는 정보들의 과거값들이 포함될 수도 있다.
이상에서 소개한 본 발명의 사상은 이후에 도면과 함께 설명하는 바람직한 실시예를 통하여 명확해질 것이다.
자동차, 로봇, 철도, 우주항공 및 플랜트 등 다양한 분야에서 사용되는 제어장치나 제어시스템에서, 제어프로그램은 일반적으로 CPU와 메모리 및 I/O장치로 구성되는 제어용 컴퓨터에서 실행되며 제어대상인 장치나 시스템/플랜트의 전체를 제어하고 감시한다. 따라서 제어프로그램이 잘못된 동작을 하면 제어대상인 전체 장치나 시스템이 정지 또는 이상 동작을 하여 인명의 손실이나 막대한 금전적 손해가 발생할 수 있다.
본 발명에서 제안하는 제어구조는 AI나 제어시스템 운전자가 정상적인 기능을 오용하여 비정상적인 실행 결과(출력 신호)를 만들어 내는 이상동작을 막을 수 있고 즉각적인 대응이 가능하여 전체장치나 시스템의 안정성이 크게 향상된다.
즉 본 발명과 같은 구조의 고립된 사용자 컴퓨팅부를 갖게 되면 고립된 사용자컴퓨팅부에서 실행되는 제어 프로그램의 잘못된 판단으로 시스템의 기능이 정지되거나 이상 동작하는 경우, 이를 보안컴퓨팅부가 상시점검하여 이상 동작시에 입출력장치를 직접 제어하여 안정적으로 시스템을 운전할 수 있다.
이상에서 소개한 본 발명 사상의 구성과 효과는 이하에서 도면과 함께 설명하는 구체적인 실시예의 설명을 통해 보다 더 명확해질 것이다.
도 1은 본 발명에 따른 제어시스템의 개념적 구성도이다.
도 2는 본 발명에 따른 제어시스템의 구체적인 구성도이다.
도 3은 도 1에 나타낸 제어시스템의 동작 설명을 위한 처리흐름도이다.
도 4는 도 2에 나타난 제어시스템의 변형 실시형태의 구성도이다.
도 2는 본 발명에 따른 제어시스템의 구체적인 구성도이다.
도 3은 도 1에 나타낸 제어시스템의 동작 설명을 위한 처리흐름도이다.
도 4는 도 2에 나타난 제어시스템의 변형 실시형태의 구성도이다.
이하에서는 앞에서 소개한 본 발명의 사상을 구체적으로 구현한 실시예를 설명한다. 그러나 본 발명의 기술적 범위는 이하에서 설명하는 실시예 및 도면에 한정되는 것이 아니다. 특허청구범위의 합리적 해석에 의해 정해지는 것이다.
본 발명은 기본적으로 본 발명자(김 덕우)의 선행 공개특허 10-2018-0123815호(명칭: 고립된 사용자컴퓨팅부를 갖는 컴퓨터)에서 제안된 컴퓨터구조를 제어시스템에 적용하기 위하여 새롭게 확장한 기술이다. 선 공개특허는 사용자컴퓨팅부가 입출력장치로부터 고립되어 있고 보안관리컴퓨팅부(본 발명의 보안컴퓨팅부와 유사한 개념)를 통해서 입출력을 수행하게 되어 있다
본 발명은 상기 선행 공개특허를 제어시스템의 안정성과 강인성을 향상시키기 위해 제어시스템으로 확대 적용하기 위한 구체적이고 새로운 방법과 구조를 제시하고 있다.
도 1은 본 발명에 따른 고립된 사용자컴퓨팅부를 갖는 제어시스템의 개념적 구성도이다.
본 발명의 제어시스템은 각각 전용 CPU를 갖는 사용자컴퓨팅부(100)와 보안컴퓨팅부(200)를 포함한다. 여기서 피제어장치(400)는 제어시스템을 구성하는 세부장치를 포괄하는 것으로, 제어시스템의 적용대상에 따라 각각 다르게 구현되겠지만 기본적으로 전기적 또는 전자적인 신호 또는 이를 포함하는 데이터를 직접 입출력하거나, 소정의 통신장치를 이용하여 제어입출력부(300)와 연결된다. 이 때 복수의 피제어장치(400)들이 제어입출력부(300)에 연결되는 것도 가능하다. 예를 들면 자율주행자동차의 경우 구동장치, 조향장치, 운전보조장치 등이 제어입출력부(300)에 연결되고 자율주행을 담당하는 AI프로그램과 데이터들은 사용자컴퓨팅부(100)에서 관리되고 실행된다. 본 발명에 의하면 사용자컴퓨팅부(100)는 피제어장치(400) 및 제어입출력부(300)로부터 고립되어 있다. 종래의 기술과 유사하게 사용자컴퓨팅부(100)는 CPU를 가지며 피제어장치(400)를 제어하는 사용자프로그램(즉, 제어프로그램)을 실행한다. 즉 피제어장치(400)의 상태 신호, 센서 감지 신호 등의 정보(후술할 입력정보)를 처리하여 피제어장치(400)를 제어하기 위한 신호를 출력하는데, 자동차의 경우 가속 신호, 감속 신호, 자세제어 신호, 제동 신호 등의 제어신호(즉, 제어정보)를 생성한다.
보안컴퓨팅부(200)는 독자적인 CPU를 갖고 보안프로그램을 실행한다. 즉 피제어장치(400)와 사용자컴퓨팅부(200) 사이에서 데이터입출력을 중계하거나 피제어장치(400)에 대해 사용자가 기설정한 보안조치를 수행한다. 구체적으로, 보안컴퓨팅부(200)는 사용자컴퓨팅부(100)로 입출력되는 데이터 및 신호를 기록하고 지속적으로 감시 및 분석함으로써, 사용자컴퓨팅부(100)가 정상범위를 벗어나는 동작을 하여 전체시스템의 안정성을 훼손하는 것을 방지한다. 즉, 보안컴퓨팅부(200)는 사용자컴퓨팅부(100)의 제어연산결과를 추적하면서 시스템의 안정성이 훼손될 우려가 있는 경우 이를 통제하여 적절한 보안 조치를 취하거나 시스템을 정상상태로 복원하는 역할을 한다.
도 2는 도 1에 나타낸 제어시스템의 개념을 실시하기 위한 구체적인 구성도를 나타낸다.
사용자컴퓨팅부(100)는 CPU(110), 메모리(120), 기타 주변회로(130)로 구성되며, 사용자프로그램(즉, 제어 프로그램)(140)을 실행하여 제어알고리즘에 따라 입력정보 및 기타 시스템상태정보로부터 제어정보(제어신호)를 생성한다. 이때 입력정보는 보안컴퓨팅부(200)가 통신인터페이스(500)를 통하여 제공하며, 시스템상태정보는 사용자컴퓨팅부(100)가 자체적으로 생성할 수도 있고 보안컴퓨팅부(200)가 제공할 수도 있다. 앞에서 언급한 것과 같이, 입력정보는 피제어장치(400)로부터 수신한 피제어장치(400)의 상태 신호, 센서감지 신호 등의 정보이고, 제어정보는 피제어장치(400)를 제어하기 위한 출력신호로서, 자동차의 경우 가속 신호, 감속 신호, 자세제어 신호, 제동 신호 등의 제어신호이다. 단, 사용자컴퓨팅부(100)가 만든 제어정보는 아직 피제어장치(400)에 전달되어 피제어장치(400)를 제어하도록 최종 결정된 것이 아니기 때문에, '예비제어정보'라 부르기로 한다.
여기서, 통신인터페이스(500)는 사용자컴퓨팅부(100)와 보안컴퓨팅부(200)의 상호 통신을 담당하며, 사용자컴퓨팅부(100)의 CPU(110)와 보안컴퓨팅부(200)의 CPU(210)를 고속통신으로 직접 연결하는 회로로 구현할 수 있다. 또는, 각각의 시스템버스에 연결되는 DPRAM(dual port RAM)이나 데이터레지스터, 인터럽트신호로 상호 연결하는 로직회로 등을 조합하여 구현할 수 있다.
보안컴퓨팅부(200)는 독자적인 다른 CPU(210)와, 메모리(220), 주변회로(230)로 구성된다. CPU(210)는 보안프로그램(240)을 실행하여 피제어장치(400)로부터 제어입출력부(300)를 통하여 입력되는 입력정보를 통신인터페이스(500)를 통하여 사용자컴퓨팅부(100)에 제공한다. 또한 CPU(210)는 사용자컴퓨팅부(100)에서 생성한 예비제어정보를 통신인터페이스(500)를 통하여 전달받아 상기 입력정보, 시스템상태정보, 제어알고리즘 정보와 사용자설정정보를 함께 분석하여 시스템점검정보를 생성한다. CPU(210)는 이 시스템점검정보를 사용자가 기설정한 시스템상태결정 기준정보와 비교하여, 제어시스템의 상태가 정상범위인 경우에는 상기 예비제어정보를 변경없이 그대로 제어정보로서 제어입출력부(300)로 출력하고 정상범위가 아닌 경우에는 사용자가 기설정한 보안조치를 수행한다.
제어입출력부(300)는 사용자컴퓨팅부(100)에는 연결되지 않고 보안컴퓨팅부(200)에만 연결된다. 제어입출력부(300)는 물리적인 입출력 신호를 처리하도록 구성할 수 있다. 이 경우 제어입출력부(300)는 PLC(programmable logic controller)의 디지털입출력 모듈이나 아날로그입출력 모듈과 같은 기능을 하도록 구성할 수 있다. 또한 제어입출력부(300)는 데이터통신장치로 구성하여 피제어장치(400)의 통신포트에 연결할 수도 있다. 이때 입출력정보는 통신프로토콜에 따라 전송되거나 수신될 것이다.
도 3은 도 2에 나타낸 고립된 사용자컴퓨팅부를 갖는 제어시스템의 구체적인 태스크 처리 흐름도이다.
s10: 먼저, 보안컴퓨팅부(200)에서는 사용자설정정보를 생성해 둔다. 사용자설정정보는 추후에 시스템점검정보를 도출하는 데 사용되는 것으로, 사용자에 의해 설정된다. 사용자설정정보에는 시스템상태결정기준정보에 사용될 각종정보가 포함될 수 있다. 또한 기본적인 정보로서 입출력 한계값, 통신 데이터의 양(시간당 트래픽), 통신 데이터 패킷의 구성 및 종류, 통신 대상(peer, destination)의 범위, 출력 값의 시간당 변이 범위, 인터로킹 제한(constraints), CPU 온도 등이 포함될 수 있다.
자율주행자동차의 경우 주행경로가 설정되는 경우 목적지까지의 주행경로정보가 사용자 설정정보가 될수 있으며, 주행경로를 이탈하는 경우의 허용오차, 최고주행속도, 가속비율, 감속비율, 차간거리 등도 사용자 설정정보가 될 수 있다. 또한 자동차가 주행경로를 벗어나 보안상황이 발생하면 자동차를 안전하게 길가에 주차시키고 정지하는 보안제어프로그램도 설정정보가 될 수 있다.
같은 개념으로 여객기의 경우에는 목적지까지의 비행경로와 비행경로를 이탈하는 경우의 허용오차, 전후방 장애물과의 안전거리등이 사용자 설정정보가 될수 있다. 또한 공공시설에서 사용되는 안내로봇의 경우 동작영역, 이동속도, 장애물이나 인간으로부터 안전거리 등이 사용자 설정정보가 될 수 있다.
s20: 아울러, 보안컴퓨팅부(200)에서는 피제어장치(400)의 시스템상태 결정을 위한 기준정보(이하, '시스템상태 결정 기준정보')를 설정한다. 이 시스템상태 결정 기준정보는 추후에 시스템상태를 결정하기 위하여 시스템점검정보와 비교할 때의 기준이 되는 정보로, 사용자에 의해 설정된다. 이 시스템상태 결정 기준정보는 사용자 설정정보의 일부 또는 전체가 될 수 있다. s30: 또한, 보안컴퓨팅부(200)에서는 피제어장치(400)의 시스템상태가 정상범위 밖이라고 결정된 경우에 수행할 보안조치를 설정한다. 이 보안조치도 사용자에 의해 설정되며 일반적으로 보안조치프로그램의 형태로 설정가능하다. 예를 들면 보안조치는 비행기의 경로이탈시 조종사에게 경고하고 후술한 보안입출력부(600)를 통하여 지상의 관제센터에 보고하는 것이 될 수도 있다. 또한 비행기가 전방 장애물과 최소안전거리이내로 접근한 경우 보안상황 발생을 조종사에게 경고하고 사용자컴퓨팅부가 제공한 예비제어정보를 무시한 후, 사용자가 설정한 보안제어프로그램에 따라 생성된 제어정보를 최종출력정보로 하여 비행기를 자동제어하여 장애물로부터 벗어난 후 고도를 유지하면서 지상의 관제센터에 이를 보고하여 추후명령을 대기하는 것일 수도 있다.
s40: 피제어장치(400)에서는 앞에서 언급한 것과 같이 상태 신호, 센서에서 감지된 신호 등의 정보를 출력하는데, 이 정보는 제어입출력부(300)을 통해 입력정보로서 보안컴퓨팅부(200)로 전달된다(s50).
s60: 보안컴퓨팅부(200)는 상기 수신한 입력정보를 사용자컴퓨팅부(100)에 제공한다. 입력정보는 도 2에서 설명한 것과 같이 통신인터페이스(500)를 통해서 보안컴퓨팅부(200)로부터 사용자컴퓨팅부(100)로 전달된다.
s70: 사용자컴퓨팅부(100)는 수신한 입력정보를 이용하여 피제어장치(400)를 제어하는 사용자프로그램(제어 프로그램)을 실행하여 예비제어정보를 생성한다. 여기서 예비제어정보는 피제어장치(400)를 제어하기 위한 제어정보로서 아직 확정되지 않은 정보임을 위에서 언급한 바 있다. 제어정보에는 출력 신호, 통신 데이터가 모두 포함될 수 있다.
s80: 사용자컴퓨팅부(100)에서 생성된 예비제어정보는 보안컴퓨팅부(200)로 전달된다. 이 때에도 예비제어정보는 도 2에서 설명한 통신인터페이스(500)를 통해서 사용자컴퓨팅부(100)로부터 보안컴퓨팅부(200)로 전달된다.(이하에서는 사용자컴퓨팅부(100)와 보안컴퓨팅부(200) 간의 데이터 교환이 통신인터페이스(500)를 통해 수행된다는 설명을 생략한다.)
s90: 보안컴퓨팅부(200)는 보안프로그램(240)을 실행하여 상기 사용자설정정보와, 제어입출력부(300)를 통해 수신한 입력정보와, 제어알고리즘 및 사용자컴퓨팅부(100)로부터 받은 예비제어정보를 이용하여 시스템점검정보를 도출한다.
여기서, 시스템점검정보에는 사용자 설정정보와 연계되는 각종정보가 포함될 수 있다. 예를 들어 자율주행자동차의 경우에는 자동차의 현재위치, 자동차의 현재속도, 차간거리가 최소안전거리 이내였던 경우가 있었는지를 보고하는 이력정보, 가속/감속 이력정보 등이 포함될 수 있다. 이와 별도로 시스템의 입력값, 출력값, 통신 데이터, 사용자컴퓨팅부(100)의 운영체계의 무결성 정보, 사용자컴퓨팅부(100)의 제어프로그램의 무결성 정보, 사용자컴퓨팅부(100)의 메모리 상태(체크섬에러 여부, 사용량 정보 등), 사용자컴퓨팅부(100)의 CPU 온도, CPU 사용량, 사용자컴퓨팅부(100)에서 실행되는 프로그램의 개수 등이 포함될 수 있다. 시스템점검정보에는 현재 상태뿐만 아니라 시간에 따라 변화되는 상태의 변화도 포함될 수 있다.
본 시스템점검정보 도출단계에서 수행되는 연산작업은 다른 방식으로 진행하여 연산결과의 정확성을 높이거나 병렬로 진행하여 연산시간을 단축할 수도 있다. 즉 사용자컴퓨팅부(100)가 수행하는 제어연산단계와 동일한 방식으로 보안컴퓨팅부(200)가 직접 생성한 예비제어정보를 사용자컴퓨팅부(100)가 생성하여 제공한 예비제어정보와 비교하는 방식으로 결과를 검증한 후 이를 제어알고리즘, 입력정보, 시스템상태정보, 사용자의 설정정보를 이용하여 보안컴퓨팅부(200)의 보안프로그램이 시스템점검정보를 만드는 방식으로 변형할 수 있다. 또는, 사용자컴퓨팅부(100)가 제공하는 예비제어정보가 필요없는 연산절차를 보안컴퓨팅부(200)가 병렬로 진행하고 사용자컴퓨팅부(100)가 제어예비정보를 제공한 후 나머지 연산절차를 수행하는 방식으로 연산시간을 단축할 수도 있다.
s100: 보안컴퓨팅부(200)는 상기 도출한 시스템점검정보를 상기 사용자에 의해 설정된 시스템상태 결정 기준정보와 비교하여 피제어장치(400)의 동작 상태(즉 시스템상태)를 결정한다. 시스템상태 결정 기준정보로는 사용자설정정보 전체 또는 일부가 사용될 수 있다. 예를 들어 자율주행자동차의 경우 목적지까지의 주행경로정보, 주행경로를 이탈하는 경우의 최대 허용오차, 최고주행속도, 가속비율, 감속비율, 차간거리 등이 사용자 설정정보가 될 수 있는데 이중에서 주행경로정보와 최대허용오차만을 시스템상태 결정 기준정보를 사용하는 것이 가능하다. 이 경우 시스템상태정보에 포함된 현재위치와 주행경로정보를 비교하여 만일 차량의 현재위치가 최대허용오차 이내로 주행경로상에 있다면 차량의 상태는 정상범위 이내로 판단되며 허용오차를 벗어난 경우라면 정상범위 밖으로 판단된다.
s110: 상기 시스템상태결정 단계(s100)에서 시스템의 상태가 정상범위라고 보안컴퓨팅부(200)가 판단하면 사용자컴퓨팅부(100)가 생성한 상기 예비제어정보를 제어입출력부(300)로 최종제어정보로서 전달한다.
s120: 이에 피제어장치(400)는 이 최종제어정보를 수신하여 이에 상응하는 동작을 수행한다.
s130: 한편, 상기 시스템상태결정단계(s100)에서 보안컴퓨팅부(200)가 시스템상태가 정상범위 밖이라고 결정한 경우에는 사용자가 사전에 설정한(s30) 보안조치(예를 들어, 보안조치프로그램)를 수행한다.
사용자에 의해 기설정된 보안조치는 일련의 제어프로그램이 될 수도 있고 단일 제어정보들의 조합이 될 수도 있다. 보안조치는 자동 또는 수동으로 개시(initiate)될 수 있다.
보안조치는, 사용자컴퓨팅부(100)의 복원을 위해 일정 시간 동안 사용자컴퓨팅부(100)에 복원을 시도하도록 명령하는 것이나 상태 정보의 심각성에 따라 사용자컴퓨팅부(100)의 운영체제 및 응용 프로그램을 초기 상태로 복원(restore) 및 리셋(리부팅)하는 것일 수 있다. 이는 사용자컴퓨팅부(100)에 하드웨어적인 리셋신호나 NMI(non maskable interrupt)신호를 인가하는 방식으로 구현이 가능하다.
보안조치에 의해 사용자컴퓨팅부(100)의 연산결과가 실제 출력에 반영되지 않도록 제한되고 사용자컴퓨팅부(100)가 정상 상태로 복원되는 경우 다시 사용자컴퓨팅부(100)가 출력을 내도록 허용할지 여부는 사용자 설정에 의해 결정될 수 있다.
또한 보안조치는 통신망으로 연결된 제3의 제어시스템 또는 통제자(위원회)가 제공하는 정보를 반영하여 자동 또는 수동으로 단계적으로 수행될 수 있다.
보안조치가 실행되면 시스템의 사용자(operator) 또는 관리자(supervisor)에게 시각적, 청각적, 또는 햅틱(haptic) 알람을 제공하여 이들에게 보안조치의 자동 개시를 알리거나 이들이 수동으로 보안조치를 실행할 수 있도록 보안조치프로그램을 구동할 수 있다. 이때 보안컴퓨팅부에 새로운 보안조치프로그램을 다운로드 하여 보안조치가 수행될 수 있도록 각종 수단을 제공할 수도 있다.
도 4는 도 2에 나타낸 제어시스템의 변형 실시예의 구성도이다.
보안컴퓨팅부(200)에 보안입출력부(600)가 포함되거나 연결되어 구성된다. 보안입출력부(600)는 물리적인 입출력신호를 처리하도록 구성할 수 있는데, 이 경우 PLC(programmable logic controller)의 디지털입출력 모듈이나 아날로그입출력 모듈과 같은 기능을 하도록 구성할 수 있다. 또한 보안입출력부(600)를 데이터통신장치로 구성하여 보안제어장치(650)의 통신포트에 연결할 수도 있다. 이 경우 비상상황에서 제어권한을 위임받은 제3자나 기관에게 보안입출력부(600)를 이용하여 전체시스템의 상황을 보고하거나 또는 상기 제3자나 기관이 보안제어장치(650)를 이용하여 보안컴퓨팅부(200)에 명령을 내리고 비상대응을 위한 프로그램을 다운로드하는 등으로 전체시스템을 제어하는 것이 가능하다.
보안입출력부(600)는 사용자컴퓨팅부(100)가 사용할 수 없다. 예를 들어 자율주행자동차의 경우 경로를 이탈하여 보안상황이 발생한 경우 보안컴퓨팅부(200)는 이에 상응하는 보안조치프로그램을 구동시켜 차량을 안전하게 길가로 이동하여 주차시킨 후 보안입출력부(600)를 이용하여 경찰이나 그 밖에 관련자에게 통보할 수 있다.
이상과 같은 구성 및 기능을 갖는 본 발명의 제어시스템을 911 테러 비행기의 조종시스템에 적용했다고 가정하면, 본 발명의 보안컴퓨팅부(200)는 비행정보(고도, 방향, 날개들의 상태, 풍속, 레이다정보 등)와 조종사의 의도를 파악할 수 있는 여러 가지 정보(엔진출력, 날개들의 상태, 조종간의 위치 등)를 종합하여 이 비행기가 빠르게 하강하는 중이라는 것을 계산할 수 있다. 그리고 조종간의 위치를 비롯한 입출력정보를 분석하여 얼마 후에 전방의 건물에 충돌할 것을 계산할 수 있다. 또한 현재 상태에서 조종간을 비롯한 제어입력을 바꿔야만 비행기가 건물에 충돌하지 않고 비행이 가능하다는 것을 인지할 수 있다. 이 경우 보안컴퓨팅부(200)는 사용자컴퓨팅부(100) 또는 조종사에게 문제가 있음을 즉각 파악하여, 조종사의 조종입력을 무시하고 기설정된 보안조치프로그램에 따라 지상의 통제를 받아 비행 상태를 유지하거나 자동비상착륙을 실행할 수 있다. 이상의 내용은 조종사의 유고(부재) 시에도 응용 가능하다.
또한, 말레이시아 항공기 실종사건을 되돌아보면, 항공기가 기설정된 경로를 이탈한 것은 항공기 운항 중 어느 정도 있을 법한 일이므로 경로 이탈만으로 조종사의 의도를 파악하기는 어렵다. 그러나 본 발명을 적용하게 되면, 보안컴퓨팅부(200)가 경로이탈 시간이나 이탈정도 등을 검토하여 이를 관제센터에 보고하고 관제센터의 통제에 따라 조종사를 배제하고 비행기를 경로 내로 복귀시키고 다음 명령을 기다리거나 자동비상착륙을 하도록 할 수 있다. 즉, 사용자컴퓨팅부(100)에 해당되는 조종사의 실시간 운항 데이터를 보안컴퓨팅부(200)가 분석함으로써 이상 상황을 감지하고 통제할 수 있다.
또한, 자동차의 경우, 해킹 또는 인공지능(자율주행기능)의 이상 동작으로 자동차가 탑승자의 의도와 다르게 운행될 수 있다. CPU가 하나인 종래의 컴퓨팅 구조에서는 인공지능(AI) 자체가 선의의 통제자였으므로 사실상 이를 바로잡는 것이 어려웠다. 이러한 문제는 ARM 계열의 CPU에 채택된 트러스트존(Trust Zone) 보안기술에서도 동일하게 문제시된다. Trust Zone 보안기술은 논트러스트존(Non-trust Zone)의 프로세스들이 트러스트존에 위치한 리소스를 액세스하지 못하도록 하는 것이지만 (본 발명과 같이 입출력을 통제하는 별도의 부분이 없는 한) 트러스트존의 리소스를 보호하는 것만으로는 시스템설계자가 의도하지 않은 이상동작을 막을 수 없다. 하지만 본 발명을 활용하면, 사용자컴퓨팅부(100)가 고립된 구조이므로 사용자컴퓨팅부(100)의 동작(실행결과 및 출력)의 이상을 보안컴퓨팅부(200)가 탑승자, 운영자, 또는 관제센터에 알리고 탑승자나 관제센터의 통제에 따라 정차하거나 운행을 계속하도록 하는 것이 가능하다. 예를 들면 AI로 자율주행중인 차량의 제어시스템이 해킹 당했다고 가정해보면, 해킹 후 제어시스템은 해커의 의도대로 차량 안의 대화를 해커에게 송출하거나 경로를 바꾸어 주행하거나 심지어는 경로를 완전히 이탈시켜 차량을 다리 아래로 추락시킬 수도 있다.
그러나 본 발명의 고립된 사용자컴퓨팅부(100)를 갖는 제어시스템을 적용하면, 해킹에 의해 대화 내용을 송출하려 해도 입력 및 출력 장치를 보안컴퓨팅부(200)가 관장하므로 송출 시도를 탑승자에게 통보하여 제지할 수 있다.
그리고 경로를 이탈시켜 타 차량 또는 시설물과 충돌시키거나 다리 아래로 추락시키려 할 경우에도 보안컴퓨팅부(200)는 차량의 주행정보(속도, 바퀴의 정렬상태, 도로상태, 엔진출력상태, 핸들위치 등)와 사용자가 설정한 최소안전거리 등을 고려하여 급격한 방향전환을 제지할 수 있어 해커의 공격으로부터 차량과 탑승자를 보호할 수 있다.
나아가 해커의 공격이나 AI의 오동작으로 사용자컴퓨팅부(100)시스템이 이상해져 항공기나 차량 등이 정지하더라도 본 시스템은 보안컴퓨팅부(200)가 사용자컴퓨팅부(100)를 리셋시키는 방식으로 사용자컴퓨팅부(100)를 정상적으로초기화 또는 복원 가능하다.
이하, 본 발명을 적용한 구체적인 실시예를 소개한다.
실시예 1: 자율주행자동차
자율주행자동차는 일반적으로 조향장치, 구동장치(엔진/모터 및 제동장치 포함), 자율주행컴퓨터(ECU 포함), GPS, 영상장치, 레이더, 운전자인터페이스 등으로 구성된다. 또한 일반적으로자율주행컴퓨터의 입력장치와 출력장치에 조향장치, 구동장치, GPS, 영상장치, 레이더, 운전자인터페이스가 모두 직접 연결되어 있을 것이다. 따라서 자율주행컴퓨터는 영상장치로 입력되는 자동차 전후방 등 영상을 분석한 정보와 GPS, 레이더 등이 제공하는 정보(입력정보)를 이용하여 조향장치와 구동장치에 적절한 제어신호(제어정보)를 출력하여 사용자가 설정한 경로를 주행하게 된다.
본 실시예에 따르면, 자율주행컴퓨터는 본 발명에 따른 제어시스템중 제어입출력부(300), 보안컴퓨팅부(200), 통신인터페이스(500)와 사용자컴퓨팅부(100)로 구성될 것이고 조향장치, 구동장치, GPS, 영상장치, 레이더, 운전자인터페이스 등이 피제어장치(400)들이 된다. 한편 선택적으로 보안입출력부(600)와 보안제어장치(650)가 연결가능하다. 따라서 자율주행을 담당하는 인공지능프로그램은 사용자프로그램으로서 사용자컴퓨팅부(100)에서 실행되고 보안컴퓨팅부(200)에서는 보안프로그램이 실행되며, 제어입출력부(300)에는 상기 조향장치, 구동장치, GPS, 영상장치, 레이더, 운전자인터페이스가 연결된다. 즉 사용자컴퓨팅부(100)는 제어입출력부(300)과 보안컴퓨팅부(200)를 통해서 연결되어 있다. 경우에 따라서는 제어입출력부(300) 중의 일부를 보안컴퓨팅부(200)가 전용으로 사용할 수도 있다.
이제 운전자가 운전자인터페이스를 통해서 목적지를 정하고 경로를 설정했다고 가정하자. 또한 운전자가 보안컴퓨팅부(200)의 보안제어모듈에 '경로에서 100m 이상 이탈하는 경우 길가에 즉시 정지'하도록 보안제어를 위한 정보와 보안조치(보안프로그램)를 설정하였다고 가정하자.
차량이 출발하여 목적지에 도달할 때까지 사용자컴퓨팅부(100)에서 실행되는 자율주행 AI프로그램은 입력 및 출력수단을 이용하여 차량의 각종 장치로부터 정보(입력정보)를 읽어들이고 자율주행알고리즘을 실행하여 피제어장치를 조작하는 신호(제어정보)를 생성하여 출력함으로써 차량을 조종하게 된다.
한편 자율주행컴퓨터의 보안컴퓨팅부(200)는 사용자컴퓨팅부(100)의 요청에 따라, 제어입출력부(300)로부터 정보를 읽어들이고 제어입출력부(300)로 정보를 출력한다. 대부분, 상기 읽어들인 정보는 사용자컴퓨팅부(100)에 제공하고 사용자컴퓨팅부(100)가 출력하는 정보(예비제어정보)는 보안프로그램으로 점검된 후 제어입출력부(300)에 전달된다. 이를 위해, 먼저 보안컴퓨팅부(200)는 차량의 각종 장치와 연결된 입력장치의 입력정보를 사용자컴퓨팅부(100)에 제공하는 입력정보 제공단계(s60)를 수행한다. 이때 차량 조향장치와 구동장치의 현재상태정보, GPS 위치정보, 전후방영상 또는 영상분석의 결과로 제공되는 차선 및 차량/장애물정보, 레이더로부터 제공되는 전방장애물의 거리 및 위치정보, 운전자인터페이스로부터 수신된 운전자입력정보 등이 사용자컴퓨팅부(100)에서 실행중인 자율주행 AI프로그램에게 전달된다.
다음, 사용자컴퓨팅부(100)로부터 보안컴퓨팅부(200)가 예비제어정보를 전달받는 예비제어정보수신단계(s80)가 진행된다. 이 때 예비제어정보는 사용자컴퓨팅부(100)의 자율주행 AI프로그램이 입력된 정보를 바탕으로 자율주행알고리즘을 수행시켜 생성되는데, 이는 조향장치와 구동장치제어정보, GPS제어정보, 영상장치제어정보, 레이더제어정보, 사용자인터페이스제어정보 등을 포함한다.
다음, 상기 예비제어정보, 상기 입력정보, 사용자 설정정보를 이용하여 보안컴퓨팅부(200)는 시스템점검정보를 만드는 시스템점검정보도출단계(s90)를 수행한다. 이 단계에서 사용자 설정정보는 목적지까지의 경로정보이다. 그리고 차량이 경로대로 주행중인지를 파악하기 위하여는 GPS로부터 읽어들인 차량의 현재위치정보가 필요하므로 시스템점검정보는 경로정보와 현재위치정보에 기반한다.
이어서 상기 시스템점검정보와 사용자가 설정한 시스템상태 결정 기준정보와 비교하는 시스템상태결정단계(s100)가 수행된다. 이 단계에서 사용자가 설정한 시스템상태 결정 기준은 '경로에서 100m 이상 벗어남'이 되므로 경로정보와 현재위치정보를 비교하여 100m 이상 차이가 나는지 확인한다.
끝으로 상기 시스템상태결정단계에서 시스템의 상태가 정상범위라고 판단되면 최종제어정보를 제어입출력부(300)로 출력하고(s110), 시스템의 상태가 정상범위가 아닌 것으로 판단되면 사용자가 기설정한 보안조치를 실행하는 보안제어단계(s130)가 수행된다. 본 실시예에서는 차량의 현재위치가 경로 내 100m 이내인 경우에는 차량의 상태가 정상범위라고 판단하게 되고 사용자컴퓨팅부(100)가 생성한 예비제어정보가 최종제어정보로서 차량의 각종 피제어장치로 전달된다.
그러나 차량의 현재위치가 경로와 100m 이상 차이 나게 되면 보안조치를 위한 보안조치프로그램이 실행된다. 보안조치는 '즉시 차량을 길가에 정지시키는 것'이므로 보안컴퓨팅부(200)는 운전자인터페이스에 '경로를 이탈하여 정지함'을 표시하고, 차량 조향장치와 구동장치의 현재상태정보, GPS 위치정보, 전후방영상 또는 영상분석의 결과로 제공되는 차선 및 차량/장애물정보, 레이더로부터 제공되는 전방장애물의 거리 및 위치정보 등을 참고하여 보안조치실행단계를 실행한다. 이 과정에서 보안조치프로그램이 실행되면 조향장치와 구동장치제어정보, GPS제어정보, 영상장치제어정보, 레이더제어정보, 사용자인터페이스제어정보가 생성되므로 보안컴퓨팅부(200)는 이러한 정보를 제어입출력부(300)에 제공하여 차량을 제어하게 된다.
일단 보안조치가 실행되면 보안컴퓨팅부(200)는 사용자컴퓨팅부(100)의 동작과 무관하게 보안조치가 완료될 때까지 차량을 제어하게 된다. 본 실시예에서는 실시간으로 주변차량과 장매물을 분석하고 차량을 길가로 이동시켜 정차시키는 조치가 완료될 때까지 차량을 제어한다. 이때 경우에 따라 운전자는 운전자인터페이스를 이용하여 보안컴퓨팅부(200)에 보안조치를 중단시키는 명령을 내릴 수도 있다.
본 실시예에는 '경로와 현재차량위치가 100m 이상 차이 나면 즉시 차량을 길가에 정지시키는 보안조치'를 수행하는 것인데, 다른 예로 '경로와 현재차량위치가 100m 이상 차이 나면 운전자인터페이스를 통해서 운전자의 지시를 받을 것'을 보안조치로 수행시킬 수도 있다. 이럴 경우 보안컴퓨팅부(200)는 사용자컴퓨팅부(100)가 생성한 제어정보(즉, 예비제어정보)를 차량의 각종 장치로 출력하여 차량의 조종을 사용자컴퓨팅부(100)에 맡긴 상태에서 사용자인터페이스를 통하여 차량이 경로에서 100m 이상 벗어났음을 알리고 운전자의 지시를 받을 수 있다.
일반적인 단일 CPU를 가지는 자율주행컴퓨터에서도 상기 언급된 자율주행알고리즘 프로그램과 보안제어프로그램이 동시에 실행될 수 있지만, 단일 CPU를 가지는 자율주행컴퓨터에서는 자율주행알고리즘이 폭주하는 경우 보안제어프로그램이 실행되지 못하거나 느리게 실행되어 사고를 유발할 가능성이 항상 존재한다. 그에 비하여 본 발명에 따른 제어시스템은 사용자컴퓨팅부(100)의 오동작이나 자율주행알고리즘 이상과 같은 폭주현상으로 차량이 경로를 벗어나게 되면 보안컴퓨팅부(200)가 개입하여 확실하고 안정적인 방식으로 차량을 운전자의 통제하에 관리하므로 사고 가능성을 크게 낮출 수 있다.
실시예 2: 여객기
여객기는 일반적으로, 조향장치(날개 및 바퀴 등 포함), 구동장치(엔진 및 제동장치 포함), 비행컴퓨터, GPS, 영상장치, 측정장치(각종센서), 레이더, 위성통신장치, 조종사인터페이스 등으로 구성되는 비행시스템을 갖는다. 이 때 비행컴퓨터의 입력 및 출력부에 상기 각종 장치들이 연결되고, 엔진이나 날개를 제어하는 유압장치들도 통신망으로 연결되어 전자적으로 구동되는 것으로 가정하자. 따라서 비행컴퓨터는 조종사인터페이스로부터 전달되는 조종사의 조종신호와 각종 장치들이 제공하는 정보(입력정보)를 이용하여 조향장치와 구동장치에 적절한 제어신호(제어정보)를 출력하여 날개와 엔진을 제어하여 여객기가 설정된 경로를 비행하도록 할 것이다.
이 때 비행컴퓨터는 본 발명에 따라 구성되는 제어시스템이며, 제어입출력부(300)로부터 고립된 사용자컴퓨팅부(100), 그리고 사용자컴퓨팅부(100)와 연결되는 통신인터페이스와 보안제어모듈(프로그램)을 갖는 보안컴퓨팅부(200)로 이루어진다. 따라서 비행을 담당하는 비행제어 프로그램은 사용자프로그램으로 사용자컴퓨팅부(100)에서 실행되고, 보안컴퓨팅부(200)에서는 보안제어모듈 프로그램이 실행되며, 제어입출력부(300)에는 피제어장치(400)로서 상기 각종 장치들이 연결된다. 또한 사용자컴퓨팅부(100)는 통신인터페이스를 통해서 보안컴퓨팅부(200)에 연결되고 보안컴퓨팅부(200)에 제어입출력부(300)가 연결되어 있다. 경우에 따라서는 제어입출력부(300) 중의 일부를 보안컴퓨팅부(200)가 전용으로 사용할 수도 있다.
이제 조종사나 항법사가 조종사인터페이스를 통해서 목적지에 대한 정보를 입력하여 경로를 설정했다고 가정하자. 또한 항공운항을 총괄하는 정부기관, 예를 들면 교통안전위원회(NTSB)가 보안제어모듈에 '계획된 비행경로에서 100km 이상 이탈하는 경우 즉시 자동항법비행으로 전환하고 위성통신장치로 NTSB에 보고'하도록 보안제어를 위한 정보와 보안조치(보안조치프로그램)를 설정하였다고 가정하자.
여객기가 출발하면 목적지에 도달할 때까지 사용자컴퓨팅부(100)에서 실행되는 비행제어 프로그램은 제어입출력부(300)를 이용하여 항공기의 각종 장치로부터 정보를 읽어들이고 조종사의 입력을 조종사인터페이스로 전달받아 비행제어 알고리즘을 수행시켜 각종 장치를 제어하는 신호를 생성하여 출력함으로써 실질적으로 여객기를 조종하게 된다.
한편 비행컴퓨터의 보안컴퓨팅부(200)는 사용자컴퓨팅부(100)의 요청에 따라, 입력장치로부터 읽어들인 정보를 제공하거나 출력장치로 정보를 출력한다. 보안컴퓨팅부(200)는 읽어들인 정보를 사용자컴퓨팅부(100)에 입력정보로서 제공하고 사용자컴퓨팅부(100)가 출력하는 정보는 보안프로그램으로 점검된 후 제어입출력부(300)로 전달된다.이를 위해, 먼저 보안컴퓨팅부(200)는 비행기의 각종 장치와 연결된 입력장치의 입력정보를 사용자컴퓨팅부(100)에 제공하는 입력정보 제공단계(s60)를 수행한다. 이때 비행기의 각 날개의 상태를 비롯한 조향장치 현재상태정보와 엔진들과 같은 구동장치의 현재상태정보, 측정장치로부터 입력되는 고도, 기압, 풍향, 풍속, 온도 등의 상태정보, GPS 위치정보, 레이더로부터 제공되는 전방장애물의 거리 및 위치정보, 조종사인터페이스로부터 수신된 조종사의 입력정보 등이 사용자컴퓨팅부(100)에서 실행중인 비행제어프로그램에게 전달된다.
다음으로 사용자컴퓨팅부(100)로부터 보안컴퓨팅부(200)가 예비제어정보를 전달받는 예비제어정보수신단계(s80)가 진행된다. 이 때 예비제어정보는 사용자컴퓨팅부(100)의 비행제어 프로그램이 입력된 정보를 바탕으로 비행알고리즘을 수행시켜 생성(s70)된다. 예비제어정보는, 날개 등의 조향장치와 엔진 등의 구동장치제어정보, 측정장치 제어정보, GPS제어정보, 영상장치제어정보, 레이더제어정보, 조종사인터페이스제어정보 등으로 구성된다.
다음으로 상기 예비제어정보, 상기 입력정보, 사용자 설정정보를 이용하여 보안컴퓨팅부(200)의 보안제어모듈 프로그램이 시스템점검정보를 만드는 시스템점검정보도출단계(s90)가 수행된다. 이 단계에서 보안컴퓨팅부(200)의 사용자는 NTSB이고, 설정정보는 목적지까지의 경로정보이다. 그리고, 비행기가 보고된 경로대로 비행중인지를 파악하기 위하여 GPS로부터 읽어들인 비행기의 현재위치정보가 필요하므로 시스템점검정보는 경로정보와 현재위치정보를 기반으로 구성된다.
다음으로 상기 시스템점검정보와 사용자가 설정한 시스템상태 결정 기준정보와 비교하는 시스템상태결정단계(s100)가 수행된다. 이 단계에서 보안컴퓨팅부(200)에서 사용자가 설정한 시스템상태 결정 기준정보는 '비행경로에서 벗어날 수 있는 최대오차 100km'이므로, 경로정보 및 현재위치정보를 기반으로 비행경로가 100km 이상 차이 나는지를 확인한다.
끝으로 상기 시스템상태결정단계에서 시스템의 상태가 정상범위라고 판단하는 경우 최종제어정보를 제어입출력부(300)로 출력한다. 상기 시스템의 상태가 정상범위가 아닌 것으로 판단되면 사용자가 기설정한 보안조치를 실행하는 보안조치실행단계(s130)가 수행된다.
본 실시예에서는 비행기의 현재위치가 경로와 100km 이내인 경우에는 비행기의 상태가 정상범위라고 판단하고 사용자컴퓨팅부(100)가 생성한 예비제어정보가 최종제어정보로서 비행기의 각종 장치로 출력된다. 그러나 비행기의 현재위치가 경로와 100km 이상 차이나게 되면 보안조치가 실행된다. 보안조치는 '즉시 자동항법비행으로 전환하고 NTSB에 보고할 것'이므로 보안컴퓨팅부(200)는 조종사인터페이스에 '경로를 이탈하여 NTSB에 상황을 보고함'이라고 표시하고, 여객기가 자동항법비행 모드로 비행하도록 설정하고, 위성통신장치를 이용하여 NTSB에 비행기 각종 장치의 현재상태정보와 GPS 위치정보, 조종실영상, 레이더로부터 제공되는 전방장애물의 거리 및 위치정보 등을 보고한다. 실질적으로는 NTSB의 안전관리컴퓨터에 위성통신으로 연결되어 비행기의 현재상황을 실시간으로 전달하여 NTSB의 후속조치를 전달받는 방식으로 구현되는 것이 바람직하다.
NTSB는 안전관리컴퓨터가 제공하는 여객기의 상태를 파악하여 조종사와 교신할 수 있다. 그러나 말레이시아 여객기 실종사고처럼 조종사가 비행기의 위치를 송신하는 장치와 통신장치를 모두 꺼놓은 상태라면 교신이 불가능할 수도 있다. 그러나 이러한 실종사고와 달리 본 발명이 적용된 제어시스템을 구비한 여객기는 조종사가 비행기의 위치를 송신하는 장치를 꺼놓아도 보안컴퓨팅부(200)가 비행기의 위치정보를 포함한 모든 상태정보를 가지고 있으므로 항공안전당국에 비행기의 위치를 보고하고 조종사의 의도를 완전히 배제하여 실종사고를 막을 수 있다. 나아가 NTSB가 안전관리컴퓨터를 이용해서 무인 드론처럼 비행기를 제어하여 가까운 공항에 강제로 착륙시킬 수도 있다.
이상에서 살펴본 바와 같이 본 발명에 따른 제어시스템은 사용자컴퓨팅부(100)의 사용자(본 실시예에서는, 조종사)의 악의적인 조작을 보안컴퓨팅부(200)의 사용자(본 실시예에서는, NTSB)가 즉시 인지하여 대처할 수 있어 확실하고 안정적인 방식으로 비행기를 항공안전관리자 통제하에 둘 수 있게 된다.
이상과 같이 몇 가지 예시적 실시예를 설명하였다. 그러나 본 발명의 기술적범위 내지는 권리범위가 상술한 실시예의 내용에 한정되는 것은 아니다. 본 발명의 기술적범위 내지 권리범위는 이하의 특허청구범위의 합리적 해석에 의해 정해지는 것이다.
Claims (14)
- 제1CPU 및 주변회로로 구성되고, 피제어장치로부터 전달받은 입력정보를 이용하여 피제어장치를 제어하는 제어프로그램을 실행하여 예비제어정보를 생성하는 사용자컴퓨팅부;
제2CPU 및 주변회로로 구성되고, 피제어장치로부터 전달받은 상기 입력정보와, 제어프로그램, 시스템 상태정보, 및 사용자컴퓨팅부로부터 제공받은 상기 예비제어정보를 이용하여 시스템점검정보를 만들고, 이 시스템점검정보를 기설정된 시스템상태 결정 기준정보와 비교하여 피제어장치의 동작 상태가 정상범위 이내라고 결정된 경우에는 상기 예비제어정보를 변경없이 최종제어정보로서 출력하고 정상범위 밖이라고 결정된 경우에는 기설정된 보안조치를 수행하는 보안컴퓨팅부; 및
상기 피제어장치와 상기 보안컴퓨팅부 사이에 연결되며 상기 사용자컴퓨팅부에는 연결되지 않고, 상기 피제어장치로부터 상기 입력정보를 수신하여 상기 보안컴퓨팅부를 통해 상기 사용자컴퓨팅부로 전달하고, 상기 보안컴퓨팅부가 출력한 최종제어정보를 피제어장치에 전송하는 제어입출력부를 포함하되,
상기 입력정보는 상기 피제어장치의 상태 신호 및 센서 감지 신호 중 적어도 하나를 포함하고,
상기 예비제어정보 및 최종제어정보는 상기 피제어장치를 제어하기 위한 제어신호를 포함하는 것을 특징으로 하는 고립된 사용자컴퓨팅부를 갖는 제어시스템. - 삭제
- 제1항에 있어서, 상기 시스템점검정보는
상기 사용자컴퓨팅부가 생성하여 제공한 예비제어정보와 상기 보안컴퓨팅부가 생성한 제어정보를 비교하여 결과를 검증한 후 도출되는 것을 특징으로 하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템. - 제1항에 있어서, 상기 시스템점검정보는
상기 보안컴퓨팅부가, 상기 사용자컴퓨팅부로부터 제공되는 예비제어정보가 필요없는 연산절차를 병렬로 진행하고 상기 사용자컴퓨팅부가 예비제어정보를 제공한 후에 나머지 연산절차를 수행하여 도출되는 것을 특징으로 하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템. - 제1항에 있어서, 상기 보안조치는 상기 사용자컴퓨팅부의 운영체제 또는 응용 프로그램을 초기 상태로 복원 또는 리셋하는 것을 특징으로 하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템.
- 제1항에 있어서, 상기 보안조치의 수행시에 알람이 출력되는 것을 특징으로 하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템.
- 제1항에 있어서, 상기 제어시스템의 상태를 외부로 보고하거나 상기 보안컴퓨팅부가 수행할 명령이나 컴퓨터프로그램을 외부로부터 수신하는 보안입출력부를 추가로 포함하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템.
- 청구항 1에 기재된 고립된 사용자컴퓨팅부를 갖는 제어시스템에서 수행되는 제어방법으로서,
입력정보를 보안컴퓨팅부를 통해서 사용자컴퓨팅부에 제공하는 입력정보 제공단계;
사용자컴퓨팅부로부터 보안컴퓨팅부가 예비제어정보를 전달받는 예비제어정보수신단계;
상기 예비제어정보와 상기 입력정보를 이용하여 보안컴퓨팅부가 시스템점검정보를 만드는 시스템점검정보 도출단계;
상기 도출된 시스템점검정보와 사전에 설정된 시스템상태판단정보를 비교하는 시스템상태결정단계;
상기 시스템상태결정단계에서 시스템의 상태가 정상범위라고 판단하는 경우 상기 예비제어정보를 출력하는 최종제어정보제공단계; 및
상기 시스템상태결정단계에서 시스템의 상태가 정상범위가 아닌 것으로 판단되는 경우에 보안제어프로그램을 실행하는 보안조치실행단계를 포함하되,
상기 입력정보는 피제어장치의 상태 신호 및 센서 감지 신호 중 적어도 하나를 포함하고,
상기 예비제어정보는 피제어장치를 제어하기 위한 제어신호를 포함하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템에서의 제어방법. - 삭제
- 제8항에 있어서, 상기 시스템점검정보 도출단계에서
상기 사용자컴퓨팅부가 생성하여 제공한 예비제어정보와 상기 보안컴퓨팅부가 생성한 제어정보를 비교하여 결과를 검증한 후 상기 시스템점검정보가 도출되는 것을 특징으로 하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템에서의 제어방법. - 제8항에 있어서, 상기 시스템점검정보 도출단계에서
상기 보안컴퓨팅부가, 상기 사용자컴퓨팅부가 제공한 예비제어정보가 필요없는 연산절차를 병렬로 진행하고 상기 사용자컴퓨팅부가 예비제어정보를 제공한 후에 나머지 연산절차를 수행하여 도출되는 것을 특징으로 하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템에서의 제어방법. - 제8항에 있어서, 상기 보안조치실행단계는
외부에 시스템점검정보, 시스템상태정보, 입력정보, 및 제어정보 중 적어도 하나를 제공하는 보안정보제공단계; 및
외부로부터 제공된 정보를 바탕으로 상기 보안컴퓨팅부에 보안명령을 내리는 보안명령인가단계를 포함하는, 고립된 사용자컴퓨팅부를 갖는 제어시스템에서의 제어방법. - 제8항에 있어서, 상기 입력정보 제공단계에서 입력정보가 상기 보안컴퓨팅부를 통해서 사용자컴퓨팅부에 제공될 때마다, 상기 예비제어정보수신단계, 시스템점검정보도출단계, 시스템상태결정단계, 최종제어정보제공단계, 및 보안조치실행단계가 수행되는, 고립된 사용자컴퓨팅부를 갖는 제어시스템에서의 제어방법.
- 제8항에 있어서, 상기 입력정보 제공단계에서 입력정보가 사전설정된 회수만큼 상기 보안컴퓨팅부를 통해서 사용자컴퓨팅부에 제공된 후에, 상기 예비제어정보수신단계, 시스템점검정보도출단계, 시스템상태결정단계, 최종제어정보제공단계, 및 보안조치실행단계가 수행되는, 고립된 사용자컴퓨팅부를 갖는 제어시스템에서의 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200032145A KR102416612B1 (ko) | 2020-03-16 | 2020-03-16 | 고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200032145A KR102416612B1 (ko) | 2020-03-16 | 2020-03-16 | 고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210115822A KR20210115822A (ko) | 2021-09-27 |
KR102416612B1 true KR102416612B1 (ko) | 2022-07-05 |
Family
ID=77925687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200032145A KR102416612B1 (ko) | 2020-03-16 | 2020-03-16 | 고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102416612B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230409704A1 (en) * | 2021-03-24 | 2023-12-21 | Doek Woo KIM | Control system having isolated user computing unit and control method therefor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006094480A (ja) * | 2004-08-25 | 2006-04-06 | Maspro Denkoh Corp | セキュリティシステム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101797218B1 (ko) * | 2015-07-28 | 2017-11-13 | 이정석 | 원격 방범용 멀티제어장치 |
KR101997254B1 (ko) * | 2017-05-10 | 2019-07-08 | 김덕우 | 고립된 사용자컴퓨팅부를 갖는 컴퓨터 |
-
2020
- 2020-03-16 KR KR1020200032145A patent/KR102416612B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006094480A (ja) * | 2004-08-25 | 2006-04-06 | Maspro Denkoh Corp | セキュリティシステム |
Also Published As
Publication number | Publication date |
---|---|
KR20210115822A (ko) | 2021-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11079754B2 (en) | Multi-stage operation of autonomous vehicles | |
US20240201695A1 (en) | Situational awareness, vehicle control, and/or contingency planning for aircraft actuator failure | |
EP3400676B1 (en) | A safety architecture for autonomous vehicles | |
US6493609B2 (en) | Automatic flight envelope protection for uninhabited air vehicles | |
EP2722835B1 (en) | High integrity, surface guidance system for aircraft electric taxi | |
US11273842B2 (en) | Control system and improved control method for the autonomous control of a motor vehicle | |
CN108628692B (zh) | 用于控制自主受控对象的容错方法 | |
CN113412218B (zh) | 旨在集成在现有飞行器中的采集和分析设备 | |
Leveson et al. | A comparison of STPA and the ARP 4761 safety assessment process | |
CN113247022A (zh) | 一种自动驾驶冗余控制系统及方法 | |
CN114620064A (zh) | 车辆控制系统、自动驾驶车辆以及车辆控制方法 | |
JPS61276036A (ja) | デイジタル自動飛行制御装置 | |
CN112046783A (zh) | 一种三imu冗余技术的飞控方法和系统 | |
KR102416612B1 (ko) | 고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법 | |
EP4227842A1 (en) | Control system having isolated user computing unit and control method therefor | |
KR20230098414A (ko) | C-its 기반 비정형 주행환경에서의 자율주행 운행 시스템 및 방법 | |
CN113260563B (zh) | 用于集成在现有飞行器中的替换驾驶系统 | |
US20190135448A1 (en) | Service, vicinity, and vehicle incident mitigation | |
US20220026928A1 (en) | Layered software architecture for aircraft systems for sensing and avoiding external objects | |
US11834151B2 (en) | System for configuring an aircraft in a single-pilot mode or a two-pilot mode | |
EP4342791A1 (en) | Temporary backup control methodology for actuation of a control surface of a vehicle | |
CN116795121A (zh) | 无人车的控制系统及无人车 | |
Ozeki et al. | Flight simulation using actual helicopter equipped with full-authority FBW system | |
Debouk | Safety Strategy for Autonomous Systems Rami Debouk, Ph. D.; Barbara Czerny, Ph. D.; Joseph D’Ambrosio, Ph. D.; Jeffrey Joyce, Ph. D.; Critical Systems Labs. Inc.; Vancouver, British Columbia, Canada |
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 |