KR20230042947A - 자율 주행 시스템 고장 대처 제어 장치 및 그 방법 - Google Patents

자율 주행 시스템 고장 대처 제어 장치 및 그 방법 Download PDF

Info

Publication number
KR20230042947A
KR20230042947A KR1020210125827A KR20210125827A KR20230042947A KR 20230042947 A KR20230042947 A KR 20230042947A KR 1020210125827 A KR1020210125827 A KR 1020210125827A KR 20210125827 A KR20210125827 A KR 20210125827A KR 20230042947 A KR20230042947 A KR 20230042947A
Authority
KR
South Korea
Prior art keywords
application
failure
processor
autonomous driving
driving system
Prior art date
Application number
KR1020210125827A
Other languages
English (en)
Inventor
임홍열
이은호
Original Assignee
현대자동차주식회사
기아 주식회사
현대오토에버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사, 현대오토에버 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020210125827A priority Critical patent/KR20230042947A/ko
Priority to US17/738,961 priority patent/US20230092493A1/en
Priority to DE102022113739.2A priority patent/DE102022113739A1/de
Priority to CN202210618911.5A priority patent/CN115848391A/zh
Publication of KR20230042947A publication Critical patent/KR20230042947A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0225Failure correction strategy
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/021Means for detecting failure or malfunction
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2306/00Other features of vehicle sub-units
    • B60Y2306/15Failure diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 자율 주행 시스템의 애플리케이션에 대한 오류 발생 시 대처하는 장치 및 그 방법에 관한 것으로, 본 발명에 의하면, 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대한 고장 발생 여부를 판단하고, 애플리케이션에 대한 고장이 발생한 경우, 상기 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행할 수 있다. 본 발명을 통해, 자율 주행 기능을 안정적으로 수행하는 효과를 제공할 수 있다.

Description

자율 주행 시스템 고장 대처 제어 장치 및 그 방법{AN ADAPTIVE FAIL RECOVERY MECHANISM APPARATUS, SYSTEM AND METHOD FOR VEHICLE PROCESSOR}
본 발명은 자율 주행 시스템 고장 대처 제어 장치 및 그 방법에 관한 것으로, 보다 상세하게는 자율 주행 시스템의 애플리케이션에 대한 오류 발생 시 대처하는 장치 및 그 방법에 관한 것이다.
최근 자율 주행 시스템의 애플리케이션이 하나의 통합 제어기에 집적되는 경향이 있다. 다양한 종류의 애플리케이션 중 일부 애플리케이션에 오류가 발생한 경우, 통합 제어기의 리셋 등을 통해 복구를 시도하게 된다면, 오류가 발생하지 않은 애플리케이션까지 중단된다. 또한, 통합 제어기의 운영 체제 시스템을 소프트웨어 단계에서 리셋하여 복구를 시도하더라도, 오류가 발생하지 않은 애플리케이션까지 중단되는 것은 마찬가지이다.
자율 주행 시스템에 관한 일부 애플리케이션의 고장이 발생한 경우에 자율 주행 시스템이 관한 모든 애플리케이션이 중단된다면, 자율 주행 서비스를 안정적으로 제공할 수 없다. 자율 주행 서비스가 안정적으로 제공되지 않는다면, 운전자 또한 자율 주행 시스템을 신뢰할 수 없게 된다. 따라서, 자율 주행에 관한 일부 애플리케이션의 고장 발생 시, 자율 주행 서비스를 안정적으로 제공하고, 사용자의 자율 주행 시스템에 대한 신뢰도 하락을 방지하며, 고장 애플리케이션의 복구를 수행할 수 있는 기술의 개발이 요구되고 있다.
본 발명의 실시 예는, 자율 주행 시스템의 애플리케이션에 대한 오류 발생 시 대처하는 장치 및 그 방법을 제공하고자 한다.
본 발명의 다른 실시 예는, 자율 주행 서비스를 안정적으로 제공하기 위한 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공하고자 한다.
본 발명의 또 다른 실시 예는, 사용자의 자율 주행 시스템에 대한 신뢰도 하락을 방지하기 위한 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공하고자 한다.
본 발명의 또 다른 실시 예는, 다양한 자율 주행 어플리케이션이 하나의 통합 제어기에 집적되더라도, 일부 애플리케이션 고장 상황에 대응할 수 있는 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공하고자 한다.
본 발명의 또 다른 실시 예는, 일부 자율 주행 어플리케이션의 고장 상황 시, 더 긴 시간 동안 가용 서비스를 운전자에게 제공하는 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공하고자 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치는 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대하여 기 설정된 안전 등급에 대한 정보를 저장하는 저장부, 및 상기 애플리케이션에 대한 고장 발생 여부를 판단하고, 상기 애플리케이션에 대한 고장이 발생한 경우, 상기 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 프로세서를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 중에 상기 고장이 발생한 애플리케이션이 복구된 경우, 리셋을 중지하고, 상기 고장이 발생한 애플리케이션을 정상적으로 작동시킬 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 고장이 발생한 애플리케이션에 대한 리셋, 상기 고장이 발생한 애플리케이션에 관한 운영 체제(OS, Operation System)에 대한 리셋 및 상기 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 포함하는 상기 단계적 고장 대처 제어를 기 설정된 순서에 따라서 순차적으로 수행할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 각각의 리셋을 수행하기 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 백업(Backup)할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 고장이 발생한 애플리케이션에 대한 리셋 중 상기 고장이 발생한 애플리케이션과 고장이 발생하지 않은 다른 애플리케이션 간의 데이터 전달이 요구되는 경우, 상기 리셋이 수행되기 전의 데이터 및 상기 고장에 대한 오류 발생 코드를 상기 다른 애플리케이션에 전달할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크(Task)의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 상기 하나 이상의 애플리케이션의 고장을 판단할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 안전 등급에 대응하는 리셋 횟수에 따라, 상기 자율 주행 시스템의 일부를 단계적으로 리셋할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 단계적 고장 대처 제어를 수행한 후, 상기 고장이 발생한 애플리케이션이 복구되지 않은 경우, 고장 코드를 기록하고, 사용자에게 정비 요청을 전달하고, 상기 고장이 발생한 애플리케이션에 관한 제어기를 종료할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 백업된 데이터에 대한 신뢰도를 평가하고, 상기 각각의 리셋을 수행한 후에 주행 상황 및 상기 평가된 신뢰도를 기반으로, 상기 백업된 데이터의 사용 여부를 결정할 수 있다.
일 실시 예에 있어서, 상기 프로세서는, 상기 고장이 발생한 애플리케이션에 대한 리셋 및 상기 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행하기 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 휘발성 또는 비휘발성 메모리에 백업하고, 상기 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 비휘발성 메모리에 백업할 수 있다.
본 발명의 다른 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 방법은 프로세서가, 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대한 고장 발생 여부를 판단하는 단계, 및 상기 프로세서가, 상기 애플리케이션에 대한 고장이 발생한 경우, 상기 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 단계적 고장 대처 제어를 순차적으로 수행하는 단계는, 상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는, 상기 프로세서가, 상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 중에 상기 고장이 발생한 애플리케이션이 복구된 경우, 리셋을 중지하고, 상기 고장이 발생한 애플리케이션을 정상적으로 작동시키는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 단계적 고장 대처 제어를 순차적으로 수행하는 단계는, 상기 프로세서가, 상기 고장이 발생한 애플리케이션에 대한 리셋, 상기 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋 및 상기 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 포함하는 상기 단계적 고장 대처 제어를 기 설정된 순서에 따라서 순차적으로 수행하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 각각의 리셋을 수행하기 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 백업하는 단계를 더 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는, 상기 프로세서가, 상기 고장이 발생한 애플리케이션에 대한 리셋 중 상기 고장이 발생한 애플리케이션과 고장이 발생하지 않은 다른 애플리케이션 간의 데이터 전달이 요구되는 경우, 상기 리셋이 수행되기 전의 데이터 및 상기 고장에 대한 오류 발생 코드를 상기 다른 애플리케이션에 전달하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 고장 발생 여부를 판단하는 단계는, 상기 프로세서가, 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 상기 하나 이상의 애플리케이션의 고장을 판단하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는, 상기 프로세서가, 상기 안전 등급에 대응하는 리셋 횟수에 따라, 상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계를 포함할 수 있다.
일 실시 예에 있어서, 상기 프로세서가, 상기 백업된 데이터에 대한 신뢰도를 평가하는 단계, 및 상기 프로세서가, 상기 각각의 리셋을 수행한 후에 주행 상황 및 상기 평가된 신뢰도를 기반으로, 상기 백업된 데이터의 사용 여부를 결정하는 단계를 더 포함할 수 있다.
본 발명에 따른 자율 주행 시스템 고장 대처 제어 장치 및 그 방법의 효과에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 자율 주행 시스템의 애플리케이션에 대한 오류 발생 시 대처하는 장치 및 그 방법을 제공할 수 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 자율 주행 서비스를 안정적으로 제공하기 위한 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공할 수 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 사용자의 자율 주행 시스템에 대한 신뢰도 하락을 방지하기 위한 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공할 수 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 다양한 자율 주행 어플리케이션이 하나의 통합 제어기에 집적되더라도, 일부 애플리케이션 고장 상황에 대응할 수 있는 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공할 수 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 일부 자율 주행 어플리케이션의 고장 상황 시, 더 긴 시간 동안 가용 서비스를 운전자에게 제공하는 자율 주행 시스템 고장 대처 제어 장치 및 그 방법을 제공할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치의 구체적인 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시 예에 사용되는 ASIL(Automotive Safety Integrity Level) 등급 표를 나타내는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치의 동작을 나타내는 흐름도이다.
도 5는 본 발명의 다른 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치의 동작을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 방법을 나타내는 흐름도이다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면 상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도 1 내지 도 6을 참조하여, 본 발명의 실시 예들을 구체적으로 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치를 나타내는 블록도이다.
본 발명에 따른 자율 주행 시스템 고장 대처 제어 장치(100)는 차량의 내부 또는 외부에 구현될 수 있다. 이때, 자율 주행 시스템 고장 대처 제어 장치(100)는 차량의 내부 제어 유닛들과 일체로 형성될 수 있으며, 별도의 하드웨어 장치로 구현되어 연결 수단에 의해 차량의 제어 유닛들과 연결될 수도 있다.
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 차량과 일체로 구현될 수도 있고, 차량과 별개의 구성으로 차량에 설치/부착되는 형태로 구현될 수도 있고, 또는 일부는 차량과 일체로 구현되고, 다른 일부는 차량과 별개의 구성으로 차량에 설치/부착되는 형태로 구현될 수도 있다.
도 1을 참조하면, 자율 주행 시스템 고장 대처 제어 장치(100)는 저장부(110) 및 프로세서(120)를 포함할 수 있다.
일 예로, 저장부(110)는 플래시 메모리 타입(Flash memory type), 하드디스크 타입(Hard disk type), 마이크로 타입(Micro type), 및 카드 타입(예컨대, SD 카드(Secure Digital Card) 또는 XD 카드(eXtream Digital Card)) 등의 메모리와, 램(RAM, Random Access Memory), SRAM(Static RAM), 롬(ROM, Read-Only Memory), PROM(Programmable ROM), EEPROM(Electrically Erasable PROM), 자기 메모리(MRAM, Magnetic RAM), 자기 디스크(Magnetic disk), 및 광디스크(Optical disk) 타입의 메모리 중 적어도 하나의 타입의 기록 매체(Storage medium)를 포함할 수 있다.
일 예로, 저장부(110)는 프로세서(120)가 동작하는데 필요한 데이터 및/또는 알고리즘 등을 저장할 수 있다.
저장부(110)는 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대하여 기 설정된 안전 등급에 대한 정보를 저장할 수 있다.
여기서, 안전 등급은 자동차 안전 무결성 수준(ASIL, Automotive Safety Integrity Level)을 포함할 수 있다.
자동차 안전 무결성 수준은 자동차 시스템 또는 자동차 시스템의 구성 요소에 대한 고유한 위험의 분류를 의미하는 것으로, 심각성(Severity), 빈도(Exposure) 및 제어 가능성(Controllability)에 따라서, ASIL 등급이 결정될 수 있다.
ASIL 등급에 대하여는 추후 도 3을 통해 구체적으로 설명하기로 한다.
프로세서(120)는 저장부(110) 등과 전기적으로 연결될 수 있고, 각 구성들을 전기적으로 제어할 수 있으며, 소프트웨어의 명령을 실행하는 전기 회로가 될 수 있으며, 이에 의해 후술하는 다양한 데이터 처리 및 계산을 수행할 수 있다. 프로세서(120)는 예를 들어, 차량에 탑재되는 ECU(Electronic Control Unit), MCU(Micro Controller Unit) 또는 다른 하위 제어기를 포함할 수 있다.
프로세서(120)는 저장부(110)와 연결되어, 데이터를 읽고 쓰는 것을 제어할 수 있다.
또한, 프로세서(120)는 자율 주행 시스템에 포함된 소프트웨어 및/또는 하드웨어 형태의 애플리케이션을 관리, 제어 또는 모니터링할 수 있다.
일 예로, 자율 주행 시스템에 관한 기능을 수행하는 애플리케이션은 FCA(Forward Collision Assist) 애플리케이션 및 지도 데이터 전처리 애플리케이션 등을 포함할 수 있다.
프로세서(120)는 애플리케이션에 대한 고장 발생 여부를 판단할 수 있다.
일 예로, 프로세서(120)는 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크(Task)의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 하나 이상의 애플리케이션의 고장을 판단할 수 있다.
일 예로, 프로세서(120)는 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상에 대하여, 각각을 판단하는 하나 이상의 로직을 포함할 수 있다.
일 예로, 프로세서(120)는 애플리케이션의 활성화 명령이 입력되고, 애플리케이션이 활성화되지 않는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
일 예로, 프로세서(120)는 애플리케이션의 수행 명령이 입력되고, 기 설정된 제한시간 내에 애플리케이션의 수행이 완료되지 않는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
일 예로, 프로세서(120)는 애플리케이션의 기능을 수행하기 위한 로직의 순서가 비정상적으로 판단되는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
일 예로, 프로세서(120)는 의존성이 있는 태스크의 실행 순서가 의존성에 따른 순서와 상이하게 실행되는 것으로 판단되는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
일 예로, 프로세서(120)는 애플리케이션의 동기화가 정상적으로 수행되지 않는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
프로세서(120)는 애플리케이션에 대한 고장이 발생한 경우, 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행할 수 있다.
일 예로, 고장 대처 제어는 애플리케이션에 관한 시스템의 일부를 리셋하여 복구를 시도하는 제어를 포함할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋할 수 있다.
이 과정에서, 프로세서(120)는 리셋을 수행하는 대상을 기 설정된 단계에 따라 넓혀가며 리셋을 수행할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션에 대한 리셋, 고장이 발생한 애플리케이션에 관한 운영 체제(OS, Operation System)에 대한 리셋 및 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 포함하는 단계적 고장 대처 제어를 기 설정된 순서에 따라서 순차적으로 수행할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션에 대한 리셋을 수행한 후, 고장이 발생한 애플리케이션이 복구되지 않은 경우, 다음 단계의 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 후, 고장이 발생한 애플리케이션이 복구되지 않은 경우, 다음 단계의 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 수행할 수 있다.
일 예로, 프로세서(120)는 자율 주행 시스템의 일부를 단계적으로 리셋하는 중에 고장이 발생한 애플리케이션이 복구된 경우, 리셋을 중지하고, 고장이 발생한 애플리케이션을 정상적으로 작동시킬 수 있다.
프로세서(120)는 애플리케이션이 복구된 것을 실시간으로 확인하여, 복구가 성공한 경우, 다시 애플리케이션을 정상적으로 작동시켜, 자율 주행 기능을 신속하게 정상적으로 복구할 수 있다.
일 예로, 프로세서(120)는 각각의 리셋을 수행하기 전에 고장이 발생한 애플리케이션에 대한 데이터를 백업(Backup)할 수 있다.
일 예로, 프로세서(120)는 단계별 리셋 대상에 대한 리셋을 수행하기 전마다, 비휘발성 메모리 또는 휘발성 메모리에 고장이 발생한 애플리케이션에 대한 데이터를 백업할 수 있다.
일 예로, 프로세서(120)는 애플리케이션에 대한 데이터를 백업함으로써, 리셋을 수행한 후, 애플리케이션의 웨이크업(WakeUp) 시간을 단축시킬 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션에 대한 리셋 및 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행하기 전에 고장이 발생한 애플리케이션에 대한 데이터를 휘발성 또는 비휘발성 메모리에 백업하고, 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋 전에 고장이 발생한 애플리케이션에 대한 데이터를 비휘발성 메모리에 백업할 수 있다.
고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 수행하기 전에 데이터를 휘발성 메모리에 백업하게 된다면, 제어기 하드웨어의 리셋 과정에서 휘발성 메모리에 저장된 데이터가 휘발될 수 있으므로, 프로세서(120)는 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 수행하기 전에 고장이 발생한 애플리케이션에 대한 데이터를 비휘발성 메모리에 백업할 수 있다.
일 예로, 프로세서(120)는 백업된 데이터에 대한 신뢰도를 평가하고, 각각의 리셋을 수행한 후에 주행 상황 및 평가된 신뢰도를 기반으로, 백업된 데이터의 사용 여부를 결정할 수 있다.
일 예로, 프로세서(120)는 기 설정된 기준에 따라, 주행 상황이 백업된 데이터를 사용하기에 적합한 상황으로 판단되는지 여부를 기반으로, 백업된 데이터의 사용 여부를 결정할 수 있다.
일 예로, 프로세서(120)는 백업된 데이터에 포함된 블록 코드(Block Code), 컨볼루션 코드(Convolution Code), 패리티 코드(Parity Code) 또는 이들의 조합을 이용하는 등의 임의의 기술을 사용하여 백업된 데이터의 신뢰도를 산출하고, 산출된 신뢰도를 기반으로, 백업된 데이터의 사용 여부를 결정할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션에 대한 리셋 중 고장이 발생한 애플리케이션과 고장이 발생하지 않은 다른 애플리케이션 간의 데이터 전달이 요구되는 경우, 리셋이 수행되기 전의 데이터 및 고장에 대한 오류 발생 코드를 다른 애플리케이션에 전달할 수 있다.
고장이 발생하지 않은 다른 애플리케이션이 고장이 발생한 애플리케이션과 연계되어 기능을 수행하는 경우, 고장이 발생하지 않은 다른 애플리케이션은 고장이 발생한 애플리케이션의 데이터를 필요로 할 수 있다.
이 경우, 프로세서(120)는 고장이 발생하지 않은 다른 애플리케이션이 기능을 수행할 수 있도록, 리셋이 수행되기 전의 고장이 발생한 애플리케이션 데이터를 고장이 발생하지 않은 다른 애플리케이션에 전달할 수 있다.
또한, 프로세서(120)는 고장이 발생하지 않은 다른 애플리케이션이 고장이 발생한 애플리케이션의 고장 상황을 인지하고, 그에 따른 제어를 수행할 수 있도록, 고장이 발생한 애플리케이션의 고장에 대한 오류 발생 코드를 고장이 발생하지 않은 다른 애플리케이션에 전달할 수 있다.
일 예로, 프로세서(120)는 안전 등급에 대응하는 리셋 횟수에 따라, 자율 주행 시스템의 일부를 단계적으로 리셋할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션의 ASIL 등급에 따라 결정되는 리셋 횟수만큼 자율 주행 시스템의 일부에 대한 리셋을 수행할 수 있다.
일 예로, 애플리케이션의 ASIL 등급이 ASIL D인 경우, 리셋 횟수는 5회로 설정될 수 있다.
일 예로, 애플리케이션의 ASIL 등급이 ASIL C인 경우, 리셋 횟수는 10회로 설정될 수 있다.
일 예로, 애플리케이션의 ASIL 등급이 ASIL B인 경우, 리셋 횟수는 15회로 설정될 수 있다.
일 예로, 애플리케이션의 ASIL 등급이 ASIL A인 경우, 리셋 횟수는 20회로 설정될 수 있다.
일 예로, 애플리케이션의 ASIL 등급이 ASIL QM인 경우, 리셋 횟수는 30회로 설정될 수 있다.
여기서, ASIL 등급에 따른 리셋 횟수는 예시를 들기 위해 임의로 정해진 것이며, 실제로는 다른 횟수로 정해질 수 있다.
일 예로, 애플리케이션의 ASIL 등급이 높을수록(ASIL D, ASIL C, ASIL B, ASIL A, ASIL QM 순서로 ASIL 등급이 높다.) 리셋 횟수가 적게 설정될 수 있다.
이에 따라, 애플리케이션의 ASIL 등급이 높을수록 오류 발생 시 미동작 시간 및 처리 시간이 짧아질 수 있다.
일 예로, 애플리케이션에 대한 리셋이 반복하여 수행되는 경우, 리셋이 수행되는 주기는 애플리케이션 태스크의 주기와 동일하게 설정될 수 있다. 즉, 리셋이 1회 수행되는 경우, 해당 애플리케이션의 태스크는 1회 주기 동안 오프(Off)될 수 있다.
일 예로, 프로세서(120)는 단계적 고장 대처 제어를 수행한 후, 고장이 발생한 애플리케이션이 복구되지 않은 경우, 고장 코드를 기록하고, 사용자에게 정비 요청을 전달하고, 고장이 발생한 애플리케이션에 관한 제어기를 종료할 수 있다.
일 예로, 프로세서(120)는 고장이 발생한 애플리케이션에 대한 리셋, 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋 및 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 모두 수행한 후에도 애플리케이션이 복구되지 않은 경우, 고장 코드를 비휘발성 메모리 또는 휘발성 메모리에 기록하고, UI(User Interface)를 통해, 청각적 또는 시각적으로 정비 요청을 전달하고, 고장이 발생한 애플리케이션에 관한 제어기를 종료할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치의 구체적인 구성을 나타내는 도면이다.
도 2를 참조하면, 자율 주행 시스템은 소프트웨어 계층(2100) 및 하드웨어 계층(2200)으로 분류될 수 있다.
소프트웨어 계층(2100)은 애플리케이션(2110) 및 고장 감지 유닛(2120, FDU, Failure Detection Unit)을 포함할 수 있다.
여기서, 도 1의 프로세서(120)는 고장 감지 유닛(2120)을 포함하여 구성될 수 있다.
애플리케이션(2110)은 애플리케이션0(2111), 애플리케이션1(2112), …, 애플리케이션N(2113)을 포함할 수 있다.
각각의 애플리케이션(2110)은 고장에 대한 심각성, 빈도 및 제어 가능성을 기반으로, ASIL 등급이 정해져 있을 수 있다.
일 예로, 애플리케이션0(2111)은 ASIL A, 애플리케이션1(2112)은 ASIL D, …, 애플리케이션N(2113)은 ASIL C로 ASIL 등급이 정해져 있을 수 있다.
고장 감지 유닛(2120)은 Fail-Safe Handler(2121), Alive Supervision(2122), Deadline Supervision(2123), Logical Supervision(2124), Task-Flow Monitor(2125) 및 Data Synchronization Monitor(2126)를 포함할 수 있다.
고장 감지 유닛(2120)은 애플리케이션(2110)의 오류를 탐지하고, 고장이 발생한 애플리케이션의 ASIl 등급에 따른 고장 대처 제어를 수행할 수 있다.
Fail-Safe Handler(2121)는 Alive Supervision(2122), Deadline Supervision(2123), Logical Supervision(2124), Task-Flow Monitor(2125) 및 Data Synchronization Monitor(2126)로부터 판단된 애플리케이션의 정상 여부 또는 오류 여부를 기반으로, 자율 주행 애플리케이션의 동작을 결정하고 제어할 수 있다.
Alive Supervision(2122)는 애플리케이션의 활성화 여부를 모니터링할 수 있다.
Alive Supervision(2122)는 애플리케이션의 활성화 명령이 입력되고, 애플리케이션이 활성화되지 않는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
Deadline Supervision(2123)는 애플리케이션의 수행 명령이 입력되고, 기 설정된 제한시간 내에 애플리케이션의 수행이 완료되는지 여부를 판단하고, 완료되지 않는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
Logical Supervision(2124)는 애플리케이션의 기능을 위해 수행되는 로직의 순서를 모니터링할 수 있고, 애플리케이션의 기능을 수행하기 위한 로직의 순서가 비정상적으로 판단되는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
Task-Flow Monitor(2125)는 의존성이 있는 태스크의 실행 순서가 의존성에 따른 순서와 상이하게 실행되는지 여부를 모니터링할 수 있고, 상이하게 실행되는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
Data Synchronization Monitor(2126)는 데이터 동기화 여부를 모니터링할 수 있고, 애플리케이션의 동기화가 정상적으로 수행되지 않는 경우, 애플리케이션에 고장 또는 오류가 발생한 것으로 판단할 수 있다.
하드웨어 계층(2200)은 코어0(2201), 코어1(2202), …, 코어N(2203) 등 하나 이상의 코어를 포함할 수 있다.
각각의 코어는 하나 이상의 애플리케이션을 수행할 수 있다.
각각의 코어에는 하나 이상의 애플리케이션을 수행하는 과정에 필요한 데이터 및/또는 알고리즘이 저장되어 있을 수 있고, 저장된 알고리즘을 수행하는 프로세서가 포함되어 있을 수 있다.
도 3은 본 발명의 일 실시 예에 사용되는 ASIL(Automotive Safety Integrity Level) 등급 표를 나타내는 도면이다.
도 3을 참조하면, ASIL 등급은 심각성(Severity), 빈도(Exposure) 및 제어 가능성(Controllability)에 따라 결정될 수 있다.
일 예로, 경상이나 심하지 않은 부상의 경우 S1 단계의 심각성으로 분류될 수 있다.
일 예로, 생명을 위협할 가능성이 있는 심한 부상, 생존 가능한 경우 S2 단계의 심각성으로 분류될 수 있다.
일 예로, 생명을 위협하는 부상(생존 불확실) 또는 치명상의 경우 S3 단계의 심각성으로 분류될 수 있다.
일 예로, 빈도가 1년에 1회 미만 정도 발생하는 경우 E1 단계의 빈도로 분류될 수 있다.
일 예로, 빈도가 1년에 수차례 정도 발생하는 경우 E2 단계의 빈도로 분류될 수 있다.
일 예로, 빈도가 1개월에 1회 정도 발생하는 경우 E3 단계의 빈도로 분류될 수 있다.
일 예로, 빈도가 거의 매 주행 시마다 발생하는 경우 E4 단계의 빈도로 분류될 수 있다.
일 예로, 모든 운전자가 피할 수 있는 간단히 제어 가능한 위험의 경우, C1 단계의 제어 가능성으로 분류될 수 있다.
일 예로, 90% 정도의 운전자가 피할 수 있는 일반적으로 제어 가능한 위험의 경우, C2 단계의 제어 가능성으로 분류될 수 있다.
일 예로, 90% 미만 정도의 운전자가 피할 수 있는 제어하기 어렵거나 또는 제어 불가능한 위험의 경우, C3 단계의 제어 가능성으로 분류될 수 있다.
애플리케이션은 기능에 따른 심각성, 빈도 및 제어 가능성을 기반으로, ASIL QM, ASIL A, ASIL B, ASIL C 및 ASIL D를 포함하는 등급 중 하나로 ASIL 등급이 결정될 수 있다.
일 예로, FCA 기능을 수행하는 애플리케이션은 ASIL D 등급으로 정해질 수 있고, 지도 데이터 전처리 기능을 수행하는 애플리케이션은 ASIL QM 등급으로 정해질 수 있다.
애플리케이션은 ASIL QM, ASIL A, ASIL B, ASIL C 및 ASIL D 순서로 뒤로 갈수록 강건성이 높은 기능 안전 메커니즘을 요구할 수 있다.
일 예로, ASIL D 등급에 준하는 자율 주행 기능 중 하나인 FCA 기능 등의 운전자 및 보행자의 안전에 중요한 기능을 수행하는 애플리케이션은 미동작 시간 및 오류 발생 시 처리 등에서 더 강건한 동작을 요구 받을 수 있다.
도 4는 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치의 동작을 나타내는 흐름도이다.
이하에서는 도 1의 자율 주행 시스템 고장 대처 제어 장치(100)가 도 4의 프로세스를 수행하는 것을 가정한다. 또한, 도 4의 설명에서, 장치에 의해 수행되는 것으로 기술된 동작은 자율 주행 시스템 고장 대처 제어 장치(100)의 프로세서(120)에 의해 제어되는 것으로 이해될 수 있다.
도 4를 참조하면, 자율 주행 시스템 고장 대처 제어 장치(100)는 초기에 자율 주행 애플리케이션을 정상 모드로 판단할 수 있다(S401).
자율 주행 시스템 고장 대처 제어 장치(100)는 자율 주행 애플리케이션을 정상 모드로 판단한 후(S401), 애플리케이션에 대한 고장이 발생했는지 여부를 확인할 수 있다(S402).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 애플리케이션에 대한 고장이 발생했는지 여부를 확인할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션에 대한 고장이 발생했는지 여부를 확인한 후(S402). 애플리케이션에 대한 고장이 발생하지 않은 것으로 확인된 경우, S401로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션에 대한 고장이 발생했는지 여부를 확인한 후(S402). 애플리케이션에 대한 고장이 발생한 것으로 확인된 경우, 고장 애플리케이션에 대한 데이터 백업을 수행할 수 있다(S403).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 데이터를 비휘발성 또는 휘발성 메모리에 백업할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 데이터 백업을 수행한 후(S403), 고장 애플리케이션에 대한 리셋을 수행할 수 있다(S404).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 IDLE 명령 및 RUN 명령을 차례로 입력하여, 고장 애플리케이션에 대한 리셋을 수행할 수 있다(S404).
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 리셋을 수행한 후(S404), 애플리케이션 복구가 성공했는지 여부를 확인할 수 있다(S405).
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S405), 애플리케이션 복구가 성공한 것으로 확인된 경우, S401로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공한 것으로 확인된 경우, 더 이상 리셋을 통해 복구를 시도하지 않아도 되므로, 애플리케이션을 정상 모드로 판단하고, 애플리케이션을 정상적으로 동작시킬 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S405), 애플리케이션 복구가 성공하지 않은 것으로 확인된 경우, 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인할 수 있다(S406).
여기서, 리셋 횟수는 고장이 발생한 애플리케이션의 ASIL 등급에 대응하여 결정된 애플리케이션의 리셋 횟수일 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S406), 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과하지 않은 것으로 확인된 경우, S404로 돌아가 고장 애플리케이션에 대한 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S406), 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과한 것으로 확인된 경우, 고장 애플리케이션에 대한 데이터 백업을 수행할 수 있다(S407).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 데이터를 비휘발성 또는 휘발성 메모리에 백업할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 데이터 백업을 수행한 후(S407), 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행할 수 있다(S408).
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 후(S408), 애플리케이션 복구가 성공했는지 여부를 확인할 수 있다(S409).
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S409), 애플리케이션 복구가 성공한 것으로 확인된 경우, S401로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S409), 애플리케이션 복구가 성공하지 않은 것으로 확인된 경우, 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인할 수 있다(S410).
여기서, 리셋 횟수는 고장이 발생한 애플리케이션의 ASIL 등급에 대응하여 결정된 운영 체제의 리셋 횟수일 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S410), 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과하지 않은 것으로 확인된 경우, S408로 돌아가 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S410), 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과한 것으로 확인된 경우, 고장 애플리케이션에 대한 데이터 백업을 수행할 수 있다(S411).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 데이터를 비휘발성 메모리에 백업할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 데이터 백업을 수행한 후(S411), 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행할 수 있다(S412).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 ECU의 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 후(S412), 애플리케이션 복구가 성공했는지 여부를 확인할 수 있다(S413).
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S413), 애플리케이션 복구가 성공한 것으로 확인된 경우, S401로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S413), 애플리케이션 복구가 성공하지 않은 것으로 확인된 경우, 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인할 수 있다(S414).
여기서, 리셋 횟수는 고장이 발생한 애플리케이션의 ASIL 등급에 대응하여 결정된 제어기의 리셋 횟수일 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S414), 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과하지 않은 것으로 확인된 경우, S412로 돌아가 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S414), 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과한 것으로 확인된 경우, 제어기를 종료할 수 있다(S415).
일 예로, 자율 주행 시스템 고장 대처 제어 장치(100)는 제어기 하드웨어에 대한 리셋을 반복적으로 수행한 후에도 애플리케이션 오류가 발생하는 경우, 고장 진단 코드(DTC, Diagnostic Trouble Code)를 메모리에 기록한 후, ECU의 전원을 종료할 수 있다.
도 5는 본 발명의 다른 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 장치의 동작을 나타내는 흐름도이다.
이하에서는 도 1의 자율 주행 시스템 고장 대처 제어 장치(100)가 도 5의 프로세스를 수행하는 것을 가정한다. 또한, 도 5의 설명에서, 장치에 의해 수행되는 것으로 기술된 동작은 자율 주행 시스템 고장 대처 제어 장치(100)의 프로세서(120)에 의해 제어되는 것으로 이해될 수 있다.
도 5를 참조하면, 자율 주행 시스템 고장 대처 제어 장치(100)는 초기에 자율 주행 애플리케이션을 정상 모드로 판단할 수 있다(S501).
자율 주행 시스템 고장 대처 제어 장치(100)는 자율 주행 애플리케이션을 정상 모드로 판단한 후(S501), 애플리케이션에 대한 고장이 발생했는지 여부를 확인할 수 있다(S502).
S502의 과정은 도 4의 S402의 과정과 동일하여 구체적인 설명은 생략하기로 한다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션에 대한 고장이 발생했는지 여부를 확인한 후(S502). 애플리케이션에 대한 고장이 발생하지 않은 것으로 확인된 경우, S501로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션에 대한 고장이 발생했는지 여부를 확인한 후(S502). 애플리케이션에 대한 고장이 발생한 것으로 확인된 경우, 고장 애플리케이션에 대한 리셋을 수행할 수 있다(S503).
S503의 과정은 도 4의 S404의 과정과 동일하여 구체적인 설명은 생략하기로 한다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대한 리셋을 수행한 후(S503), 애플리케이션 복구가 성공했는지 여부를 확인할 수 있다(S504).
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S504), 애플리케이션 복구가 성공한 것으로 확인된 경우, S501로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S504), 애플리케이션 복구가 성공하지 않은 것으로 확인된 경우, 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인할 수 있다(S505).
여기서, 리셋 횟수는 고장이 발생한 애플리케이션의 ASIL 등급에 대응하여 결정된 애플리케이션의 리셋 횟수일 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S505), 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과하지 않은 것으로 확인된 경우, S503으로 돌아가 고장 애플리케이션에 대한 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S505), 고장 애플리케이션에 대해 리셋을 수행한 횟수가 리셋 횟수를 초과한 것으로 확인된 경우, 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행할 수 있다(S506).
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 후(S506), 애플리케이션 복구가 성공했는지 여부를 확인할 수 있다(S507).
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S507), 애플리케이션 복구가 성공한 것으로 확인된 경우, S501로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S507), 애플리케이션 복구가 성공하지 않은 것으로 확인된 경우, 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인할 수 있다(S508).
여기서, 리셋 횟수는 고장이 발생한 애플리케이션의 ASIL 등급에 대응하여 결정된 운영 체제의 리셋 횟수일 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S508), 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과하지 않은 것으로 확인된 경우, S506으로 돌아가 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S508), 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과한 것으로 확인된 경우, 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행할 수 있다(S509).
S509의 과정은 도 4의 S412의 과정과 동일하여 구체적인 설명은 생략하기로 한다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 후(S509), 애플리케이션 복구가 성공했는지 여부를 확인할 수 있다(S510).
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S510), 애플리케이션 복구가 성공한 것으로 확인된 경우, S501로 돌아가 애플리케이션을 정상 모드로 판단할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 애플리케이션 복구가 성공했는지 여부를 확인한 후(S510), 애플리케이션 복구가 성공하지 않은 것으로 확인된 경우, 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인할 수 있다(S511).
여기서, 리셋 횟수는 고장이 발생한 애플리케이션의 ASIL 등급에 대응하여 결정된 제어기의 리셋 횟수일 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S511), 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과하지 않은 것으로 확인된 경우, S509로 돌아가 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행할 수 있다.
자율 주행 시스템 고장 대처 제어 장치(100)는 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과했는지 여부를 확인한 후(S511), 고장이 발생한 애플리케이션에 관한 제어기 하드웨어에 대한 리셋을 수행한 횟수가 리셋 횟수를 초과한 것으로 확인된 경우, 제어기를 종료할 수 있다(S512).
S512의 과정은 도 4의 S415의 과정과 동일하여 구체적인 설명은 생략하기로 한다.
도 6은 본 발명의 일 실시 예에 따른 자율 주행 시스템 고장 대처 제어 방법을 나타내는 흐름도이다.
도 6을 참조하면, 자율 주행 시스템 고장 대처 제어 방법은 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대한 고장 발생 여부를 판단하는 단계(S610) 및 애플리케이션에 대한 고장이 발생한 경우, 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 단계(S620)를 포함할 수 있다.
자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대한 고장 발생 여부를 판단하는 단계(S610)는 프로세서(120)에 의해 수행될 수 있다.
일 예로, 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대한 고장 발생 여부를 판단하는 단계(S610)는 프로세서(120)가 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 하나 이상의 애플리케이션의 고장을 판단하는 단계를 포함할 수 있다.
애플리케이션에 대한 고장이 발생한 경우, 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 단계(S620)는 프로세서(120)에 의해 수행될 수 있다.
일 예로, 애플리케이션에 대한 고장이 발생한 경우, 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 단계(S620)는 프로세서(120)가 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계를 포함할 수 있다.
일 예로, 프로세서(120)가 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는 프로세서(120)가 자율 주행 시스템의 일부를 단계적으로 리셋하는 중에 고장이 발생한 애플리케이션이 복구된 경우, 리셋을 중지하고, 고장이 발생한 애플리케이션을 정상적으로 작동시키는 단계를 포함할 수 있다.
일 예로, 애플리케이션에 대한 고장이 발생한 경우, 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 단계(S620)는 프로세서(120)가 고장이 발생한 애플리케이션에 대한 리셋, 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋 및 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 포함하는 단계적 고장 대처 제어를 기 설정된 순서에 따라서 순차적으로 수행하는 단계를 포함할 수 있다.
일 예로, 자율 주행 시스템 고장 대처 제어 방법은 프로세서가, 각각의 리셋을 수행하기 전에 고장이 발생한 애플리케이션에 대한 데이터를 백업하는 단계를 더 포함할 수 있다.
일 예로, 프로세서(120)가 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는 프로세서(120)가 고장이 발생한 애플리케이션에 대한 리셋 중 고장이 발생한 애플리케이션과 고장이 발생하지 않은 다른 애플리케이션 간의 데이터 전달이 요구되는 경우, 리셋이 수행되기 전의 데이터 및 고장에 대한 오류 발생 코드를 다른 애플리케이션에 전달하는 단계를 포함할 수 있다.
일 예로, 프로세서(120)가 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는 프로세서(120)가 안전 등급에 대응하는 리셋 횟수에 따라, 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계를 포함할 수 있다.
일 예로, 자율 주행 시스템 고장 대처 제어 방법은 프로세서(120)가 백업된 데이터에 대한 신뢰도를 평가하는 단계 및 프로세서(120)가 각각의 리셋을 수행한 후에 주행 상황 및 평가된 신뢰도를 기반으로, 백업된 데이터의 사용 여부를 결정하는 단계를 더 포함할 수 있다.
본 명세서에 개시된 실시 예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리 및/또는 스토리지)에 상주할 수도 있다.
예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대하여 기 설정된 안전 등급에 대한 정보를 저장하는 저장부; 및
    상기 애플리케이션에 대한 고장 발생 여부를 판단하고,
    상기 애플리케이션에 대한 고장이 발생한 경우, 상기 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 프로세서를 포함하는 자율 주행 시스템 고장 대처 제어 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 자율 주행 시스템 고장 대처 제어 장치.
  3. 제 2 항에 있어서,
    상기 프로세서는,
    상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 중에 상기 고장이 발생한 애플리케이션이 복구된 경우, 리셋을 중지하고, 상기 고장이 발생한 애플리케이션을 정상적으로 작동시키는 자율 주행 시스템 고장 대처 제어 장치.
  4. 제 1 항에 있어서,
    상기 프로세서는,
    상기 고장이 발생한 애플리케이션에 대한 리셋, 상기 고장이 발생한 애플리케이션에 관한 운영 체제(OS, Operation System)에 대한 리셋 및 상기 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 포함하는 상기 단계적 고장 대처 제어를 기 설정된 순서에 따라서 순차적으로 수행하는 자율 주행 시스템 고장 대처 제어 장치.
  5. 제 2 항에 있어서,
    상기 프로세서는,
    각각의 리셋을 수행하기 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 백업(Backup)하는 자율 주행 시스템 고장 대처 제어 장치.
  6. 제 2 항에 있어서,
    상기 프로세서는,
    상기 고장이 발생한 애플리케이션에 대한 리셋 중 상기 고장이 발생한 애플리케이션과 고장이 발생하지 않은 다른 애플리케이션 간의 데이터 전달이 요구되는 경우, 상기 리셋이 수행되기 전의 데이터 및 상기 고장에 대한 오류 발생 코드를 상기 다른 애플리케이션에 전달하는 자율 주행 시스템 고장 대처 제어 장치.
  7. 제 1 항에 있어서,
    상기 프로세서는,
    애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크(Task)의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 상기 하나 이상의 애플리케이션의 고장을 판단하는 자율 주행 시스템 고장 대처 제어 장치.
  8. 제 2 항에 있어서,
    상기 프로세서는,
    상기 안전 등급에 대응하는 리셋 횟수에 따라, 상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 자율 주행 시스템 고장 대처 제어 장치.
  9. 제 1 항에 있어서,
    상기 프로세서는,
    상기 단계적 고장 대처 제어를 수행한 후, 상기 고장이 발생한 애플리케이션이 복구되지 않은 경우, 고장 코드를 기록하고, 사용자에게 정비 요청을 전달하고, 상기 고장이 발생한 애플리케이션에 관한 제어기를 종료하는 자율 주행 시스템 고장 대처 제어 장치.
  10. 제 5 항에 있어서,
    상기 프로세서는,
    상기 백업된 데이터에 대한 신뢰도를 평가하고,
    상기 각각의 리셋을 수행한 후에 주행 상황 및 상기 평가된 신뢰도를 기반으로, 상기 백업된 데이터의 사용 여부를 결정하는 자율 주행 시스템 고장 대처 제어 장치.
  11. 제 4 항에 있어서,
    상기 프로세서는,
    상기 고장이 발생한 애플리케이션에 대한 리셋 및 상기 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋을 수행하기 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 휘발성 또는 비휘발성 메모리에 백업하고,
    상기 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 비휘발성 메모리에 백업하는 자율 주행 시스템 고장 대처 제어 장치.
  12. 프로세서가, 자율 주행에 관한 기능을 수행하는 하나 이상의 애플리케이션에 대한 고장 발생 여부를 판단하는 단계; 및
    상기 프로세서가, 상기 애플리케이션에 대한 고장이 발생한 경우, 상기 고장이 발생한 애플리케이션의 안전 등급에 대응하는 단계적 고장 대처 제어를 순차적으로 수행하는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  13. 제 12 항에 있어서,
    상기 프로세서가, 상기 단계적 고장 대처 제어를 순차적으로 수행하는 단계는,
    상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  14. 제 13 항에 있어서,
    상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는,
    상기 프로세서가, 상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 중에 상기 고장이 발생한 애플리케이션이 복구된 경우, 리셋을 중지하고, 상기 고장이 발생한 애플리케이션을 정상적으로 작동시키는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  15. 제 12 항에 있어서,
    상기 프로세서가, 상기 단계적 고장 대처 제어를 순차적으로 수행하는 단계는,
    상기 프로세서가, 상기 고장이 발생한 애플리케이션에 대한 리셋, 상기 고장이 발생한 애플리케이션에 관한 운영 체제에 대한 리셋 및 상기 고장이 발생한 애플리케이션에 관한 제어기에 대한 리셋을 포함하는 상기 단계적 고장 대처 제어를 기 설정된 순서에 따라서 순차적으로 수행하는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  16. 제 13 항에 있어서,
    상기 프로세서가, 각각의 리셋을 수행하기 전에 상기 고장이 발생한 애플리케이션에 대한 데이터를 백업하는 단계를 더 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  17. 제 13 항에 있어서,
    상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는,
    상기 프로세서가, 상기 고장이 발생한 애플리케이션에 대한 리셋 중 상기 고장이 발생한 애플리케이션과 고장이 발생하지 않은 다른 애플리케이션 간의 데이터 전달이 요구되는 경우, 상기 리셋이 수행되기 전의 데이터 및 상기 고장에 대한 오류 발생 코드를 상기 다른 애플리케이션에 전달하는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  18. 제 12 항에 있어서,
    상기 프로세서가, 상기 고장 발생 여부를 판단하는 단계는,
    상기 프로세서가, 애플리케이션 활성화 여부, 애플리케이션 수행의 제한시간 초과 여부, 로직의 실행 순서, 의존성이 있는 태스크의 실행 순서 또는 데이터 동기화 여부 중 적어도 하나 이상을 기반으로, 상기 하나 이상의 애플리케이션의 고장을 판단하는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  19. 제 13 항에 있어서,
    상기 프로세서가, 상기 고장이 발생한 애플리케이션과 관련된 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계는,
    상기 프로세서가, 상기 안전 등급에 대응하는 리셋 횟수에 따라, 상기 자율 주행 시스템의 일부를 단계적으로 리셋하는 단계를 포함하는 자율 주행 시스템 고장 대처 제어 방법.
  20. 제 16 항에 있어서,
    상기 프로세서가, 상기 백업된 데이터에 대한 신뢰도를 평가하는 단계; 및
    상기 프로세서가, 상기 각각의 리셋을 수행한 후에 주행 상황 및 상기 평가된 신뢰도를 기반으로, 상기 백업된 데이터의 사용 여부를 결정하는 단계를 더 포함하는 자율 주행 시스템 고장 대처 제어 방법.
KR1020210125827A 2021-09-23 2021-09-23 자율 주행 시스템 고장 대처 제어 장치 및 그 방법 KR20230042947A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210125827A KR20230042947A (ko) 2021-09-23 2021-09-23 자율 주행 시스템 고장 대처 제어 장치 및 그 방법
US17/738,961 US20230092493A1 (en) 2021-09-23 2022-05-06 Apparatus for controlling to cope with failure in autonomous driving system and method thereof
DE102022113739.2A DE102022113739A1 (de) 2021-09-23 2022-05-31 Vorrichtung zum steuern einer ausfallbewältigung in einem autonomes-fahren-system und verfahren dafür
CN202210618911.5A CN115848391A (zh) 2021-09-23 2022-06-01 用于进行控制以处理自动驾驶系统中的故障的装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210125827A KR20230042947A (ko) 2021-09-23 2021-09-23 자율 주행 시스템 고장 대처 제어 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20230042947A true KR20230042947A (ko) 2023-03-30

Family

ID=85383678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210125827A KR20230042947A (ko) 2021-09-23 2021-09-23 자율 주행 시스템 고장 대처 제어 장치 및 그 방법

Country Status (4)

Country Link
US (1) US20230092493A1 (ko)
KR (1) KR20230042947A (ko)
CN (1) CN115848391A (ko)
DE (1) DE102022113739A1 (ko)

Also Published As

Publication number Publication date
DE102022113739A1 (de) 2023-03-23
US20230092493A1 (en) 2023-03-23
CN115848391A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
JP5909264B2 (ja) セキュア・リカバリ装置及び方法
US8677189B2 (en) Recovering from stack corruption faults in embedded software systems
US7941658B2 (en) Computer system and method for updating program code
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
US20150378858A1 (en) Storage system and memory device fault recovery method
EP3522021A1 (en) System and method for automatic recovery of firmware image
JP4917604B2 (ja) 記憶装置構成およびその駆動方法
CN102915260B (zh) 固态硬盘容错的方法及其固态硬盘
US10360115B2 (en) Monitoring device, fault-tolerant system, and control method
US6526527B1 (en) Single-processor system
KR20230042947A (ko) 자율 주행 시스템 고장 대처 제어 장치 및 그 방법
CN100476745C (zh) 在Linux操作系统引导过程中实现映象文件自动容错的方法
JP2000330778A (ja) 修正ロードモジュール置換後の復旧方法ならびに装置
EP3540533B1 (en) Controller and data storage method
CN106599046B (zh) 分布式文件系统的写入方法及装置
CN111124729A (zh) 一种故障盘判定方法、装置、设备及计算机可读存储介质
JP2009025967A (ja) 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム
JP2013065261A (ja) メモリ管理装置
CN111104256A (zh) 一种数据读取方法、装置、设备及存储介质
EP3726384B1 (en) Method and system for preserving consistency of states during fail-operational context switch
CN114398107B (zh) 一种跨领域多方式加载dsp程序的设计方法及通用平台
JP4613019B2 (ja) コンピュータシステム
JP2000163274A (ja) 電子機器およびromデータ監視プログラムを記録した記録媒体
CN112306747A (zh) 一种raid卡故障处理方法及装置
CN113312198A (zh) 监控及复原异质性元件的系统及方法