KR20210059317A - 차량 및 그 제어방법 - Google Patents

차량 및 그 제어방법 Download PDF

Info

Publication number
KR20210059317A
KR20210059317A KR1020190146616A KR20190146616A KR20210059317A KR 20210059317 A KR20210059317 A KR 20210059317A KR 1020190146616 A KR1020190146616 A KR 1020190146616A KR 20190146616 A KR20190146616 A KR 20190146616A KR 20210059317 A KR20210059317 A KR 20210059317A
Authority
KR
South Korea
Prior art keywords
task
tasks
completed
processor
predetermined time
Prior art date
Application number
KR1020190146616A
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 KR1020190146616A priority Critical patent/KR20210059317A/ko
Priority to US16/923,756 priority patent/US11853146B2/en
Priority to DE102020208918.3A priority patent/DE102020208918A1/de
Priority to CN202010852321.XA priority patent/CN112824199A/zh
Publication of KR20210059317A publication Critical patent/KR20210059317A/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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0816Indicating performance data, e.g. occurrence of a malfunction
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • 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/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/022Actuator failures
    • 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
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control
    • 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
    • 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/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error 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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

본 발명은 자율 주행 차량의 시계열적 테스크를 수행하는데 있어서 오류 발생에도 불구하고 안전한 대체 동작을 수행할 수 있는 차량 및 그 제어방법을 제공한다.
일 실시예에 따른 차량은, 복수의 테스크 각각이 수행되는 미리 결정된 시점이 저장된 메모리 ; 및 상기 복수의 테스크를 수행하는 적어도 하나의 프로세서 오작동을 판단하는 검출부 ;를 포함하고,
상기 검출부는, 상기 미리 결정된 시점에, 상기 복수의 테스크 중 하나의 테스크의 완료 여부를 기초로, 상기 적어도 하나의 프로세서가 상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력하도록 제어할 수 있다.

Description

