KR20200031450A - 가상머신 기반 차량 제어 검증 시스템 및 방법 - Google Patents

가상머신 기반 차량 제어 검증 시스템 및 방법 Download PDF

Info

Publication number
KR20200031450A
KR20200031450A KR1020180110479A KR20180110479A KR20200031450A KR 20200031450 A KR20200031450 A KR 20200031450A KR 1020180110479 A KR1020180110479 A KR 1020180110479A KR 20180110479 A KR20180110479 A KR 20180110479A KR 20200031450 A KR20200031450 A KR 20200031450A
Authority
KR
South Korea
Prior art keywords
virtual machine
output data
controllers
controller
server
Prior art date
Application number
KR1020180110479A
Other languages
English (en)
Other versions
KR102529916B1 (ko
Inventor
신동진
이동열
정명규
서재암
Original Assignee
현대자동차주식회사
기아자동차주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아자동차주식회사 filed Critical 현대자동차주식회사
Priority to KR1020180110479A priority Critical patent/KR102529916B1/ko
Priority to US16/207,139 priority patent/US11093273B2/en
Priority to EP18210491.9A priority patent/EP3623950B1/en
Publication of KR20200031450A publication Critical patent/KR20200031450A/ko
Application granted granted Critical
Publication of KR102529916B1 publication Critical patent/KR102529916B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/037Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for occupant comfort, e.g. for automatic adjustment of appliances according to personal settings, e.g. seats, mirrors, steering wheel
    • 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/0712Error 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 virtual computing platform, e.g. logically partitioned 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/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/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

본 발명은 가상머신 기반 차량 제어 검증 시스템 및 방법에 관한 것이다.
본 발명에 따른 가상머신 기반 차량 제어 검증 시스템은, 차량의 상위 제어기들의 소프트웨어를 탑재하고 가상머신을 통해 상기 상위 제어기들의 소프트웨어를 실행하는 서버, 및 상기 상위 제어기들의 입력 데이터를 수집하여 상기 서버로 전송하고, 상기 상위 제어기들로부터 수집된 제1 출력 데이터와, 상기 입력 데이터에 대응하여 상기 서버로부터 수신된 제2 출력 데이터를 비교하여 상기 제1 출력 데이터에 대한 유효성을 검증하는 텔레매틱스 단말을 포함한다.

Description

가상머신 기반 차량 제어 검증 시스템 및 방법{SYSTEM AND METHOD FOR VERIFYING CONTROLLING OF VEHICLE BASED ON VIRTUAL MACHINE}
본 발명은 가상머신 기반 차량 제어 검증 시스템 및 방법에 관한 것이다.
차량용 제어기는 반도체로 구성되는데, 이러한 반도체는 순간적인 전자파 등에 의해 동작 결과에 오류가 발생할 수 있는 가능성이 있다. 따라서, 차량용 제어기의 안전성 확보를 위해 리던던시(Redundancy)를 적용하여 오류 가능성을 낮추도록 한다.
일 예로, 최근 마이크로컨트롤러(Microcontroller)에는 락스텝(Lockstep) 기술이 적용된다. 이 락스텝(Lockstep) 기술은 멀티코어 MCU를 활용하여 복수의 코어에서 동일한 프로그램을 실행하고, 양 코어의 실행 결과가 다른 경우 오류를 감지하여 리셋함으로써 안전성을 확보하도록 한다.
그 외에도, 모니터링용 반도체를 추가하여 각 시스템 별로 리던던시를 확보하는 방안이 있다.
하지만, 이러한 방안들은 리던던시 확보를 위해 별도의 시스템 및/또는 반도체를 구비해야 하므로 비용이 상승하는 문제가 있었다.
본 발명의 목적은, 서버의 가상머신을 통해 제어기와 동일한 프로그램 실행환경을 마련함으로써 각 제어기에 대한 Redundancy를 확보하여 안정적인 검증 방안을 모색할 수 있도록 한, 가상머신 기반 차량 제어 검증 시스템 및 방법을 제공함에 있다.
또한, 본 발명의 다른 목적은, 각 제어기에 대한 Redundancy를 서버를 기반으로 확보함으로써 각 제어기별로 모니터링용 반도체를 별도로 추가하지 않아도 되므로 비용 부담을 최소화하도록 한, 가상머신 기반 차량 제어 검증 시스템 및 방법을 제공함에 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 시스템은, 차량의 상위 제어기들의 소프트웨어를 탑재하고 가상머신을 통해 상기 상위 제어기들의 소프트웨어를 실행하는 서버, 및 상기 상위 제어기들의 입력 데이터를 수집하여 상기 서버로 전송하고, 상기 상위 제어기들로부터 수집된 제1 출력 데이터와, 상기 입력 데이터에 대응하여 상기 서버로부터 수신된 제2 출력 데이터를 비교하여 상기 제1 출력 데이터에 대한 유효성을 검증하는 텔레매틱스 단말을 포함하는 것을 특징으로 한다.
상기 서버는, 상기 상위 제어기들의 소프트웨어 ID, 버전, 롬 바이너리, 가상머신, 입력값 및 출력값에 해당하는 정보를 테이블에 정의하고 관리하는 것을 특징으로 한다.
상기 텔레매틱스 단말은, 상기 상위 제어기들의 입력 데이터 전송 시, 해당 상위 제어기의 소프트웨어 ID 및 버전 정보를 함께 전송하는 것을 특징으로 한다.
상기 서버는, 상기 텔레매틱스 단말로부터 수신된 상위 제어기의 소프트웨어 ID 및 버전 정보에 기초하여 롬 바이너리를 확인하고, 상기 확인된 롬 바이너리에 매칭된 가상머신을 실행하는 것을 특징으로 한다.
상기 가상머신은, 상기 상위 제어기를 에뮬레이션하고 상기 상위 제어기의 입력 데이터를 기반으로 상기 확인된 롬 바이너리를 실행하는 것을 특징으로 한다.
상기 서버는, 상기 롬 바이너리를 실행한 출력값에 기초하여 상기 제2 출력 데이터를 생성하는 것을 특징으로 한다.
상기 텔레매틱스 단말은, 상기 제1 출력 데이터 및 제2 출력 데이터에 대한 리던던시 체크(Redundancy Check)를 수행하여 상기 제1 출력 데이터의 유효성을 검증하는 것을 특징으로 한다.
상기 텔레매틱스 단말은, 상기 제1 출력 데이터가 유효하지 않은 것으로 판정되면, 해당 상위 제어기와 연결된 하위 제어기들로 안전모드 진입을 위한 제어 신호를 출력하는 것을 특징으로 한다.
상기 상위 제어기들은, 파워트레인 도메인 제어 유닛, 샤시 도메인 제어 유닛, 바디/편의 도메인 제어 유닛, 운전자 지원 시스템, 자율 주행 제어 시스템 중 적어도 하나 이상을 포함하는 것을 특징으로 한다.
상기 하위 제어기들은, 각 상위 제어기들에 연결되어 센서 및 엑추에이터의 동작을 제어하는 엔진, 변속기, 브레이크, 스티어링, 공조 제어기 유닛 및 시트 제어 유닛 중 적어도 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 방법은, 텔레매틱스 단말이 차량의 상위 제어기들의 입력 데이터 및 제1 출력 데이터를 수집하는 단계, 상기 텔레매틱스 단말이 상기 상위 제어기들의 소프트웨어를 탑재한 서버로 상기 입력 데이터를 전송하는 단계, 상기 서버가 가상머신을 통해 상기 상위 제어기들의 소프트웨어를 실행하여 상기 입력 데이터에 대응하는 제2 출력 데이터를 생성하고 상기 텔레매틱스 단말로 상기 제2 출력 데이터를 전송하는 단계, 및 상기 텔레매틱스 단말이 상기 제1 출력 데이터와 상기 제2 출력 데이터를 비교하여 상기 제1 출력 데이터에 대한 유효성을 검증하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 서버의 가상머신을 통해 제어기와 동일한 프로그램 실행환경을 마련함으로써 각 제어기의 출력 데이터에 대한 리던던시(Redundancy)를 체크하여 안정적인 검증 방안을 모색할 수 있는 효과가 있다.
또한, 본 발명에 따르면, 서버를 기반으로 각 제어기의 출력 데이터에 대한 리던던시(Redundancy)를 체크함으로써 각 제어기별로 모니터링용 반도체를 별도로 추가하지 않아도 되므로 비용 부담을 최소화할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 제어기를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 텔레매틱스 단말의 구성을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 도시한 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 시스템의 동작을 설명하는데 참조되는 실시예를 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 방법에 대한 동작 흐름을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 방법이 실행되는 컴퓨팅 시스템을 도시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 시스템은 텔레매틱스 단말(100) 및 서버(200)를 포함한다.
텔레매틱스 단말(100)은 차량의 구동을 제어하는 복수의 제어기(10)의 입력 데이터를 서버(200)로 전송하고, 이때 서버(200)로부터 수신된 출력 데이터와 복수의 제어기(10)로부터 수신된 출력 데이터를 비교하여 상위 데이터의 출력 데이터가 유효한지를 검증한다.
여기서, 복수의 제어기(10)는 상위 제어기들(11) 및 하위 제어기들(15)을 포함할 수 있다.
상위 제어기들(11)은 차량 네트워크를 통해 하위 제어기들(15)과 통신을 수행하며, 하위 제어기들(15)의 동작을 통합 제어하는 역할을 한다.
일 예로, 상위 제어기들(11)은 도 2에 도시된 바와 같이, 파워트레인 DCU(Domain Control Unit), 샤시 DCU 및/또는 바디/편의 DCU를 포함할 수 있다. 또한, 상위 제어기들(11)은 운전자 보조 시스템(Advanced Driver Assistance System, ADAS), 스마트 크루즈 제어(Smart Cruise Control, SCC) 시스템 등을 포함할 수 있다.
하위 제어기들(15)은 연결된 상위 제어기(11)의 제어에 따라 센서 및/또는 엑추에이터를 제어하는 역할을 한다. 이때, 하위 제어기들(15)은 센서의 입력 데이터를 차량 네트워크를 통해 연결된 상위 제어기(11)로 전송하고, 이때 상위 제어기(11)로부터 수신된 출력 데이터에 기초하여 엑추에이터의 동작을 제어할 수 있다.
일 예로, 하위 제어기들(15)은 도 2에 도시된 바와 같이, 엔진, 변속기, 브레이크, 스티어링, 공조 및/또는 시트 등을 포함할 수 있다.
여기서, 텔레매틱스 단말(100)은 상위 제어기(11)의 출력 데이터가 유효하지 않은 것으로 판정되면, 해당 상위 제어기(11)에 연결된 하위 제어기들(15)로 모드 전환 제어 신호를 출력할 수 있다. 따라서, 하위 제어기들(15)은 텔레매틱스 단말(100)의 모드 전환 제어 신호에 따라 안전모드로 진입하여 상위 제어기(11)의 자동 제어를 차단할 수 있다.
텔레매틱스 단말(100)의 세부 구성은 도 3의 실시예를 참조하도록 한다.
도 3을 참조하면, 텔레매틱스 단말(100)은 제어부(110), 인터페이스부(120), 통신부(130), 저장부(140), 데이터 수집부(150), 판단부(160) 및 모드 제어부(170)를 포함할 수 있다. 여기서, 본 실시예에 따른 텔레매틱스 단말(100)의 제어부(110), 데이터 수집부(150), 판단부(160) 및 모드 제어부(170)는 적어도 하나 이상의 프로세서(processor)로서 구현될 수 있다.
제어부(110)는 텔레매틱스 단말(100)의 각 구성요소들 간에 전달되는 신호를 처리할 수 있다.
인터페이스부(120)는 제어 명령을 입력 받기 위한 입력수단과 텔레매틱스 단말(100)의 동작 상태 및 결과 등을 출력하는 출력수단을 포함할 수 있다.
여기서, 입력수단은 키 버튼을 포함할 수 있으며, 마우스, 조이스틱, 조그셔틀, 스타일러스 펜 등을 포함할 수도 있다. 또한, 입력수단은 디스플레이 상에 구현되는 소프트 키를 포함할 수도 있다.
출력수단은 디스플레이를 포함할 수 있으며, 스피커와 같은 음성출력수단을 포함할 수도 있다. 이때, 터치 필름, 터치 시트, 터치 패드 등의 터치 센서가 디스플레이에 구비되는 경우, 디스플레이는 터치 스크린으로 동작하며, 입력수단과 출력수단이 통합된 형태로 구현될 수 있다.
이때, 디스플레이는 액정 디스플레이(Liquid Crystal Display, LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display, TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode, OLED), 플렉시블 디스플레이(Flexible Display), 전계 방출 디스플레이(Feld Emission Display, FED), 3차원 디스플레이(3D Display) 중에서 적어도 하나를 포함할 수 있다.
통신부(130)는 상위 제어기들 및 하위 제어기들과의 통신 인터페이스를 지원하는 통신모듈을 포함할 수 있다. 여기서, 통신모듈은 CAN(Controller Area Network) 통신, LIN(Local Interconnect Network) 통신, 플렉스레이(Flex-Ray) 통신 등의 차량 네트워크 통신을 지원하는 모듈을 포함할 수 있다.
또한, 통신부(130)는 서버(200)와의 통신 인터페이스를 지원하는 통신모듈을 포함할 수 있다. 여기서, 통신모듈은 무선랜(Wireless LAN, WLAN), 와이브로(Wireless Broadband, Wibro), 와이파이(Wi-Fi), 와이맥스(World Interoperability for Microwave Access, Wimax) 등의 무선 인터넷 통신을 지원하는 모듈을 포함할 수 있다.
저장부(140)는 텔레매틱스 단말(100)이 동작하는데 필요한 데이터 및/또는 알고리즘 등을 저장할 수 있다.
일 예로, 저장부(140)는 통신부(130)를 통해 상위 제어기들 및/또는 하위 제어기들로부터 수신된 입/출력 데이터가 저장될 수 있다. 또한, 저장부(140)는 서버(200)로부터 수신된 출력 데이터가 저장될 수 있다.
또한, 저장부(140)는 텔레매틱스 단말(100)이 상위 제어기들 및 서버(200)로부터의 출력 데이터를 비교하여 상위 제어기의 출력 데이터가 유효한지를 검증하고, 검증 결과에 따라 하위 제어기들의 모드 동작을 제어하기 위한 명령 및/또는 알고리즘 등이 저장될 수 있다.
여기서, 저장부(140)는 RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)와 같은 저장매체를 포함할 수 있다.
데이터 수집부(150)는 차량 제어 시스템의 동작에 필요한 데이터들을 수집하고 저장부(140)에 저장한다.
즉, 데이터 수집부(150)는 통신부(130)를 통해 연결된 상위 제어기들 및 하위 제어기들의 정보를 수집한다. 일 예로, 데이터 수집부(150)는 상위 제어기의 식별정보, 상위 제어기에 설치된 소프트웨어의 ID, 버전 정보 등을 수집할 수 있다. 또한, 데이터 수집부(150)는 각 상위 제어기에 대응되는 하위 제어기들의 식별정보를 수집할 수 있따. 여기서, 데이터 수집부(150)는 차량의 시동 온 상태로 전환될 때마다 상위 제어기들 및 하위 제어기들의 정보를 수집할 수 있다.
이때, 제어부(110)는 수집된 상위 제어기들 및 하위 제어기들의 정보를 통신부(130)를 통해 연결된 서버(200)로 전송한다.
또한, 데이터 수집부(150)는 하위 제어기로부터 상위 제어기로 전송되는 입력 데이터를 수집한다. 일 예로, 데이터 수집부(150)는 SCC(Smart Cruise Control)로부터 파워트레인 DCU로 전송되는 차속, 전방차량 유지거리, 상대속도, 목표속도 등의 정보를 입력 데이터로서 수집할 수 있다.
이때, 제어부(110)는 데이터 수집부(150)에 의해 수집된 입력 데이터를 통신부(130)를 통해 서버(200)로 전송한다. 제어부(110)는 미리 정해진 주기마다 데이터 수집부(150)에 의해 수집된 입력 데이터를 서버(200)로 전송할 수 있다.
제어부(110)는 입력 데이터를 서버(200)로 전송하는 경우, 해당 입력 데이터를 수신하는 상위 제어기의 정보, 예를 들어, 상위 제어기의 식별정보, 소프트웨어 ID 및 버전정보 등을 함께 전송할 수 있다.
또한, 데이터 수집부(150)는 상위 제어기로부터 상기 입력 데이터에 대응하여 하위 제어기로 전송되는 출력 데이터(이하에서는 '제1 출력 데이터'라 칭하도록 한다.)를 수집한다.
또한, 데이터 수집부(150)는 서버(200)로부터 수신된 제2 출력 데이터(이하에서는 '제2 출력 데이터'라 칭하도록 한다.)를 수집한다.
여기서, 서버(200)는 상위 제어기들에 탑재된 제어로직과 동일한 소프트웨어를 탑재하고 있다. 서버(200)는 텔레매틱스 단말(100)로부터 입력 데이터가 수신되면 해당 상위 제어기의 소프트웨어를 실행하여 입력 데이터에 대한 제2 출력 데이터를 생성하고, 생성된 제2 출력 데이터를 텔레매틱스 단말(100)로 전송한다. 이에, 서버(200)의 세부 구성에 대해서는 도 4의 실시예를 참조하도록 한다.
도 4는 본 발명의 일 실시예에 따른 서버(200)의 구성을 도시한 도면이다.
도 4를 참조하면, 서버(200)는 제어부(210), 통신부(220), 저장부(230), 애플리케이션부(240), 복수의 가상머신(250)을 포함한다.
통신부(220)는 텔레매틱스 단말(100)과의 통신 인터페이스를 지원하는 통신모듈을 포함할 수 있다. 일 예로, 통신부(220)는 텔레매틱스 단말(100)로부터 전송된 상위 제어기들의 정보를 수신할 수 있다. 또한, 통신부(220)는 텔레매틱스 단말(100)로부터 전송된 입력 데이터를 수신할 수 있다. 또한, 통신부(220)는 어느 하나의 제어기 소프트웨어(260)의 실행 결과로서 생성된 제2 출력 데이터를 텔레매틱스 단말(100)로 전송할 수 있다.
여기서, 통신모듈은 무선랜(Wireless LAN, WLAN), 와이브로(Wireless Broadband, Wibro), 와이파이(Wi-Fi), 와이맥스(World Interoperability for Microwave Access, Wimax) 등의 무선 인터넷 통신을 지원하는 모듈을 포함할 수 있다.
저장부(230)는 상위 제어기들의 정보를 저장하고, 상위 제어기들에 설치된 소프트웨어의 롬 바이너리(ROM Binary)가 저장된다.
또한, 저장부(230)는 서버(200)가 동작하는데 필요한 명령, 데이터 및/또는 알고리즘이 저장될 수 있다.
여기서, 저장부(230)는 RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)와 같은 저장매체를 포함할 수 있다.
애플리케이션부(240)는 통신부(220)를 통해 수신된 상위 제어기들의 정보를 관리한다. 이때, 애플리케이션부(240)는 해당 제어기 소프트웨어(260)의 롬 바이너리(ROM Binary)를 식별하여 실행하는 가상머신(Virtual Machine)(250)의 정보를 각 상위 제어기들의 정보에 매칭하여 관리한다.
일 예로, 애플리케이션부(240)는 상위 제어기들의 정보 및 각 상위 제어기들에 매칭된 가상머신(250)의 정보, 해당 제어기 소프트웨어(260)의 입력값 및 출력값 등을 도 5의 테이블에 정의하고, 해당 테이블을 통해 해당 정보를 관리한다.
도 5에 도시된 바와 같이, 테이블은 각 상위 제어기의 소프트웨어(S/W) ID, 버전(Version), 롬 바이너리(ROM Binary) 정보, 가상머신(Virtual Machine) 정보, 입력값(Input) 및 출력값(Output) 등이 정의된다.
제어부(210)는 통신부(220)를 통해 텔레매틱스 단말(100)로부터의 입력 데이터가 수신되면, 수신된 입력 데이터 및 상기 입력 데이터에 대한 상위 제어기의 정보, 예를 들어, 소프트웨어 ID 및 버전 정보를 애플리케이션부(240)로 전달한다.
이에, 애플리케이션부(240)는 도 5의 테이블에 정의된 정보들 중 제어부(210)로부터 전달된 상위 제어기의 정보에 대응되는 롬 바이너리를 확인하고, 상기 확인된 롬 바이너리에 매칭된 가상머신(250)을 실행한다.
가상머신(250)은 애플리케이션부(240)에 의해 실행된다. 가상머신(250)은 해당 제어기에 맞는 MCU를 에뮬레이션(emulation)하고, 해당 제어기 소프트웨어(260)의 롬 바이너리를 실행한다. 이때, 가상머신(250)은 제어부(210)로부터 전달된 입력 데이터를 롬 바이너리의 입력값으로 하여 실행한다.
따라서, 해당 제어기 소프트웨어(260)의 롬 바이너리 실행 결과로써 상기 입력 데이터에 대응되는 제2 출력 데이터가 생성될 수 있다.
일 예로, SCC의 경우 차속, 설정속도 등이 입력값으로 입력되면, 가속도, 브레이크 등이 출력값으로 출력될 수 있다.
애플리케이션부(240)는 롬 바이너리의 실행 결과로 생성된 제2 출력 데이터를 제어부(210)로 전달한다. 따라서, 제어부(210)는 제2 출력 데이터를 통신부(220)를 통해 텔레매틱스 단말(100)로 전송하도록 한다.
이에, 텔레매틱스 단말(100)의 판단부(160)는 데이터 수집부(150)에 의해 제1 출력 데이터 및 제2 출력 데이터가 수집되면, 제1 출력 데이터 및 제2 출력 데이터를 비교한다. 여기서, 제1 출력 데이터는 상위 제어기의 소프트웨어를 실행하여 출력된 데이터이고, 제2 출력 데이터는 서버(200)에 탑재된 상위 제어기의 소프트웨어를 실행하여 출력된 데이터이다. 따라서, 판단부(160)는 제1 출력 데이터 및 제2 출력 데이터가 동일한지를 비교한다.
일 예로, 판단부(160)는 도 6에 도시된 바와 같이, 요구 가속도에 대응하여 상위 제어기로부터 출력된 CAN 신호(CF_SCC_AccDem)와, 서버(200)로부터 출력된 제1 신호를 비교한다. 이때, 판단부(160)는 두 신호값이 동일하거나, 두 신호의 차이값이 1.5 m/s2의 허용 오차 내이거나, 혹은 두 신호의 시간차가 2sec의 허용 시간차 내이면 제1 출력 데이터가 유효한 것으로 판정하고, 그렇지 않은 경우에는 유효하지 않은 것으로 판정한다.
여기서, 판단부(160)는 제1 출력 데이터 및 제2 출력 데이터에 대한 리던던시 체크(Redundancy Check)를 수행함으로써 제1 출력 데이터의 유효성을 판정할 수 있다.
판단부(160)는 제1 출력 데이터가 유효하지 않은 것으로 판정된 경우 그 결과를 모드 제어부(170)로 전달한다.
이에, 모드 제어부(170)는 제1 출력 데이터가 유효하지 않은 것으로 판정된 경우, 해당 상위 제어기와 연결된 하위 제어기들로 안전모드 진입을 위한 제어 신호를 출력한다. 따라서, 해당 하위 제어기들은 모드 제어부(170)로부터 출력된 제어 신호에 따라 안전모드로 진입하여 상위 제어기에 의한 자동 제어 기능을 차단하도록 한다.
이 경우, 제어부(110)는 인터페이스부(120)를 통해 판정 결과를 출력하여 운전자에게 상위 제어기 및/또는 하위 제어기의 상태 정보를 안내할 수 있다. 일 예로, 제어부(110)는 디스플레이를 통해 경고 메시지를 출력하거나, 경고음을 출력할 수 있다. 또한, 제어부(110)는 경고등을 점등할 수도 있다.
한편, 판단부(160)는 제1 출력 데이터가 유효한 데이터인 것으로 판정된 경우, 그 결과를 제어부(110)로 출력한다. 마찬가지로, 제어부(110)는 인터페이스부(120)를 통해 판단부(160)의 판정 결과를 출력하여 운전자에게 상위 제어기 및/또는 하위 제어기의 상태 정보를 안내할 수 있다.
상기에서와 같이 동작하는 본 실시예에 따른 텔레매틱스 단말(100)은 메모리와 각 동작을 처리하는 프로세서를 포함하는 독립적인 하드웨어 장치 형태로 구현될 수 있으며, 마이크로프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다.
본 발명에 따른 텔레매틱스 단말(100)은 차량의 내부에 구현될 수 있다. 이때, 텔레매틱스 단말(100)은 차량의 내부 제어 유닛들과 일체로 형성될 수 있으며, 별도의 장치로 구현되어 별도의 연결 수단에 의해 차량의 제어 유닛들과 연결될 수도 있다.
상기와 같이 구성되는 본 발명에 따른 시스템의 동작 흐름을 보다 상세히 설명하면 다음과 같다.
도 7은 본 발명의 일 실시예에 따른 가상머신 기반 차량 제어 검증 방법에 대한 동작 흐름을 도시한 도면이다.
도 7을 참조하면, 텔레매틱스 단말(100)은 제어기들, 예를 들어, 상위 제어기들 및 하위 제어기들의 정보를 수집한다(S110). 텔레매틱스 단말(100)은 차량의 시동 온 시 마다 제어기들의 정보를 수집할 수 있다.
이때, 텔레매틱스 단말(100)은 'S110' 과정에서 수집된 정보 중 상위 제어기들의 정보, 예를 들어, 소프트웨어 ID 및 버전 정보 등을 서버(200)로 전송한다(S120). 서버(200)는 'S120' 과정에서 수신된 상위 제어기의 소프트웨어 정보를 해당 롬 바이너리를 실행하는 가상머신(250)의 정보와 매칭하여 저장하고 관리할 수 있다.
또한, 텔레매틱스 단말(100)은 차량의 상위 제어기들의 입/출력 데이터를 수집한다(S130). 여기서, 텔레매틱스 단말(100)은 미리 정해진 주기 마다 'S130' 과정을 수행할 수 있다. 이때, 텔레매틱스 단말(100)은 'S130' 과정에서 수집된 입/출력 데이터 중 상위 제어기들의 입력 데이터를 서버(200)로 전송한다(S140). 'S140' 과정에서, 텔레매틱스 단말(100)은 해당 상위 제어기의 소프트웨어 ID 및 버전 정보 등을 함께 전송할 수 있다.
서버(200)는 'S140' 과정에서 수신된 입력 데이터의 상위 제어기 정보를 확인한다(S150). 'S150' 과정에서, 서버(200)는 상위 제어기의 소프트웨어 ID 및 버전에 대응되는 롬 바이너리를 결정하고, 결정된 롬 바이너리에 대응되는 가상머신(250)을 확인할 수 있다.
이후, 서버(200)는 'S150' 과정을 통해 확인된 가상머신(250)을 실행한다(S160). 이때, 가상머신(250)은 'S140' 과정에서 수신된 입력 데이터를 기반으로 제어기 소프트웨어(260)의 롬 바이너리를 실행한다(S170). 서버(200)는 'S170' 과정에서 롬 바이너리를 실행한 출력값을 포함하는 출력 데이터(제2 출력 데이터)를 텔레매틱스 단말(100)로 전송한다(S180).
이에, 텔레매틱스 단말(100)은 'S130' 과정에서 수집된 상위 제어기의 출력 데이터(제1 출력 데이터)와 'S180' 과정에서 수신된 출력 데이터(제2 출력 데이터)를 비교하고(S190), 비교 결과에 기초하여 상위 제어기의 출력 데이터(제1 출력 데이터)에 대한 유효성을 판단한다(S200).
서버(200)는 'S200' 과정에서 상위 제어기의 출력 데이터(제1 출력 데이터)가 유효하지 않은 데이터로 확인되면, 해당 상위 제어기에 대응되는 하위 제어기들의 동작 모드 제어 신호를 생성하여(S210), 각 하위 제어기들로 전송한다(S220).
따라서, 하위 제어기들은 'S220' 과정에서 수신된 제어 신호에 따라 안전모드로 진입하게 된다.
한편, 'S200' 과정에서 상위 제어기의 출력 데이터(제1 출력 데이터)가 유효한 데이터로 확인되면, 'S210' 및 'S220' 과정은 생략할 수 있다.
이와 같이, 본 발명에 따른 가상머신 기반 차량 제어 검증 시스템 및 방법은 각 제어기별로 모니터링용 반도체 등을 별도로 추가하지 않고 서버(200)의 가상머신을 통해 제어기와 동일한 프로그램 실행환경을 마련함으로써 안정적인 검증 방안을 모색할 수 있다.
도 8은 본 발명의 일 실시예에 따른 방법이 실행되는 컴퓨팅 시스템을 도시한 도면이다.
도 8을 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대해 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 제어기 11: 상위 제어기
15: 하위 제어기 100: 텔레매틱스 단말
110: 제어부 120: 인터페이스부
130: 통신부 140: 저장부
150: 데이터 수집부 160: 판단부
170: 모드 제어부 200: 서버
210: 제어부 220: 통신부
230: 저장부 240: 애플리케이션부
250: 가상머신 260: 제어기 소프트웨어

Claims (19)

  1. 차량의 상위 제어기들의 소프트웨어를 탑재하고 가상머신을 통해 상기 상위 제어기들의 소프트웨어를 실행하는 서버; 및
    상기 상위 제어기들의 입력 데이터를 수집하여 상기 서버로 전송하고, 상기 상위 제어기들로부터 수집된 제1 출력 데이터와, 상기 입력 데이터에 대응하여 상기 서버로부터 수신된 제2 출력 데이터를 비교하여 상기 제1 출력 데이터에 대한 유효성을 검증하는 텔레매틱스 단말
    을 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  2. 청구항 1에 있어서,
    상기 서버는,
    상기 상위 제어기들의 소프트웨어 ID, 버전, 롬 바이너리, 가상머신, 입력값 및 출력값에 해당하는 정보를 테이블에 정의하고 관리하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  3. 청구항 1에 있어서,
    상기 텔레매틱스 단말은,
    상기 상위 제어기들의 입력 데이터 전송 시, 해당 상위 제어기의 소프트웨어 ID 및 버전 정보를 함께 전송하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  4. 청구항 3에 있어서,
    상기 서버는,
    상기 텔레매틱스 단말로부터 수신된 상위 제어기의 소프트웨어 ID 및 버전 정보에 기초하여 롬 바이너리를 확인하고, 상기 확인된 롬 바이너리에 매칭된 가상머신을 실행하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  5. 청구항 4에 있어서,
    상기 가상머신은,
    상기 상위 제어기를 에뮬레이션하고 상기 상위 제어기의 입력 데이터를 기반으로 상기 확인된 롬 바이너리를 실행하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  6. 청구항 5에 있어서,
    상기 서버는,
    상기 롬 바이너리를 실행한 출력값에 기초하여 상기 제2 출력 데이터를 생성하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  7. 청구항 1에 있어서,
    상기 텔레매틱스 단말은,
    상기 제1 출력 데이터 및 제2 출력 데이터에 대한 리던던시 체크(Redundancy Check)를 수행하여 상기 제1 출력 데이터의 유효성을 검증하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  8. 청구항 1에 있어서,
    상기 텔레매틱스 단말은,
    상기 제1 출력 데이터가 유효하지 않은 것으로 판정되면, 해당 상위 제어기와 연결된 하위 제어기들로 안전모드 진입을 위한 제어 신호를 출력하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  9. 청구항 1에 있어서,
    상기 상위 제어기들은,
    파워트레인 도메인 제어 유닛, 샤시 도메인 제어 유닛, 바디/편의 도메인 제어 유닛, 운전자 지원 시스템, 자율 주행 제어 시스템 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  10. 청구항 8에 있어서,
    상기 하위 제어기들은,
    각 상위 제어기들에 연결되어 센서 및 엑추에이터의 동작을 제어하는 엔진, 변속기, 브레이크, 스티어링, 공조 제어기 유닛 및 시트 제어 유닛 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 시스템.
  11. 텔레매틱스 단말이, 차량의 상위 제어기들의 입력 데이터 및 제1 출력 데이터를 수집하는 단계;
    상기 텔레매틱스 단말이, 상기 상위 제어기들의 소프트웨어를 탑재한 서버로 상기 입력 데이터를 전송하는 단계;
    상기 서버가, 가상머신을 통해 상기 상위 제어기들의 소프트웨어를 실행하여 상기 입력 데이터에 대응하는 제2 출력 데이터를 생성하고 상기 텔레매틱스 단말로 상기 제2 출력 데이터를 전송하는 단계; 및
    상기 텔레매틱스 단말이, 상기 제1 출력 데이터와 상기 제2 출력 데이터를 비교하여 상기 제1 출력 데이터에 대한 유효성을 검증하는 단계
    를 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  12. 청구항 11에 있어서,
    상기 텔레매틱스 단말이, 상기 상위 제어기들의 소프트웨어 정보를 상기 서버로 전송하는 단계; 및
    상기 서버가, 상기 상위 제어기들의 소프트웨어 ID, 버전, 롬 바이너리, 가상머신, 입력값 및 출력값에 해당하는 정보를 테이블에 정의하고 관리하는 단계를 더 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  13. 청구항 11에 있어서,
    상기 입력 데이터를 전송하는 단계는,
    상기 텔레매틱스 단말이, 상기 상위 제어기들의 입력 데이터와 함께 해당 상위 제어기의 소프트웨어 ID 및 버전 정보를 전송하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  14. 청구항 13에 있어서,
    상기 제2 출력 데이터를 전송하는 단계는,
    상기 서버가, 상기 텔레매틱스 단말로부터 수신된 상위 제어기의 소프트웨어 ID 및 버전 정보에 기초하여 롬 바이너리를 확인하는 단계; 및
    상기 확인된 롬 바이너리에 매칭된 가상머신을 실행하는 단계를 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  15. 청구항 14에 있어서,
    상기 제2 출력 데이터를 전송하는 단계는,
    상기 가상머신이, 상기 상위 제어기를 에뮬레이션하는 단계; 및
    상기 상위 제어기의 입력 데이터를 기반으로 상기 확인된 롬 바이너리를 실행하는 단계를 더 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  16. 청구항 15에 있어서,
    상기 제2 출력 데이터는,
    상기 롬 바이너리를 실행한 출력값에 기초하여 생성된 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  17. 청구항 11에 있어서,
    상기 유효성을 검증하는 단계는,
    상기 텔레매틱스 단말이, 상기 제1 출력 데이터 및 제2 출력 데이터에 대한 리던던시 체크(Redundancy Check)를 수행하는 단계를 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  18. 청구항 11에 있어서,
    상기 제1 출력 데이터가 유효하지 않은 것으로 판정되면, 상기 텔레매틱스 단말이 해당 상위 제어기와 연결된 하위 제어기들로 안전모드 진입을 위한 제어 신호를 출력하는 단계를 더 포함하는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
  19. 청구항 11에 있어서,
    상기 입력 데이터를 전송하는 단계는,
    미리 설정된 주기 마다 수행되는 것을 특징으로 하는 가상머신 기반 차량 제어 검증 방법.
