WO2022050648A1 - Ecu 및 이에 의한 타겟 패스 결정 방법 - Google Patents

Ecu 및 이에 의한 타겟 패스 결정 방법 Download PDF

Info

Publication number
WO2022050648A1
WO2022050648A1 PCT/KR2021/011620 KR2021011620W WO2022050648A1 WO 2022050648 A1 WO2022050648 A1 WO 2022050648A1 KR 2021011620 W KR2021011620 W KR 2021011620W WO 2022050648 A1 WO2022050648 A1 WO 2022050648A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecu
target
data
path
target path
Prior art date
Application number
PCT/KR2021/011620
Other languages
English (en)
French (fr)
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 삼성전자 주식회사
Publication of WO2022050648A1 publication Critical patent/WO2022050648A1/ko
Priority to US18/174,210 priority Critical patent/US20230219513A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • 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/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • 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
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • 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
    • 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/03Electric 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 supply of electrical power to vehicle subsystems or for
    • 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/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • B60W2756/00Output or target parameters relating to data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Small-Scale Networks (AREA)

Abstract

차량에 장착된 소스 ECU에 의한 타겟 패스 결정 방법에 있어서, 소스 ECU와 목적 ECU를 연결하는 복수의 패스들의 상태 정보를 획득하는 단계; 상태 정보에 근거하여 복수의 패스들 중 타겟 데이터를 위한 타겟 패스를 선택하는 단계; 및 타겟 패스 상에 위치하는 ECU를 통해 목적 ECU로 타겟 데이터를 전송하는 단계를 포함하고, 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함하는, 일 실시예에 따른 타겟 패스 결정 방법이 개시된다.

Description

ECU 및 이에 의한 타겟 패스 결정 방법
본 개시는 차량의 전장 분야에 관한 것이다. 보다 구체적으로, 본 개시는 차량에 설치된 ECU들 사이에서 데이터 송수신을 위한 패스를 결정하는 방법에 관한 것이다.
자동차 기술의 발전을 설명하는 아키텍처 플로우에 따르면, 자동차의 구조는 현재의 분산 구조에서 기능별로 통합된 구조를 가지게 되고, 그 후에는 서로 결합된 도메인들을 중앙 컨트롤러가 제어하는 구조로 진화할 것으로 예상된다. 즉, 기술발전에 따라 데이터들이 중앙에서 처리되고, 향후에는 클라우드 연결도 가능할 것으로 예측되고 있다.
현재 관심이 집중되고 있는 자율 주행의 달성을 위해서는 많은 수의 센서로부터 획득한 데이터들을 처리하여야 한다. 설명한 것과 같이, 많은 수의 센싱 데이터들을 중앙에서 처리하기 위해서는 차량에 설치된 ECU들간의 데이터 송수신이 필수적이다. 데이터의 송수신은 물리적인 하드웨어를 통해 이루어져야 하므로, 하드웨어의 성능 저하, 온도 상승, 레이턴시(latency) 증가 등의 문제를 유발할 가능성이 있고, 이는 자율주행 기술의 발전에 걸림돌이 될 수 있다. 따라서, 데이터의 중앙 처리를 위해 ECU들 사이에서 데이터를 원활하게 송수신할 수 있는 방안이 요구된다.
한편, 인공지능(Artificial Intelligence, AI) 시스템은 컴퓨터 시스템이며, 기존 룰(Rule) 기반 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고, 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계 학습을 활용한 요소 기술들로 구성된다.
기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소 기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화 시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험 정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법은 소스 ECU와 목적 ECU 사이의 패스들 중 최적의 타겟 패스를 선택하는 것을 기술적 과제로 한다.
또한, 일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법은 데이터의 송수신에 이용되는 하드웨어의 발열, 소비전력 및 성능 저하를 최소화하는 것을 기술적 과제로 한다.
또한, 일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법은 중요한 데이터를 적은 지연 시간으로 목적 ECU로 전송하는 것을 기술적 과제로 한다.
일 실시예에 따른 타겟 패스의 결정 방법은, 소스 ECU와 목적 ECU(destination electronic control unit)를 연결하는 복수의 패스(path)들의 상태 정보를 획득하는 단계; 상기 상태 정보에 근거하여 상기 복수의 패스들 중 타겟 데이터를 위한 타겟 패스를 선택하는 단계; 및 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 타겟 데이터를 전송하는 단계를 포함하고, 상기 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간(latency time) 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함할 수 있다.
일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법은 소스 ECU와 목적 ECU 사이의 패스들 중 최적의 타겟 패스를 선택할 수 있다.
또한, 일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법은 데이터의 송수신에 이용되는 하드웨어의 발열, 소비전력 및 성능 저하를 최소화할 수 있다.
또한, 일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법은 중요한 데이터를 적은 지연 시간으로 목적 ECU로 전송할 수 있다.
다만, 일 실시예에 따른 ECU 및 이에 의한 타겟 패스 결정 방법이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 차량에 장착되는 예시적인 ECU들을 도시하는 도면이다.
도 2는 일 실시예에 따른 ECU의 구성을 도시하는 도면이다.
도 3은 차량에 장착된 ECU들과 패스들을 도시하는 도면이다.
도 4는 일 실시예에 따른 타겟 패스 결정 방법을 설명하기 위한 순서도이다.
도 5는 다른 실시예에 따른 타겟 패스 결정 방법을 설명하기 위한 순서도이다.
도 6은 패스들의 상태 정보를 나타내는 예시적인 표이다.
도 7은 차량에 장착된 ECU들의 한계 온도와 한계 소비 전력을 나타내는 예시적인 표이다.
도 8은 데이터의 종류에 따른 중요도와 기준 지연 시간을 나타내는 예시적인 표이다.
도 9는 소스 ECU로부터 다른 ECU로 전송되는 데이터 패킷을 도시하는 예시적인 도면이다.
도 10은 또 다른 실시예에 따른 타겟 패스 결정 방법을 설명하기 위한 순서도이다.
도 11은 일 실시예에서 인공 지능 기술을 이용하여 수행되는 동작을 설명하기 위한 도면이다.
도 12는 서버와 연동하여 동작하는 ECU를 나타내는 도면이다.
도 13은 도 12를 상세하게 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 ECU에 포함된 프로세서의 블록도이다.
도 15는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 16은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 17은 일 실시예에 따른 ECU 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
일 실시예에 따른 타겟 패스의 결정 방법은, 소스 ECU와 목적 ECU(destination electronic control unit)를 연결하는 복수의 패스(path)들의 상태 정보를 획득하는 단계; 상기 상태 정보에 근거하여 상기 복수의 패스들 중 타겟 데이터를 위한 타겟 패스를 선택하는 단계; 및 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 타겟 데이터를 전송하는 단계를 포함하고, 상기 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간(latency time) 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함할 수 있다.
상기 타겟 패스를 선택하는 단계는, 상기 타겟 데이터의 중요도에 대응하는 기준 지연 시간을 식별하는 단계; 및 상기 복수의 패스들 중 상기 기준 지연 시간 이하의 지연 시간을 갖는 타겟 패스를 선택하는 단계를 포함할 수 있다.
상기 타겟 패스를 선택하는 단계는, 상기 복수의 패스들 중 예상 온도가 한계 온도 미만인 ECU를 포함하는 타겟 패스를 선택하는 단계를 포함할 수 있다.
상기 타겟 패스를 선택하는 단계는, 상기 복수의 패스들 중 예상 소비 전력이 한계 소비 전력 미만인 ECU를 포함하는 타겟 패스를 선택하는 단계를 포함할 수 있다.
상기 타겟 패스를 선택하는 단계는, 상기 복수의 패스들 중 상기 타겟 데이터를 위한 복수의 타겟 패스를 선택하는 단계를 포함하고, 상기 타겟 데이터를 전송하는 단계는, 상기 타겟 데이터를 복수의 타겟 데이터 파트들로 분할하는 단계; 및 상기 복수의 타겟 데이터 파트들을 상기 선택된 복수의 타겟 패스 상에 위치하는 ECU들을 통해 상기 목적 ECU로 전송하는 단계를 포함할 수 있다.
상기 타겟 패스 결정 방법은, 로우 데이터를 제 1의 로우 데이터 파트 및 제 2의 로우 데이터 파트로 분할하는 단계; 상기 제 1의 로우 데이터 파트를 처리하여 제 1의 타겟 데이터 파트를 생성하는 단계; 및 상기 제 2의 로우 데이터 파트를 다른 ECU로 전송하는 단계를 포함하고, 상기 타겟 데이터를 전송하는 단계는, 상기 제 1의 타겟 데이터 파트를 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 전송하는 단계를 포함하며, 상기 제 2의 로우 데이터 파트는 상기 다른 ECU에 의해 처리되고, 처리 결과 생성된 제 2의 타겟 데이터 파트가 상기 다른 ECU로부터 상기 목적 ECU로 전송될 수 있다.
상기 상태 정보는 미리 결정된 주기마다 획득되며, 이전 주기의 상태 정보에 근거하여 현재 주기에서 이용될 상기 타겟 패스가 선택될 수 있다.
상기 상태 정보를 획득하는 단계는, 상기 차량에 장착된 복수의 ECU들로부터 상기 현재 주기에 데이터를 전송할 ECU의 식별 정보를 획득하는 단계를 포함하고, 상기 타겟 패스를 선택하는 단계는, 상기 현재 주기에서 각각의 ECU로 전송될 데이터량을 고려하여 상기 타겟 패스를 선택하는 단계를 포함할 수 있다.
상기 타겟 패스 결정 방법은, 상기 소스 ECU와 연결된 다른 ECU로부터 타겟 패스를 나타내는 정보 및 상기 타겟 데이터를 수신하는 단계를 더 포함하되, 상기 복수의 패스들 중에서 선택된 상기 타겟 패스는, 상기 다른 ECU로부터 수신된 정보가 가리키는 타겟 패스와 상이할 수 있다.
상기 타겟 패스를 선택하는 단계는, 훈련 정보에 기초하여 훈련된 DNN(deep neural network)으로 상기 상태 정보를 입력하는 단계; 및 상기 DNN의 출력 결과로부터 상기 타겟 패스를 선택하는 단계를 포함할 수 있다.
다른 실시예에 따른 소스 ECU는, 상기 소스 ECU와 목적 ECU를 연결하는 복수의 패스들의 상태 정보를 획득하는 메모리; 상기 상태 정보에 근거하여 상기 복수의 패스들 중 타겟 데이터를 위한 타겟 패스를 선택하는 프로세서; 및 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 상기 타겟 데이터를 전송하는 출력 포트를 포함하고, 상기 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간(latency time) 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함할 수 있다.
상기 프로세서는, 상기 타겟 데이터의 중요도에 대응하는 기준 지연 시간을 식별하고, 상기 복수의 패스들 중 상기 기준 지연 시간 이하의 지연 시간을 갖는 타겟 패스를 선택할 수 있다.
상기 프로세서는, 상기 복수의 패스들 중 예상 온도가 한계 온도 미만인 ECU를 포함하는 타겟 패스를 선택할 수 있다.
상기 프로세서는, 상기 복수의 패스들 중 상기 타겟 데이터를 위한 복수의 타겟 패스를 선택하고, 상기 타겟 데이터를 복수의 타겟 데이터 파트들로 분할하고, 상기 출력 포트는, 상기 복수의 타겟 데이터 파트들을 상기 선택된 복수의 타겟 패스 상에 위치하는 ECU들을 통해 상기 목적 ECU로 전송할 수 있다.
상기 프로세서는, 로우 데이터를 제 1의 로우 데이터 파트 및 제 2의 로우 데이터 파트로 분할하고, 상기 제 1의 로우 데이터 파트를 처리하여 제 1의 타겟 데이터 파트를 생성하고, 상기 출력 포트는, 상기 제 2의 로우 데이터 파트를 다른 ECU로 전송하고, 상기 제 1의 타겟 데이터 파트를 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 전송하되, 상기 제 2의 로우 데이터 파트는 상기 다른 ECU에 의해 처리되고, 처리 결과 생성된 제 2의 타겟 데이터 파트가 상기 다른 ECU로부터 상기 목적 ECU로 전송될 수 있다.
상기 상태 정보는 미리 결정된 주기마다 획득되며, 이전 주기의 상태 정보에 근거하여 현재 주기에서 이용될 상기 타겟 패스가 선택될 수 있다.
상기 상태 정보는, 상기 차량에 장착된 복수의 ECU들이 상기 현재 주기에 데이터를 전송할 ECU의 식별 정보를 더 포함하고, 상기 프로세서는, 상기 현재 주기에서 각각의 ECU로 전송될 데이터량을 고려하여 상기 타겟 패스를 선택할 수 있다.
상기 소스 ECU는, 상기 소스 ECU와 연결된 다른 ECU로부터 타겟 패스를 나타내는 정보 및 상기 타겟 데이터를 수신하는 입력 포트를 더 포함하되, 상기 복수의 패스들 중에서 선택된 상기 타겟 패스는, 상기 다른 ECU로부터 수신된 정보가 가리키는 타겟 패스와 상이할 수 있다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 설명하고자 한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 실시예의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 개시의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 1은 차량에 장착되는 예시적인 ECU들을 도시하는 도면이다.
차량의 기능이 다양화됨에 따라 차량의 각 기능을 담당하는 여러 ECU들이 차량에 설치될 수 있다. ECU들은 차량의 제어 대상 기기들(예를 들어, 센서, 액츄에이터 등)의 동작을 제어한다.
차량에 설치되는 ECU들은 엔진 ECU(10a), ACC(Adaptive Cruise Control) ECU(10b), 차선 유지 ECU(10c), VSC(Vehicle Stability Control) ECU(10d), 주변 감시 ECU(10e), ECT(Electronic Control Transmission) ECU(10f), 콤비 SW(Switch) ECU(10g), 오디오 ECU(10h), TEL ECU(10i), 라이팅 ECU(10j), 에어컨 ECU(10k), 미터 ECU(10l) 및 중앙 ECU(20)를 포함할 수 있다.
구체적으로, 엔진 ECU(10a)는 차량의 동력원인 엔진을 제어하기 위한 것이며, ACC ECU(10b)는 차량을 선행 차량에 추종시키는 제어를 위한 것이다. 차선 유지 ECU(10c)는 차량의 조타계를 제어하여 차량을 노면의 차선을 따라 자동 주행시키고, VSC ECU(10d)는 차량의 자세 제어 및 제동 제어를 한다. 주변 감시 ECU(10e)는 차량에 설치된 센서를 통해 차량 주위에 존재하는 장애물을 검출하고, ECT ECU(10f)는 자동 변속기의 변속을 제어한다. 또한, 콤비 SW ECU(10g)는 운전석 주위에 마련된 콤비네이션 스위치로부터 입력을 받아들여 다른 ECU에 운전자의 각종 지령을 송신하며, 오디오 ECU(10h)는 탑승자의 지시에 따라 차량에 탑재된 오디오 기기를 제어함과 동시에 오디오 기기나 내비게이션 등에서 출력되는 음성 신호를 처리해 스피커에서 출력되도록 한다. TEL ECU(10i)는 탑승자가 차량 외부의 기기와 통화를 할 수 있도록 통화용 전화 장치를 제어하며, 라이팅 ECU(10j)는 주위 밝기에 따라 차폭등 또는 헤드라이트를 점등하거나 광의 밝기를 제어하며, 에어컨 ECU(10k)는 차량에 탑재된 공조 장치를 제어한다. 또한, 미터 ECU(10l)는 차속, 엔진 회전수, 도어의 개폐 상태, 변속기의 시프트 레인지 등 차량의 각종 상태가 운전석 전방의 표시 장치에 표시되도록 제어한다.
차량에 설치된 ECU들 중 적어도 하나(예를 들어, 엔진 ECU(10a))는 센서, 액츄에이터 등의 제어 대상 기기(30)와 연결되고, 제어 대상 기기(30)로부터 센싱 데이터 등을 수신한다.
전술한 바와 같이, ECU들은 수집한 데이터를 중앙 ECU(20)로 전달하고, 중앙 ECU(20)는 수신한 데이터를 처리/판단하여 ECU들로 제어 인스트럭션을 전송한다.
도 1에 도시된 ECU들은 하나의 예시일 뿐이며, 차량에 따라 도 1에 도시된 ECU들 중 적어도 하나가 차량에 장착되지 않을 수도 있고, 또는, 도 1에 도시되지 않은 ECU(예를 들어, 스마트키 ECU 등)가 차량에 장착될 수도 있다.
도 2는 일 실시예에 따른 ECU(200)의 구성을 도시하는 도면이다. 도 2에 도시된 ECU(200)는 도 1에 도시된 ECU들 중 어느 하나에 해당할 수 있다.
도 2를 참조하면, ECU(200)는 입력 포트(210), 프로세서(220), 메모리(230) 및 출력 포트(240)를 포함할 수 있다.
입력 포트(210)는 다른 ECU나 제어 대상 기기(예를 들어, 센서)로부터 전달되는 데이터를 수신하고, 출력 포트(240)는 다른 ECU나 제어 대상 기기(예를 들어, 액추에이터)로 데이터를 송신한다. 일 예로, 입력 포트(210)는 센서로부터 센싱 데이터를 수신하고, 출력 포트(240)는 센싱 데이터에 기반하여 생성된 제어 인스트럭션을 액추에이터로 전송할 수 있다. 다른 예로, 입력 포트(210)는 다른 ECU로부터 데이터를 수신하고, 출력 포트(240)는 해당 데이터를 또 다른 ECU로 전송할 수 있다. 입력 포트(210) 및 출력 포트(240)는 다른 ECU 및 제어 대상 기기와 통신선을 통해 연결될 수 있다.
프로세서(220)는 메모리(230)에 저장된 프로그램을 실행한다. 예를 들어, 프로세서(220)는 프로그램에 따라 데이터를 입력 포트(210)나 메모리(230)로부터 획득하고, 데이터를 산술 연산 처리 또는 논리 연산 처리하여 그 결과를 메모리(230)에 저장하거나, 출력 포트(240)를 통해 제어 인스트럭션을 제어 대상 기기로 전달할 수 있다. 후술하는 바와 같이, 프로세서(220)는 데이터 전송을 위한 패스(path)의 개수가 복수 개일 때, 패스들 중 최적의 패스를 선택할 수 있다.
메모리(230)는 프로세서(220)의 동작을 위한 프로그램, 입력 포트(210)를 통해 수신된 데이터 및/또는 프로세서(220)가 데이터를 처리함에 따라 생성된 데이터를 저장할 수 있다.
차량에 설치된 복수의 ECU들은 서로 간에 데이터를 송수신하는데, 어느 하나의 ECU로부터 다른 하나의 ECU로 데이터를 전송하기 위해 이용 가능한 패스의 개수가 많은 경우, 어떤 패스를 통해 데이터를 전송하여야 할지를 선택해야 한다. 최적의 패스를 선택하는 방법에 대해서는 도 3 내지 도 10을 참조하여 설명한다.
이하에서는, 차량에 장착된 ECU들 중 데이터를 전송하는 ECU를 소스 ECU로 참조하고, 데이터의 최종 도착지에 해당하는 ECU를 목적 ECU로 참조한다. 목적 ECU는 중앙 ECU(20)일 수 있으나, 이에 한정되는 것은 아니다. 또한, 소스 ECU가 전송하고자 하는 데이터를 타겟 데이터로, 소스 ECU가 여러 패스들 중 타겟 데이터의 전송을 위해 선택한 패스를 타겟 패스로 참조한다.
도 3은 차량에 장착된 ECU들과 패스들을 도시하는 도면이다.
도 3에서는 ECU A(300)가 소스 ECU이고, 중앙 ECU(20)가 목적 ECU인 것으로 가정한다. ECU A(300)가 중앙 ECU(20)로 전송하고자 하는 타겟 데이터는 여러 패스들 중에서 선택된 타겟 패스를 통해 전송될 수 있다.
구체적으로, 도 3에 도시된 바와 같이, ECU A(300), ECU B, ECU C 및 중앙 ECU(20)를 포함하는 제 1 패스, ECU A(300), ECU D, ECU E 및 중앙 ECU(20)를 포함하는 제 2 패스, ECU A(300), ECU D, ECU F 및 중앙 ECU(20)를 포함하는 제 3 패스, 및 ECU A(300), ECU F 및 중앙 ECU(20)를 포함하는 제 4 패스가 존재하는 경우, ECU A(300)는 제 1 내지 제 4 패스들 중에서 타겟 데이터를 위한 타겟 패스를 선택할 수 있다.
타겟 패스가 선택되면, ECU A(300)는 타겟 패스 상에 위치한 다른 ECU로 타겟 데이터를 전송하고, 다른 ECU는 타겟 패스에 따라 타겟 데이터를 또 다른 ECU로 전송할 수 있다. 구체적으로, 제 1 패스가 타겟 패스로 선택된 경우, ECU A(300)는 타겟 데이터를 ECU B로 전송하고, ECU B는 타겟 데이터를 ECU C로 전송한다. 그리고, ECU C는 타겟 데이터를 최종 목적지인 중앙 ECU(20)로 전송할 수 있다.
타겟 데이터를 수신한 중앙 ECU(20)는 데이터의 분석 결과로부터 제어 인스트럭션을 생성하고, 제어 인스트럭션을 적어도 하나의 ECU로 전송할 수 있다. 이 때에는 중앙 ECU(20)가 소스 ECU에 해당하고, 제어 인스트럭션의 최종 도착지에 해당하는 ECU가 목적 ECU에 해당하게 된다.
도 4는 이용 가능한 복수의 패스들 중에서 타겟 패스를 선택하는 방법을 설명하기 위한 순서도이다.
S410 단계에서, 소스 ECU는 복수의 패스들의 상태 정보를 획득한다. 소스 ECU는 다른 ECU들로부터 수신된 정보에 기초하여 여러 패스들의 상태 정보를 획득할 수 있다.
차량에 설치된 각 ECU는 자신의 상태를 나타내는 정보를 다른 ECU들로 전송할 수 있다. 예를 들어, 각 ECU는 송수신 데이터량, 데이터의 송수신 시간, 데이터가 어느 ECU들을 통해 자신에게 수신된 것인지를 나타내는 정보, 온도 및 소비 전력 등을 나타내는 정보를 다른 ECU들로 전송하고, ECU들은 다른 ECU들로부터 수신된 정보에 기초하여 패스들의 상태 정보를 획득할 수 있다.
일 예로, 차량에 설치된 ECU들은 자신이 이용할 수 있는 패스들의 상태 정보를 획득하고, 다른 ECU로부터 수신된 데이터나 자신과 연결된 제어 대상 기기로부터 수집된 데이터를 목적 ECU로 전송하기 위한 타겟 패스를 선택할 수 있다.
패스들의 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함할 수 있다. 여기서, 패스의 지연 시간은 소스 ECU로부터 목적 ECU까지 데이터가 전송되는데 소용되는 시간을 나타내고, 패스의 전송 성공률은 소스 ECU가 인접한 ECU로 전송한 데이터량과 목적 ECU가 수신한 데이터량 사이의 비율에 해당할 수 있다.
S420 단계에서, 소스 ECU는 여러 패스들의 상태 정보에 기초하여 패스들 중 타겟 데이터를 위한 타겟 패스를 선택한다.
일 실시예에서, 소스 ECU는 목적 ECU로 전송될 타겟 데이터의 중요도에 따라 기준 지연 시간을 확인하고, 복수의 패스들 중 기준 지연 시간 이하의 지연 시간을 갖는 타겟 패스를 선택할 수 있다.
다른 실시에에서, 소스 ECU는 복수의 패스들 중 예상 온도가 한계 온도 미만인 ECU를 포함하는 타겟 패스를 선택할 수도 있다. 여기서, 예상 온도는 전송할 타겟 데이터의 양에 따라 산출될 수 있다. 예를 들어, ECU가 100MB의 데이터를 송수신할 때 온도가 10도 상승하는 경우, 200MB의 타겟 데이터를 송수신하는 ECU의 온도는 20도 상승할 것으로 예측될 수 있다. 예상 온도의 산출 방법은 ECU들에 미리 저장되어 있을 수 있다. ECU의 한계 온도는 ECU가 정상적으로 동작하기 위한 온도로서, ECU의 하드웨어 특성에 따라 미리 결정될 수 있다.
또 다른 실시예에서, 소스 ECU는 복수의 패스들 중 예상 소비 전력이 한계 소비 전력 미만인 ECU를 포함하는 타겟 패스를 선택할 수도 있다. 여기서, 예상 소비 전력은 전송할 타겟 데이터의 양에 따라 산출될 수 있다. 예를 들어, ECU가 100MB의 데이터를 송수신할 때 소비 전력이 3W만큼 증가하는 경우, 200MB의 타겟 데이터를 송수신하는 ECU의 소비 전력은 6W만큼 증가할 것으로 예측될 수 있다. 예상 소비 전력의 산출 방법은 ECU들에 미리 저장되어 있을 수 있다. ECU의 한계 소비 전력은 ECU가 정상적으로 동작할 때 소비하는 전력량으로서, ECU의 하드웨어 특성에 따라 미리 결정될 수 있다.
또 다른 실시예에서, 소스 ECU는 패스들의 지연 시간, 각 패스 상에 위치하는 ECU의 소비 전력 및/또는 각 패스 상에 위치하는 ECU의 온도를 고려하여 타겟 패스를 선택할 수도 있다. 예를 들어, 소스 ECU는 기준 지연 시간 이하의 지연 시간을 가지면서, 예상 온도가 한계 온도 미만인 ECU를 포함하는 패스들 중에서 소비 전력이 가장 낮은 패스를 타겟 패스로 선택할 수 있다.
S430 단계에서, 소스 ECU는 타겟 패스 상에 위치한 ECU를 통해 목적 ECU로 타겟 데이터를 전송한다. 구체적으로, 소스 ECU는 타겟 패스 상에서 자신과 가장 인접한 ECU로 타겟 데이터를 전송하고, 타겟 데이터를 수신한 ECU는 타겟 패스에 따라 타겟 데이터를 다른 ECU로 전달함으로써, 타겟 데이터가 목적 ECU로 도달될 수 있게 한다.
구현예에 따라, 차량에 장착된 ECU들은 매 주기마다 패스들의 상태 정보를 획득하고, 이를 근거로 타겟 패스를 선택할 수 있는데, 이에 대해 도 5를 참조하여 설명한다.
도 5는 다른 실시예에 따른 타겟 패스 결정 방법을 설명하기 위한 순서도이다.
S510 단계에서, 소스 ECU는 이전 주기에서의 복수의 패스들의 상태 정보를 획득한다.
소스 ECU는 여러 패스들의 상태 정보를 매 주기(cycle)마다 획득할 수 있는데, 여기서 한 주기는 미리 결정된 시간 간격(time interval)에 대응할 수 있다. 예를 들어, 한 주기가 5분이라면, 소스 ECU는 5분마다 여러 패스들의 상태 정보를 획득할 수 있다.
다른 예로, 한 주기는 송수신되는 데이터의 미리 결정된 양에 대응할 수 있다. 예를 들어, 한 주기가 500MB에 해당한다면, ECU들 사이에서 송수신되는 데이터의 양이 500MB에 해당할 때마다 소스 ECU는 패스들의 상태 정보를 획득할 수 있다.
S520 단계에서, 소스 ECU는 패스들의 상태 정보에 근거하여 현재 주기를 위한 타겟 패스를 선택한다.
전술한 바와 같이, 소스 ECU는 각 패스의 지연 시간, 각 패스 상에 위치하는 ECU들의 온도 및/또는 각 패스 상에 위치하는 ECU들의 소비 전력에 기초하여 타겟 패스를 선택할 수 있다.
S530 단계에서, 소스 ECU는 타겟 패스 상에 위치하는 ECU를 통해 목적 ECU로 타겟 데이터를 전송한다.
S540 단계에서, 소스 ECU는 모든 타겟 데이터의 전송이 완료되었는지를 판단하고, 모든 타겟 데이터의 전송이 완료되었다면, S550 단계에서, 현재 주기에서의 패스들의 상태 정보를 획득한다. 소스 ECU는 현재 주기의 상태 정보에 근거하여 다음 주기에서 이용될 타겟 패스를 선택할 수 있다.
즉, 본 개시에서는 여러 패스들 중 최적의 효과를 발휘할 수 있는 타겟 패스를 주기마다 선택하므로, 특정 ECU의 발열이나 성능 저하를 최소화할 수 있다.
다음으로는, 도 3에 도시된 ECU A(300)가 중앙 ECU(20)로 타겟 데이터를 전송하기 위해 이용할 수 있는 패스들 중에서 타겟 패스를 선택하는 방법에 대해 도 6 내지 도 8을 참조하여 구체적으로 설명한다.
도 6은 패스들의 상태 정보를 나타내는 예시적인 표이다.
도 6을 참조하면, 상태 정보는 지연 시간, 전송 성공률, 패스 상에 위치한 ECU의 식별 정보, ECU의 온도, ECU에서 송수신된 데이터량, ECU의 소비 전력 및 ECU의 이용률을 포함할 수 있다.
도 6은 상태 정보에 포함될 수 있는 정보들의 예시로서, 도 6에 도시되지 않은 정보가 상태 정보에 포함될 수 있고, 도 6에 도시된 정보들 중 일부가 상태 정보에서 제외될 수도 있다.
소스 ECU는 다른 ECU들로부터 수신된 정보에 기초하여 상태 정보를 획득할 수 있다. 예를 들어, ECU B는 다른 ECU로부터 수신한 데이터량, 다른 ECU로 전송한 데이터량, 온도, 소비 전력 및 이용률 등에 대한 정보를 소스 ECU로 전송할 수 있다. 소스 ECU는 ECU B를 포함한 다른 ECU들로부터 수신한 정보에 기초하여 이용 가능한 패스들 각각의 상태 정보를 획득할 수 있다.
도 6에서 데이터량은 데이터의 크기를 의미할 수도 있고, 또는 미리 결정된 크기의 데이터의 개수를 의미할 수도 있다.
온도는 ECU의 써미스터(thermistor)에 의해 측정될 수 있고, 구현예에 따라 ECU의 동작 클럭(clock)의 주파수로부터 간접적으로 측정될 수도 있다. 예를 들어, ECU의 클럭의 주파수별로 그에 대응하는 온도가 미리 결정되어 있는 상태에서 클럭의 실제 주파수에 대응하는 온도가 산출될 수 있다.
이용률은 ECU가 처리할 수 있는 최대 데이터량 대비 ECU가 실제로 처리한 데이터량을 의미한다.
소비 전력은 ECU에서 소비된 전력량으로서, ECU의 이용률이나 동작 클럭으로부터 산출될 수 있다. 예를 들어, ECU의 각 이용률에 대응하는 ECU의 소비 전력들이 미리 결정되어 있는 상태에서, ECU의 실제 이용률에 대응하는 소비 전력이 산출될 수 있다. 다른 예로, ECU의 클럭의 주파수별로 그에 대응하는 소비 전력들이 미리 결정되어 있는 상태에서, 클럭의 실제 주파수에 대응하는 소비 전력이 산출될 수도 있다.
소스 ECU는 패스들의 상태 정보에 기초하여 원하는 지연 시간 내에 목적 ECU로 타겟 데이터를 전송할 수 있고, 타겟 데이터로 인해 가해지는 부하가 한계 부하 미만인 ECU들을 포함하는 패스를 타겟 패스로 선택할 수 있다.
소스 ECU는 타겟 데이터의 처리로 인해 ECU들에게 과도한 부하가 가해지는지 여부를 판단하기 위해, ECU들의 한계 부하에 대한 정보를 저장할 수 있다.
도 7은 차량에 설치된 ECU들의 한계 부하를 나타내는 예시적인 표이다.
도 7에 도시된 ECU A 내지 ECU F의 한계 온도 및 한계 소비 전력은 하드웨어 특성에 따라 달라질 수 있다. 소스 ECU는 타겟 데이터로 인해 어느 ECU에 가해지는 부하가 해당 ECU의 한계 부하 이상이면, 해당 ECU를 포함하는 패스는 타겟 패스로 선택하지 않을 수 있다.
일 예로, 타겟 데이터량이 300MB이고, 타겟 데이터로 인해 ECU B, ECU C, ECU D 및 ECU E의 예상 온도가 각각 58도, 66도, 50도 및 55도로 산출된다고 가정한다. 이때, ECU B의 예상 온도는 한계 온도인 60도 미만이지만, ECU C의 예상 온도는 한계 온도인 65도보다 높으므로, 소스 ECU는 ECU C를 포함하는 제 1 패스는 타겟 패스로 선택하지 않는다. ECU D 및 ECU E의 예상 온도는 모두 한계 온도보다 작으므로, 소스 ECU는 제 2 패스를 타겟 패스로 선택할 수 있다. 즉, 소스 ECU는 타겟 데이터로 인한 부하가 한계 부하 미만인 ECU를 포함하는 패스를 타겟 패스로 선택할 수 있다.
다른 예로, 타겟 데이터로 인한 부하가 한계 부하 미만인 ECU만을 포함하는 패스가 여러 개인 경우, 소스 ECU는 여러 패스들 중 타겟 데이터로 인한 부하와 한계 부하 사이의 차이가 가장 큰 ECU들을 포함하는 패스를 타겟 패스로 선택할 수 있다.
다른 예로, 타겟 데이터로 인한 부하가 한계 부하 미만인 ECU만을 포함하는 패스가 여러 개인 경우, 소스 ECU는 여러 패스들 중 가장 낮은 소비 전력을 나타내는 패스를 타겟 패스로 선택할 수 있다.
또 다른 예로, 타겟 데이터로 인한 부하가 한계 부하 미만인 ECU만을 포함하는 패스가 여러 개인 경우, 소스 ECU는 해당 패스들을 모두 타겟 패스로 선택할 수 있다. 그리고, 소스 ECU는 타겟 데이터를 복수의 타겟 데이터 파트로 분할하고, 분할된 각 타겟 데이터 파트를 타겟 패스들 각각을 통해 전송함으로써, 타겟 데이터로 인한 부하를 분산시킬 수도 있다. 타겟 데이터로부터 분할되는 파트들의 개수는 타겟 패스의 개수와 동일할 수 있다.
또 다른 예로, 소스 ECU는 타겟 데이터의 중요도에 대응하는 기준 지연 시간과 각 패스의 지연 시간을 고려하여 타겟 패스를 선택할 수도 있다.
도 8은 타겟 데이터의 종류에 따른 중요도와 기준 지연 시간을 나타내는 예시적인 표이다.
도 8에서 중요도에 해당하는 값이 클수록 중요도가 높다는 것을 나타낸다. 전방 장애물 데이터의 경우, 차량 및 탑승자의 안전과 직결되므로 가장 높은 중요도를 가지며, 기준 지연 시간은 5ms로 가장 짧을 수 있다. 운전자의 상태를 나타내는 운전자 데이터는 전방 장애물 데이터보다는 중요도가 낮으며, 기준 지연 시간은 8ms로 설정될 수 있다. 실내 영상과 같은 실내 데이터는 차량의 안전과는 직접적인 관련성이 적으므로 가장 낮은 중요도를 가지며, 기준 지연 시간은 10ms로 설정될 수 있다.
소스 ECU는 타겟 데이터의 종류에 따라 기준 지연 시간을 확인하고, 확인된 기준 지연 시간보다 적은 지연 시간을 갖는 패스를 타겟 데이터를 위한 타겟 패스로 선택할 수 있다. 예를 들어, 목적 ECU로 전송할 타겟 데이터가 전방 장애물 데이터인 경우, 기준 지연 시간인 5ms보다 적은 지연 시간을 갖는 제 4 패스가 타겟 데이터를 위한 타겟 패스로 선택될 수 있다.
전술한 바와 같이, 소스 ECU는 타겟 데이터로 인한 부하와 타겟 데이터의 기준 지연 시간을 모두 고려하여 타겟 패스를 선택할 수 있다. 타겟 패스가 여러 개인 경우에는 타겟 데이터를 파트들로 분할한 후, 분할된 파트들 각각을 여러 타겟 패스를 통해 목적 ECU로 전송할 수도 있다.
한편, 차량에 장착된 여러 ECU들이 센서 등으로부터 수집한 데이터를 목적 ECU로 전송하고자 하는 경우, 여러 ECU들은 모두 전술한 패스의 상태 정보에 기초하여 타겟 패스를 선택하는데, 이 경우, 어느 특정의 패스로만 부하가 가해질 가능성이 있다. 즉, 이전 주기에서의 패스들의 상태 정보로부터 현재 주기에서 제 1 패스가 타겟 패스로 선택될 가능성이 많다면, 많은 ECU들이 제 1 패스를 통해 데이터를 전송할 것이고, 이에 따라 제 1 패스 상에 위치하는 ECU들의 부하가 한계 부하를 초과할 수도 있다.
이에, 일 실시예에 따른 소스 ECU는 패스들의 상태 정보로서, 각 패스 상에 위치하는 ECU들이 현재 주기에서 데이터를 송신하고자 하는 ECU의 식별 정보와 현재 주기에서 보내고자 하는 데이터량을 나타내는 정보를 더 획득할 수도 있다. 예를 들어, ECU B는 이전 주기에서의 패스들의 상태 정보에 근거하여 다음 주기, 즉, 현재 주기에서 데이터를 송신하고자 하는 ECU의 식별 정보를 소스 ECU로 전송할 수 있다. 소스 ECU는 ECU B가 보내온 ECU의 식별 정보로부터 현재 주기에서 해당 ECU로 타겟 데이터를 보내는 경우, 어느 정도가 부하가 가해질지를 예측할 수 있다. 즉, 이전 주기에서 특정 ECU의 이용률이 작았더라도 현재 주기에서 다른 ECU들이 모두 특정의 ECU로 데이터를 전송하고자 하는 경우, 소스 ECU는 해당 ECU를 포함하지 않는 패스를 타겟 패스로 선택할 수 있는 것이다. 예를 들어, 소스 ECU는 타겟 데이터에 의해 제 3 패스에 포함된 ECU D 및 ECU F에게 가해지는 부하가 한계 부하보다 작더라도, 다른 ECU들이 ECU D 및 ECU F로 전송할 것으로 예상되는 데이터량을 고려하여 제 3 패스 대신 다른 패스를 타겟 패스로 선택할 수 있다.
소스 ECU는 센서로부터 수집된 로우 데이터를 분석 및 처리한 후, 목적 ECU로 전송할 타겟 데이터를 생성할 수 있다. 이 경우, 로우 데이터의 개수 또는 크기가 증가함에 따라 소스 ECU가 로우 데이터 모두를 처리하는 것이 과도한 부담이 될 수가 있다.
따라서, 일 실시예에 따르면, 소스 ECU는 로우 데이터를 로우 데이터 파트들로 분할하고, 분할된 파트들 중 일부는 자신이 처리하고, 나머지 파트는 자신과 연결된 다른 ECU(즉, 백업 ECU)로 전송할 수도 있다. 구체적으로, 소스 ECU는 로우 데이터를 제 1 로우 데이터 파트와 제 2 로우 데이터 파트로 분할하고, 제 1 로우 데이터 파트는 자신이 처리하여 제 1 타겟 데이터 파트를 생성한다. 제 1 타겟 데이터 파트는 전술한 타겟 패스를 통해 목적 ECU로 전송될 수 있다. 소스 ECU는 제 2 로우 데이터 파트는 자신과 연결된 백업 ECU로 전송하고, 백업 ECU는 수신된 제 2 로우 데이터 파트를 처리하여 제 2 타겟 데이터 파트를 생성할 수 있다. 그리고, 백업 ECU는 소스 ECU 대신 제 2 타겟 데이터 파트를 목적 ECU로 전송할 수 있다. 이 때, 백업 ECU는 패스들의 상태 정보에 근거하여 제 2 타겟 데이터 파트를 전송하기 위한 타겟 패스를 선택할 수 있다.
도 9는 소스 ECU로부터 다른 ECU로 전송되는 데이터 패킷(900)을 도시하는 예시적인 도면이다.
전술한 바와 같이, 소스 ECU는 타겟 패스를 통해 타겟 데이터를 목적 ECU로 전송할 수 있는데, 소스 ECU는 타겟 데이터뿐만 아니라, 타겟 데이터와 관련된 정보들을 포함하는 데이터 패킷(900)을 전송할 수 있다.
도 9를 참조하면, 데이터 패킷(900)은 소스 ECU의 식별 정보(910), 목적 ECU의 식별 정보(920), 타겟 패스 정보(930) 및 전송 시간 정보(940) 중 적어도 하나와 타겟 데이터(950)를 포함할 수 있다.
도 9에 도시된 정보들 중 소스 ECU의 식별 정보(910)와 목적 ECU의 식별 정보(920)는 타겟 패스 상의 다른 ECU 들에 의해 변경되지 않을 수 있다. 전술한 백업 ECU는 소스 ECU의 식별 정보(910)를 자신의 식별 정보가 아닌, 자신에게 로우 데이터 파트를 전송한 ECU의 식별 정보로 설정할 수 있다. 이는, 중앙 ECU(20)가 타겟 데이터에 기초하여 생성한 제어 인스트럭션들을 원래의 소스 ECU가 아닌 백업 ECU로 잘못 전송하는 경우를 방지하기 위함이다.
일 실시예에서, 데이터 패킷(900)을 수신한 ECU들은 데이터 패킷(900) 내에 데이터 패킷(900)의 송수신 시간을 추가할 수 있다. 이러한 데이터 패킷(900)의 송수신 시간은 패스들의 지연 시간을 산출하는데 이용될 수 있다.
일 실시예에서, 데이터 패킷(900) 내 타겟 패스 정보(930)는 타겟 패스 상에 위치한 ECU에 의해 변경될 수 있다. 구체적으로, ECU A가 소스 ECU로서 ECU B로 데이터 패킷(900)을 전송한 경우, ECU B는 ECU A가 보낸 데이터 패킷(900)으로부터 식별된 타겟 패스를 변경할 수도 있다. 이는, 소스 ECU가 패스들의 상태 정보에 근거하여 최적의 타겟 패스를 선택하였더라도 실제 데이터 전송 과정 중에 타겟 패스의 변경 사유가 발생할 수 있기 때문이다. 예를 들어, ECU B는 타겟 패스 상에 위치하는 ECU C에게 급격한 부하가 가해지는 경우, 타겟 패스를 변경할 수 있다. 이에 대해 도 10을 참조하여 설명한다.
도 10은 또 다른 실시예에 따른 타겟 패스 결정 방법을 설명하기 위한 순서도이다.
도 10은 제 1 소스 ECU에 의해 수행되는 과정을 도시하고 있는데, 제 1 소스 ECU는 자신의 제 1 타겟 데이터를 목적 ECU로 전송하려고 하고, 제 2 소스 ECU는 자신의 제 2 타겟 데이터를 제 1 소스 ECU를 거쳐 목적 ECU로 전송하려고 하는 것으로 가정한다.
S1010 단계에서, 제 1 소스 ECU는 다른 ECU, 예를 들어, 제 2 소스 ECU로부터 제 2 타겟 데이터와 제 2 타겟 패스를 가리키는 정보를 수신한다. 제 2 타겟 데이터와 제 2 타겟 패스는 데이터 패킷에 포함될 수도 있으나, 이들의 전송 형태는 패킷에 한정되지 않는다.
S1020 단계에서, 제 1 소스 ECU는 제 2 타겟 패스의 변경이 필요한지를 판단한다.
일 예로, 제 1 소스 ECU는 제 2 타겟 패스 상에 위치하는 ECU에게 많은 양의 데이터가 집중된 경우, 제 2 타겟 패스의 변경이 필요한 것으로 판단할 수 있다. 구체적으로, 제 2 타겟 패스 상에 위치하는 ECU의 한계 부하를 넘는 부하를 야기하는 데이터가 해당 ECU에게 전송되었거나 전송이 예상되는 경우, 제 1 소스 ECU는 제 2 타겟 패스의 변경이 필요한 것으로 판단할 수 있다.
제 2 타겟 패스의 변경이 필요한 경우, S1030 단계에서, 제 1 소스 ECU는 패스들의 상태 정보에 근거하여 새로운 제 2 타겟 패스를 선택한다.
일 예에서, 제 1 소스 ECU는 새로운 제 2 타겟 패스를 자신의 제 1 타겟 데이터를 전송하기 위해 선택한 제 1 타겟 패스로 선택할 수 있다. 다른 예로, 제 1 소스 ECU는 현재 각 패스상의 ECU들의 상태를 고려하여 새로운 제 2 타겟 패스를 선택할 수도 있다.
S1040 단계에서, 제 1 소스 ECU는 새로운 제 2 타겟 패스 상에 위치하는 ECU를 통해 제 2 타겟 데이터를 목적 ECU로 전송한다. 그리고, 제 1 소스 ECU는 자신의 제 1 타겟 데이터를 제 1 타겟 패스 상에 위치하는 ECU를 통해 목적 ECU로 전송할 수 있다.
제 2 타겟 패스의 변경이 필요하지 않은 경우, S1050 단계에서, 제 1 소스 ECU는 원래의 제 2 타겟 패스를 통해 제 2 타겟 데이터를 목적 ECU로 전송한다. 그리고, 제 1 소스 ECU는 자신의 제 1 타겟 데이터를 제 1 타겟 패스 상에 위치하는 ECU를 통해 목적 ECU로 전송할 수 있다.
개시된 실시예에 있어서, ECU, 구체적으로 ECU의 프로세서(220)에서 수행되는 동작들 중 적어도 하나는 인공지능(AI: Artificial Intelligence) 기술을 이용하여 수행될 수 있다. 인공 지능(AI) 기술을 이용하여 수행되는 적어도 하나의 동작은 이하에서, 도 11를 참조하여 상세히 설명한다.
도 11는 인공 지능 기술을 이용하여 수행되는 동작을 설명하기 위한 도면이다.
구체적으로, ECU에서 수행되는 타겟 패스를 선택하는 동작은, 신경망(neural network)을 통한 연산을 수행하는 인공지능(AI: Artificial Intelligence) 기술을 이용하여 수행될 수 있다. 예를 들어, 전술한 패스들의 상태 정보에 근거하여 인공지능 기반으로 수행될 수 있다.
인공 지능 기술(이하, 'AI 기술')은 신경망(Neural Network)을 통한 연산을 기반으로 입력 데이터를 분석 및/또는 분류 등과 같은 처리를 하여 목적하는 결과를 획득하는 기술이다.
이러한 AI 기술은 알고리즘을 활용하여 구현될 수 있다. 여기서, AI 기술을 구현하기 위한 알고리즘 또는 알고리즘의 집합을 신경망(Neural Network)이라 한다. 여기서, 신경망은 입력 데이터를 입력받고, 전술한 분석 및/또는 분류를 위한 연산을 수행하여, 결과 데이터를 출력할 수 있다. 신경망이 입력 데이터에 대응되는 결과 데이터를 정확하게 출력하기 위해서는, 신경망을 학습(training)시킬 필요가 있다. 여기서, '학습(training)'은 신경망에 대한 입력 데이터들을 분석하는 방법, 입력 데이터들을 분류하는 방법, 및/또는 입력 데이터들에서 결과 데이터 생성에 필요한 특징을 추출하는 방법 등을 신경망이 스스로 발견 또는 터득할 수 있도록 훈련시키는 것을 의미할 수 있다. 구체적으로, 학습 과정을 통하여, 신경망은 학습 데이터를 학습(training)하여 신경망 내부의 가중치 값들을 최적화할 수 있다. 그리고, 최적화된 가중치 값을 가지는 신경망을 통하여, 입력 데이터를 처리함으로써, 목적하는 결과를 출력한다.
신경망은 연산을 수행하는 내부의 레이어(layer)인 은닉 레이어(hidden layer)의 개수가 복수일 경우, 즉 연산을 수행하는 신경망의 심도(depth)가 증가하는 경우, 심층 신경망으로 분류될 수 있다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 등이 있으며, 전술한 예에 한정되지 않는다. 또한, 신경망은 세분화될 수 있다. 예를 들어, CNN 신경망은 DCNN(Deep Convolution Neural Network) 또는 캡스넷(Capsnet) 신경망(미도시) 등으로 세분화 될 수 있다.
'AI 모델'은 입력 데이터를 수신하고 목적하는 결과를 출력하도록 동작하는 적어도 하나의 레이어를 포함하는 신경망을 의미할 수 있다. 또한, 'AI 모델'은 신경망을 통한 연산을 수행하여 목적하는 결과를 출력하는 알고리즘, 복수의 알고리즘의 집합, 알고리즘(또는 알고리즘의 집합)을 실행하기 위한 프로세서(processor), 알고리즘(또는 알고리즘의 집합)을 실행하기 위한 소프트웨어, 또는 알고리즘(또는 알고리즘의 집합)을 실행하기 위한 하드웨어를 의미할 수 있다.
전술한 타겟 패스를 선택하는 동작은 AI 모델 기반으로 수행될 수 있다.
도 11를 참조하면, 신경망(1110)은 학습 데이터(training data)를 입력받아 트레이닝(training)될 수 있다. 그리고, 학습된 신경망(1110)은 입력단(1120)으로 입력 데이터(1111)를 입력받고, 입력단(1120), 은닉 레이어(hidden layer)(1130) 및 출력단(1140)은 입력 데이터(1111) 및 이전 레이어로부터 전달된 데이터를 분석하여 출력 데이터(1115)를 출력하기 위한 연산을 수행할 수 있다. 도 11에서는 은닉 레이어(1130)가 1개인 것으로 도시되어 있으나, 이는 예시일 뿐이고, 은닉 레이어(1130)는 복수의 계층으로 이루어질 수도 있다.
개시된 실시예에서, 신경망(1110)은 패스들의 상태 정보에 근거하여, ECU들에 과도한 부하를 주지 않으면서, 짧은 지연 시간 내에 타겟 데이터를 전송할 수 있는 타겟 패스를 선택하는 방법을 학습할 수 있다. 학습이 완료된 신경망(1110)은, 패스들의 상태 정보를 입력받고, 복수의 패스들 중 타겟 패스를 선택할 수 있다.
개시된 실시예에서, 전술한 패스들의 상태 정보에 따라 타겟 패스를 선택하는 동작을 수행하는 신경망은 프로세서(예를 들어, 도 2의 220) 내에 구현될 수 있다.
또는, 전술한 패스들의 상태 정보에 따라 타겟 패스를 선택하는 동작을 수행하는 신경망은 ECU(200)와 구별된 별도의 전자 장치(미도시) 또는 프로세서(미도시) 내에 구현될 수 있다.
전술한 신경망을 통한 연산은 일 실시예에 따른 ECU(200)와 무선 통신 네트워크를 통하여 통신할 수 있는 서버(미도시)에서 수행될 수도 있다. ECU(200)와 서버(미도시) 간의 통신은 도 12 및 도 13을 참조하여 설명한다.
도 12은 서버와 연동하여 동작하는 개시된 실시예에 따른 ECU(1200)를 나타내는 도면이다.
개시된 실시예에서, 복수의 패스들 중 타겟 패스가 서버(1300)에서 선택된 후 차량(50)에 위치하는 ECU(1200)로 전송될 수 있다. 서버(1300)는 통신 네트워크를 통하여 ECU(1200)와 데이터를 송수신하면서 타겟 패스를 선택할 수 있다.
일 실시예에서, 차량용 전자 장치가 서버(1300)로부터 타겟 패스에 대한 정보를 수신하고, 수신된 정보를 ECU(1200)로 전달할 수도 있다. 이 경우, ECU(1200)는 차량용 전자 장치로부터 수신된 정보에 따라 타겟 패스를 선택할 수 있다.
도 13을 참조하면, 서버(1300)는 ECU(1200)와 통신하는 통신부(1330), 및 적어도 하나의 인스트럭션을 수행하는 프로세서(1350)를 포함한다.
서버(1300)의 프로세서(1350)는 패스들의 상태 정보를 수신하고, 수신된 정보에 따라 타겟 패스를 선택할 수 있다. 통신부(1330)는 타겟 패스를 나타내는 정보를 ECU(1200)로 전송할 수 있다.
개시된 실시예에서, 서버(1300)는 도 11를 참조하여 설명한 신경망(1110)을 통한 연산을 수행하여 타겟 패스를 선택할 수 있다. 구체적으로, 서버(1300)는 AI 모델을 훈련시키고, 훈련된 AI 모델을 저장하고 있을 수 있다. 그리고, 서버(1300)는 훈련된 AI 모델을 이용하여 전술한 타겟 패스를 선택할 수 있다.
일반적으로, ECU(1200)는 메모리 저장 용량, 연산의 처리 속도, 학습 데이터 셋의 수집 능력 등이 서버(1300)에 비하여 제한적일 수 있다. 따라서, 대용량 데이터의 저장 및 대용량의 연산량이 필요한 동작은 서버(1300)에서 수행한 후, 통신 네트워크를 통하여 필요한 데이터 및/또는 AI 모델을 ECU(1200)에 전송할 수 있다. 그러면, ECU(1200)는 대용량의 메모리 및 빠른 연산 능력을 갖는 프로세서 없이도, 서버(1300)를 통하여 필요한 데이터 및/또는 AI 모델을 수신하여 이용함으로써, 빠르고 용이하게 필요한 동작을 수행할 수 있다.
개시된 실시예에서, 서버(1300)는 도 11에서 설명한 신경망(1110)을 포함할 수 있다. 구체적으로, 서버(1300)에 포함되는 신경망(1110)은 전술한 타겟 패스를 선택하기 위한 연산을 수행할 수 있다.
도 13을 참조하면, ECU(1200)는 도 2에서 설명한 ECU(200)에 비하여 통신부(1250)를 더 포함할 수 있다.
통신부(1250)는 무선 통신 네트워크(1301)를 통해서 외부 장치(예를 들어, 서버)와 통신을 수행한다. 여기서, 외부 장치(미도시)는 ECU(1200)가 필요로 하는 연산 중 적어도 하나를 수행하거나, ECU(1200)가 필요로 하는 데이터 등을 송신할 수 있는 서버(예를 들어, 1300)를 포함할 수 있다.
통신부(1250)는, 근거리 통신 모듈, 유선 통신 모듈, 이동 통신 모듈, 방송 수신 모듈 등과 같은 적어도 하나의 통신 모듈을 포함한다. 여기서, 적어도 하나의 통신 모듈은 방송 수신을 수행하는 튜너, 블루투스, WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), CDMA, WCDMA, 인터넷, 3G, 4G, 5G 및/또는 밀리미터파(mmwave)를 이용한 통신 방식과 같은 통신 규격을 따르는 네트워크를 통하여 데이터 송수신을 수행할 수 있는 통신 모듈을 의미한다.
예를 들어, 통신부(1250)가 밀리미터파(mmWAVE)를 이용하여 통신을 수행하면, 대용량의 데이터를 빠르게 송수신할 수 있다. 구체적으로, 차량(50)은 밀리미터파를 이용하여 대용량의 데이터를 빠르게 수신하고, 차량(50)의 안전에 필요한 데이터(예를 들어, 자율 주행에 필요한 데이터, 네비게이션 서비스를 위해 필요한 데이터 등), 사용자 이용 컨텐츠(예를 들어, 영화, 음악 등) 등을 빠르게 제공함으로써, 차량(50)의 안전성 및/또는 사용자의 편리성을 증가시킬 수 있다.
통신부(1250)에 포함되는 이동 통신 모듈은 3G, 4G, 및/또는 5G 등의 통신 규격에 따르는 통신 네트워크를 통하여 원거리에 위치하는 다른 장치(예를 들어, 서버(1300))와 통신을 수행할 수 있다. 여기서, 원거리에 위치하는 다른 장치와 통신을 수행하는 통신 모듈을 '원거리 통신 모듈'이라 칭할 수 있다.
도 13을 참조하면, 서버(1300)는, 통신부(1330), 및 프로세서(1350)를 포함할 수 있다. 또한, 서버(1300)는 DB(1340)를 더 포함할 수 있다.
통신부(1330)는 ECU(1200)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(1330)의 구체적인 구성은, 전술한 통신부(1250)의 구성과 동일 대응되므로, 상세한 설명은 생략한다.
예를 들어, 통신부(1330)는 인터넷, 3G, 4G, 및/또는 5G 등의 통신 규격에 따르는 통신 네트워크를 통하여 원거리에 위치하는 다른 장치(예를 들어, ECU(1200))와 통신을 수행하는 적어도 하나의 통신 모듈을 포함할 수 있다.
프로세서(1350)는 서버(1300)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1350)는, 서버(1300)의 적어도 하나의 인스트럭션, 및 프로그램들 중 적어도 하나를 실행함으로써, 요구되는 동작들을 수행할 수 있다.
DB(1340)는 메모리(미도시)를 포함할 수 있으며, 메모리(미도시) 내에 서버(1300)가 소정 동작을 수행하기 위해서 필요한 적어도 하나의 인스트럭션, 프로그램, 데이터 중 적어도 하나를 저장할 수 있다. 또한, DB(1340)는 서버(1300)가 신경망에 따른 연산을 수행하기 위해서 필요한 데이터들을 저장할 수 있다.
개시된 실시예에서, 서버(1300)는 도 11에서 설명한 신경망(1110)을 저장하고 있을 수 있다. 신경망(1110)은 프로세서(1350) 및 DB(1340) 중 적어도 하나에 저장될 수 있다. 서버(1300)가 포함하는 신경망(1110)은 학습이 완료된 신경망이 될 수 있다.
개시된 실시예에서, 서버(1300)는 내부적으로 포함하는 신경망을 이용하여 전술한 타겟 패스를 선택하고, 선택된 타겟 패스에 대한 정보를 통신부(1330)를 통하여 ECU(1200)의 통신부(1250)로 전송할 수 있다.
또한, 서버(1300)는 학습이 완료된 신경망을 통신부(1330)를 통하여 ECU(1200)의 통신부(1250)로 전송할 수 있다. 그러면, ECU(1200)는 학습이 완료된 신경망을 획득 및 저장하고, 신경망을 통하여 목적하는 출력 데이터를 획득할 수 있다.
도 14는 일부 실시예에 따른 ECU에 포함된 프로세서(1400)의 블록도이다.
도 14을 참조하면, 일부 실시예에 따른 프로세서(1400)는 데이터 학습부(1410) 및 데이터 인식부(1420)를 포함할 수 있다.
데이터 학습부(1410)는 타겟 패스의 선택을 위한 기준을 학습할 수 있다. 데이터 학습부(1410)는 타겟 패스를 선택하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 타겟 패스를 어떻게 선택할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1410)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 타겟 패스의 선택을 위한 기준을 학습할 수 있다.
데이터 인식부(1420)는 데이터(예를 들어, 상태 정보 데이터)에 기초하여 타겟 패스를 선택할 수 있다. 데이터 인식부(1420)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 타겟 패스의 선택할 수 있다. 데이터 인식부(1420)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초하여 타겟 패스를 선택할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(1410) 및 데이터 인식부(1420) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1410) 및 데이터 인식부(1420) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1410) 및 데이터 인식부(1420)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1410) 및 데이터 인식부(1420) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1410) 및 데이터 인식부(1420)는 유선 또는 무선으로 통하여, 데이터 학습부(1410)가 구축한 모델 데이터를 데이터 인식부(1420)로 제공할 수도 있고, 데이터 인식부(1420)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1410)로 제공될 수도 있다.
한편, 데이터 학습부(1410) 및 데이터 인식부(1420) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1410) 및 데이터 인식부(1420) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 15는 일부 실시예에 따른 데이터 학습부(1410)의 블록도이다.
도 15를 참조하면, 일부 실시예에 따른 데이터 학습부(1410)는 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5)를 포함할 수 있다.
데이터 획득부(1410-1)는 타겟 패스의 선택에 필요한 데이터를 획득할 수 있다. 데이터 획득부(1410-1)는 타겟 패스를 선택하는 방법의 학습을 위하여 필요한 데이터를 획득할 수 있다.
전처리부(1410-2)는 학습을 위해 획득된 데이터를 전처리할 수 있다. 전처리부(1410-2)는 후술할 모델 학습부(1410-4)가 타겟 패스의 선택을 위한 학습을 위하여 데이터를 이용할 수 있도록, 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1410-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1410-4)에 제공될 수 있다. 학습 데이터 선택부(1410-3)는 타겟 패스의 선택을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1410-3)는 후술할 모델 학습부(1410-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(1410-4)는 학습 데이터에 기초하여 타겟 패스를 어떻게 선택할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1410-4)는 타겟 패스의 선택을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
또한, 모델 학습부(1410-4)는 타겟 패스의 선택에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 데이터 등)를 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, CNN(Convolutional Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1410-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1410-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1410-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1410-4)는, 예를 들어, 별다른 지도없이 타겟 패스의 선택을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 타겟 패스의 선택을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1410-4)는, 예를 들어, 학습에 따른 타겟 패스의 선택의 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1410-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1410-4)는 학습된 데이터 인식 모델을 데이터 인식부(1420)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1410-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1420)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1410-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1410-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1410-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1410-5)는 평가 데이터에 대한 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1410-5)는 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1410-5)는 각각의 학습된 데이터 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1410-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1410) 내의 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1410-1), 전처리부(1410-2), 학습 데이터 선택부(1410-3), 모델 학습부(1410-4) 및 모델 평가부(1410-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 16은 일부 실시예에 따른 데이터 인식부(1420)의 블록도이다.
도 16을 참조하면, 일부 실시예에 따른 데이터 인식부(1420)는 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5)를 포함할 수 있다.
데이터 획득부(1420-1)는 타겟 패스의 선택에 필요한 데이터를 획득할 수 있으며, 전처리부(1420-2)는 타겟 패스의 선택을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1420-2)는 후술할 인식 결과 제공부(1420-4)가 타겟 패스의 선택을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1420-3)는 전처리된 데이터 중에서 타겟 패스의 선택에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1420-4)에게 제공될 수 있다. 인식 데이터 선택부(1420-3)는 타겟 패스의 선택을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1420-3)는 모델 학습부(1410-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1420-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 타겟 패스를 선택할 수 있다. 인식 결과 제공부(1420-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1420-4)는 인식 데이터 선택부(1420-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
모델 갱신부(1420-5)는 인식 결과 제공부(1420-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1420-5)는 인식 결과 제공부(1420-4)에 의해 제공되는 인식 결과를 모델 학습부(1410-4)에게 제공함으로써, 모델 학습부(1410-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(1420) 내의 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1420-1), 전처리부(1420-2), 인식 데이터 선택부(1420-3), 인식 결과 제공부(1420-4) 및 모델 갱신부(1420-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 17는 일부 실시예에 따른 ECU(1000) 및 서버(1300)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 17를 참조하면, 서버(1300)는 타겟 패스의 선택을 위한 기준을 학습할 수 있으며, ECU(1000)는 서버(1300)에 의한 학습 결과에 기초하여 타겟 패스를 선택할 수 있다.
이 경우, 서버(1300)의 모델 학습부(2340)는 도 15에 도시된 데이터 학습부(1410)의 기능을 수행할 수 있다. 서버(1300)의 모델 학습부(2340)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 타겟 패스를 어떻게 선택할 지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 데이터 인식 모델에 적용함으로써, 타겟 패스의 선택을 위한 기준을 학습할 수 있다.
또한, ECU(1000)의 인식 결과 제공부(1420-4)는 인식 데이터 선택부(1420-3)에 의해 선택된 데이터를 서버(1300)에 의해 생성된 데이터 인식 모델에 적용하여 타겟 패스를 선택할 수 있다. 예를 들어, 인식 결과 제공부(1420-4)는 인식 데이터 선택부(1420-3)에 의해 선택된 데이터를 서버(1300)에게 전송하고, 서버(1300)가 인식 데이터 선택부(1420-3)에 의해 선택된 데이터를 인식 모델에 적용하여 타겟 패스를 선택할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1420-4)는 서버(1300)에 의해 선택된 타겟 패스에 관한 정보를 서버(1300)로부터 수신할 수 있다.
또는, ECU(1000)의 인식 결과 제공부(1420-4)는 서버(1300)에 의해 생성된 인식 모델을 서버(1300)로부터 수신하고, 수신된 인식 모델을 이용하여 타겟 패스를 선택할 수 있다. 이 경우, ECU(1000)의 인식 결과 제공부(1420-4)는 인식 데이터 선택부(1420-3)에 의해 선택된 데이터를 서버(1300)로부터 수신된 데이터 인식 모델에 적용하여 타겟 패스를 선택할 수 있다.
한편, 상술한 본 개시의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.
매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상, 본 개시의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 개시의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 개시의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.

Claims (15)

  1. 차량에 장착된 소스 ECU(source electronic control unit)에 의한 타겟 패스 결정 방법에 있어서
    상기 소스 ECU와 목적 ECU(destination electronic control unit)를 연결하는 복수의 패스(path)들의 상태 정보를 획득하는 단계;
    상기 상태 정보에 근거하여 상기 복수의 패스들 중 타겟 데이터를 위한 타겟 패스를 선택하는 단계; 및
    상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 타겟 데이터를 전송하는 단계를 포함하고,
    상기 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간(latency time) 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함하는, 타겟 패스 결정 방법.
  2. 제1항에 있어서,
    상기 타겟 패스를 선택하는 단계는,
    상기 타겟 데이터의 중요도에 대응하는 기준 지연 시간을 식별하는 단계; 및
    상기 복수의 패스들 중 상기 기준 지연 시간 이하의 지연 시간을 갖는 타겟 패스를 선택하는 단계를 포함하는, 타겟 패스 결정 방법.
  3. 제1항에 있어서,
    상기 타겟 패스를 선택하는 단계는,
    상기 복수의 패스들 중 예상 온도가 한계 온도 미만인 ECU를 포함하는 타겟 패스를 선택하는 단계를 포함하는, 타겟 패스 결정 방법.
  4. 제1항에 있어서,
    상기 타겟 패스를 선택하는 단계는,
    상기 복수의 패스들 중 예상 소비 전력이 한계 소비 전력 미만인 ECU를 포함하는 타겟 패스를 선택하는 단계를 포함하는, 타겟 패스 결정 방법.
  5. 제1항에 있어서,
    상기 타겟 패스를 선택하는 단계는,
    상기 복수의 패스들 중 상기 타겟 데이터를 위한 복수의 타겟 패스를 선택하는 단계를 포함하고,
    상기 타겟 데이터를 전송하는 단계는,
    상기 타겟 데이터를 복수의 타겟 데이터 파트들로 분할하는 단계; 및
    상기 복수의 타겟 데이터 파트들을 상기 선택된 복수의 타겟 패스 상에 위치하는 ECU들을 통해 상기 목적 ECU로 전송하는 단계를 포함하는, 타겟 패스 결정 방법.
  6. 제1항에 있어서,
    상기 타겟 패스 결정 방법은,
    로우 데이터를 제 1의 로우 데이터 파트 및 제 2의 로우 데이터 파트로 분할하는 단계;
    상기 제 1의 로우 데이터 파트를 처리하여 제 1의 타겟 데이터 파트를 생성하는 단계; 및
    상기 제 2의 로우 데이터 파트를 다른 ECU로 전송하는 단계를 포함하고,
    상기 타겟 데이터를 전송하는 단계는,
    상기 제 1의 타겟 데이터 파트를 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 전송하는 단계를 포함하며,
    상기 제 2의 로우 데이터 파트는 상기 다른 ECU에 의해 처리되고, 처리 결과 생성된 제 2의 타겟 데이터 파트가 상기 다른 ECU로부터 상기 목적 ECU로 전송되는, 타겟 패스 결정 방법.
  7. 제1항에 있어서,
    상기 상태 정보는 미리 결정된 주기마다 획득되며,
    이전 주기의 상태 정보에 근거하여 현재 주기에서 이용될 상기 타겟 패스가 선택되는, 타겟 패스 결정 방법.
  8. 제7항에 있어서,
    상기 상태 정보를 획득하는 단계는,
    상기 차량에 장착된 복수의 ECU들로부터 상기 현재 주기에 데이터를 전송할 ECU의 식별 정보를 획득하는 단계를 포함하고,
    상기 타겟 패스를 선택하는 단계는,
    상기 현재 주기에서 각각의 ECU로 전송될 데이터량을 고려하여 상기 타겟 패스를 선택하는 단계를 포함하는, 타겟 패스 결정 방법.
  9. 제1항에 있어서,
    상기 타겟 패스 결정 방법은,
    상기 소스 ECU와 연결된 다른 ECU로부터 타겟 패스를 나타내는 정보 및 상기 타겟 데이터를 수신하는 단계를 더 포함하되,
    상기 복수의 패스들 중에서 선택된 상기 타겟 패스는, 상기 다른 ECU로부터 수신된 정보가 가리키는 타겟 패스와 상이한, 타겟 패스 결정 방법.
  10. 제1항에 있어서,
    상기 타겟 패스를 선택하는 단계는,
    훈련 정보에 기초하여 훈련된 DNN(deep neural network)으로 상기 상태 정보를 입력하는 단계; 및
    상기 DNN의 출력 결과로부터 상기 타겟 패스를 선택하는 단계를 포함하는, 타겟 패스 결정 방법.
  11. 차량에 장착된 소스 ECU에 있어서,
    상기 소스 ECU와 목적 ECU를 연결하는 복수의 패스들의 상태 정보를 획득하는 메모리;
    상기 상태 정보에 근거하여 상기 복수의 패스들 중 타겟 데이터를 위한 타겟 패스를 선택하는 프로세서; 및
    상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 상기 타겟 데이터를 전송하는 출력 포트를 포함하고,
    상기 상태 정보는, 패스 상에 위치하는 ECU의 소비 전력, 패스 상에 위치하는 ECU의 온도, 패스의 지연 시간(latency time) 및 패스의 전송 성공률 중 적어도 하나에 대한 정보를 포함하는, 소스 ECU.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 타겟 데이터의 중요도에 대응하는 기준 지연 시간을 식별하고, 상기 복수의 패스들 중 상기 기준 지연 시간 이하의 지연 시간을 갖는 타겟 패스를 선택하는, 소스 ECU.
  13. 제11항에 있어서,
    상기 프로세서는,
    상기 복수의 패스들 중 예상 온도가 한계 온도 미만인 ECU를 포함하는 타겟 패스를 선택하는, 소스 ECU.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 복수의 패스들 중 상기 타겟 데이터를 위한 복수의 타겟 패스를 선택하고, 상기 타겟 데이터를 복수의 타겟 데이터 파트들로 분할하고,
    상기 출력 포트는,
    상기 복수의 타겟 데이터 파트들을 상기 선택된 복수의 타겟 패스 상에 위치하는 ECU들을 통해 상기 목적 ECU로 전송하는, 소스 ECU.
  15. 제11항에 있어서,
    상기 프로세서는,
    로우 데이터를 제 1의 로우 데이터 파트 및 제 2의 로우 데이터 파트로 분할하고, 상기 제 1의 로우 데이터 파트를 처리하여 제 1의 타겟 데이터 파트를 생성하고,
    상기 출력 포트는,
    상기 제 2의 로우 데이터 파트를 다른 ECU로 전송하고, 상기 제 1의 타겟 데이터 파트를 상기 선택된 타겟 패스 상에 위치하는 ECU를 통해 상기 목적 ECU로 전송하되,
    상기 제 2의 로우 데이터 파트는 상기 다른 ECU에 의해 처리되고, 처리 결과 생성된 제 2의 타겟 데이터 파트가 상기 다른 ECU로부터 상기 목적 ECU로 전송되는, 소스 ECU.
PCT/KR2021/011620 2020-09-01 2021-08-30 Ecu 및 이에 의한 타겟 패스 결정 방법 WO2022050648A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/174,210 US20230219513A1 (en) 2020-09-01 2023-02-24 Ecu and target path determination method thereby

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200111282A KR20220029234A (ko) 2020-09-01 2020-09-01 Ecu 및 이에 의한 타겟 패스 결정 방법
KR10-2020-0111282 2020-09-01

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/174,210 Continuation US20230219513A1 (en) 2020-09-01 2023-02-24 Ecu and target path determination method thereby

Publications (1)

Publication Number Publication Date
WO2022050648A1 true WO2022050648A1 (ko) 2022-03-10

Family

ID=80491205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/011620 WO2022050648A1 (ko) 2020-09-01 2021-08-30 Ecu 및 이에 의한 타겟 패스 결정 방법

Country Status (3)

Country Link
US (1) US20230219513A1 (ko)
KR (1) KR20220029234A (ko)
WO (1) WO2022050648A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004136816A (ja) * 2002-10-18 2004-05-13 Denso Corp 車両用制御システム
US20130218371A1 (en) * 2010-10-28 2013-08-22 Gestion Andre & Parquerette Ltee Device and method for managing an electronic control unit of a vehicle
US20160255575A1 (en) * 2011-11-16 2016-09-01 Autoconnect Holdings Llc Network selector in a vehicle infotainment system
US20180246713A1 (en) * 2016-10-24 2018-08-30 Lear Corporation Method for programming vehicle electronic control modules
JP2019131140A (ja) * 2018-02-02 2019-08-08 Kddi株式会社 車載制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004136816A (ja) * 2002-10-18 2004-05-13 Denso Corp 車両用制御システム
US20130218371A1 (en) * 2010-10-28 2013-08-22 Gestion Andre & Parquerette Ltee Device and method for managing an electronic control unit of a vehicle
US20160255575A1 (en) * 2011-11-16 2016-09-01 Autoconnect Holdings Llc Network selector in a vehicle infotainment system
US20180246713A1 (en) * 2016-10-24 2018-08-30 Lear Corporation Method for programming vehicle electronic control modules
JP2019131140A (ja) * 2018-02-02 2019-08-08 Kddi株式会社 車載制御装置

Also Published As

Publication number Publication date
US20230219513A1 (en) 2023-07-13
KR20220029234A (ko) 2022-03-08

Similar Documents

Publication Publication Date Title
WO2021006368A1 (ko) 인공지능 기반의 에너지 사용량 예측 장치 및 예측 방법
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2021015308A1 (ko) 로봇 및 그의 기동어 인식 방법
EP3602497A1 (en) Electronic device and method of detecting driving event of vehicle
WO2019182265A1 (ko) 인공 지능 기기 및 그의 동작 방법
WO2019208965A1 (ko) 전자 장치 및 그 동작 방법
WO2019172645A1 (ko) 차량의 주행을 보조하는 전자 장치 및 방법
WO2019132410A1 (en) Electronic device and control method thereof
WO2018117610A1 (ko) 홈 네트워크를 관리하는 서버 및 이의 제어방법
WO2021206221A1 (en) Artificial intelligence apparatus using a plurality of output layers and method for same
WO2020241920A1 (ko) 장치 정보에 기반하여, 다른 장치를 제어할 수 있는 인공 지능 장치
WO2020130262A1 (ko) 컴퓨팅 장치 및 그 동작 방법
WO2021040105A1 (ko) 개체명 테이블을 생성하는 인공 지능 장치 및 그 방법
WO2020241923A1 (ko) 사용자 환경에서의 음성 인식 모델의 성능을 예측하는 인공 지능 장치 및 그 방법
WO2021002493A1 (ko) 지능형 게이트웨이 장치 및 그를 포함하는 제어 시스템
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법
WO2020256180A1 (ko) 사용자 인식 기반의 유모차 로봇 및 그 제어 방법
WO2020256175A1 (ko) 음성인식 로봇에 사용되는 사운드 처리방법
WO2022050648A1 (ko) Ecu 및 이에 의한 타겟 패스 결정 방법
WO2018186625A1 (ko) 전자 장치, 그의 경고 메시지 제공 방법 및 비일시적 컴퓨터 판독가능 기록매체
WO2018124464A1 (ko) 전자 장치 및 전자 장치의 검색 서비스 제공 방법
WO2019107674A1 (en) Computing apparatus and information input method of the computing apparatus
WO2021006363A1 (ko) 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법
WO2019231068A1 (en) Electronic device and control method thereof
WO2022186555A1 (ko) 차량 기능의 제어를 위한 전자 장치, 및 이에 의한 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21864608

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21864608

Country of ref document: EP

Kind code of ref document: A1