차량 및 그 제어방법{VEHICLE AND CONTROL METHOD THEREOF}
본 발명은 자율 주행을 수행하는 차량 및 그 제어방법에 관한 기술이다.
차량의 자율 주행 기술은 운전자가 브레이크, 핸들, 가속 페달 등을 제어하지 않아도 차량이 도로의 상황을 파악해 자동으로 주행하는 기술이다.
자율 주행 기술은 스마트 카 구현을 위한 핵심 기술로, 자율 주행 차를 위해서는 고속도로 주행 지원 시스템(HDA, 자동차 간 거리를 자동으로 유지해 주는 기술)을 비롯해 후측방 경보 시스템(BSD, 후진 중 주변 차량을 감지, 경보를 울리는 기술), 자동 긴급 제동 시스템(AEB, 앞차를 인식하지 못할 시 제동 장치를 가동하는 기술), 차선 이탈 경보 시스템(LDWS), 차선 유지 지원 시스템(LKAS, 방향 지시등 없이 차선을 벗어나는 것을 보완하는 기술), 어드밴스드 스마트 크루즈 컨트롤(ASCC, 설정된 속도로 차 간 거리를 유지하며 정속 주행하는 기술), 혼잡 구간 주행 지원 시스템(TJA), 주차 충돌방지 보조 시스템 (Parking Collision-Avoidance Assist, PCA) 등으로 이루어져 있다.
다만 자율 주행 동작의 테스크를 수행하는데 있어서 복수의 프로세서에서 여러 테스크가 수행될 수 있고, 각 테스크가 정상적으로 동작하지 않을 경우, 안전하고 강건한 대안이 요구되고 있는 실정이다.
본 발명은 자율 주행 차량의 시계열적 테스크를 수행하는데 있어서 오류 발생에도 불구하고 안전한 대체 동작을 수행할 수 있는 차량 및 그 제어방법을 제공한다.
일 실시예에 따른 차량은, 복수의 테스크 각각이 수행되는 미리 결정된 시점이 저장된 메모리 ; 및 상기 복수의 테스크를 수행하는 적어도 하나의 프로세서 오작동을 판단하는 검출부 ;를 포함하고,
상기 검출부는, 상기 미리 결정된 시점에, 상기 복수의 테스크 중 하나의 테스크의 완료 여부를 기초로, 상기 적어도 하나의 프로세서가 상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력하도록 제어할 수 있다.
상기 검출부는, 상기 복수의 테스크 중 하나의 테스크와 대응되는 미리 결정된 시점에,
상기 하나의 테스크가 완료되지 않으면, 상기 적어도 하나의 프로세서가 상기 다른 테스크의 트리거 신호를 출력하도록 제어할 수 있다.
상기 복수의 테스크는, 상기 하나의 테스크와 연속적으로 수행되는 주변 테스크를 포함하고,
상기 검출부는, 상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면, 상기 적어도 하나의 프로세서가 이전 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하도록 제어할 수 있다.
상기 복수의 테스크는, 미리 결정된 주기로 동작하고,
상기 검출부는, 상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면, 상기 적어도 하나의 프로세서가 이전 주기 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하도록 제어할 수 있다.
상기 복수의 테스크는, 상기 미리 결정된 주기로 동작하는 개시 테스크를 포함할 수 있다.
상기 복수의 테스크는, 상기 적어도 하나의 프로세서에서 병렬적으로 수행될 수 있다.
일 실시예에 따른 차량 제어방법은, 복수의 테스크 각각이 수행되는 미리 결정된 시점을 저장하고, 상기 복수의 테스크를 수행하는 적어도 하나의 프로세서 오작동을 판단하고,
상기 미리 결정된 시점에 상기 복수의 테스크 중 하나의 테스크의 완료 여부를 기초로, 상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력할 수 있다.
일 실시예에 따른 차량 제어방법은, 상기 복수의 테스크 중 하나의 테스크와 대응되는 미리 결정된 시점에,
상기 하나의 테스크가 완료되지 않으면,
상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력하는 것을 포함할 수 있다.
상기 복수의 테스크는, 상기 하나의 테스크와 연속적으로 수행되는 주변 테스크를 포함하고,
상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면, 이전 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하는 것을 포함할 수 있다.
상기 복수의 테스크는, 미리 결정된 주기로 동작하고,
상기 주변 테스크를 수행하는 것은, 상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면, 이전 주기 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하는 것을 포함할 수 있다.
상기 복수의 테스크는, 상기 미리 결정된 주기로 동작하는 개시 테스크를 포함할 수 있다.
상기 복수의 테스크는, 상기 적어도 하나의 프로세서에서 병렬적으로 수행되는 것을 포함할 수 있다.
일 실시예에 따른 차량 및 그 제어방법은 자율 주행 차량의 시계열적 테스크를 수행하는데 있어서 오류 발생에도 불구하고 안전한 대체 동작을 수행할 수 있다.
도1은 일 실시예에 따른 제어블럭도이다.
도2는 일 실시예에 따른 복수의 테스크를 나타낸 도면이다.
도3내지 도7은 실시예에 따른 각 테스크의 오작동을 검출하는 동작을 설명하기 위한 도면이다.
도8은 일 실시예에 따른 순서도이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
도1은 일 실시예에 따른 제어블럭도이다.
도1을 참고하면, 일 실시예에 따른 차량은 메모리(110)와 검출부(100)를 포함할 수 있다.
메모리(110)는 복수의 테스크 각각이 수행되는 미리 결정된 시점이 저장될 수 있다.
테스크는 차량의 프로세서(201, 202, 203)에서 수행되는 자율 주행에 필요한 동작을 의미할 수 있다.
한편 도1에서 나타난 프로세서는 본 발명의 동작을 설명하기 위한 일 실시예이며 프로세서의 개수나 동작을 한정하는 것은 아니다.
미리 결정된 시점은 각 프로세서에서 각 테스크가 완료되는 시점을 의미할 수 있다.
메모리(110) 는 캐쉬, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(HDD, Hard Disk Drive), CD-ROM과 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다. 저장부는 제어부와 관련하여 전술한 프로세서와 별개의 칩으로 구현된 메모리일 수 있고, 프로세서와 단일 칩으로 구현될 수도 있다.
검출부(100)는 복수의 테스크를 수행하는 적어도 하나의 프로세서 오작동을 판단할 수 있다.
검출부(100)는 적어도 하나의 프로세서가 복수의 테스크 중 하나의 테스크의 완료 여부를 기초로 하나의 테스크와 다른 테스크의 트리거 신호를 출력하도록 제어할 수 있다.
트리거 신호는 각 태스크의 수행의 시작을 유도하는 신호를 의미할 수 있다.
검출부(100)는 적어도 하나의 프로세서를 제어하여 복수의 테스크 중 하나의 테스크와 대응되는 미리 결정된 시점에 하나의 테스크의 완료 여부를 기초로 하나의 테스크와 다른 테스크의 트리거 신호를 출력하도록 제어할 수 있다.
구체적으로 검출부(100)는 하나의 테스크가 미리 결정된 시점에 완료되지 않은 경우, 적어도 하나의 프로세서가 다른 테스크의 수행의 시작을 명령할 수 있는 트리거 신호를 강제로 다른 테스크를 수행하는 프로세서에 송신하도록 제어할 수 있다.
복수의 테스크는 하나의 테스크와 연속적으로 수행되는 주변 테스크를 포함할 수 있다. 주변 테스크는 하나의 테스크와 테스크의 동작을 연속적으로 수행하는 테스크를 의미할 수 있다.
검출부(100)는 적어도 하나의 프로세서가 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면 이전 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행할 수 있도록 제어할 수 있다.
복수의 테스크는, 미리 결정된 주기로 동작하고, 검출부(100)는 적어도 하나의 프로세서가 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면, 이전 주기 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행할 수 있도록 제어할 수 있다..
구체적으로 각 테스크의 동작에 있어 바로 전 테스크의 완료 데이터가 필요할 수 있다. 다만 전 테스크의 동작이 완료되지 않았지만, 트리거 신호 송신을 기초로 해당 테스크가 수행된 경우, 전 테스크의 완료데이터를 수신하는데 있어 해당 시점의 완료 데이터가 아닌 이전 시점의 완료 데이터를 기초로 수행될 수 있다.
다만, 테스크는 주기성을 갖고 동작할 수 있는바, 이전 주기 해당 테스크의 완료 데이터를 기초로 프로세서는 테스크를 수행할 수 있다,
복수의 테스크는 미리 결정된 주기로 동작하는 개시 테스크를 포함할 수 있다. 개시 테스크는 다른 연관 테스크와 관련 없이 독립적으로 주기에 기초하여 동작하는 테스크를 의미할 수 있다.
복수의 테스크는 적어도 하나의 프로세서에서 병렬적으로 수행될 수 있다. 병렬적으로 수행되는 것의 의미는 테스크가 개념적으로 다른 루트로 수행되는 것을 의미하고 각 테스크의 시간적 제한이나 연관적 제한을 의미하는 것은 아니다.
검출부는 차량 내 구성요소들의 동작을 제어하기 위한 알고리즘 또는알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(110), 및 메모리(110)에 저장된 데이터를 이용하여 전술한 동작을 수행하는 프로세서로 구현될 수 있다. 이때, 메모리(110)와 프로세서는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리(110)와 프로세서는 단일 칩으로 구현될 수도 있다.
도1에 도시된 차량의 구성 요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성 요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
한편, 도 1에서 도시된 각각의 구성요소는 소프트웨어 및/또는 Field Programmable Gate Array(FPGA) 및 주문형 반도체(ASIC, Application Specific Integrated Circuit)와 같은 하드웨어 구성요소를 의미한다.
도2는 일 실시예에 따른 복수의 테스크를 나타낸 도면이다.
도2를 참고하면, 도2는 복수의 테스크가 3개의 프로세서에서 수행되는 것을 나타내고 있다.
도2에서는 MCU(Micro Controller Unit)가 세 개의 프로세서를 포함하고, 각 프로세서에서 테스크1 내지 테스크5를 수행하는 것을 나타내고 있다.
각 테스크는 서로 다른 기능을 갖는 프로세서와 대응될 수 있다.
복수 개로 구성된 테스크는 스케줄링에 따라 각 프로세서에서 순차 또는 병렬적으로 수행될 수 있다.
도2에서는 3개의 프로세서에서 테스크1내지 5가 수행되며, 테스크1은 프로세서2에서 수행되는 것을 나타내고 있다.
또한 테스크2와 테스크3은 프로세서1에서 수행되는 것을 나타내고 있다.
한편, 프로세서3에서는 테스크4가 수행되며 이어 프로세서2에서는 테스크5가 수행되는 것을 나타내고 있다.
테스크1은 개시 테스크로 주기적으로 동작을 수행할 수 있다. 도2에서는 프로세서1 내지 3이 주기(TP)를 갖고 해당 테스크의 동작을 수행하는 것을 나타내고 있다.
테스크1이 완료되면 프로세서2은 프로세서1에 테스크2를 수행하기 위한 트리거 신호를 송신할 수 있다. 또한 테스크1이 완료되면 프로세서2은 프로세서3에 테스크4의 수행을 시작하기 위한 트리거 신호를 송신할 수 있다.
프로세서1은 테스크2의 수행이 완료되면 테스크3을 수행할 수 있다.
프로세서3는 테스크4를 수행할 수 있다, 한편, 프로세서1에서 테스크3이 완료되고 프로세서3에서 테스크4가 완료되면 프로세서1은 테스크5의 수행을 위한 트리거 신호를 송신할 수 있다.
한편 이렇게 동작이 수행되데 있어서 각 테스크는 테스크 이전에 이루어진 테스크의 완료데이터를 수신 받아 동작을 수행할 수 있다.
검출부(100)는 멀티 테스크 수행 스케줄링 구조를 갖는 시스템에서, 개별적인 소프트웨어 동작에 오류 또는 수행시간 지연으로 오작동이 발생한 경우 검출부(100)가 이를 검출하는 것을 특징으로 한다.
한편 본 명세서에서 전반적으로 설명하는 테스크는 본 발명의 동작을 설명하기 위한 일 실시예에 불과하며 본 발명의 동작이 이러한 테스크에 한정되는 것은 아니다.
도3내지 도7은 실시예에 따른 각 테스크의 오작동을 검출하는 동작을 설명하기 위한 도면이다.
도3내지 도7에서 각 테스크는 수행완료 예측시간인 미리 결정된 시점(T1, T2, T3, T4, T5)이 메모리(110)에 저장될 수 있다.
프로세서는 수행이 완료되지 않은 경우에도 해당 테스크의 이전 주기의 데이터를 주변 테스크에 전달할 수 있다.
도3을 참고하면, 테스크1과 대응되는 미리 결정된 시점(T1)에 테스크1이 동작이 완료되지 않은 경우를 나태고 있다.
이 경우 검출부(100)는 프로세서2가 테스크 2 및 테스크4의 동작을 개시할 수 있는 트리거 신호를 프로세서1과 프로세서3에 송신하도록 제어할 수 있다.
또한 검출부(100)는 테스크 1의 이전 주기 완료 데이터를 테스크 2와 테스크 4로 전달하여, 테스크 5가 제어신호를 출력할 수 있도록 제어할 수 있다.
도4를 참고하면, 테스크2와 대응되는 미리 결정된 시점(T2)에 테스크2이 동작이 완료되지 않은 경우를 나태고 있다.
이 경우 검출부(100)는 프로세서1이 테스크 3의 동작을 개시할 수 있는 트리거 신호를 송신하도록 제어할 수 있다.
검출부(100)는 테스크1의 현재 완료 데이터 값과 테스크 2의 이전 주기 완료 데이터를 테스크 3에 전달하여, 테스크 5가 제어신호를 출력할 수 있도록 제어할 수 있다.
도5를 참고하면, 테스크3과 대응되는 미리 결정된 시점에 테스크3이 동작이 완료되지 않은 경우를 나타내고 있다.
한편, 테스크 3에 대응되는 미리 결정된 시점에 테스크 3이 완료되지 않았고, 테스크 4는 미리 결정된 시점에 테스크 4가 완료된 경우, 검출부는 프로세서 1이 테스크 5에 트리거 신호를 송신하도록 제어할 수 있다.
프로세서는 테스크 1, 2 및 4의 현재주기 완료 데이터와 테스크 3의 이전 주기 완료 데이터를 테스크 5에 전달하여 제어신호를 출력할 수 있다.
도6을 참고하면, 테스크4과 대응되는 미리 결정된 시점에 테스크4이 동작이 완료되지 않은 경우를 나타내고 있다.
테스크 3에 대응되는 미리 결정된 시점에 테스크 3이 완료되었으나, 테스크 4에 대응되는 미리 결정된 시점에 테스크4가 완료되지 않은 경우, 검출부는 프로세서1을 제어하여 테스크 5를 수행하는 프로세서2에 트리거 신호를 송출할 수 있다.
이 때 프로세서 3은 프로세서2에 테스크 4의 이전 주기 데이터를 전달할 수 있다.
테스크 4에 대응되는 미리 결정된 시점에 테스크 4의 동작이 완료되지 않은 경우 검출부(100)은 프로세서3을 제어하여 테스크 3에 테스크 4가 종료되지 않았음을 알리고, 테스크 3 또한 대응되는 미리 결정된 시점에 테스크 3의 동작이 완료되지 않은 경우, 프로세서1을 제어하여 테스크 5을 수행할 수 있는 트리거 신호를 프로세서 2에 송신하도록 제어할 수 있다.
검출부(100)는 테스크 1, 2 및 3의 현재주기의 완료 데이터와 테스크 4의 이전 주기의 완료 데이터를 테스크 5에 전달하여 제어신호를 출력할 수 있다.
도7을 참고하면, 테스크5와 대응되는 미리 결정된 시점(T5)에 테스크5의 동작이 완료되지 않은 경우를 나타내고 있다.
도7을 참고하면 테스크 5에 대응되는 미리 결정된 시점에 테스크5의 동작이 완료되지 못한 경우 검출부(100)는 프로세서1또는 프로세서3가 테스크 5의 수행을 개시하는 트리거 신호를 송신하도록 제어할 수 있다.
테스크5는 이후 동작에 필요한 테스크가 존재하지 않고 테스크5가 종국적인 테스크이므로 해당 테스크를 개시할 수 있는 트리거 신호를 송신하도록 제어할 수 있다.
이 경우 각 프로세서는 테스크 1, 2, 3 및 4의 이전 주기 완료 데이터를 기초로 제어신호를 출력할 수 있다.
다만, 테스크5의 경우에는 테스크5의 이전 주기 출력 값을 기초로 다른 프로세서 및 모듈과의 동작을 구현할 수 있다.
한편 도3내지 도7에서 설명한 동작은 본 발명의 구현을 위한 일 실시예에 불과하며 각 테스크에 대응되는 시점 및 해당 시점에 완료되지 않은 테스크에 대한 검출부(100)의 동작 형태의 제한은 없다.
도8은 일 실시예에 따른 순서도이다.
도8을 참고하면, 각 프로세서는 각 테스크를 수행할 수 있다(1001).
이 경우 상술한 바와 같이 각 테스크에 대응되는 미리 결정된 시점이 메모리(110)에 저장되어 있으며, 검출부(100)는 해당 시점에 해당 테스크의 동작이 완료되었는지 여부를 판단할 수 있다(1002). 해당 시점에 해당 테스크가 완료된 것은 해당 테스크가 정상적으로 동작하고 있는 것을 의미하므로 각 프로세서는 다른 테스크를 수행할 수 있다(1005).
다만, 해당 시점에 해당 테스크의 동작이 완료되지 않은 경우, 검출부(100)는 다른 테스크의 동작을 개시하는 트리거 신호를 다른 테스크에 송신할 수 있다(1003). 또한, 이 때 연관된 테스크의 경우 이전 주기에서의 각 테스크의 완료 데이터를 수신할 수 있다(1004). 이를 기초로 미리 결정된 시점에 해당 테스크의 동작이 완료되지 않은 경우라도 프로세서는 다음 테스크의 동작을 수행할 수 있다(1005).
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리(110), 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다.본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
1 : 차량
100 : 검출부
110 : 메모리

Claims (12)

  1. 복수의 테스크 각각이 수행되는 미리 결정된 시점이 저장된 메모리 ; 및
    상기 복수의 테스크를 수행하는 적어도 하나의 프로세서 오작동을 판단하는 검출부 ;를 포함하고,
    상기 검출부는,
    상기 미리 결정된 시점에,
    상기 복수의 테스크 중 하나의 테스크의 완료 여부를 기초로,
    상기 적어도 하나의 프로세서가 상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력하도록 제어하는 차량.
  2. 제1항에 있어서,
    상기 검출부는,
    상기 복수의 테스크 중 하나의 테스크와 대응되는 미리 결정된 시점에,
    상기 하나의 테스크가 완료되지 않으면,
    상기 적어도 하나의 프로세서가 상기 다른 테스크의 트리거 신호를 출력하도록 제어하는 차량.
  3. 제1항에 있어서,
    상기 복수의 테스크는,
    상기 하나의 테스크와 연속적으로 수행되는 주변 테스크를 포함하고,
    상기 검출부는,
    상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면,
    상기 적어도 하나의 프로세서가 이전 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하도록 제어하는 차량.
  4. 제3항에 있어서,
    상기 복수의 테스크는,
    미리 결정된 주기로 동작하고,
    상기 검출부는,
    상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면,
    상기 적어도 하나의 프로세서가 이전 주기 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하도록 제어하는 차량.
  5. 제4항에 있어서,
    상기 복수의 테스크는,
    상기 미리 결정된 주기로 동작하는 개시 테스크를 포함하는 차량.
  6. 제1항에 있어서,
    상기 복수의 테스크는,
    상기 적어도 하나의 프로세서에서 병렬적으로 수행되는 차량.
  7. 복수의 테스크 각각이 수행되는 미리 결정된 시점을 저장하고,
    상기 복수의 테스크를 수행하는 적어도 하나의 프로세서 오작동을 판단하고,
    상기 미리 결정된 시점에
    상기 복수의 테스크 중 하나의 테스크의 완료 여부를 기초로,
    상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력하는 차량 제어방법.
  8. 제7항에 있어서,
    상기 복수의 테스크 중 하나의 테스크와 대응되는 미리 결정된 시점에,
    상기 하나의 테스크가 완료되지 않으면,
    상기 하나의 테스크와 다른 테스크의 트리거 신호를 출력하는 것을 포함하는 차량 제어방법.
  9. 제7항에 있어서,
    상기 복수의 테스크는,
    상기 하나의 테스크와 연속적으로 수행되는 주변 테스크를 포함하고,
    상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면,
    이전 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하는 것을 포함하는 차량 제어방법.
  10. 제9항에 있어서,
    상기 복수의 테스크는,
    미리 결정된 주기로 동작하고,
    상기 주변 테스크를 수행하는 것은,
    상기 미리 결정된 시점에 상기 하나의 테스크가 완료되지 않으면,
    이전 주기 시점에 완료된 상기 하나의 테스크의 완료 데이터를 기초로 상기 주변 테스크를 수행하는 것을 포함하는 차량 제어방법.
  11. 제10항에 있어서,
    상기 복수의 테스크는,
    상기 미리 결정된 주기로 동작하는 개시 테스크를 포함하는 차량 제어방법.
  12. 제7항에 있어서,
    상기 복수의 테스크는,
    상기 적어도 하나의 프로세서에서 병렬적으로 수행되는 것을 포함하는 차량 제어방법.
KR1020190146616A 2019-11-15 2019-11-15 차량 및 그 제어방법 KR20210059317A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190146616A KR20210059317A (ko) 2019-11-15 2019-11-15 차량 및 그 제어방법
US16/923,756 US11853146B2 (en) 2019-11-15 2020-07-08 Vehicle and control method thereof
DE102020208918.3A DE102020208918A1 (de) 2019-11-15 2020-07-16 Fahrzeug und steuerungsverfahren für dieses
CN202010852321.XA CN112824199A (zh) 2019-11-15 2020-08-21 车辆及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146616A KR20210059317A (ko) 2019-11-15 2019-11-15 차량 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20210059317A true KR20210059317A (ko) 2021-05-25

Family

ID=75683942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146616A KR20210059317A (ko) 2019-11-15 2019-11-15 차량 및 그 제어방법

Country Status (4)

Country Link
US (1) US11853146B2 (ko)
KR (1) KR20210059317A (ko)
CN (1) CN112824199A (ko)
DE (1) DE102020208918A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11953921B2 (en) * 2021-06-11 2024-04-09 Rockwell Collins, Inc. Vehicular system and method for pre-arming actions according to conditional timeline and associated trigger events
US20230326265A1 (en) * 2022-04-08 2023-10-12 Nio Technology (Anhui) Co., Ltd. Methods and systems for multi-core processor management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US20170243463A1 (en) * 2016-02-18 2017-08-24 GRZ Pharma, LLC Systems, methods, and devices for using a code to track task completion

Also Published As

Publication number Publication date
US11853146B2 (en) 2023-12-26
US20210146948A1 (en) 2021-05-20
CN112824199A (zh) 2021-05-21
DE102020208918A1 (de) 2021-05-20

Similar Documents

Publication Publication Date Title
US11440565B2 (en) Decision method, device, equipment in a lane changing process and storage medium
JP6611664B2 (ja) 自動運転制御装置および自動運転制御方法
US10710602B2 (en) Systems and methods for a vehicle controller safety monitor
CN109891474B (zh) 车辆用控制装置
CN109823339B (zh) 车辆红绿灯路口通行控制方法以及控制系统
JP2015051761A (ja) アクティブ車両制御のための運転支援技術
JP6985176B2 (ja) 車両制御装置
CN109844843A (zh) 用于检查超车可能性条件的方法
KR102488526B1 (ko) 시나리오 기반의 자율 주행 차량 제어
KR20210059317A (ko) 차량 및 그 제어방법
JPWO2018173175A1 (ja) 車両制御装置
CN114333354B (zh) 路口调度方法和系统
CN114763135A (zh) 一种车辆行驶控制方法、装置、电子设备及存储介质
CN116867695A (zh) 自主车辆转向假动作事件检测器
KR20170056233A (ko) 차량의 회전 주행 제어 장치 및 방법
KR20150022168A (ko) 자동 조향 제어 장치 및 방법
WO2016203618A1 (ja) 運転支援装置及び車両
KR102515670B1 (ko) 차량의 주행을 보조하는 장치 및 그 방법
WO2023076343A1 (en) Autonomous vehicle trajectory determination based on state transition model
WO2022130718A1 (ja) 情報生成装置
CN116022168A (zh) Ads感知系统感知的自由空间验证
JP2020042599A (ja) 自動運転制御装置および自動運転制御方法
WO2021234947A1 (ja) 車両制御システム、車両統合制御装置、電子制御装置、ネットワーク通信装置、車両制御方法、および、車両制御プログラム
JP6703960B2 (ja) 演算装置、ログ記録方法、ログ記録システム
JP6250120B1 (ja) 車線維持支援装置および車線維持支援方法

Legal Events

Date Code Title Description
A201 Request for examination