KR1020180110479A 2018-09-14 2018-09-14 가상머신 기반 차량 제어 검증 시스템 및 방법 KR102529916B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180110479A KR102529916B1 (ko) 2018-09-14 2018-09-14 가상머신 기반 차량 제어 검증 시스템 및 방법
US16/207,139 US11093273B2 (en) 2018-09-14 2018-12-02 System and method for verifying vehicle controller based on virtual machine
EP18210491.9A EP3623950B1 (en) 2018-09-14 2018-12-05 System and method for verifying vehicle controller based on virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180110479A KR102529916B1 (ko) 2018-09-14 2018-09-14 가상머신 기반 차량 제어 검증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20200031450A true KR20200031450A (ko) 2020-03-24
KR102529916B1 KR102529916B1 (ko) 2023-05-08

Family

ID=64661073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180110479A KR102529916B1 (ko) 2018-09-14 2018-09-14 가상머신 기반 차량 제어 검증 시스템 및 방법

Country Status (3)

Country Link
US (1) US11093273B2 (ko)
EP (1) EP3623950B1 (ko)
KR (1) KR102529916B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102398761B1 (ko) * 2020-12-11 2022-05-17 (주)티에이치엔 차량용 네트워크의 보안 방법 및 그 장치
KR20220148490A (ko) * 2021-04-29 2022-11-07 주식회사 엘지유플러스 자율주행 모니터링을 위한 원격 단말과 자율주행 모니터링 장치 및 그 동작 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7123843B2 (ja) * 2019-03-29 2022-08-23 日立Astemo株式会社 演算装置、判定方法
CN110244691B (zh) * 2019-06-19 2021-04-09 深圳市道通科技股份有限公司 一种汽车诊断方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028553A (en) * 1996-06-13 2000-02-22 Siemens Aktiengesellschaft Method for dynamic route recommendation
KR101102916B1 (ko) * 2009-09-07 2012-01-11 자동차부품연구원 실시간 주행 차량 시험 및 분석 시스템
US20120191440A1 (en) * 2011-01-25 2012-07-26 Power Analytics Corporation Systems and methods for real-time dc microgrid power analytics for mission-critical power systems
KR101294088B1 (ko) * 2012-05-16 2013-08-16 현대자동차주식회사 차량의 주행 검사 시스템 및 방법
JP2014035744A (ja) * 2012-08-10 2014-02-24 Nippon Telegr & Teleph Corp <Ntt> 検証管理装置、検証管理方法および検証管理プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10125818A1 (de) 2001-05-26 2002-11-28 Daimler Chrysler Ag Vorrichtung zum Steuern elektrischer Systeme
WO2009022272A2 (en) * 2007-08-16 2009-02-19 Nxp B.V. System and method providing fault detection capability
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
KR101637709B1 (ko) * 2014-10-30 2016-07-07 현대자동차주식회사 친환경 자동차의 제동 제어 방법
WO2016169603A1 (en) * 2015-04-23 2016-10-27 Telefonaktiebolaget Lm Ericsson (Publ) A network node, a device and methods therein for determining interoperability of software with the device
US10392009B2 (en) * 2015-08-12 2019-08-27 Hyundai Motor Company Automatic parking system and automatic parking method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028553A (en) * 1996-06-13 2000-02-22 Siemens Aktiengesellschaft Method for dynamic route recommendation
KR101102916B1 (ko) * 2009-09-07 2012-01-11 자동차부품연구원 실시간 주행 차량 시험 및 분석 시스템
US20120191440A1 (en) * 2011-01-25 2012-07-26 Power Analytics Corporation Systems and methods for real-time dc microgrid power analytics for mission-critical power systems
KR101294088B1 (ko) * 2012-05-16 2013-08-16 현대자동차주식회사 차량의 주행 검사 시스템 및 방법
JP2014035744A (ja) * 2012-08-10 2014-02-24 Nippon Telegr & Teleph Corp <Ntt> 検証管理装置、検証管理方法および検証管理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102398761B1 (ko) * 2020-12-11 2022-05-17 (주)티에이치엔 차량용 네트워크의 보안 방법 및 그 장치
KR20220148490A (ko) * 2021-04-29 2022-11-07 주식회사 엘지유플러스 자율주행 모니터링을 위한 원격 단말과 자율주행 모니터링 장치 및 그 동작 방법

Also Published As

Publication number Publication date
KR102529916B1 (ko) 2023-05-08
US11093273B2 (en) 2021-08-17
EP3623950A1 (en) 2020-03-18
EP3623950B1 (en) 2022-04-27
US20200089519A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
KR102529916B1 (ko) 가상머신 기반 차량 제어 검증 시스템 및 방법
US11144301B2 (en) Over-the-air (OTA) update for firmware of a vehicle component
KR102459737B1 (ko) 자율 주행 시스템의 업그레이드 방법, 자율 주행 시스템 및 차량 탑재 장치
KR102459736B1 (ko) 자율 주행 시스템의 업그레이드 방법, 자율 주행 시스템 및 차량 탑재 장치
CN111176556B (zh) 使用表决机构的高可靠性非易失性存储器
JP6922072B2 (ja) 異常診断システム及び異常診断方法
JP2018133743A (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
JP7089026B2 (ja) 車両モジュールを制御する装置および方法
US10981576B2 (en) Determination of reliability of vehicle control commands via memory test
US7437218B2 (en) Method and device for controlling the functional unit of a motor vehicle
CN112650977B (zh) 保护神经网络模型的方法
US20220171855A1 (en) Electronic control device and security verification method for electronic control device
US11052918B2 (en) System and method for controlling operation of an autonomous vehicle
CN112550313A (zh) 通过云计算的容错嵌入式汽车应用程序
CN114911607A (zh) 计算单元及用于验证其消息的方法、计算机程序和车辆
CN115529151A (zh) 基于上下文的对自主系统攻击的响应
JP2022013187A (ja) 車両制御装置
US20230072587A1 (en) Method for monitoring a component of an effect chain
US20180284880A1 (en) Controlling a vehicle-based human-machine interface via a wearable device
US20240059301A1 (en) Device and method for computing driving parameters
JP7428116B2 (ja) 電子制御装置、ソフトウェア認証方法、ソフトウェア認証プログラム、及び電子制御システム
JP2023076237A (ja) 演算装置の認証方法、認証プログラム及び認証装置
CN116198523A (zh) 用于实施行驶任务的方法和分散式控制单元系统
CN115723769A (zh) 用于实施功能相同的应用程序的系统和方法以及计算机程序和机器可读的存储器介质
JP2023076238A (ja) 車載システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant