KR20200043666A - 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버 - Google Patents

소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버 Download PDF

Info

Publication number
KR20200043666A
KR20200043666A KR1020180124295A KR20180124295A KR20200043666A KR 20200043666 A KR20200043666 A KR 20200043666A KR 1020180124295 A KR1020180124295 A KR 1020180124295A KR 20180124295 A KR20180124295 A KR 20180124295A KR 20200043666 A KR20200043666 A KR 20200043666A
Authority
KR
South Korea
Prior art keywords
software
vehicle
information
update
error
Prior art date
Application number
KR1020180124295A
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 KR1020180124295A priority Critical patent/KR20200043666A/ko
Priority to US16/270,150 priority patent/US20200125354A1/en
Priority to DE102019104969.5A priority patent/DE102019104969A1/de
Priority to CN201910204935.4A priority patent/CN111078243A/zh
Publication of KR20200043666A publication Critical patent/KR20200043666A/ko

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • 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/0793Remedial or corrective actions

Abstract

차량 전체에서 하드웨어 또는 소프트웨어의 오류를 검출하고, 검출된 오류에 대응하여 소프트웨어 업데이트를 실행할 수 있는 소프트웨어 업데이트 시스템이 개시된다. 소프트웨어 업데이트 시스템은 제1 소프트웨어가 설치된 차량; 및 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하고, 제1 소프트웨어를 업데이트하기 위한 업데이트 데이트를 차량에 전송하는 서버 장치를 포함할 수 있다. 서버 장치는 차량으로부터 차량의 환경 정보 또는 동작 정보를 수신하는 입출력 인터페이스; 및 차량의 환경 정보 또는 동작 정보에 의한 제2 소프트웨어의 출력에 기초하여 제1 소프트웨어의 업데이트 데이터를 생성하는 소프트웨어 업데이트 유닛을 포함할 수 있다. 입출력 인터페이스는 제1 소프트웨어의 업데이트 데이터를 차량으로 전송할 수 있다.

Description

소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버{SOFTWARE UPDATE SYSTEM, SOFTWARE UPDATE METHOD AND SOFTWARE UPDATE SERVER}
개시된 발명은 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버에 관한 것으로써, 더욱 상세하게는 차량의 제어 소프트웨어를 업데이트할 수 있는 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버에 관한 것이다.
일반적으로 차량은 화석 연료, 전기 등을 동력원으로 하여 도로 또는 선로를 주행하는 이동 수단 또는 운송 수단을 의미한다.
최근, 차량은 단순히 물자와 인력을 운송하는 것을 넘어서서 운전자가 운전 중에 음악을 듣고 영상을 볼 수 있도록 오디오 장치와 비디오 장치를 포함하며, 차량에는 운전자가 목적하는 장소까지의 경로를 표시하는 내비게이션(Navigation) 장치 역시 널리 설치되고 있다.
차량에는 다양한 전기 장치가 설치된다. 차량은 오디오 장치, 비디오 장치, 내비게이션 장치 등의 편의 장치 뿐만 아니라, 엔진 관리 시스템(Engine Management System, EMS), 변속기 제어 유닛(Transmission Control Unit, TCU), 전자식 주행 안정화 제어(Electronics Stability Control, ESC), 모터 구동 파워 스티어링(Motor Driven Power Steering, MDPS) 등의 차량의 주행과 관련된 전기 장치(주행 장치)를 포함한다.
각종 전기 장치에는 각종 전기 장치를 제어하기 위한 하드웨어와 소프트웨어가 설치된다.
하드웨어 또는 소프트웨어에 오류가 있는 경우, 차량은 소프트웨어의 업데이트를 통하여 하드웨어의 오류를 보상하거나, 소프트웨어의 오류를 수정할 수 있다.
종래의 차량은 전기 장치에 설치된 페일 세이프티(fail safety) 로직을 이용하여 하드웨어 또는 소프트웨어의 오류를 검출하고, 오류 검출 시에 전기 장치의 소프트웨어 전체를 업데이트하였다.
그러나, 자율 주행, 커넥티드 카(connected car), 전기 차량 등에서는 전기 장치들 각각의 기능들이 서로 복잡하게 연동한다. 따라서, 특정 전기 장치에 대하여 오류를 검출하고 부분적으로 소프트웨어 업데이트를 실행하는 경우, 다양한 전기 장치들 사이의 연동 동작 중에 추가적인 오류가 발생할 수 있다.
이상의 이유로, 개시된 발명의 일 측면은 차량 전체에서 하드웨어 또는 소프트웨어의 오류를 검출하고, 검출된 오류에 대응하여 소프트웨어 업데이트를 실행할 수 있는 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버를 제공하고자 한다.
개시된 발명의 일 측면은 서버 장치와 연동하여 차량의 소프트웨어를 업데이트할 수 있는 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버를 제공하고자 한다.
개시된 발명의 일 측면에 따른 소프트웨어 업데이트 시스템은 제1 소프트웨어가 설치된 차량; 및 상기 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하고, 상기 제1 소프트웨어를 업데이트하기 위한 업데이트 데이트를 상기 차량에 전송하는 서버 장치를 포함할 수 있다. 상기 서버 장치는 상기 차량으로부터 상기 차량의 환경 정보 또는 동작 정보를 수신하는 입출력 인터페이스; 및 상기 차량의 환경 정보 또는 동작 정보에 의한 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 업데이트 데이터를 생성하는 소프트웨어 업데이트 유닛을 포함할 수 있다. 상기 입출력 인터페이스는 상기 제1 소프트웨어의 업데이트 데이터를 상기 차량으로 전송할 수 있다.
상기 서버 장치는 상기 제2 소프트웨어를 저장하는 데이터 베이스; 및 상기 차량의 환경 정보 또는 동작 정보를 상기 제2 소프트웨어에 입력하고, 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 시뮬레이션 유닛을 더 포함할 수 있다.
상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 유효성을 판단하고, 상기 차량의 환경 정보 또는 동작 정보의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단할 수 있다.
상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 입력에 의한 상기 제2 소프트웨어의 출력의 유효성을 판단하고, 상기 제2 소프트웨어의 출력의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단할 수 있다.
상기 시뮬레이션 유닛은 상기 제2 소프트웨어의 출력에 기초하여 상기 차량의 동작을 예측하고, 상기 차량의 동작에 기초하여 상기 제1 소프트웨어의 오류를 판단할 수 있다.
상기 소프트웨어 업데이트 유닛은 상기 제1 소프트웨어의 업데이트 데이터에 기초하여 상기 제2 소트프웨어를 업데이트할 수 있다.
상기 소프트웨어 업데이트 시스템은 제3 소프트웨어가 설치된 다른 차량을 더 포함할 수 있다. 상기 서버 장치는 상기 차량의 환경 정보 또는 동작 정보에 기초하여 상기 제3 소프트웨어의 업데이트 데이터를 생성하고, 상기 제3 소프트웨어의 업데이트 데이터를 상기 다른 차량은 전송할 수 있다.
개시된 발명의 일 측면에 따른 소프트웨어 업데이트 방법은 차량에 설치된 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하고; 상기 차량으로부터 상기 차량의 환경 정보 또는 동작 정보를 수신하고; 상기 차량의 환경 정보 또는 동작 정보에 의한 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 업데이트 데이터를 생성하고; 상기 제1 소프트웨어의 업데이트 데이터를 상기 차량으로 전송하는 것을 포함할 수 있다.
상기 제1 소프트웨어의 업데이트 데이터를 생성하는 것은 상기 차량의 환경 정보 또는 동작 정보를 상기 제2 소프트웨어에 입력하고; 상기 제2 소프트웨어의 출력에 기초하여 상기 제2 소프트웨어의 오류를 판단하는 것을 포함할 수 있다.
상기 제2 소프트웨어의 오류를 판단하는 것은 상기 차량의 환경 정보 또는 동작 정보의 유효성을 판단하고; 상기 차량의 환경 정보 또는 동작 정보의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 것을 포함할 수 있다.
상기 제2 소프트웨어의 오류를 판단하는 것은 상기 차량의 환경 정보 또는 동작 정보의 입력에 의한 상기 제2 소프트웨어의 출력의 유효성을 판단하고; 상기 제2 소프트웨어의 출력의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 것을 포함할 수 있다.
상기 제2 소프트웨어의 오류를 판단하는 것은 상기 제2 소프트웨어의 출력에 기초하여 상기 차량의 동작을 예측하고; 상기 차량의 동작에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 것을 포함할 수 있다.
상기 소프트웨어 업데이트 방법은 상기 제1 소프트웨어의 업데이트 데이터에 기초하여 상기 제2 소트프웨어를 업데이트하는 것을 더 포함할 수 있다.
상기 소프트웨어 업데이트 방법은 상기 차량의 환경 정보 또는 동작 정보에 기초하여, 다른 차량에 설치된 제3 소프트웨어의 업데이트 데이터를 생성하고; 상기 제3 소프트웨어의 업데이트 데이터를 상기 다른 차량은 전송하는 것을 더 포함할 수 있다.
개시된 발명의 일 측면에 따른 소프트웨어 업데이트 서버는 제1 소프트웨어가 설치된 차량으로부터 상기 차량의 환경 정보 또는 동작 정보를 수신하는 입출력 인터페이스; 상기 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하는 데이터 베이스; 상기 차량의 환경 정보 또는 동작 정보를 상기 제2 소프트웨어에 입력하고, 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 시뮬레이션 유닛; 상기 제1 소프트웨어의 오류 여부에 기초하여 상기 제1 소프트웨어의 업데이트 데이터를 생성하는 소프트웨어 업데이트 유닛을 포함할 수 있다. 상기 입출력 인터페이스는 상기 제1 소프트웨어의 업데이트 데이터를 상기 차량으로 전송할 수 있다.
상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 유효성을 판단하고, 상기 차량의 환경 정보 또는 동작 정보의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단할 수 있다.
상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 입력에 의한 상기 제2 소프트웨어의 출력의 유효성을 판단하고, 상기 제2 소프트웨어의 출력의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단할 수 있다.
상기 시뮬레이션 유닛은 상기 제2 소프트웨어의 출력에 기초하여 상기 차량의 동작을 예측하고, 상기 차량의 동작에 기초하여 상기 제1 소프트웨어의 오류를 판단할 수 있다.
상기 소프트웨어 업데이트 유닛은 상기 제1 소프트웨어의 업데이트 데이터에 기초하여 상기 제2 소트프웨어를 업데이트할 수 있다.
상기 소프트웨어 업데이트 유닛은 상기 제1 소프트웨어의 오류 여부에 기초하여 다른 차량에 설치된 제3 제1 소프트웨어의 업데이트 데이터를 생성하고,
상기 입출력 인터페이스는 상기 제3 소프트웨어의 업데이트 데이터를 상기 다른 차량으로 전송할 수 있다.
개시된 발명의 일 측면에 따르면, 차량 전체에서 하드웨어 또는 소프트웨어의 오류를 검출하고, 검출된 오류에 대응하여 소프트웨어 업데이트를 실행할 수 있는 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버를 제공할 수 있다.
개시된 발명의 일 측면에 따르면, 서버 장치와 연동하여 차량의 소프트웨어를 업데이트할 수 있는 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버를 제공할 수 있다.
개시된 발명의 일 측면에 따르면, 차량 레벨에서 오류를 검출 가능하고 필요한 소프트웨어에 대하여 선택적으로 업데이트를 제공할 수 있다.
개시된 발명의 일 측면에 따르면, 차량 레벨과 동일한 구조의 소프트웨어를 서버 장치에서 동작시킴으로써, end-to-end의 차량 레벨 오류 검출을 제공할 수 있다. 자율 주행, 커넥티드 카(connected car), 전기 차량 등에서는 전기 장치들 각각의 기능들이 서로 복잡하게 연동하는 차량에서, 소프트웨어의 오류를 효율적으로 검출할 수 있다.
개시된 발명의 일 측면에 따르면, 서버 장치에서 다른 차량의 정보를 이용하여 발생 가능한 오류를 예측할 수 있으며, 오류를 해소하기 위한 소프트웨어 업데이트를 제공할 수 있다.
개시된 발명의 일 측면에 따르면, 궁극적으로 차량 전체의 페일 세이프티(fail safety)의 성능을 현저히 향상시킬 수 있다.
도 1은 일 실시예에 의한 소프트웨어 업데이트 시스템을 도시한다.
도 2는 일 실시예에 의한 차량의 일 예를 도시한다.
도 3은 일 실시예에 의한 차량의 구성을 도시한다.
도 4은 일 실시예에 의한 차량의 관련 정보를 서버 장치로 전송하는 일 예를 도시한다.
도 5는 일 실시예에 의한 서버 장치의 구성을 도시한다.
도 6은 일 실시예에 의한 서버 장치가 차량의 오류를 검출하는 일 예를 도시한다.
도 7은 일 실시예에 의한 서버 장치가 차량의 센싱 데이터를 검증하는 일 예를 도시한다.
도 8은 일 실시에 의한 소프트웨어 업데이트 시스템의 동작의 일 예를 도시한다.
도 9은 일 실시에 의한 소프트웨어 업데이트 시스템의 동작의 다른 일 예를 도시한다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 개시된 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 개시된 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 일 실시예에 의한 소프트웨어 업데이트 시스템을 도시한다.
도 1에 도시된 바와 같이, 소프트웨어 업데이트 시스템(1)은 차량(10)과, 서버 장치(20)를 포함한다.
차량(10)은 화석 연료, 전기 등을 동력원으로 하여 도로 또는 선로를 주행할 수 있다.
차량(10)은 운전자에게 편의 및 안전을 제공하는 복수의 전기 장치들이 설치될 수 있다. 예를 들어, 차량(10)에는 오디오/비디오/내비게이션(Audio Video Navigation, AVN) 장치와, 공조(Heating Ventilating Air Conditioning, HVAC) 장치 등의 편의 장치가 설치될 수 있다. 또한, 차량(10)에는 엔진 관리 시스템(Engine Management System, EMS), 변속기 제어 유닛(Transmission Control Unit, TCU), 전자식 주행 안정화 제어(Electronics Stability Control, ESC), 모터 구동 파워 스티어링(Motor Driven Power Steering, MDPS) 등의 차량의 주행과 관련된 주행 장치가 설치될 수 있다.
차량(10)에 설치된 복수의 전기 장치들은 각각 센서와, 액츄에이터와, 제어기(Electronic Control Unit, ECU)를 포함할 수 있다. 센서는 차량(10)의 환경 정보 및/또는 동작 정보를 획득할 수 있으며, 액츄에이터는 차량(10)을 구동할 수 있다. 제어기는 센서의 출력에 기초하여 액츄에이터를 제어할 수 있다.
차량(10)은 운전자 및/또는 승객의 안전 및 생명과 직접적으로 관련된 장치로써, 차량(10)에 포함된 장치들(기계 장치들과 전기 장치들)의 동작의 무결성이 요구된다. 전기 장치들의 작은 오류에 의하여, 운전자 및/또는 승객의 안전 및 생명이 크게 위협받을 수 있다.
그러나, 차량(10)의 주행 중에는 돌발 상황이 빈번히 발생하며, 설계자가 사전에 예상하지 못한 상황이 발생할 수 있다. 이처럼, 사전에 예상하지 못한 상황에서 차량(10)의 기계 장치들 및/또는 전기 장치들이 오동작할 수 있다. 이러한, 차량(10)의 기계 장치들 및/또는 전기 장치들이 오동작을 방지, 보상 또는 수정하기 위하여 차량(10)의 업데이트가 이루어질 수 있다.
차량(10)의 전기 장치들에는 차량(10)의 각 부분을 제어하기 위한 하드웨어와 소프트웨어가 설치될 수 있다. 하드웨어는 전기 장치들 각각에 설치된 센서, 액츄에이터, 프로세서, 메모리 등을 포함할 수 있으며, 소프트웨어는 프로세서 및/또는 메모리 등에 저장 또는 기억된 프로그램 및/또는 데이터를 포함할 수 있다.
차량(10)의 업데이트는 소프트웨어의 업데이트를 포함할 수 있다. 예를 들어, 소프트웨어의 업데이트는 제어기에 설치된 프로그램 및/또는 데이터를 새로운 프로그램 및/또는 새로운 데이터로 대체하는 것을 포함할 수 있다.
이러한, 소프트웨어의 업데이트를 통하여, 차량(10)은 하드웨어 및/또는 기존 소프트웨어의 오류를 보상, 수정 또는 방지할 수 있다.
차량(10)은 소프트웨어 업데이트를 위하여 서버 장치(20)와 통신할 수 있다.
차량(10)은 소프트웨어 업데이트를 위하여 차량(1)의 환경 정보 및/또는 동작 정보를 서버 장치(20)로 전송할 수 있다. 예를 들어, 차량(10)는 각종 센서에 의하여 감지된 센싱 데이터 및/또는 액츄에이터를 구동하기 위한 구동 데이터를 서버 장치(20)로 전송할 수 있다.
차량(10)은 서버 장치(20)로부터 소프트웨어 업데이트를 위한 프로그램 및 데이터를 수신할 수 있다. 예를 들어, 차량(10)은 각종 제어기에 설치된 소프트웨어를 업데이트하기 위한 프로그램 및 데이터를 수신할 수 있다.
서버 장치(20)는 차량(10)과 통신할 수 있다. 서버 장치(20)는 차량(10)으로부터 차량(1)의 환경 정보 및/또는 동작 정보를 수신하고, 차량(10)의 소프트웨어 업데이트를 위한 프로그램 및 데이터를 차량(10)으로 전송할 수 있다.
서버 장치(20)는 차량(10)의 주행 및 동작을 시뮬레이션할 수 있는 차량 모델과 차량(10)에 설치된 소프트웨어와 동일한 소프트웨어를 저장할 수 있다. 예를 들어, 서버 장치(20)는 차량(10)에 설치된 소프트웨어와 동일한 소프트웨어를 저장할 수 있으며, 차량(10)에 설치된 소프트웨어를 시뮬레이션할 수 있는 차량(10)의 기계 모델 및/또는 전기 모델을 포함할 수 있다.
서버 장치(20)는 차량(10)으로부터 차량(1)의 환경 정보 및/또는 동작 정보를 수신하고, 차량(10)의 주행 및 동작을 시뮬레이션하기 위하여 차량(1)의 환경 정보 및/또는 동작 정보를 차량(10)과 동일한 소프트웨어에 적용할 수 있다. 또한, 서버 장치(20)는 차량(10)과 동일한 소프트웨어에 의하여 처리된 처리 결과를 차량 모델에 적용하고, 차량(10)의 주행 및/또는 동작을 예측할 수 있다.
이처럼, 차량(10)의 주행 및 동작을 시뮬레이션하는 중에 서버 장치(20)는 차량(1)의 환경 정보 및/또는 동작 정보의 오류와, 차량(10)과 동일한 소프트웨어의 오류와, 차량 모델에 의한 차량의 기계 장치 및/또는 전기 장치의 오류를 검출할 수 있다.
차량(10)의 주행 및 동작을 시뮬레이션하는 중에 차량(10)의 오류가 검출되면, 서버 장치(20)는 차량(10)의 오류를 해소하기 위한 소프트웨어의 업데이트를 생성할 수 있다.
또한, 서버 장치(20)는 소프트웨어 업데이트를 차량(10)에 전송할 수 있다.
차량(10)은 서버 장치(20)로부터 수신된 소프트웨어 업데이트에 기초하여 차량(10)의 소프트웨어를 업데이트할 수 있다.
이하에서는 차량(10) 및 서버 장치(20)의 구성 및 동작이 자세하게 설명된다.
도 2는 일 실시예에 의한 차량의 일 예를 도시한다.
도 2에 도시된 바와 같이, 차량(1)은 입력부(11)와, 표시부(12)와, 검출부(13)와, 영상부(14)와, GPS (global position system)부(15)와, 통신부(16)와, 구동부(17)와, 제어부(18)를 포함한다.
입력부(11)는 운전자로부터 차량(1)의 주행 및 통신에 관한 입력을 수신할 수 있다. 입력부(11)는 예를 들어 운전자로부터 와이파이 통신을 통한 차량(1)의 소프트웨어의 업그레이드 요청을 수신하거나, V2X 통신을 통한 교통 정보 요청을 수신할 수 있다.
입력부(11)는 운전자의 입력을 수신하기 위한 복수의 스위치들을 포함할 수 있다. 또한, 입력부(11)는 사용자가 누르는 것에 의하여 작동되는 푸시 스위치(push switch)와 멤브레인 스위치(membrane), 또는 사용자의 신체 일부의 접촉에 의하여 작동되는 터치 스위치(touch switch) 등을 포함할 수 있다.
표시부(12)는 운전자에게 차량(1)의 주행 및 통신에 관한 정보를 표시할 수 있다. 표시부(12)는 예를 들어 와이파이 통신을 통한 소프트웨어의 업그레이드의 진행 상태 또는 V2X 통신을 통하여 수신된 주변 도로의 교통 정보를 표시할 수 있다.
표시부(12)는 차량(1)의 주행 및 통신에 관한 정보를 표시하기 위한 다양한 타입의 디스플레이 패널을 포함할 수 있다. 예를 들어, 표시부(12)는 발광 다이오드(Light Emitting Diode: LED) 패널 또는 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 패널 또는 액정 디스플레이(Liquid Crystal Display, LCD) 패널 등을 포함할 수 있다.
또한, 표시부(12)는 운전자로부터 입력을 수신하고, 입력받은 제어 명령에 대응하는 동작 정보를 표시하는 터치 스크린 패널(Touch Screen Panel: TSP)을 채용할 수도 있다.
터치 스크린 패널은 동작 정보 및/또는 제어 명령을 표시하는 디스플레이, 사용자의 신체 일부가 접촉한 좌표를 검출하는 터치 패널(touch panel), 터치 패널이 검출한 접촉 좌표를 기초로 사용자가 입력한 제여 명령을 판단하는 터치 스크린 컨트롤러를 포함할 수 있다. 터치 스크린 컨트롤러는 터치 패널을 통하여 검출하는 사용자의 터치 좌표와 디스플레이를 통하여 표시하는 제어 명령의 좌표를 비교하여 사용자가 입력한 제어 명령을 인식할 수 있다.
검출부(13)는 차량의 상태 정보를 검출한다.
검출부(13)는 차량의 조향각을 검출하기 위한 스티어링 휠의 각속도를 검출하는 각속도 검출부와, 차량(1)의 주행 속도를 검출하는 속도 검출부와, 차량의 요 모멘트를 검출하는 요레이트 검출부와, 차량의 가속도를 검출하는 가속도 검출부 중 적어도 하나를 더 포함하는 것도 가능하다.
속도 검출부는 전후좌우의 차륜에 마련된 휠 속도 센서 또는 차량의 가속도를 검출하는 가속도 센서일 수 있다.
검출부(13)는 차량(1)의 외부에 위치하는 물체, 예를 들면 차량(1)의 전방에서 주행하는 다른 차량과, 도로 주변에 설치된 구조물 등과 같은 정지 물체와, 반대 차선에서 다가오는 다른 차량과의 거리를 검출하는 거리 검출부를 포함할 수 있다.
거리 검출부는 차량(1)의 현재 위치에서 차량(1)의 전방, 좌우의 측방의 물체 검출에 대응하는 신호를 출력하되, 검출된 물체와의 거리에 대응하는 신호를 제어부(15)에 전송한다.
이러한 거리 검출부는 라이다 센서를 포함할 수 있다. 라이다(LiDAR: Light Detection And Ranging)센서는 레이저 레이다(Laser Radar) 원리를 이용한 비접촉식 거리 검출 센서일 수 있다.
거리 검출부는 초음파 센서 또는 레이더 센서를 포함할 수도 있다.
영상부(14)는 도로의 영상을 획득하고, 획득된 영상을 제어부(18)에 전송한다. 여기서 도로의 영상은 차량(1)의 주행 방향을 기준으로 전진 방향의 도로의 영상일 수 있다.
구체적으로 영상부(14)는 물체 정보를 검출하여 전기적인 영상 신호로 변환하는 장치로, 차량(1)의 현재 위치에서 차량(1) 외부의 환경, 특히 차량이 주행하는 도로 및 그 주변의 차량(1)의 전방, 좌우의 측방의 물체 정보를 검출하고 검출된 물체 정보의 영상 신호를 제어부(18)로 전송한다.
영상부(14)는 카메라로, CCD 또는 CMOS 이미지 센서를 포함할 수 있다.
영상부(14)는 전면의 윈도우 글래스에 마련되되 차량 내부의 윈도 글래스에 마련될 수도 있고, 차량 내부의 룸 미러에 마련될 수도 있으며, 루프 패널의 마련되되 외부로 노출되도록 마련될 수도 있다.
영상부(14)는 차량 주변의 물체 정보를 검출하여 전기적인 영상 신호로 변환하는 것으로, 차량(1)의 현재 위치에서 차량(1) 외부의 환경, 특히 차량이 주행하는 도로 및 그 주변의 차량(1)의 전방, 좌우의 측방의 물체 정보를 검출하고 검출된 물체 정보의 영상 신호를 제어부(18)로 전송한다.
영상부(14)는 후방 카메라, 블랙 박스의 카메라일 수 있고, 자율 주행을 위해 마련된 자율 주행 제어 장치의 카메라일 수 있다.
GPS부(15)는 복수의 위성에서 제공된 위치 정보를 수신하여 차량의 현재 위치 정보를 획득할 수 있다. GPS부(15)는 복수의 GPS 위성의 신호를 수신하는 안테나와, 복수의 GPS위성의 위치 신호에 대응하는 거리 및 시간 정보를 이용하여 차량의 위치를 획득하는 소프트웨어와, 획득된 차량의 현재 위치 정보를 출력하는 출력부를 포함할 수 있다.
통신부(16)는 서버 장치(20)와 통신을 수행할 수 있다. 통신부(16)는 서버 장치(20)로부터 수신된 통신 신호를 제어부(18)에 전송할 수 있다. 통신부(16)는 제어부(18)의 제어 명령에 기초하여 차량(1)의 상태 정보, 검출 정보 및 사용자의 입력 정보에 대응하는 통신 신호를 서버 장치(20)에 전송할 수 있다.
통신부(16)는 다양한 통신 방식으로 서버 장치(20)와 통신할 수 있다.
예를 들어, 통신부(16)는 시간 분할 다중 접속(Time Division Multiple Access: TDMA), 부호 분할 다중 접속(Code Division Multiple Access: CDMA), 광대역 부호 분할 다중 접속(Wide Code Division Multiple Access: WCDMA), CDMA2000 (Code Division Multiple Access 2000), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: WiMAX), 엘티이(Long Term Evolution: LTE) 또는 와이브로 에볼류션(Wireless Broadband Evolution)을 이용하여 서버 장치(20)와 통신할 수 있다. 또한, 통신부(16)는 DSRC (Dedicated Short Range Communication) 통신 방식 또는 WAVE (wireless access in vehicular environments) 통신 방식 또는 WiFi (wireless fidelity) 통신 방식을 이용하여 서버 장치(20)와 통신할 수 있다.
구동부(17)는 차량을 구동시키기 위한 장치로, 제동장치, 현가 장치, 동력 발생 장치, 동력 전달 장치, 조향 장치를 포함할 수 있다.
제어부(18)는 차량(1)에 마련되고 차량(1)에 마련된 각종 구동부(17)와 부가 장치를 제어한다. 제어부(18)는 자율 주행을 위한 자율 주행 제어 장치에 마련된 것일 수도 있다.
제어부(18)는 입력부(11)의 사용자 입력 정보, 영상부(14)의 영상 정보, 검출부(13)의 검출 정보, GPS부(15)의 위치 정보 및 통신부(16)를 통해 수신된 정보에 기초하여 차량의 자율 주행을 제어한다.
제어부(18)는 입력부(11)를 통해 선택된 내비게이션 모드의 선택 신호가 수신되면 GPS부(15)에 수신된 현재 위치를 확인하고, 입력부(11)를 통해 선택된 목적지를 확인하며 메모리(182)에 저장된 지도 정보를 확인하며, 현재 위치에서 목적지까지의 경로를 탐색하고 탐색된 경로를 지도에 매칭시키며 경로가 매칭된 지도가 표시부(12)를 통해 표시되도록 한다.
제어부(18)는 자율 주행 모드의 선택 신호가 수신되면 내비게이션 모드와 연동을 수행하며, 내비게이션 정보, 영상 정보, 거리 정보, 속도 정보, 외부의 정보에 기초하여 구동부(17)의 구동을 제어함으로써 현재 위치에서부터 목적지까지 자율적으로 주행하도록 한다.
제어부(18)는 자율 주행 모드 수행 중 거리 검출부에서 검출된 장애물과의 거리 정보에 기초하여 자 차로의 좌측 방향과 우측 방향의 차로를 주행하는 다른 차량의 위치를 확인하고, 확인된 다른 차량의 위치에 대응하는 다른 차량의 거리를 확인하며, 확인된 다른 차량의 거리에 기초하여 차량(1)의 속도를 조절할 수 있다.
제어부(18)는 자율 주행 모드 수행 중 도로의 영상 정보가 수신되면 영상 처리를 수행하여 도로의 차선을 인식하고, 인식된 차선의 위치 정보에 기초하여 차량(1)이 주행하는 차로를 인식할 수 있다.
제어부(18)는 자율 주행 모드 수행 중 다른 차량과의 거리, 현재 위치, 인식된 차선, 인식된 차로 및 탐색된 경로에 기초하여 차로가 유지 또는 변경되도록 차량의 주행 방향(즉 조향)을 제어할 수 있다.
제어부(18)는 자율 주행 모드의 수행 중 영상부(14)를 통해 획득된 차량(1)의 전후좌우 방향의 영상을 표시하도록 하는 것도 가능하고, 내비게이션 모드와 연동하여 경로가 매칭된 지도 정도 및 길 안내 정보를 표시하도록 표시부(12)를 제어할 수 있다.
여기서 내비게이션 정보는 목적지 정보, 지도 정보를 포함하고 지도 내 도로의 명칭, 도로의 위치 정보, 도로의 종류, 도로의 노선 번호를 더 포함할 수 있다.
제어부(18)는 자율 주행 모드가 해제되었을 때 수동 주행 모드를 수행한다. 즉 제어부(18)는 수동 주행 모드 수행 중 운전자에 의해 조작된 제동 페달의 조작 정보, 가속 페달의 조작 정보에 기초하여 동력장치와 제동 장치를 제어함으로써 차량의 속도가 조절되도록 하고, 운전자에 의해 조작된 스티어링 휠의 조향 정보에 기초하여 조향 장치를 제어함으로써 차량의 주행 방향이 조절되도록 할 수 있다.
제어부(18)는 주행 중 다른 차량에서 전송된 전방 교통 정보, 다른 차량의 접근 정보, 충돌 예측 정보를 표시하도록 표시부(12)를 제어할 수 있다.
제어부(18)는 주행 중 다른 차량에서 전송된 전방 교통 정보, 다른 차량의 접근 정보, 충돌 예측 정보를 사운드로 출력하도록 스피커를 제어할 수 있다.
제어부(18)는 통신부(16)를 통하여 차량(1)의 환경 정보 및/또는 동작 정보를 서버 장치(20)로 전송하고, 통신부(16)를 통하여 다른 차량의 환경 정보와 동작 정보를 수신할 수 있다. 제어부(18)는 수신된 정보에 기초하여 차량의 구동 장치 및 부가 장치 중 적어도 하나의 동작을 제어할 수 있다. 여기서 환경 정보는, 전방 교통 정보, 다른 차량과의 거리 정보 등을 포함할 수 있다.
제어부(18)는 소프트웨어 업데이트를 위하여 통신부(16)를 통하여 서버 장치(20)와 통신할 수 있다. 제어부(18)는 소프트웨어 업데이트를 위하여 통신부(16)를 통하여 차량(1)의 환경 정보 및/또는 동작 정보를 서버 장치(20)로 전송할 수 있다.
제어부(18)는 통신부(16)를 통하여 서버 장치(20)로부터 소프트웨어 업데이트를 위한 프로그램 및 데이터를 수신할 수 있다. 또한, 제어부(18)는 서버 장치(20)로부터 수신된 소프트웨어 업데이트를 위한 프로그램 및 데이터를 제어부(18)에 저장된 소프트웨어에 적용하고, 소프트웨어를 업데이트할 수 있다.
도 2에 도시된 차량의 구성 요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성 요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 수 있다.
도 2에 도시된 각각의 구성요소는 소프트웨어 및/또는 Field Programmable Gate Array(FPGA) 및 주문형 반도체(ASIC, Application Specific Integrated Circuit)와 같은 하드웨어 구성요소를 의미할 수 있다.
도 3은 일 실시예에 의한 차량의 구성을 도시한다. 도 4은 일 실시예에 의한 차량의 관련 정보를 서버 장치로 전송하는 일 예를 도시한다.
차량(10)은 복수의 전기 장치들을 포함한다. 예를 들어, 차량(10)은 도 3 및 도 4에 도시된 바와 같이 서버 장치(20)와 통신하기 위한 통신 장치(130)를 포함할 수 있다. 또한, 차량(10)은 전기 장치(100)와, 제1 전기 장치(110)와, 제2 전기 장치(120)를 포함할 수 있다. 전기 장치(100), 제1 전기 장치(110) 및 제2 전기 장치(120)은 각각 서로 간에 다른 전기 장치일 수 있다. 예를 들어, 전기 장치(100), 제1 전기 장치(110) 및 제2 전기 장치(120)은 각각 오디오/비디오/내비게이션 장치, 공조 장치, 엔진 관리 시스템, 변속기 제어 유닛, 전자식 주행 안정화 제어, 모터 구동 파워 스티어링일 수 있다.
통신 장치(130), 전기 장치(100), 제1 전기 장치(110) 및 제2 전기 장치(120)은 차량용 통신 네트워크(NT)를 통하여 연결된다. 예를 들어, 통신 장치(130), 전기 장치(100), 제1 전기 장치(110) 및 제2 전기 장치(120)은 은 이더넷(Ethernet), 모스트(MOST, Media Oriented Systems Transport), 플렉스레이(Flexray), 캔(CAN, Controller Area Network), 린(LIN, Local Interconnect Network) 등을 통하여 통신할 수 있다.
전기 장치(100)는 센서(101)와, 액츄에이터(102)와, 제어기(103)를 포함할 수 있다.
센서(101)는 차량(10)의 환경 정보 및/또는 동작 정보를 수집할 수 있다. 예를 들어, 센서(101)는 온도 센서, 조도 센서, 타이머 등일 수 있으며, 외기 온도, 조도, 시간 등의 환경적인 정보를 수집할 수 있다. 뿐만 아니라 센서(101)는 다른 차량과의 거리 정보 등의 교통 정보를 수집할 수 있다.
센서(101)는 또한 가속 페달 센서, 제동 페달 센서, 속도 센서, 조향각 센서, 가속도 센서, 요(yaw) 센서 등일 수 있으며, 운전자의 가속 의지, 제동 의지, 차량(10)의 주행 속도, 조향 각도, 가속도, 요 레이트(yaw rate) 등 차량(10)의 주행과 관련된 정보를 수집할 수도 있다.
센서(101)는 제어기(103)와 전기적으로 연결되며, 제어기(103)에 센싱 데이터를 전송할 수 있다.
액츄에이터(102)는 제어기(103)와 전기적으로 연결되며, 제어기(103)의 제어 명령에 응답하여 기계적으로 또는 전기적으로 동작할 수 있다.
예를 들어, 액츄에이터(102)는 밸브, 모터 등일 수 있다. 액츄에이터(102)는 제어기(103)의 제어 명령에 응답하여 유로를 폐쇄 또는 개방할 수 있으며, 또한 제어기(103)의 제어 명령에 응답하여 운동력(회전)을 생성할 수 있다.
제어기(103)는 센서(101) 및 액츄에이터(102)와 연결된다. 제어기(103)는 센서(101)의 센싱 데이터를 처리하고, 액츄에이터(102)를 제어하기 위한 제어 데이터를 생성할 수 있다. 예를 들어, 제어기(103)는 가속 페달 센서로부터 가속 페달 변위를 수신하고, 가속 페달 변위에 응답하여 엔진의 스로틀 밸브의 개방 정도를 제어하기 위한 제어 데이터를 생성할 수 있다.
제어기(103)는 도 4에 도시된 바와 같이 센서(101)로부터 수신된 센싱 데이터를 통신 네트워크(NT)를 통하여 통신 장치(130)로 전송할 수 있다. 또한, 제어기(103)는 액츄에이터(102)로 출력할 제어 데이터를 차량용 통신 네트워크(NT)를 통하여 통신 장치(130)로 전송할 수 있다. 센싱 데이터와 제어 데이터는 차량(10)의 환경 정보와 동작 정보에 해당할 수 있다.
또한, 제어기(103)는 센싱 데이터를 처리하고 제어 데이터를 생성하기 위한 소프트웨어를 저장할 수 있다. 제어기(103)는 통신 장치(130)로부터 소프트웨어를 업데이트하기 위한 데이터를 수신할 수 있으며, 소프트웨어 업데이트 데이터에 기초하여 소프트웨어를 업데이트할 수 있다.
제1 및 제2 전기 장치(110, 120)는 각각 제1 및 제2 센서(111, 121)와, 제1 및 제2 액츄에이터(112, 122)와, 제1 및 제2 제어기(113, 123)를 포함한다.
제1 및 제2 전기 장치(110, 120) 각각은 전기 장치(100)와 다른 기능을 수행할 수 있다. 또한, 제1 및 제2 전기 장치(110, 120)는 각각 제1 및 제2 센서(111, 121)에 의하여 감지된 센싱 데이터와 제1 및 제2 제어기(113, 123)에 의하여 생성된 제어 데이터를 차량용 통신 네트워크(NT)를 통하여 통신 장치(130)로 전송할 수 있다.
전기 장치(100)와 제1 및 제2 전기 장치(110, 120)는 차량(10)에 포함된 전기 장치의 예시에 불과하며, 차량(10)에 포함된 전기 장치는 도 3에 도시된 바에 한정되지 아니한다.
통신 장치(130)는 차량용 통신 네트워크(NT)를 통하여 전기 장치(100), 제1 및 제2 전기 장치(110, 120)와 연결된다.
통신 장치(130)는 텔레매틱스 유닛(131)과, 안테나(132)를 포함한다.
텔레매틱스 유닛(131)은 차량용 통신 네트워크(NT)를 통하여 전기 장치(100)와 제1 및 제2 전기 장치(110, 120) 각각으로부터 센싱 데이터와 제어 데이터를 수신하고, 센싱 데이터와 제어 데이터를 처리할 수 있다. 예를 들어, 텔레매틱스 유닛(131)은 센싱 데이터와 제어 데이터를 송신 신호로 변조할 수 있다.
텔레매틱스 유닛(131)은 송신 신호를 서버 장치(20)로 전송하도록 송신 신호를 안테나(132)로 출력할 수 있다.
텔레매틱스 유닛(131)은 안테나(132)로부터 수신 신호를 수신할 수 있으며, 수신 신호를 복조할 수 있다. 수신 신호는 예를 들어 소프트웨어 업데이트 데이터를 포함할 수 있으며, 텔레매틱스 유닛(131)는 수신 신호를 소프트웨어 업데이트 데이터로 복조할 수 있다.
또한, 텔레매틱스 유닛(131)은 차량용 통신 네트워크(NT)를 통하여 전기 장치(100)와 제1 및 제2 전기 장치(110, 120)에 소프트웨어 업데이트 데이터를 전송할 수 있다.
안테나(132)는 자유 공간으로 전파를 방출하고, 자유 공간으로부터 전파를 수신할 수 있다.
안테나(132)는 텔레매틱스 유닛(131)으로부터 송신 신호를 수신하고, 송신 신호에 대응하는 전파를 자유 공간을 방출할 수 있다. 또한, 안테나(132)는 자유 공간으로부터 전파를 수신하고, 수신된 전파에 대응하는 수신 신호를 텔레매틱스 유닛(131)으로 전달할 수 있다.
통신 장치(130)는 도 4에 도시된 바와 같이 전기 장치(100)와 제1 및 제2 전기 장치(110, 120) 각각으로부터 센싱 데이터와 제어 데이터를 수신하고, 수신된 제어 데이터에 대응하는 송신 신호를 서버 장치(20)로 무선으로 전송할 수 있다. 또한, 통신 장치(130)는 서버 장치(20)로부터 무선으로 수신 신호를 수신하고, 수신 신호에 포함된 소프트웨어 업데이트 데이터를 전기 장치(100)와 제1 및 제2 전기 장치(110, 120)에 전송할 수 있다.
이처럼 차량(10)은 서버 장치(20)에 차량(10)의 환경 정보 및/또는 동작 정보(예를 들어, 센싱 데이터 및/또는 제어 데이터)를 전송하고, 서버 장치(20)로부터 소프트웨어 업데이트 데이터를 수신할 수 있다. 또한, 소프트웨어 업데이트 데이터의 수신에 응답하여, 차량(10)은 각 전기 장치의 소프트웨어를 업데이트할 수 있다.
도 5는 일 실시예에 의한 서버 장치의 구성을 도시한다. 도 6은 일 실시예에 의한 서버 장치가 차량의 오류를 검출하는 일 예를 도시한다. 도 7은 일 실시예에 의한 서버 장치가 차량의 센싱 데이터를 검증하는 일 예를 도시한다.
도 5, 도 6 및 도 7을 참조하면, 서버 장치(20)는 입출력 인터페이스(210)와, 센싱 데이터 입력부(220)와, 모델 데이터 베이스(230)와, 차량 시뮬레이션 유닛(240)와, 소프트웨어 업데이트 유닛(250)을 포함한다.
입출력 인터페이스(210)는 차량(10)으로부터 전송된 센서(101)의 센싱 데이터와 제어기(103)의 제어 데이터를 수신하고, 소프트웨어 업데이트 데이터를 차량(10)으로 전송할 수 있다.
예를 들어, 서버 장치(20)는 광역 네트워크인 인터넷(internet)에 연결될 수 있으며, 입출력 인터페이스(210)는 인터넷을 통하여(또는 인터넷으로부터) 센서(101)의 센싱 데이터와 제어기(103)의 제어 데이터를 수신할 수 있다. 또한, 입출력 인터페이스(210)는 인터넷을 통하여(또는 인터넷으로) 소프트웨어 업데이트 데이터를 송신할 수 있다.
입출력 인터페이스(210)는 인터넷을 통하여(또는 인터넷으로부터) 센싱 데이터와 제어 데이터를 센싱 데이터 입력부(220)로 전달할 수 있다. 또한, 입출력 인터페이스(210)는 소프트웨어 업데이트 유닛(250)와 전기적으로 연결되며, 소프트웨어 업데이트 유닛(250)로부터 소프트웨어 업데이트 데이트를 수신하고, 소프트웨어 업데이트 데이트를 차량(10)으로 송신할 수 있다.
센싱 데이터 입력부(220)는 입출력 인터페이스(210)로부터 센싱 데이터와 제어 데이터를 수신하고, 센싱 데이터와 제어 데이터를 차량 시뮬레이션 유닛(240)이 처리하기 위한 형태로 변환할 수 있다. 또한, 센싱 데이터 입력부(220)는 변환된 센싱 데이터와 제어 데이터를 차량 시뮬레이션 유닛(240)로 전달할 수 있다.
모델 데이터 베이스(230)는 차량(10)의 차량 모델(231)을 저장할 수 있다.
차량 모델(231)은 서버 장치(20)가 차량(10)의 동작을 예측하는데 이용될 수 있다. 예를 들어, 차량 시뮬레이션 유닛(240)는 차량 모델(231)에 센싱 데이터를 적용하고, 차량 모델(231)의 출력에 기초하여 차량(10)의 동작을 예측할 수 있다.
차량 모델(231)는 차량(10)의 전기 장치들에 설치된 여러 소프트웨어들을 포함할 수 있다. 예를 들어, 차량 모델(231)은 차량(10)의 전기 장치(100)에 설치된 소프트웨어, 차량(10)의 제1 전기 장치(110)에 설치된 소프트웨어 및 차량(10)의 제2 전기 장치(120)에 설치된 소프트웨어를 포함할 수 있다.
차량 모델(231)은 차량(10)에 포함된 각종 기계 장치들 및 전기 장치들의 동작 파라미터를 포함할 수 있다. 예를 들어, 차량 모델(231)은 차량(10)에 설치된 엔진의 파라미터, 조향 장치의 파라미터, 브레이크의 파라미터, 밸브의 파라미터, 모터의 파라미터 등을 포함할 수 있다.
모델 데이터 베이스(230)는 차량(10)의 차량 모델(231) 뿐만 아니라, 다른 차량들의 차량 모델도 저장할 수 있다. 모델 데이터 베이스(230)는 차량A의 차량A 모델(232)과 차량B의 차량B 모델(233)을 더 저장할 수 있다.
차량 시뮬레이션 유닛(240)는 차량(10)으로부터 수신된 센싱 데이터를 검증하고, 차량(10)의 동작을 예측할 수 있다.
차량 시뮬레이션 유닛(240)는 도 6에 도시된 바와 같이 센싱 데이터 입력부(220)로부터 차량(10)의 센싱 데이터를 수신(241)할 수 있으며, 차량(10)의 센싱 데이터를 검증(242)할 수 있다.
차량 시뮬레이션 유닛(240)는 차량(10)으로부터 수신된 센싱 데이터가 미리 정해진 정상 범위 이내인지 여부를 판단할 수 있다.
예를 들어, 차량 시뮬레이션 유닛(240)는 차량(10)의 카메라 센싱 데이터를 수신할 수 있으며, 카메라 센싱 데이터가 미리 정해진 정상 범위 이내인지 여부를 판단할 수 있다. 도 7에 도시된 바와 같이 차량 시뮬레이션 유닛(240)는 비 오는 날 ?? 낮 ?? 역광/반사 조건 아래에서 카메라 센성 데이터가 정상 범위를 벗어난 것을 판단할 수 있다. 또한, 차량 시뮬레이션 유닛(240)는 비 오는 날 ?? 밤 ?? 일반 광원 조건 아래에서 카메라 센싱 데이터가 정상 범위를 벗어난 것을 판단할 수 있다.
센싱 데이터가 정상 범위를 벗어나면, 차량 시뮬레이션 유닛(240)는 차량(10)에 구비된 센서(101)의 오류 또는 센서(101)의 데이터를 처리하는 소프트웨어의 오류를 판단할 수 있다.
차량 시뮬레이션 유닛(240)는 도 6에 도시된 바와 같이 모델 데이터 베이스(230)의 차량 모델(231)과 차량(10)의 센신 데이터에 기초하여 차량(10)의 동작을 예측(243)할 수 있다. 예를 들어, 차량 시뮬레이션 유닛(240)는 차량(10)의 센싱 데이터를 차량 모델(231)에 포함된 제어기(103)의 소프트웨어에 입력할 수 있으며, 소프트웨어의 출력에 기초하여 액츄에이터(102)를 제어하기 위한 제어 데이터를 생성(244)할 수 있다.
차량 시뮬레이션 유닛(240)는 도 6에 도시된 바와 같이 제어 데이터를 검증(245)할 수 있다.
차량 시뮬레이션 유닛(240)는 차량(10)으로부터 수신된 제어 데이터와 차량 모델(231)로부터 생성된 제어 데이터를 비교할 수 있다. 차량 시뮬레이션 유닛(240)는 차량(10)으로부터 수신된 제어 데이터와 차량 모델(231)로부터 생성된 제어 데이터 사이의 비교 결과에 기초하여 차량(10)에 설치된 소프트웨어의 오류 여부를 판단할 수 있다.
차량 시뮬레이션 유닛(240)는 도 6에 도시된 바와 같이 검증된 제어 데이터에 기초하여 액츄에이터(102)를 구동하는 것을 시뮬레이션할 수 있다.
차량 시뮬레이션 유닛(240)는 차량 모델(231)로부터 생성된 제어 데이터에 기초하여 엔진, 조향 장치, 브레이크, 밸브 및 모터 등 차량(10)에 포함된 구성의 동작을 예측할 수 있다. 차량 시뮬레이션 유닛(240)는 예측된 차량(10)의 동작에 기초하여 차량(10)에 설치된 소프트웨어 및/또는 액츄에이터(102)의 오류 여부를 판단할 수 있다. 예를 들어, 예측된 차량(10)의 동작이 미리 정해진 정상 범위를 벗어나면, 차량 시뮬레이션 유닛(240)는 해당 제어기에 설치된 소프트웨어 및/또는 해당 제어기와 연결된 액츄에이터(102)의 오류를 판단할 수 있다.
차량 시뮬레이션 유닛(240)는 검출된 오류에 관한 정보를 소프트웨어 업데이트 유닛(250)로 전달할 수 있다. 예를 들어, 차량 시뮬레이션 유닛(240)는 차량(10)의 전기 장치들에 설치된 소프트웨어 및/또는 하드웨어의 오류에 관한 정보를 소프트웨어 업데이트 유닛(250)로 전달할 수 있다.
소프트웨어 업데이트 유닛(250)는 차량 시뮬레이션 유닛(240)로부터 차량(10)의 소프트웨어 및/또는 하드웨어의 오류에 관한 정보를 수신하고, 차량(10)의 소프트웨어의 오류를 해소하거나 하드웨어의 오류를 보상하기 위한 소프트웨어 업데이트 데이터를 생성할 수 있다.
소프트웨어 업데이트 유닛(250)는 소프트웨어 업데이트 데이터를 입출력 인터페이스(210)로 전달할 수 있으며, 입출력 인터페이스(210)는 소프트웨어 업데이트 데이터를 차량(10)으로 전달할 수 있다.
또한, 소프트웨어 업데이트 유닛(250)는 소프트웨어 업데이트 데이터를 모델 데이터 베이스(230)로 전달할 수 있으며, 모델 데이터 베이스(230)는 소프트웨어 업데이트 데이터에 기초하여 차량 모델(231)을 업데이트할 수 있다.
이처럼 서버 장치(20)는 차량(10)로부터 센싱 데이터와 제어 데이터를 수신할 수 있다. 서버 장치(20)는 센싱 데이터를 검증하고, 서버 장치(20)는 센싱 데이터와 차량 모델을 이용하여 차량(10)에 포함된 제어기(103)의 제어 데이터를 예측할 수 있다. 서버 장치(20)는 예측된 제어 데이터를 이용하여 차량(10)으로부터 수신된 제어 데이터를 검증하고, 제어 데이터와 차량 모델을 이용하여 차량(10)의 동작을 예측할 수 있다. 서버 장치(20)는 센싱 데이터 검증과 제어 데이터 검증과 차량(10)의 동작 예측에 기초하여 차량(10)에 설치된 하드웨어 및/또는 소프트웨어의 오류를 판단할 수 있다.
도 8은 일 실시에 의한 소프트웨어 업데이트 시스템의 동작의 일 예를 도시한다.
도 8을 참조하면, 차량(10)은 환경 정보 및/또는 동작 정보를 감지한다(1010).
차량(10)는 센서(101)를 통하여 환경 정보 및/또는 동작 정보를 감지할 수 있다.
센서(101)는 외기 온도, 조도, 시간 등의 환경적인 정보를 수집할 수 있다. 뿐만 아니라 센서(101)는 다른 차량과의 거리 정보 등의 교통 정보를 수집할 수 있다. 또한, 센서(101)는 운전자의 가속 의지, 제동 의지, 차량(10)의 주행 속도, 조향 각도, 가속도, 요 레이트(yaw rate) 등 차량(10)의 주행과 관련된 정보를 수집할 수 있다.
차량(10)은 환경 정보 및/또는 동작 정보를 전송한다(1020).
차량(10)은 통신 장치(130)를 통하여 환경 정보 및/또는 동작 정보를 무선으로 서버 장치(20)로 전송할 수 있다.
차량(10)은 환경 정보 및/또는 동작 정보에 기초하여 동작한다(1030).
차량(10)은 환경 정보 및/또는 동작 정보를 처리하고, 환경 정보 및/또는 동작 정보에 기초하여 차량(10)에 포함된 액츄에이터(102)의 동작을 제어할 수 있다. 예를 들어, 차량(10)은 환경 정보 및/또는 동작 정보에 기초하여 엔진, 조향 장치, 브레이크 등을 제어할 수 있다.
서버 장치(20)는 차량(10)으로부터 수신된 환경 정보 및/또는 동작 정보를 처리한다(1040).
서버 장치(20)는 차량(10)으로부터 수신된 환경 정보 및/또는 동작 정보를 검증할 수 있다.
예를 들어, 서버 장치(20)는 차량(10)으로부터 수신된 환경 정보 및/또는 동작 정보가 미리 정해진 정상 범위 이내인지 여부를 판단할 수 있다. 환경 정보 및/또는 동작 정보가 정상 범위를 벗어나면 서버 장치(20)는 차량(10)의 하드웨어 및/또는 소프트웨어의 오류를 판단할 수 있다.
서버 장치(20)는 차량(10)으로부터 수신된 환경 정보 및/또는 동작 정보에 기초하여 차량(10)의 동작을 예측한다(1050).
서버 장치(20)는 차량(10)의 동작을 시뮬레이션하기 위한 차량 모델을 포함할 수 있으며, 차량 모델은 차량(10)에 설치된 소프트웨어와 동일한 소프트웨어를 포함할 수 있다.
서버 장치(20)는 환경 정보 및/또는 동작 정보를 차량 모델의 소프트웨어에 입력하고, 차량 모델의 소프트웨어로부터 출력되는 제어 데이터를 획득할 수 있다.
서버 장치(20)는 제어 데이터를 검증할 수 있다.
예를 들어, 서버 장치(20)는 제어 데이터가 미리 정해진 정상 범위 이내인지 여부를 판단할 수 있으며, 제어 데이터가 정상 범위를 벗어나면 서버 장치(20)는 차량(10)의 하드웨어 및/또는 소프트웨어의 오류를 판단할 수 있다. 또한, 차량 모델로부터 출력된 제어 데이터와 환경 정보 및/또는 동작 정보에 포함된 제어 데이터가 상이하면, 서버 장치(20)는 차량(10)의 하드웨어 및/또는 소프트웨어의 오류를 판단할 수 있다.
서버 장치(20)는 차량 모델의 제어 데이터에 기초하여 차량(10)의 동작을 예측할 수 있다. 예를 들어, 서버 장치(20)는 차량 모델의 제어 데이터에 기초하여 엔진, 조향 장치, 브레이크, 밸브 및 모터 등 차량(10)에 포함된 구성의 동작을 예측할 수 있다.
서버 장치(20)는 예측된 차량(10)의 동작에 기초하여 차량(10)에 설치된 소프트웨어 및/또는 하드웨어의 오류 여부를 판단할 수 있다.
서버 장치(20)는 차량(10)으로 페일 세이프(fail safe) 모드를 요청한다(1060).
차량(10)의 하드웨어 및/또는 소프트웨어의 오류가 검출되면, 서버 장치(20)는 차량(10)의 소프트웨어를 업데이트하기 위하여 차량(10)으로 페일 세이프 모드를 요청할 수 있다.
차량(10)은 페일 세이프 모드로 진입한다(1070).
차량(10)은 서버 장치(20)의 페일 세이프 모드 요청에 응답하여 제어기(103)를 페일 세이프 모드로 전환할 수 있다. 페일 세이프 모드에서 제어기(103)의 동작이 제한될 수 있다.
서버 장치(20)는 소프트웨어 업데이트 데이터를 생성한다(1080).
서버 장치(20)는 차량(10)의 소프트웨어 및/또는 하드웨어의 오류에 관한 정보에 기초하여 차량(10)의 소프트웨어의 오류를 해소하거나 하드웨어의 오류를 보상하기 위한 소프트웨어 업데이트 데이터를 생성할 수 있다.
서버 장치(20)는 소프트웨어 업데이트 데이터를 차량(10)으로 전송한다(1090).
차량(10)은 제어기(103)의 소프트웨어를 업데이트한다(1100).
차량(10)은 소프트웨어 업데이트 데이터의 수신에 응답하여 제어기(103)의 소프트웨어를 업데이트할 수 있다.
서버 장치(20)는 차량 모델을 업데이트한다(1110).
서버 장치(20)는 소프트웨어 업데이트 데이터에 기초하여 서버 장치(20)에 포함된 차량 모델을 업데이트할 수 있다.
이상에서 설명된 바와 같이, 서버 장치(20)는 차량(10)의 환경 정보 및/또는 동작 정보에 기초하여 차량(10)의 소프트웨어와 동일한 소프트웨어를 시뮬레이션하고, 시뮬레이션 결과에 기초하여 차량(10)의 소프트웨어의 오류를 검출할 수 있다.
도 9은 일 실시에 의한 소프트웨어 업데이트 시스템의 동작의 다른 일 예를 도시한다.
도 9를 참조하면, 서버 장치(20)는 다른 차량(30)으로부터 환경 정보 및/또는 동작 정보를 수신한다(1210).
동작 1210은 도 8에 도시된 동작 1020과 동일할 수 있다.
서버 장치(20)는 다른 차량(30)으로부터 수신된 환경 정보 및/또는 동작 정보를 처리한다(1220).
동작 1220는 도 8에 도시된 동작 1040과 동일할 수 있다.
서버 장치(20)는 다른 차량(30)으로부터 수신된 환경 정보 및/또는 동작 정보에 기초하여 차량(10)의 오류를 판단한다(1230).
서버 장치(20)는 다른 차량(30)의 동작을 시뮬레이션하기 위한 차량 모델을 포함할 수 있으며, 차량 모델은 다른 차량(30)에 설치된 소프트웨어와 동일한 소프트웨어를 포함할 수 있다.
서버 장치(20)는 환경 정보 및/또는 동작 정보를 차량 모델의 소프트웨어에 입력하고, 차량 모델의 소프트웨어로부터 출력되는 제어 데이터를 획득할 수 있다. 또한, 서버 장치(20)는 제어 데이터를 검증할 수 있다.
서버 장치(20)는 차량 모델의 제어 데이터에 기초하여 다른 차량(30)의 동작을 예측할 수 있다. 서버 장치(20)는 예측된 다른 차량(30)의 동작에 기초하여 다른 차량(30)에 설치된 소프트웨어 및/또는 하드웨어의 오류 여부를 판단할 수 있다.
또한, 서버 장치(20)는, 다른 차량(30)의 환경 정보 및/또는 동작 정보에 기초하여, 다른 차량(30)과 동일한 하드웨어와 소프트웨어가 설치된 차량(10)의 오류 여부를 판단할 수 있다.
서버 장치(20)는 차량(10)으로 페일 세이프(fail safe) 모드를 요청한다(1240).
동작 1240은 도 8에 도시된 동작 1060과 동일할 수 있다.
차량(10)은 페일 세이프 모드로 진입한다(1250).
동작 1250은 도 8에 도시된 동작 1070과 동일할 수 있다.
서버 장치(20)는 소프트웨어 업데이트 데이터를 생성한다(1260).
동작 1260은 도 8에 도시된 동작 1080과 동일할 수 있다.
서버 장치(20)는 소프트웨어 업데이트 데이터를 차량(10)으로 전송한다(1270).
동작 1270은 도 8에 도시된 동작 1090과 동일할 수 있다.
차량(10)은 제어기(103)의 소프트웨어를 업데이트한다(1280).
동작 1280은 도 8에 도시된 동작 1100과 동일할 수 있다.
서버 장치(20)는 차량 모델을 업데이트한다(1290).
동작 1290은 도 8에 도시된 동작 1110과 동일할 수 있다.
이상에서 설명된 바와 같이, 서버 장치(20)는 다른 차량(30)의 환경 정보 및/또는 동작 정보에 기초하여 다른 차량(30)의 소프트웨어와 동일한 소프트웨어를 시뮬레이션하고, 시뮬레이션 결과에 기초하여 다른 차량(30)와 동일한 소프트웨어가 설치된 차량(10)의 소프트웨어의 오류를 검출할 수 있다.
한편, 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
1: 소프트웨어 업데이트 시스템 10: 차량
20: 서버 장치 30: 다른 차량
100: 전기 장치 101: 센서
102: 액츄에이터 103: 제어기
110: 제1 전기 장치 111: 제1 센서
112: 제1 액츄에이터 113: 제1 제어기
120: 제2 전기 장치 121: 제2 센서
122: 제2 액츄에이터 132: 제2 제어기
130: 통신 장치 131: 텔레매틱스 유닛
132: 안테나 210: 입출력 인터페이스
220: 센싱 데이터 입력부 230: 모델 데이터 베이스
231: 차량 모델 240: 차량 시뮬레이션 유닛
250: 소프트웨어 업데이트 유닛

Claims (20)

  1. 제1 소프트웨어가 설치된 차량; 및
    상기 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하고, 상기 제1 소프트웨어를 업데이트하기 위한 업데이트 데이트를 상기 차량에 전송하는 서버 장치를 포함하고,
    상기 서버 장치는
    상기 차량으로부터 상기 차량의 환경 정보 또는 동작 정보를 수신하는 입출력 인터페이스; 및
    상기 차량의 환경 정보 또는 동작 정보에 의한 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 업데이트 데이터를 생성하는 소프트웨어 업데이트 유닛을 포함하고,
    상기 입출력 인터페이스는 상기 제1 소프트웨어의 업데이트 데이터를 상기 차량으로 전송하는 소프트웨어 업데이트 시스템.
  2. 제1항에 있어서,
    상기 서버 장치는
    상기 제2 소프트웨어를 저장하는 데이터 베이스; 및
    상기 차량의 환경 정보 또는 동작 정보를 상기 제2 소프트웨어에 입력하고, 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 시뮬레이션 유닛을 더 포함하는 소프트웨어 업데이트 시스템.
  3. 제2항에 있어서,
    상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 유효성을 판단하고, 상기 차량의 환경 정보 또는 동작 정보의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 소프트웨어 업데이트 시스템.
  4. 제2항에 있어서,
    상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 입력에 의한 상기 제2 소프트웨어의 출력의 유효성을 판단하고, 상기 제2 소프트웨어의 출력의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 소프트웨어 업데이트 시스템.
  5. 제2항에 있어서,
    상기 시뮬레이션 유닛은 상기 제2 소프트웨어의 출력에 기초하여 상기 차량의 동작을 예측하고, 상기 차량의 동작에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 소프트웨어 업데이트 시스템.
  6. 제1항에 있어서,
    상기 소프트웨어 업데이트 유닛은 상기 제1 소프트웨어의 업데이트 데이터에 기초하여 상기 제2 소트프웨어를 업데이트하는 소프트웨어 업데이트 시스템.
  7. 제1항에 있어서,
    상기 소프트웨어 업데이트 시스템은 제3 소프트웨어가 설치된 다른 차량을 더 포함하고,
    상기 서버 장치는 상기 차량의 환경 정보 또는 동작 정보에 기초하여 상기 제3 소프트웨어의 업데이트 데이터를 생성하고, 상기 제3 소프트웨어의 업데이트 데이터를 상기 다른 차량은 전송하는 소프트웨어 업데이트 시스템.
  8. 차량에 설치된 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하고;
    상기 차량으로부터 상기 차량의 환경 정보 또는 동작 정보를 수신하고;
    상기 차량의 환경 정보 또는 동작 정보에 의한 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 업데이트 데이터를 생성하고;
    상기 제1 소프트웨어의 업데이트 데이터를 상기 차량으로 전송하는 것을 포함하는 소프트웨어 업데이트 방법.
  9. 제8항에 있어서,
    상기 제1 소프트웨어의 업데이트 데이터를 생성하는 것은
    상기 차량의 환경 정보 또는 동작 정보를 상기 제2 소프트웨어에 입력하고;
    상기 제2 소프트웨어의 출력에 기초하여 상기 제2 소프트웨어의 오류를 판단하는 것을 포함하는 소프트웨어 업데이트 방법.
  10. 제9항에 있어서,
    상기 제2 소프트웨어의 오류를 판단하는 것은
    상기 차량의 환경 정보 또는 동작 정보의 유효성을 판단하고;
    상기 차량의 환경 정보 또는 동작 정보의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 것을 포함하는 소프트웨어 업데이트 방법.
  11. 제9항에 있어서,
    상기 제2 소프트웨어의 오류를 판단하는 것은
    상기 차량의 환경 정보 또는 동작 정보의 입력에 의한 상기 제2 소프트웨어의 출력의 유효성을 판단하고;
    상기 제2 소프트웨어의 출력의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 것을 포함하는 소프트웨어 업데이트 방법.
  12. 제9항에 있어서,
    상기 제2 소프트웨어의 오류를 판단하는 것은
    상기 제2 소프트웨어의 출력에 기초하여 상기 차량의 동작을 예측하고;
    상기 차량의 동작에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 것을 포함하는 소프트웨어 업데이트 방법.
  13. 제8항에 있어서,
    상기 소프트웨어 업데이트 방법은
    상기 제1 소프트웨어의 업데이트 데이터에 기초하여 상기 제2 소트프웨어를 업데이트하는 것을 더 포함하는 소프트웨어 업데이트 방법.
  14. 제8항에 있어서,
    상기 소프트웨어 업데이트 방법은
    상기 차량의 환경 정보 또는 동작 정보에 기초하여, 다른 차량에 설치된 제3 소프트웨어의 업데이트 데이터를 생성하고;
    상기 제3 소프트웨어의 업데이트 데이터를 상기 다른 차량은 전송하는 것을 더 포함하는 소프트웨어 업데이트 방법.
  15. 제1 소프트웨어가 설치된 차량으로부터 상기 차량의 환경 정보 또는 동작 정보를 수신하는 입출력 인터페이스;
    상기 제1 소프트웨어와 동일한 제2 소프트웨어를 저장하는 데이터 베이스;
    상기 차량의 환경 정보 또는 동작 정보를 상기 제2 소프트웨어에 입력하고, 상기 제2 소프트웨어의 출력에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 시뮬레이션 유닛;
    상기 제1 소프트웨어의 오류 여부에 기초하여 상기 제1 소프트웨어의 업데이트 데이터를 생성하는 소프트웨어 업데이트 유닛을 포함하고,
    상기 입출력 인터페이스는 상기 제1 소프트웨어의 업데이트 데이터를 상기 차량으로 전송하는 소프트웨어 업데이트 서버.
  16. 제15항에 있어서,
    상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 유효성을 판단하고, 상기 차량의 환경 정보 또는 동작 정보의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 소프트웨어 업데이트 서버.
  17. 제15항에 있어서,
    상기 시뮬레이션 유닛은 상기 차량의 환경 정보 또는 동작 정보의 입력에 의한 상기 제2 소프트웨어의 출력의 유효성을 판단하고, 상기 제2 소프트웨어의 출력의 유효성 여부에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 소프트웨어 업데이트 서버.
  18. 제15항에 있어서,
    상기 시뮬레이션 유닛은 상기 제2 소프트웨어의 출력에 기초하여 상기 차량의 동작을 예측하고, 상기 차량의 동작에 기초하여 상기 제1 소프트웨어의 오류를 판단하는 소프트웨어 업데이트 시스템.
  19. 제15항에 있어서,
    상기 소프트웨어 업데이트 유닛은 상기 제1 소프트웨어의 업데이트 데이터에 기초하여 상기 제2 소트프웨어를 업데이트하는 소프트웨어 업데이트 서버.
  20. 제15항에 있어서,
    상기 소프트웨어 업데이트 유닛은 상기 제1 소프트웨어의 오류 여부에 기초하여 다른 차량에 설치된 제3 제1 소프트웨어의 업데이트 데이터를 생성하고,
    상기 입출력 인터페이스는 상기 제3 소프트웨어의 업데이트 데이터를 상기 다른 차량으로 전송하는 소프트웨어 업데이트 서버.
KR1020180124295A 2018-10-18 2018-10-18 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버 KR20200043666A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180124295A KR20200043666A (ko) 2018-10-18 2018-10-18 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버
US16/270,150 US20200125354A1 (en) 2018-10-18 2019-02-07 Software update system, software update method, and software update server
DE102019104969.5A DE102019104969A1 (de) 2018-10-18 2019-02-27 Software-aktualisierungs-system, software-aktualisierungs-verfahren, und software-aktualisierungs-server
CN201910204935.4A CN111078243A (zh) 2018-10-18 2019-03-18 软件更新系统、软件更新方法和软件更新服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180124295A KR20200043666A (ko) 2018-10-18 2018-10-18 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버

Publications (1)

Publication Number Publication Date
KR20200043666A true KR20200043666A (ko) 2020-04-28

Family

ID=70279186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180124295A KR20200043666A (ko) 2018-10-18 2018-10-18 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버

Country Status (4)

Country Link
US (1) US20200125354A1 (ko)
KR (1) KR20200043666A (ko)
CN (1) CN111078243A (ko)
DE (1) DE102019104969A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200242464A1 (en) * 2019-01-29 2020-07-30 Sony Corporation Incremental ai firmware updates using in-device training and peer-to-peer updates
JP7419658B2 (ja) * 2019-02-25 2024-01-23 株式会社デンソー センター装置、データ配信システム、制限実施プログラム及び制限実施方法
JP7392272B2 (ja) * 2019-03-22 2023-12-06 株式会社デンソー センター装置、データ通信システム、配信制御プログラム及び配信制御方法
US11409513B2 (en) * 2020-01-16 2022-08-09 Ford Global Technologies, Llc Surrogate vehicle OTA update through V2X
US11281450B2 (en) * 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update
CN112346437B (zh) * 2020-11-06 2022-08-12 浙江合众新能源汽车有限公司 一种车载软件管理系统
DE102020214922A1 (de) * 2020-11-27 2022-06-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Testen einer Anwendung für Fahrzeuge
US20220269496A1 (en) * 2021-02-24 2022-08-25 Medtronic, Inc. Remote system monitoring and firmware-over-the-air upgrade of electrosurgical unit
JP7217767B2 (ja) * 2021-03-19 2023-02-03 本田技研工業株式会社 更新管理サーバ、更新管理方法、及びプログラム
CN114550476A (zh) * 2021-11-30 2022-05-27 深圳元戎启行科技有限公司 数据处理方法、车辆管理平台以及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266788B1 (en) * 1998-07-01 2001-07-24 Support.Com, Inc. System and method for automatically categorizing and characterizing data derived from a computer-based system
US20080271025A1 (en) * 2007-04-24 2008-10-30 Stacksafe, Inc. System and method for creating an assurance system in a production environment
DE102009018761A1 (de) * 2009-04-27 2010-10-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Aktualisierung von Softwarekomponenten
CN101930629A (zh) * 2010-06-09 2010-12-29 金龙联合汽车工业(苏州)有限公司 车辆信息采集装置的远程更新系统及其更新方法
US10061574B2 (en) * 2013-03-14 2018-08-28 Ford Global Technologies, Llc Method and apparatus for multiple vehicle software module reflash
KR20150064474A (ko) * 2013-12-03 2015-06-11 현대자동차주식회사 차량 제어기 소프트웨어 업그레이드 방법
US9841965B2 (en) * 2015-06-15 2017-12-12 Lear Corporation Centralized system for software updating vehicle components
US10042635B2 (en) * 2015-06-16 2018-08-07 Lear Corporation Method for wireless remote updating vehicle software
US10671514B2 (en) * 2016-11-15 2020-06-02 Inrix, Inc. Vehicle application simulation environment
US10289404B2 (en) * 2017-07-25 2019-05-14 Aurora Labs Ltd. Detecting anomalies using real-time ECU processing activity

Also Published As

Publication number Publication date
CN111078243A (zh) 2020-04-28
DE102019104969A1 (de) 2020-04-23
US20200125354A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
KR20200043666A (ko) 소프트웨어 업데이트 시스템, 소프트웨어 업데이트 방법 및 소프트웨어 업데이트 서버
CN109389867B (zh) 碰撞缓解系统上的多模态切换
US11724708B2 (en) Fail-safe handling system for autonomous driving vehicle
KR20190123248A (ko) 차량 사고 방지 장치 및 방법
CN112540592A (zh) 用于确保安全的具有双自主驾驶系统的自主驾驶车辆
EP3882100B1 (en) Method for operating an autonomous driving vehicle
US11613254B2 (en) Method to monitor control system of autonomous driving vehicle with multiple levels of warning and fail operations
US11702087B2 (en) Autonomous driving monitoring system
US20230288935A1 (en) Methods and systems for performing inter-trajectory re-linearization about an evolving reference path for an autonomous vehicle
WO2023010043A1 (en) Complementary control system for an autonomous vehicle
KR20210005439A (ko) 운전자 보조 장치, 그를 가지는 차량 및 그 제어 방법
US20190347878A1 (en) External-world recognition system
US20230251846A1 (en) Information processing apparatus, information processing method, information processing system, and program
US20240069564A1 (en) Information processing device, information processing method, program, and mobile apparatus
US11904899B2 (en) Limp home mode for an autonomous vehicle using a secondary autonomous sensor system
KR20220012962A (ko) 자율 주행 차량을 위한 음원 검출 및 위치 측정
US20210325439A1 (en) Software simulation system for indoor emc test
US20210357667A1 (en) Methods and Systems for Measuring and Mapping Traffic Signals
US20240070056A1 (en) Manufacture test system for computation hardware used in driverless vehicle
WO2023063199A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
WO2024050674A1 (en) Dual path ethernet-based sensor device fault monitoring
US20230418586A1 (en) Information processing device, information processing method, and information processing system
US20210276592A1 (en) System to handle communication delays between an autonomous driving system and vehicle
CN115599082A (zh) 自动驾驶车辆、远程控制自动驾驶车辆的控制系统及方法
KR20220047438A (ko) 자율주행차의 응급 차량 인지 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal