KR20220071513A - A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols - Google Patents

A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols Download PDF

Info

Publication number
KR20220071513A
KR20220071513A KR1020200158738A KR20200158738A KR20220071513A KR 20220071513 A KR20220071513 A KR 20220071513A KR 1020200158738 A KR1020200158738 A KR 1020200158738A KR 20200158738 A KR20200158738 A KR 20200158738A KR 20220071513 A KR20220071513 A KR 20220071513A
Authority
KR
South Korea
Prior art keywords
data
slave
latency
master
communication protocol
Prior art date
Application number
KR1020200158738A
Other languages
Korean (ko)
Other versions
KR102488902B1 (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 KR1020200158738A priority Critical patent/KR102488902B1/en
Publication of KR20220071513A publication Critical patent/KR20220071513A/en
Application granted granted Critical
Publication of KR102488902B1 publication Critical patent/KR102488902B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

The present invention relates to a method and apparatus for determining latency that occurs during sensor synchronization of autonomous vehicle and protocol conversion. According to the present invention, the present invention has an effect of increasing precision and reliability of vehicle control by determining latency occurring at a data sensing and transmission time point and a transmission completion time point according to a data transmission feature (a transmission delay, transmission method and the like) between sensors to control time synchronization when an autonomous vehicle collects data from heterogeneous sensors (slaves).

Description

자율주행차량의 센서 동기화와 프로토콜 변환시 발생하는 레이턴시 결정 방법 및 장치{A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols}{A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols}

본 발명은, 자율주행차량의 센서 동기화와 프로토콜 변환시 발생하는 레이턴시를 결정하는 방법 및 장치에 대한 것으로서, 보다 구체적으로는, 센서 시간 동기화를 위해 슬레이브와 마스터간의 데이터의 전송 지연에 따른 제1 레이턴시와, 상기 슬레이브와 상기 마스터 간의 통신 프로토콜 변환에 따른 제2 레이턴시를 산출하여 결정할 수 있는 방법 및 장치에 대한 것이다.The present invention relates to a method and apparatus for determining the latency that occurs during sensor synchronization and protocol conversion of an autonomous vehicle, and more specifically, a first latency according to a transmission delay of data between a slave and a master for sensor time synchronization; , to a method and apparatus capable of calculating and determining a second latency according to a communication protocol conversion between the slave and the master.

Domain Control Unit(DCU)는 자율주행이 적용된 차량, 즉 ADAS(Advanced Driver Assistance Systems)가 적용된 차량에서 요구하는 대용량 데이터 처리 및 높은 차량 제어 성능을 만족하기 위해 다양한 ECU와 센서 및 액추에이터의 통합 제어를 구현한 차세대 통합 제어 시스템이다.Domain Control Unit (DCU) implements integrated control of various ECUs, sensors and actuators to satisfy large data processing and high vehicle control performance required by autonomous driving vehicles, that is, ADAS (Advanced Driver Assistance Systems) applied vehicles. It is a next-generation integrated control system.

DCU에서는 자율주행의 인지, 판단, 제어에 필요한 데이터가 요구되고, 레이더, 카메라, 라이다 V2X, Digital Map, ADR 등의 다양한 이종 센서들을 활용하여 대용량의 인지, 판단, 제어에 필요한 데이터를 취득하고 있으며, 이는 자율주행 자동차를 운용하는데 필수적인 데이터 요소이다.Data required for recognition, judgment, and control of autonomous driving is required in DCU, and various types of sensors such as radar, camera, lidar V2X, digital map, and ADR are used to acquire large-capacity data necessary for recognition, judgment, and control. and it is an essential data element for operating autonomous vehicles.

상기 이종 센서들이 데이터를 전송하면 하나의 게이트웨이가 데이터를 통합하여 차량 제어장치로 전송하고 데이터 분석 장치는 전송받은 상기 이종 센서들의 각 데이터를 인지, 분석한 결과를 차량 제어 장치에 전송하여 상기 차량 제어 장치의 판단에 따라 차량을 제어하는 명령을 차량의 각 전장 부품들(조향장치, 스로틀밸브, 브레이크 등)에 전달할 수 있다. 이때, 자율 주행 차량의 DCU 블록도를 나타낸 도 4를 참고하면, 상술한 데이터 분석 장치는 리눅스 플랫폼(Linux Platform), Adaptive AUTOSAR를 사용하는 애플리케이션프로세서(AP)일 수 있고, 차량 제어 장치는 Classic AUTOSAR가 적용된 마이크로컨트롤러유닛(MCU)일 수 있다. AP는 센서가 센싱한 데이터들을 인지, 분석 및 판단하는 역할을 할 수 있고, MCU는 AP가 판단하여 전달하는 정보를 토대로 차량을 직접 제어하는 역할을 할 수 있다. 예를 들어, AP가 다수의 이종 센서의 데이터를 기반으로 전방에 장애물을 인지하여 회피해야 한다고 판단할 수 있고 MCU는 AP의 판단을 근거로 차량이 장애물을 피해 주행하도록 제어할 수 있다.When the heterogeneous sensors transmit data, one gateway integrates the data and transmits it to the vehicle control device, and the data analysis device recognizes and analyzes each data of the received heterogeneous sensors and transmits the analysis result to the vehicle control device to control the vehicle According to the determination of the device, a command for controlling the vehicle may be transmitted to each electric component (steering device, throttle valve, brake, etc.) of the vehicle. At this time, referring to FIG. 4 showing a DCU block diagram of an autonomous vehicle, the above-described data analysis device may be an application processor (AP) using a Linux platform and Adaptive AUTOSAR, and the vehicle control device is a Classic AUTOSAR may be a microcontroller unit (MCU) to which is applied. The AP may play a role of recognizing, analyzing, and judging data sensed by the sensor, and the MCU may play a role in directly controlling the vehicle based on the information the AP determines and transmits. For example, the AP may recognize an obstacle in front of it and determine that it should be avoided based on data from a number of different sensors, and the MCU may control the vehicle to run avoiding the obstacle based on the AP's determination.

한편, 이러한 이종 센서들간의 센싱 타이밍 및 이종 센서들이 게이트웨이에 센싱 데이터를 전송하는 전송시간의 차이에서 어긋남이 발생하는 경우 상기 데이터 분석 장치가 정확한 분석을 수행할 수 없고 결과적으로 차량 제어장치가 차량을 제어하는 데 있어서 오류를 발생시킬 수 있으므로 센서들로부터의 데이터 전송에 앞서 먼저 상술한 원인에 의해 발생하는 레이턴시(latency)를 산출하여 결정하는 방법을 개발할 필요가 있다.On the other hand, if there is a discrepancy in the sensing timing between these heterogeneous sensors and the transmission time when the heterogeneous sensors transmit sensing data to the gateway, the data analysis device cannot perform accurate analysis, and as a result, the vehicle control device stops the vehicle. Since an error may occur in the control, it is necessary to develop a method for calculating and determining the latency caused by the above-described cause before data transmission from the sensors.

또한, 상기 이종 센서들이 기반으로 하는 통신 프로토콜은 서로 상이할 수 있고, 따라서, 상기 이종 센서들의 데이터를 취득, 통합하여 차량 제어장치로 전달하는 게이트웨이의 통신 프로토콜은 상기 이종 센서들 각각의 통신 프로토콜과 동일한 프로토콜이 사용될 수도 상이한 프로토콜이 사용될 수도 있다. 이렇게 서로 상이한 프로토콜간의 변환 및 데이터 전송으로 인한 타이밍 어긋남 또한 개선해야 할 문제로서 게이트웨이의 통신 프로토콜과 센서간의 통신 프로토콜이 상이한 경우에 데이터 전송 중 발생한 레이턴시를 산출하여 결정하는 방법을 개발할 필요가 있다.In addition, the communication protocols based on the heterogeneous sensors may be different from each other. Therefore, the communication protocol of the gateway for acquiring and integrating the data of the heterogeneous sensors and transferring the data to the vehicle control device is different from the communication protocol of each of the heterogeneous sensors. The same protocol may be used or a different protocol may be used. Timing shift due to conversion and data transmission between different protocols is also a problem to be improved. When the communication protocol of the gateway and the communication protocol between the sensor are different, it is necessary to develop a method for calculating and determining the latency generated during data transmission.

한국등록특허 제10-1619628호Korean Patent Registration No. 10-1619628

본 발명은 이종 센서들(이하 '슬레이브'라 칭할 수 있음)간의 센싱 타이밍 및 이종 센서들이 게이트웨이(이하 '마스터'라 칭할 수 있음)에 센싱 데이터를 전송하는 전송시간의 차이에서 어긋남이 발생함에 따른 레이턴시(latency)를 산출하여 결정하는 레이턴시 결정 장치 및 방법을 제공하는 것을 그 목적으로 한다.According to the present invention, a shift occurs in the sensing timing between heterogeneous sensors (which may be referred to as a 'slave') and a transmission time when the heterogeneous sensors transmit sensing data to a gateway (which may be referred to as a 'master'). An object of the present invention is to provide an apparatus and method for determining latency for calculating and determining latency.

또한, 본 발명은 게이트웨이의 통신 프로토콜과 센서간의 통신 프로토콜이 상이한 경우에 데이터 분석 장치로 상기 센서로부터 센싱한 데이터를 전송하는 중 발생하는 레이턴시를 산출하여 결정하는 레이턴시 결정 장치 및 방법을 제공하는 것을 그 목적으로 한다.In addition, the present invention provides a latency determining device and method for calculating and determining latency generated while transmitting data sensed from the sensor to a data analysis device when the communication protocol of the gateway and the communication protocol between the sensors are different The purpose.

상술한 목적의 달성을 위해, 본 발명의 일 실시예는 자율 주행 차량의 네트워크를 통해 슬레이브가 센싱한 데이터를 전달받아 데이터 분석 장치로 송신하는 마스터에 구성된, 시간 동기화를 위한 레이턴시를 결정하는 레이턴시 결정 장치로서, 상기 마스터의 시간 정보를 상기 슬레이브로 전송하는 전송부; 상기 마스터의 시간 정보를 수신한 후에 상기 슬레이브가 전송하는 ACK 신호를 수신하는 수신부; 및 상기 ACK 신호를 기초로 상기 슬레이브와 상기 마스터간의 데이터의 전송 지연에 따른 제1 레이턴시와, 상기 슬레이브와 상기 마스터 간의 통신 프로토콜 변환에 따른 제2 레이턴시를 산출하는 프로세서;를 포함할 수 있다.In order to achieve the above object, an embodiment of the present invention is configured in a master that receives data sensed by a slave through a network of an autonomous vehicle and transmits it to a data analysis device, and determines the latency for time synchronization. An apparatus, comprising: a transmitter configured to transmit time information of the master to the slave; a receiving unit for receiving an ACK signal transmitted from the slave after receiving the time information of the master; and a processor for calculating a first latency according to a transmission delay of data between the slave and the master based on the ACK signal and a second latency according to a communication protocol conversion between the slave and the master.

여기서, 상기 프로세서는, 상기 마스터의 시간 정보와 상기 ACK 신호의 수신 시간의 차이를 기초로 상기 제1 레이턴시를 산출할 수 있다.Here, the processor may calculate the first latency based on a difference between the time information of the master and the reception time of the ACK signal.

또한, 상기 슬레이브의 통신 프로토콜이 Ethernet이고 상기 마스터의 통신 프로토콜이 CAN인 경우, 상기 전송부는, 상기 슬레이브로부터 전송받은 데이터를 분할 후 버퍼에 저장하여 상기 데이터 분석 장치에 순차적으로 송신하며, 상기 프로세서는, 상기 분할된 데이터 중 첫번째로 송신되는 데이터의 송신 시간과 상기 분할된 데이터 중 마지막으로 송신되는 데이터의 송신 시간의 차이를 기초로 상기 제2 레이턴시를 산출할 수 있다.In addition, when the communication protocol of the slave is Ethernet and the communication protocol of the master is CAN, the transmission unit divides the data transmitted from the slave, stores it in a buffer, and sequentially transmits it to the data analysis device, the processor , the second latency may be calculated based on a difference between a transmission time of first transmitted data among the divided data and a transmission time of last transmitted data among the divided data.

한편, 상술한 목적의 달성을 위해, 본 발명의 일 실시예는 자율 주행 차량의 네트워크를 통해 슬레이브가 센싱한 데이터를 전달받아 데이터 분석 장치로 송신하는 마스터에 구성된, 시간 동기화를 위한 레이턴시를 결정하는 레이턴시 결정 방법으로서, 상기 슬레이브로부터 데이터가 전송되기 전, 상기 슬레이브와 상기 마스터간의 데이터 전송 지연에 따른 제1 레이턴시를 산출하여 상기 슬레이브에 전송하는 a단계; 및 상기 마스터와 상기 슬레이브 간의 통신 프로토콜 변환에 따른 제2 레이턴시를 산출하여 상기 데이터 분석 장치에 전송하는 b단계;를 포함할 수 있다.On the other hand, in order to achieve the above object, an embodiment of the present invention determines the latency for time synchronization, configured in a master that receives data sensed by a slave through a network of an autonomous vehicle and transmits it to a data analysis device. A method for determining a latency, comprising: a step of calculating a first latency according to a data transmission delay between the slave and the master before data is transmitted from the slave and transmitting it to the slave; and a step b of calculating a second latency according to the communication protocol conversion between the master and the slave and transmitting it to the data analysis device.

이때, 상기 a단계는, 상기 마스터의 시간 정보를 상기 슬레이브에 전송하는 단계; 상기 마스터의 시간 정보와 일치하도록 자신의 시간을 동기화한 상기 슬레이브로부터 ACK 신호를 수신하는 단계; 상기 ACK 신호를 기초로 상기 제1 레이턴시를 산출하는 단계; 및 상기 제1 레이턴시를 상기 슬레이브에 전송하는 단계;를 포함할 수 있다.In this case, the step a may include transmitting time information of the master to the slave; receiving an ACK signal from the slave whose time is synchronized to match the time information of the master; calculating the first latency based on the ACK signal; and transmitting the first latency to the slave.

또한, 상기 b단계는, 상기 슬레이브의 통신 프로토콜의 변환 필요성을 판단하는 단계; 상기 판단 결과 상기 슬레이브의 통신 프로토콜이 Ethernet 프로토콜이고 상기 마스터의 통신 프로토콜이 CAN 프로토콜인 경우 상기 슬레이브로부터 전송받은 상기 데이터를 버퍼에 분할 저장하여 순차적으로 상기 데이터 분석 장치에 전송하는 단계; 상기 버퍼에 의해 순차적으로 전송되는 데이터 중 최초로 전송하는 데이터와 마지막으로 전송하는 데이터 간의 송신시간 차이를 기초로 제2 레이턴시를 산출하는 단계; 및 상기 제2 레이턴시를 상기 데이터 분석 장치에 전송하는 단계;를 포함할 수 있다.In addition, the step b may include: determining the necessity of converting the communication protocol of the slave; As a result of the determination, when the communication protocol of the slave is an Ethernet protocol and the communication protocol of the master is a CAN protocol, dividing and storing the data transmitted from the slave in a buffer and sequentially transmitting the data to the data analysis device; calculating a second latency based on a transmission time difference between first transmitted data and last transmitted data among data sequentially transmitted by the buffer; and transmitting the second latency to the data analysis device.

본 발명에 따르면, 자율 주행 차량이 이종 센서들(슬레이브)로부터 데이터를 수집함에 있어서 각 센서들간의 데이터 전송 특성(전송지연, 전송방식 등)에 따라 데이터의 센싱, 전송 시점 및 전송 완료 시점에 발생하는 레이턴시를 결정하여 시간 동기화를 제어하도록 함으로써 차량 제어의 정밀도 및 신뢰성을 높일 수 있는 효과가 있다.According to the present invention, when the autonomous vehicle collects data from heterogeneous sensors (slave), it occurs at the time of sensing, transmission, and transmission completion of data according to the data transmission characteristics (transmission delay, transmission method, etc.) between each sensor. There is an effect of increasing the precision and reliability of vehicle control by determining the latency to control the time synchronization.

도 1은 본 발명의 일 실시예인 레이턴시 결정 장치의 개념도이다.
도 2는 본 발명의 일 실시예인 레이턴시 결정 방법의 흐름을 나타낸 순서도이다.
도 3은 도 2의 순서도에서 S100 단계의 세부 흐름을 나타낸 순서도이다.
도 4는 자율 주행 차량의 DCU 블록도를 나타낸 것이다.
1 is a conceptual diagram of an apparatus for determining a latency according to an embodiment of the present invention.
2 is a flowchart illustrating a flow of a method for determining latency according to an embodiment of the present invention.
3 is a flowchart illustrating a detailed flow of step S100 in the flowchart of FIG. 2 .
4 shows a DCU block diagram of an autonomous vehicle.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 의도는 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 해석되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail in the detailed description. This is not intended to limit the present invention to specific embodiments, and should be construed to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명을 설명함에 있어서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지 않을 수 있다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In describing the present invention, terms such as first, second, etc. may be used to describe various components, but the components may not be limited by the terms. The above terms are only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

"및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함할 수 있다.The term “and/or” may include a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급되는 경우는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해될 수 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components may exist in between. can be understood On the other hand, when an element is referred to as being “directly connected” or “directly connected” to another element, it may be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression may include the plural expression unless the context clearly dictates otherwise.

본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것으로서, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해될 수 있다.In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, and one or more other features It may be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석될 수 있으며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않을 수 있다. Unless defined otherwise, all terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary may be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, it is interpreted in an ideal or excessively formal meaning. it may not be

아울러, 이하의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 보다 완전하게 설명하기 위해서 제공되는 것으로서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.In addition, the following embodiments are provided to more completely explain to those with average knowledge in the art, and the shapes and sizes of elements in the drawings may be exaggerated for more clear explanation.

도 1은 본 발명의 일 실시예인 레이턴시 결정 장치의 개념도이다.1 is a conceptual diagram of an apparatus for determining a latency according to an embodiment of the present invention.

도 1을 참고하면, 본 발명의 일 실시예인 레이턴시 결정 장치(100)는 자율 주행 차량의 네트워크를 통해 슬레이브(200)가 센싱한 데이터를 전달받아 데이터 분석 장치(300)로 송신하는 마스터에 구성된 장치로서, 전송부(110), 수신부(120) 및 프로세서(130)를 포함할 수 있다.Referring to FIG. 1 , the latency determining device 100 according to an embodiment of the present invention is a device configured in a master that receives data sensed by a slave 200 through a network of an autonomous vehicle and transmits it to the data analysis device 300 . As such, it may include a transmitter 110 , a receiver 120 , and a processor 130 .

여기서, 슬레이브(200)는 자율 주행 차량을 운행하기 위해 필요한 데이터들을 수집하는 이종의 다양한 센서를 의미할 수 있다. 예를 들어, 슬레이브(200)는 레이더, 카메라, 라이다, GPS, IMU(관성 측정 센서) 등이 될 수 있다. 위치인식을 위해서는 IMU, GPS, 카메라, 라이다 등이 사용되며, 사람, 장애물 등의 물체인식을 위해서는 카메라, 라이다, 레이더 등이 사용될 수 있다. 즉, 단일 센서에서 센싱한 데이터만으로는 자율 주행의 구현이 어려우므로 이종의 다양한 센서의 데이터를 취합하고 분석하는 방식을 통해 위치인식, 물체인식 등을 수행하여야 하며 필연적으로 이종의 다양한 센서들을 사용함에 따라 다양한 원인으로 발생하는 레이턴시를 보정하는 시간 동기화 작업이 수행되어야 하는 것이다.Here, the slave 200 may refer to a variety of heterogeneous sensors that collect data necessary to operate the autonomous vehicle. For example, the slave 200 may be a radar, a camera, a lidar, a GPS, an inertial measurement sensor (IMU), or the like. For location recognition, IMU, GPS, camera, lidar, etc. are used, and for object recognition such as people and obstacles, a camera, lidar, radar, etc. may be used. In other words, it is difficult to realize autonomous driving only with data sensed by a single sensor, so location recognition and object recognition must be performed through a method of collecting and analyzing data from different types of sensors. Time synchronization should be performed to compensate for latency caused by various reasons.

마스터는 슬레이브(200)로부터 데이터를 전송받아 통합하는 기능을 수행할 수 있다. 일 예로 서로 상이한 통신 프로토콜을 기반으로 하는 센서들로부터 데이터를 전송받아 통신 프로토콜을 변환하여 일치시키고 데이터 분석 장치(300)로 데이터를 전송하는 매개체 역할을 할 수 있다. 즉, 마스터는 게이트웨이(gateway) 또는 스위치(switch)로 이루어질 수 있다. 본 발명의 일 실시예인 레이턴시 결정 장치(100)는 이러한 게이트웨이의 내부에 포함되는 장치일 수도 있고 게이트웨이 그 자체일 수도 있다.The master may perform a function of receiving data from the slave 200 and integrating the data. For example, it may serve as a medium for receiving data from sensors based on different communication protocols, converting and matching the communication protocols, and transmitting data to the data analysis device 300 . That is, the master may be formed of a gateway or a switch. The latency determining apparatus 100 according to an embodiment of the present invention may be a device included in the gateway or may be the gateway itself.

전송부(110)는, 마스터의 시간 정보를 슬레이브(200)로 전송할 수 있다. 보다 구체적으로 전송부(110)는, 마스터의 타이머(140)를 통해 자신의 시간 정보를 포함하는 메시지를 슬레이브(200)로 전송할 수 있다. 일반적으로 각 장치(마스터, 슬레이브, 데이터 분석 장치, 차량 제어 장치 등)에는 독립된 타이머가 구비되어 있고 상기 타이머에는 각 장치의 시간 정보가 포함되어 있다. 이때, 마스터의 시간 정보는 글로벌 시간에 맞춰져 있을 수 있고 슬레이브(200)의 시간 정보는 각자의 로컬 시간에 맞춰져 있어 서로 상이한 시간 정보에 의해 타이밍이 어긋나 있을 수 있다. 전송부(110)에 의해 마스터의 시간 정보를 수신한 복수의 슬레이브(200)는 각자의 로컬 시간으로 맞춰져 있던 시간 정보를 마스터의 시간 정보와 일치하도록 시간 동기화할 수 있다.The transmitter 110 may transmit time information of the master to the slave 200 . More specifically, the transmitter 110 may transmit a message including its own time information to the slave 200 through the timer 140 of the master. In general, each device (master, slave, data analysis device, vehicle control device, etc.) is provided with an independent timer, and the timer includes time information of each device. In this case, the time information of the master may be aligned with the global time, and the time information of the slave 200 may be aligned with the respective local time, so that the timing may be shifted due to different time information. The plurality of slaves 200 receiving the time information of the master by the transmitter 110 may time-synchronize the time information set to their respective local time to match the time information of the master.

수신부(120)는, 슬레이브(200)가 마스터의 시간 정보를 수신한 후에 전송하는 ACK(Acknowledge) 신호를 수신할 수 있다. 보다 구체적으로, 복수의 슬레이브(200) 각각은 마스터의 시간 정보와 자신의 시간 정보를 일치하도록 시간 동기화를 수행한 후에, 시간 동기화가 이루어져 데이터를 전송할 준비가 되었다는 메시지로서 상기 ACK 신호를 전송할 수 있다. 수신부(120)가 복수의 슬레이브(200)로부터 받은 각각의 ACK 신호의 수신 시간은 메모리(150)에 저장될 수 있다.The receiver 120 may receive an acknowledgment (ACK) signal transmitted after the slave 200 receives the time information of the master. More specifically, each of the plurality of slaves 200 may transmit the ACK signal as a message indicating that time synchronization is achieved and ready to transmit data after performing time synchronization to match the master's time information and its own time information . The reception time of each ACK signal received by the receiver 120 from the plurality of slaves 200 may be stored in the memory 150 .

여기서, 메모리(150)는 휘발성 저장 장치 및 비휘발성 저장 장치를 포함할 수 있다. 휘발성 저장 장치는 예를 들어 RAM(Random Access Memory)일 수 있고, 비휘발성 저장 장치는 예를 들어 ROM(Read Only Memory), HDD(Hard Disk Drive), 또는 플래시 메모리일 수 있다.Here, the memory 150 may include a volatile storage device and a non-volatile storage device. The volatile storage device may be, for example, random access memory (RAM), and the non-volatile storage device may be, for example, a read only memory (ROM), a hard disk drive (HDD), or a flash memory.

프로세서(130)는 전송부(110), 수신부(120), 타이머(140) 및 메모리(150) 등과 전기적으로 연결될 수 있고, 각 구성들을 전기적으로 제어할 수 있으며, 소프트웨어의 명령을 실행하는 전기 회로가 될 수 있고 이에 의해 후술하는 다양한 데이터 처리 및 계산을 수행할 수 있다. 이를 구현하기 위해, 프로세서(130)는, 연산 처리를 하는 IC(Integrated Circuit)로 구성될 수 있고, 예를 들어 프로세서(130)는, CPU, DSP(Digital Signal Processor), 또는 GPU(Graphics Processing Unit)일 수 있다.The processor 130 may be electrically connected to the transmitting unit 110 , the receiving unit 120 , the timer 140 , the memory 150 , and the like, and may electrically control each component, and an electrical circuit for executing software commands can be, thereby performing various data processing and calculations to be described later. To implement this, the processor 130 may be configured as an IC (Integrated Circuit) that performs arithmetic processing. For example, the processor 130 is a CPU, a Digital Signal Processor (DSP), or a Graphics Processing Unit (GPU). ) can be

프로세서(130)는, 슬레이브(200) 각각이 보낸 상기 ACK 신호를 기초로 슬레이브(200)와 마스터간의 데이터의 전송 지연에 따른 제1 레이턴시를 산출할 수 있다.The processor 130 may calculate the first latency according to the data transmission delay between the slave 200 and the master based on the ACK signal sent by each of the slaves 200 .

보다 구체적으로, 프로세서(130)는, 마스터의 시간 정보와 마스터가 전달받은 ACK 신호의 수신 시간의 차이를 기초로 복수의 슬레이브(200) 각각의 제1 레이턴시를 산출할 수 있다. 이때, 메모리(150)에 저장된 슬레이브(200) 각각의 ACK 신호의 수신 시간은 모두 상이할 수 있고 이에 대응하는 제1 레이턴시 값이 모두 산출될 수 있다.More specifically, the processor 130 may calculate the first latency of each of the plurality of slaves 200 based on a difference between the time information of the master and the reception time of the ACK signal received by the master. In this case, the reception times of the respective ACK signals of the slaves 200 stored in the memory 150 may all be different, and all corresponding first latency values may be calculated.

프로세서(130)는, 슬레이브(200)가 제1 레이턴시를 보정하는 제1 동기화를 수행하게 하기 위해 산출된 복수의 제1 레이턴시를 대응하는 슬레이브(200) 각각에 전송하도록 전송부(110)를 제어할 수 있다.The processor 130 controls the transmitter 110 to transmit a plurality of first latencies calculated in order for the slave 200 to perform first synchronization correcting the first latency to each of the corresponding slaves 200 . can do.

이와 같은 구성에 의해, 슬레이브(200)는 각각의 특성에 따라 정밀하게 제1 동기화를 완성할 수 있다. 다시 말해, 복수의 슬레이브(200) 즉, 이종의 센서들은 데이터의 전송이 시작되기 전에 마스터의 시간 정보를 수신하고 자신들의 시간 정보와 마스터의 시간 정보를 일치하게 만드는 시간 동기화를 거친 후, 각자 상이한 전송 지연시간을 가짐에 따라 야기되는 제1 레이턴시까지 개별적으로 보정할 수 있다. 즉, 슬레이브(200)들은 자신들이 센싱한 데이터를 마스터로 전송할 때 제1 레이턴시가 보정된 시간 정보를 포함하도록 할 수 있다. 따라서, 마스터는 같은 센싱 타이밍을 갖는 데이터를 정확히 분류, 취합하여 데이터 분석 장치(300)로 전송할 수 있으며 데이터 분석 장치(300)는 더욱 정밀하게 데이터를 분석할 수 있고 나아가 차량 제어의 정밀도 또한 높아지는 효과를 갖게 된다.With such a configuration, the slave 200 can precisely complete the first synchronization according to each characteristic. In other words, the plurality of slaves 200, that is, heterogeneous sensors, receive the master's time information before data transmission starts, undergo time synchronization to match their time information and the master's time information, and then Up to a first latency caused by having a transmission delay time can be individually compensated for. That is, when the slaves 200 transmit their sensed data to the master, the slave 200 may include time information for which the first latency is corrected. Therefore, the master can accurately classify and collect data having the same sensing timing and transmit it to the data analysis device 300 , and the data analysis device 300 can analyze the data more precisely and further increase the precision of vehicle control will have

한편, 프로세서(130)는, 슬레이브(200)와 마스터 간의 통신 프로토콜 변환에 따른 제2 레이턴시를 산출할 수 있다. Meanwhile, the processor 130 may calculate the second latency according to the communication protocol conversion between the slave 200 and the master.

보다 구체적으로, 프로세서(130)는, 슬레이브(200)와 마스터 간의 통신 프로토콜의 변환이 필요한지 여부를 판단할 수 있다. 통신 프로토콜은 예를 들어, CAN(Controller Area Network) 프로토콜, Ethernet 프로토콜일 수 있고, 슬레이브(200) 각각은 상기 프로토콜 중 어느 하나의 통신 프로토콜을 기반으로 마스터에 데이터를 전송할 수 있다. 또한, 마스터는 데이터 분석 장치(300)로 데이터를 전송함에 있어서 상기 프로토콜 중 어느 하나의 통신 프로토콜을 기반으로 할 수 있다. 즉, 슬레이브(200)와 마스터 간의 통신 프로토콜은 CAN/Ethernet일 수 있고 CAN/CAN일 수 있고, Ethernet/CAN일 수 있으며 Ethernet/Ethernet일 수 있다.More specifically, the processor 130 may determine whether it is necessary to convert the communication protocol between the slave 200 and the master. The communication protocol may be, for example, a controller area network (CAN) protocol or an Ethernet protocol, and each of the slaves 200 may transmit data to the master based on any one communication protocol among the above protocols. In addition, when the master transmits data to the data analysis device 300 , it may be based on any one of the above protocols. That is, the communication protocol between the slave 200 and the master may be CAN/Ethernet, CAN/CAN, Ethernet/CAN, or Ethernet/Ethernet.

이때, 슬레이브(200)와 마스터 간과 마스터와 데이터 분석 장치(300) 간에 같은 통신 프로토콜을 기반으로 데이터를 전송하는 경우에는 큰 문제가 되지 않는다. 문제는 슬레이브(200)에서 마스터로 Ehternet 통신을 이용하여 데이터가 전송되고 마스터에서 데이터 분석 장치(300)로 CAN 통신을 이용하여 데이터가 전송되는 경우이다. 이때, 문제가 되는 것은 전송할 수 있는 데이터의 크기 차이로서, CAN 통신의 경우 데이터가 8 byte 이하인 데 반해 Ehternet 통신의 경우에는 최소 46 byte에서 최대 1500 byte를 가지므로 Ehternet 통신을 기반으로 하는 데이터는 CAN 통신으로 한번에 전송할 수 없고 분할 전송해야 하는데 여기서 분할된 데이터 중 최초로 전송되는 데이터와 마지막으로 전송되는 데이터 간의 전송 시간 차이에 기인하는 레이턴시(제2 레이턴시)가 발생하게 된다. 한편, Ethernet은 CAN에 비해 큰 프레임 구조를 갖기 때문에 CAN 메시지 전체를 Ethernet 프레임의 페이로드에 포함시킬 수 있어 상술한 문제가 발생하지 않는다.At this time, when data is transmitted between the slave 200 and the master and between the master and the data analysis device 300 based on the same communication protocol, it is not a big problem. The problem is that data is transmitted from the slave 200 to the master using Ethernet communication and data is transmitted from the master to the data analysis device 300 using CAN communication. At this time, the problem is the difference in the size of the data that can be transmitted. In the case of CAN communication, data is 8 bytes or less, whereas in the case of Ethernet communication, it has a minimum of 46 bytes and a maximum of 1500 bytes. Therefore, data based on Ethernet communication is CAN Communication cannot be transmitted at once and must be transmitted in divisions. Here, a latency (second latency) occurs due to a transmission time difference between the first transmitted data and the last transmitted data among the divided data. On the other hand, since Ethernet has a larger frame structure than CAN, the entire CAN message can be included in the payload of the Ethernet frame, so that the above-described problem does not occur.

아울러, 프로세서(130)는 전송층 헤더 내에 전달된 포트 번호로부터 프로토콜 유형을 식별하여 슬레이브(200)가 기반으로 하는 통신 프로토콜을 식별할 수 있고 이를 통해 통신 프로토콜의 변환이 필요한지 여부를 판단할 수 있다.In addition, the processor 130 can identify the communication protocol based on the slave 200 by identifying the protocol type from the port number delivered in the transport layer header, and can determine whether conversion of the communication protocol is required through this. .

또한, 프로세서(130)는 슬레이브(200)와 마스터 간의 통신 프로토콜의 변환이 필요한 경우 통신 프로토콜의 변환을 수행할 수 있다. 예를 들어, 프로세서(130)는 CAN 헤더와 진단데이터로 구성되는 포맷을 갖는 CAN 프레임을 입력 받아 TCP 헤더와 EthDiag 헤더 및 진단데이터로 구성되는 포맷을 갖는 Ethernet 프레임으로 변환할 수 있다. 여기서 프로세서(130)는 EthDiag 헤더에 프레임 내 후속하는 데이터가 CAN 진단 데이터임을 표시할 수 있다. 반대의 경우에도 유사하게 프로세서(130)는 Ehternet 프레임 포맷에서 헤더 이후의 데이터를 취한 후 CAN 헤더를 결합하여 CAN 프레임을 작성할 수 있다.In addition, when a communication protocol conversion between the slave 200 and the master is required, the processor 130 may perform the communication protocol conversion. For example, the processor 130 may receive a CAN frame having a format consisting of a CAN header and diagnostic data and convert it into an Ethernet frame having a format consisting of a TCP header, an EthDiag header, and diagnostic data. Here, the processor 130 may indicate to the EthDiag header that data following the frame is CAN diagnostic data. Similarly in the opposite case, the processor 130 may take data after the header in the Ethernet frame format and then combine the CAN header to create a CAN frame.

프로세서(130)는, 슬레이브(200)의 통신 프로토콜이 Ethernet 프로토콜이고 마스터의 통신 프로토콜이 CAN 프로토콜인 경우 슬레이브(200)로부터 전송받은 데이터를 분할 후 버퍼(buffer)에 저장하여 데이터 분석 장치(300)에 순차적으로 송신하도록 전송부(130)를 제어할 수 있다.When the communication protocol of the slave 200 is an Ethernet protocol and the communication protocol of the master is a CAN protocol, the processor 130 divides the data transmitted from the slave 200 and stores it in a buffer, and the data analysis device 300 It is possible to control the transmitter 130 to transmit sequentially.

이때, 프로세서(130)는, 상기 분할된 데이터 중 첫번째로 송신되는 데이터의 송신 시간과 분할된 데이터 중 마지막으로 송신되는 데이터의 송신 시간의 차이를 기초로 제2 레이턴시를 산출할 수 있다.In this case, the processor 130 may calculate the second latency based on a difference between a transmission time of first transmitted data among the divided data and a transmission time of last transmitted data among the divided data.

한편, 프로세서(130)는 상기 송신 시간의 차이가 기 설정된 임계 시간을 초과하는지 여부를 판단할 수 있다. 다양한 원인에 의해 분할된 데이터 각각의 전송 시간은 더욱 지연될 수 있다. 이러한 경우 분할되어 전송되는 데이터는 정밀한 분석이 불가능한 효용가치가 없는 데이터(부적합 데이터)일 수 있다. 데이터는 슬레이브(200)로부터 지속적으로 전달되므로 부적합 데이터는 폐기하는 것이 정확한 판단 및 제어를 위해 효과적일 수 있다. 따라서, 프로세서(130)는 제2 레이턴시가 기 설정된 임계 시간(임계값)을 초과하면 부적합 데이터를 판별하는 메시지를 생성하고 이를 전송부(110)를 통해 마지막 데이터와 함께 데이터 분석 장치에 전송하는 방식으로 부적합 데이터가 자율 주행 차량의 인지 판단 및 분석에 사용되지 않도록 할 수 있다. 일 예로, 레2 레이턴시가 슬레이브(200)의 전송 주기 이상인 경우 부적합 데이터로 판별하는 메시지를 생성할 수 있다.Meanwhile, the processor 130 may determine whether the difference between the transmission times exceeds a preset threshold time. Transmission time of each segment of data may be further delayed due to various reasons. In this case, the divided and transmitted data may be data with no utility value that cannot be precisely analyzed (inappropriate data). Since data is continuously transmitted from the slave 200, it may be effective for accurate judgment and control to discard inappropriate data. Accordingly, the processor 130 generates a message for determining inappropriate data when the second latency exceeds a preset threshold time (threshold value), and transmits it to the data analysis device together with the last data through the transmitter 110 This can prevent nonconforming data from being used for cognitive judgment and analysis of autonomous vehicles. For example, when the latency is greater than or equal to the transmission period of the slave 200, a message for determining inappropriate data may be generated.

이러한 구성을 통해, 데이터 분석 장치(300)는 신뢰성 높은 데이터만을 기반으로 하여 데이터를 분석할 수 있고 나아가 차량 제어의 신뢰성 또한 높아지는 효과를 갖게 된다.Through this configuration, the data analysis apparatus 300 can analyze data based on only highly reliable data, and furthermore, the reliability of vehicle control is increased.

프로세서(130)는, 데이터 분석 장치(300)가 제2 레이턴시를 보정하는 제2 동기화를 수행하게 하기 위해 산출된 상기 제2 레이턴시를 데이터 분석 장치(300)에 전송하도록 전송부(110)를 제어할 수 있다.The processor 130 controls the transmitter 110 to transmit the calculated second latency to the data analysis device 300 so that the data analysis device 300 performs second synchronization to correct the second latency. can do.

이러한 구성에 의해, 데이터 분석 장치(300)는 슬레이브(200)와 마스터간의 통신 프로토콜 차이(보다 구체적으로, CAN 통신 프로토콜에서 Ethernet 통신 프로토콜로 변환되는 경우)에 의해 발생되는 제2 레이턴시를 보정하는 제2 동기화를 수행할 수 있다. 따라서, 데이터 분석 장치(300)는 더욱 정밀하게 데이터를 분석할 수 있고 나아가 차량 제어의 정밀도 또한 높아지는 효과를 갖게 된다.With this configuration, the data analysis device 300 corrects the second latency generated by the communication protocol difference between the slave 200 and the master (more specifically, when converting from the CAN communication protocol to the Ethernet communication protocol) 2 Synchronization can be performed. Accordingly, the data analysis apparatus 300 can analyze data more precisely, and furthermore, has the effect of increasing the precision of vehicle control.

이하에서는, 본 발명의 일 실시예인 레이턴시 결정 방법에 대해 설명한다.Hereinafter, a latency determination method according to an embodiment of the present invention will be described.

본 발명의 일 실시예인 레이턴시 결정 방법은 도 1을 참고하여 설명한 레이턴시 결정 장치(100)를 통해 수행될 수 있다.The method of determining the latency according to an embodiment of the present invention may be performed through the apparatus 100 for determining the latency described with reference to FIG. 1 .

도 2는 본 발명의 일 실시예인 레이턴시 결정 방법의 흐름을 나타낸 순서도이고, 도 3은 도 2의 순서도에서 S100 단계의 세부 흐름을 나타낸 순서도이다.2 is a flowchart illustrating a flow of a method for determining latency according to an embodiment of the present invention, and FIG. 3 is a flowchart illustrating a detailed flow of step S100 in the flowchart of FIG. 2 .

도 2를 참고하면, 본 발명의 일 실시예인 레이턴시 결정 방법은, 자율 주행 차량의 네트워크를 통해 슬레이브(200)가 센싱한 데이터를 전달받아 데이터 분석 장치(300)로 송신하는 마스터에 구성된 방법으로서 먼저, 슬레이브(200)로부터의 데이터가 전송되기 전, 슬레이브(200)와 마스터간의 데이터의 전송 지연에 따른 제1 레이턴시를 산출하는 a단계가 수행된다.(S100)Referring to FIG. 2 , the method for determining latency, which is an embodiment of the present invention, is a method configured in a master that receives data sensed by a slave 200 through a network of an autonomous vehicle and transmits it to the data analysis device 300 . , before the data from the slave 200 is transmitted, step a of calculating the first latency according to the data transmission delay between the slave 200 and the master is performed (S100).

이후, 슬레이브(200)로부터 전달받은 데이터를 마스터가 데이터 분석 장치(300)로 전송함에 있어서 슬레이브(200)와 마스터 간의 통신 프로토콜 변환에 따라 발생할 수 있는 제2 레이턴시를 산출하는 b단계가 수행된다.(S200)Thereafter, when the master transmits the data received from the slave 200 to the data analysis device 300 , step b of calculating the second latency that may occur according to the communication protocol conversion between the slave 200 and the master is performed. (S200)

이때, 후술하겠지만, b단계(S200)에는 통신 프로토콜의 변환 필요성을 판단하는 단계(S210)가 포함되며, 마스터와 슬레이브(200) 간에 기반이 되는 통신 프로토콜이 동일하거나 슬레이브(200)가 CAN 통신으로 데이터를 전송하고 마스터가 Ethernet 통신으로 데이터를 전송하는 경우와 같이 제2 레이턴시가 발생하지 않는 경우에는 b단계가 생략될 수 있다.At this time, as will be described later, step b (S200) includes a step (S210) of determining the need for conversion of the communication protocol, and the communication protocol underlying the master and the slave 200 is the same or the slave 200 is CAN communication. When data is transmitted and the second latency does not occur, such as when the master transmits data through Ethernet communication, step b may be omitted.

한편, 도 3을 참고하여 a단계(S100)의 세부 흐름을 살펴보면, 먼저 마스터의 시간 정보를 슬레이브(200)에 전송하는 단계(S110)가 수행된다. 보다 구체적으로 전송부(110)는, 마스터의 타이머(140)를 통해 자신의 시간 정보를 포함하는 메시지를 슬레이브(200)로 전송할 수 있다. 슬레이브(200)는 마스터의 시간 정보와 일치하도록 자신의 시간 정보를 보정하여 데이터를 전송할 준비를 할 수 있다.Meanwhile, looking at the detailed flow of step a ( S100 ) with reference to FIG. 3 , first, the step ( S110 ) of transmitting time information of the master to the slave 200 is performed. More specifically, the transmitter 110 may transmit a message including its own time information to the slave 200 through the timer 140 of the master. The slave 200 may prepare to transmit data by correcting its own time information to match the master's time information.

이후, 슬레이브(200)로부터 ACK 메시지를 수신한다.(S120) 보다 구체적으로 수신부(120)는 슬레이브(200)가 마스터의 시간 정보를 토대로 자신의 시간 정보를 마스터의 시간 정보와 일치하도록 시간 동기화를 진행하고 ACK 신호를 생성하여 마스터에 전송하면, 마스터는 슬레이브(200)가 전송하는 ACK 신호를 수신한다.Thereafter, an ACK message is received from the slave 200. (S120) More specifically, the receiving unit 120 performs time synchronization so that the slave 200 matches its own time information with the master's time information based on the master's time information. When the process proceeds and generates an ACK signal and transmits it to the master, the master receives the ACK signal transmitted by the slave 200 .

마스터는 상기 ACK 신호를 기초로 제1 레이턴시를 산출(S130)하고, 슬레이브(200)에 의해 제1 동기화가 수행되도록 제1 레이턴시를 슬레이브(200)에 전송한다.(S140) 보다 구체적으로, 프로세서(130)는, 마스터의 시간 정보와 마스터가 전달받은 ACK 신호의 수신 시간의 차이를 기초로 복수의 슬레이브(200) 각각의 제1 레이턴시를 산출할 수 있다. 이때, 메모리(150)에 저장된 슬레이브(200) 각각의 ACK 신호의 수신 시간은 모두 상이할 수 있고 이에 대응하는 제1 레이턴시 값이 모두 산출될 수 있다. The master calculates the first latency based on the ACK signal (S130) and transmits the first latency to the slave 200 so that the first synchronization is performed by the slave 200 (S140). More specifically, the processor The 130 may calculate the first latency of each of the plurality of slaves 200 based on a difference between the time information of the master and the reception time of the ACK signal received by the master. In this case, the reception times of the respective ACK signals of the slaves 200 stored in the memory 150 may all be different, and all corresponding first latency values may be calculated.

또한, 프로세서(130)는, 슬레이브(200)가 제1 레이턴시를 보정하는 제1 동기화를 수행하게 하기 위해 산출된 복수의 제1 레이턴시를 대응하는 슬레이브(200) 각각에 전송하도록 전송부(110)를 제어할 수 있다.In addition, the processor 130 transmits the plurality of first latencies calculated in order to cause the slave 200 to perform first synchronization correcting the first latency to the corresponding slaves 200, respectively. Transmission unit 110 can control

한편, 도 2를 다시 참고하여 b단계(S200)의 세부 흐름을 살펴보면, 먼저 프로세서(130)가 슬레이브(200)와 마스터 간의 통신 프로토콜 변환 필요성을 판단한다.(S210) 이때, 마스터가 CAN 통신을 하고 슬레이브(200)가 Ethernet 통신을 하면 제2 레이턴시를 산출하는 후속 단계들(S210 내지 S250)이 진행되고 마스터와 슬레이브(200)가 동일한 통신 프로토콜을 기반으로 하거나 마스터가 Ehternet 통신을 하고 슬레이브(200)가 CAN 통신을 하면 제2 레이턴시를 산출하는 단계 없이 데이터를 전송한다.(S260)On the other hand, referring back to FIG. 2 and looking at the detailed flow of step b (S200), first, the processor 130 determines the necessity of converting the communication protocol between the slave 200 and the master. (S210) At this time, the master performs CAN communication and the slave 200 performs Ethernet communication, the subsequent steps (S210 to S250) of calculating the second latency are performed, and the master and the slave 200 are based on the same communication protocol, or the master communicates over Ethernet and the slave 200 ) transmits data without calculating the second latency when performing CAN communication. (S260)

제2 레이턴시 산출 단계를 세부적으로 설명하면, 프로세서(130)는, 슬레이브(200)의 통신 프로토콜이 Ethernet 프로토콜이고 마스터의 통신 프로토콜이 CAN 프로토콜인 경우 슬레이브(200)로부터 전송받은 데이터를 분할 후 버퍼(buffer)에 저장하고, 전송부(130)를 제어하여 분할된 데이터를 데이터 분석 장치(300)에 순차적으로 전송한다.(S220)When the second latency calculation step is described in detail, the processor 130 divides the data received from the slave 200 when the communication protocol of the slave 200 is the Ethernet protocol and the communication protocol of the master is the CAN protocol after dividing the buffer ( buffer) and control the transmission unit 130 to sequentially transmit the divided data to the data analysis device 300 (S220).

이때, 프로세서(130)는, 상기 분할된 데이터 중 첫번째로 송신되는 데이터의 송신 시간과 분할된 데이터 중 마지막으로 송신되는 데이터의 송신 시간의 차이를 기초로 제2 레이턴시를 산출한다.(S230)At this time, the processor 130 calculates a second latency based on a difference between a transmission time of the first transmitted data among the divided data and a transmission time of the last transmitted data among the divided data (S230).

한편, 프로세서(130)는 전송되는 데이터가 부적합 데이터인지 판단할 수 있다.(S240) 보다 구체적으로, 프로세서(130)는 산출된 제2 레이턴시가 기 설정된 임계 시간(임계값)을 초과하면 부적합 데이터를 판별하는 메시지를 생성하고 이를 전송부(110)를 통해 마지막 데이터와 함께 데이터 분석 장치(300)에 전송하는 방식으로 부적합 데이터가 자율 주행 차량의 인지 판단 및 분석에 사용되지 않도록 할 수 있다.Meanwhile, the processor 130 may determine whether the transmitted data is nonconforming data. (S240) More specifically, the processor 130 determines whether the calculated second latency exceeds a preset threshold time (threshold value), the nonconforming data It is possible to prevent non-conforming data from being used for cognitive determination and analysis of the autonomous vehicle by generating a message for determining .

이후, 프로세서(130)는, 데이터 분석 장치(300)가 제2 레이턴시를 보정하는 제2 동기화를 수행하게 하기 위해, 전송부(110)를 제어하여 산출된 상기 제2 레이턴시를 데이터 분석 장치(300)에 전송한다.(S250)Thereafter, the processor 130 controls the transmission unit 110 to use the calculated second latency to the data analysis apparatus 300 so that the data analysis apparatus 300 performs a second synchronization for correcting the second latency. ) to (S250)

이외에, 레이턴시 결정 방법에 대한 자세한 설명은 상술한 레이턴시 결정 장치(100)에서 설명한 내용과 중복되므로 여기서는 생략한다.In addition, a detailed description of the latency determining method is omitted here because it overlaps with the description of the aforementioned latency determining apparatus 100 .

이상 살펴본 바와 같이, 본 발명에 따르면, 자율 주행 차량이 이종 센서들(슬레이브)로부터 데이터를 수집함에 있어서 각 센서들간의 데이터 전송 특성(전송지연, 전송방식 등)에 따라 데이터의 센싱, 전송 시점 및 전송 완료 시점에 발생하는 레이턴시를 결정하여 시간 동기화를 제어하도록 함으로써 차량 제어의 정밀도 및 신뢰성을 높일 수 있는 효과가 있다.As described above, according to the present invention, when an autonomous vehicle collects data from heterogeneous sensors (slave), the sensing, transmission timing and There is an effect of increasing the precision and reliability of vehicle control by determining the latency occurring at the time of completion of transmission to control time synchronization.

이상 본 발명을 구체적인 실시예를 통하여 상세히 설명하였으나, 이는 본 발명을 구체적으로 설명하기 위한 것으로, 본 발명은 이에 한정되지 않으며, 본 발명은 본 발명의 기술적 사상 내에서 당해 분야의 통상의 지식을 가진 자에 의해 그 변형이나 개량이 가능함은 명백하다.Although the present invention has been described in detail through specific examples, it is intended to describe the present invention in detail, and the present invention is not limited thereto. It is clear that the transformation or improvement is possible by the person.

본 발명의 단순한 변형 내지 변경은 모두 본 발명의 영역에 속하는 것으로 본 발명의 구체적인 보호 범위는 첨부된 특허청구범위에 의하여 명확해질 것이다. All simple modifications or changes of the present invention fall within the scope of the present invention, and the specific scope of protection of the present invention will be made clear by the appended claims.

100: 시간 동기화 장치
110: 전송부
120: 수신부
130: 프로세서
140: 타이머
150: 메모리
200: 슬레이브
300: 데이터 분석 장치
100: time synchronizer
110: transmission unit
120: receiver
130: processor
140: timer
150: memory
200: slave
300: data analysis device

Claims (6)

자율 주행 차량의 네트워크를 통해 슬레이브가 센싱한 데이터를 전달받아 데이터 분석 장치로 송신하는 마스터에 구성된, 시간 동기화를 위한 레이턴시를 결정하는 레이턴시 결정 장치에 있어서,
상기 마스터의 시간 정보를 상기 슬레이브로 전송하는 전송부;
상기 마스터의 시간 정보를 수신한 후에 상기 슬레이브가 전송하는 ACK 신호를 수신하는 수신부; 및
상기 ACK 신호를 기초로 상기 슬레이브와 상기 마스터간의 데이터의 전송 지연에 따른 제1 레이턴시와, 상기 슬레이브와 상기 마스터 간의 통신 프로토콜 변환에 따른 제2 레이턴시를 산출하는 프로세서;를 포함하는 레이턴시 결정 장치.
A latency determining device for determining latency for time synchronization, configured in a master that receives data sensed by a slave through a network of an autonomous vehicle and transmits it to a data analysis device, comprising:
a transmitter for transmitting time information of the master to the slave;
a receiving unit for receiving an ACK signal transmitted from the slave after receiving the time information of the master; and
A processor for calculating a first latency according to a transmission delay of data between the slave and the master based on the ACK signal and a second latency according to a communication protocol conversion between the slave and the master;
제1항에 있어서,
상기 프로세서는,
상기 마스터의 시간 정보와 상기 ACK 신호의 수신 시간의 차이를 기초로 상기 제1 레이턴시를 산출하는 것을 특징으로 하는 레이턴시 결정 장치.
According to claim 1,
The processor is
The device for determining the latency, characterized in that for calculating the first latency based on a difference between the time information of the master and the reception time of the ACK signal.
제2항에 있어서,
상기 슬레이브의 통신 프로토콜이 Ethernet이고 상기 마스터의 통신 프로토콜이 CAN인 경우,
상기 전송부는, 상기 슬레이브로부터 전송받은 데이터를 분할 후 버퍼에 저장하여 상기 데이터 분석 장치에 순차적으로 송신하며,
상기 프로세서는, 상기 분할된 데이터 중 첫번째로 송신되는 데이터의 송신 시간과 상기 분할된 데이터 중 마지막으로 송신되는 데이터의 송신 시간의 차이를 기초로 상기 제2 레이턴시를 산출하는 것을 특징으로 하는 레이턴시 결정 장치.
3. The method of claim 2,
When the communication protocol of the slave is Ethernet and the communication protocol of the master is CAN,
The transmission unit divides the data received from the slave, stores it in a buffer, and sequentially transmits it to the data analysis device,
The processor is configured to calculate the second latency based on a difference between a transmission time of first transmitted data among the divided data and a transmission time of last transmitted data among the divided data. .
자율 주행 차량의 네트워크를 통해 슬레이브가 센싱한 데이터를 전달받아 데이터 분석 장치로 송신하는 마스터에 구성된, 시간 동기화를 위한 레이턴시를 결정하는 레이턴시 결정 방법에 있어서,
상기 슬레이브로부터 데이터가 전송되기 전, 상기 슬레이브와 상기 마스터간의 데이터 전송 지연에 따른 제1 레이턴시를 산출하여 상기 슬레이브에 전송하는 a단계; 및
상기 마스터와 상기 슬레이브 간의 통신 프로토콜 변환에 따른 제2 레이턴시를 산출하여 상기 데이터 분석 장치에 전송하는 b단계;를 포함하는 레이턴시 결정 방법.
A method for determining latency for determining latency for time synchronization, configured in a master configured to receive data sensed by a slave through a network of an autonomous vehicle and transmit it to a data analysis device, the method comprising:
a step of calculating a first latency according to a data transmission delay between the slave and the master before data is transmitted from the slave and transmitting it to the slave; and
A method for determining latency comprising: calculating a second latency according to the communication protocol conversion between the master and the slave and transmitting the second latency to the data analysis device.
제4항에 있어서,
상기 a단계는,
상기 마스터의 시간 정보를 상기 슬레이브에 전송하는 단계;
상기 마스터의 시간 정보와 일치하도록 자신의 시간을 동기화한 상기 슬레이브로부터 ACK 신호를 수신하는 단계;
상기 ACK 신호를 기초로 상기 제1 레이턴시를 산출하는 단계; 및
상기 제1 레이턴시를 상기 슬레이브에 전송하는 단계;를 포함하는 레이턴시 결정 방법.
5. The method of claim 4,
In step a,
transmitting time information of the master to the slave;
receiving an ACK signal from the slave whose time is synchronized to match the time information of the master;
calculating the first latency based on the ACK signal; and
and transmitting the first latency to the slave.
제5항에 있어서,
상기 b단계는,
상기 슬레이브의 통신 프로토콜의 변환 필요성을 판단하는 단계;
상기 판단 결과 상기 슬레이브의 통신 프로토콜이 Ethernet 프로토콜이고 상기 마스터의 통신 프로토콜이 CAN 프로토콜인 경우 상기 슬레이브로부터 전송받은 상기 데이터를 버퍼에 분할 저장하여 순차적으로 상기 데이터 분석 장치에 전송하는 단계;
상기 버퍼에 의해 순차적으로 전송되는 데이터 중 최초로 전송하는 데이터와 마지막으로 전송하는 데이터 간의 송신시간 차이를 기초로 제2 레이턴시를 산출하는 단계; 및
상기 제2 레이턴시를 상기 데이터 분석 장치에 전송하는 단계;를 포함하는 레이턴시 결정 방법.

6. The method of claim 5,
In step b,
determining the necessity of converting the communication protocol of the slave;
As a result of the determination, when the communication protocol of the slave is an Ethernet protocol and the communication protocol of the master is a CAN protocol, dividing and storing the data received from the slave in a buffer and sequentially transmitting the data to the data analysis device;
calculating a second latency based on a transmission time difference between first transmitted data and last transmitted data among data sequentially transmitted by the buffer; and
Transmitting the second latency to the data analysis device; Latency determination method comprising a.

KR1020200158738A 2020-11-24 2020-11-24 A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols KR102488902B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200158738A KR102488902B1 (en) 2020-11-24 2020-11-24 A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200158738A KR102488902B1 (en) 2020-11-24 2020-11-24 A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols

Publications (2)

Publication Number Publication Date
KR20220071513A true KR20220071513A (en) 2022-05-31
KR102488902B1 KR102488902B1 (en) 2023-01-17

Family

ID=81786266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200158738A KR102488902B1 (en) 2020-11-24 2020-11-24 A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols

Country Status (1)

Country Link
KR (1) KR102488902B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586666B1 (en) * 2023-04-21 2023-10-10 한국전자기술연구원 Method for determining road conditions through sharing sensor data and object recognition results in V2X communication environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101001249B1 (en) * 2009-06-12 2010-12-17 한국산업기술대학교산학협력단 Protocol converting apparatus for car having multiple communication networks
KR101619628B1 (en) 2014-10-29 2016-05-18 현대자동차주식회사 Method for synchronizing data inter-electronic device in vehicle
KR20180022891A (en) * 2015-12-17 2018-03-06 후아웨이 테크놀러지 컴퍼니 리미티드 Protocol conversion method and apparatus
KR20190071465A (en) * 2017-12-14 2019-06-24 현대오트론 주식회사 Evaluation method of vehicle network time synchronization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101001249B1 (en) * 2009-06-12 2010-12-17 한국산업기술대학교산학협력단 Protocol converting apparatus for car having multiple communication networks
KR101619628B1 (en) 2014-10-29 2016-05-18 현대자동차주식회사 Method for synchronizing data inter-electronic device in vehicle
KR20180022891A (en) * 2015-12-17 2018-03-06 후아웨이 테크놀러지 컴퍼니 리미티드 Protocol conversion method and apparatus
KR20190071465A (en) * 2017-12-14 2019-06-24 현대오트론 주식회사 Evaluation method of vehicle network time synchronization

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586666B1 (en) * 2023-04-21 2023-10-10 한국전자기술연구원 Method for determining road conditions through sharing sensor data and object recognition results in V2X communication environment

Also Published As

Publication number Publication date
KR102488902B1 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
US10852139B2 (en) Positioning method, positioning device, and robot
CN109099920B (en) Sensor target accurate positioning method based on multi-sensor association
JP5522193B2 (en) Prior vehicle identification device
US11790771B2 (en) Vehicle-mounted device for controlling transmission of sensor data
WO2021047271A1 (en) Time synchronization method and apparatus
EP3859596B1 (en) Object collision prediction method and device
CN110779538A (en) Allocating processing resources across local and cloud-based systems with respect to autonomous navigation
WO2021035645A1 (en) Sensing system, sensing device and control method therefor, movable platform, and storage medium
US20190173952A1 (en) In-vehicle relay device, information processing device, relay device, information processing method, non-transitory storage medium storing program executable by relay device, information processing system, vehicle, and external device
KR102488902B1 (en) A method and a device for determining latency that occurs when synchronizing sensors in autonomous vehicles and converting protocols
US10296602B1 (en) Determining real-time timestamps for robotic sensor data
US9207326B2 (en) Communication system, transmission device and receiving device
CN111307174A (en) Calibration method of sensor, moving object and storage medium
US10442428B2 (en) Vehicle control system
JP6388093B1 (en) Data transmission apparatus, data processing system, and data transmission method
CN111724501A (en) Data synchronous acquisition method and device applied to unmanned equipment
US20200351143A1 (en) Data processing method and device, controller, and movable device
CN110892671A (en) Aircraft, data processing system and data processing method for aircraft
US20190283692A1 (en) In-vehicle relay device
US20230146989A1 (en) Communication device and communication system
US11632381B2 (en) Information processing device, information processing system, and recording medium
CN115071711A (en) Queue travel control device and route generation method thereof
KR102019383B1 (en) Apparatus for tracking vehicle and operating method thereof
US20230091243A1 (en) Ultrasonic sensor, parking assistance system, and signal processing method
Mehmed et al. Deterministic ethernet: Addressing the challenges of asynchronous sensing in sensor fusion systems

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant