KR102197735B1 - 센서 데이터 전송 장치 및 방법 - Google Patents

센서 데이터 전송 장치 및 방법 Download PDF

Info

Publication number
KR102197735B1
KR102197735B1 KR1020190146589A KR20190146589A KR102197735B1 KR 102197735 B1 KR102197735 B1 KR 102197735B1 KR 1020190146589 A KR1020190146589 A KR 1020190146589A KR 20190146589 A KR20190146589 A KR 20190146589A KR 102197735 B1 KR102197735 B1 KR 102197735B1
Authority
KR
South Korea
Prior art keywords
area
data
sensor data
indicating
information
Prior art date
Application number
KR1020190146589A
Other languages
English (en)
Inventor
서인석
신유영
김석기
송영기
Original Assignee
주식회사 스프링클라우드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스프링클라우드 filed Critical 주식회사 스프링클라우드
Priority to KR1020190146589A priority Critical patent/KR102197735B1/ko
Application granted granted Critical
Publication of KR102197735B1 publication Critical patent/KR102197735B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • G05D1/0061Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements for transition from automatic pilot to manual pilot and vice versa
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • B60W2420/42
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/18Steering angle
    • 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
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control
    • G05D2201/0213

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Traffic Control Systems (AREA)

Abstract

자율주행시스템에서 생성되는 각종의 센서 데이터를 통합하여 관제 서버에게로 전송하도록 하는 센싱 데이터 전송 장치 및 방법을 제시한다. 제시된 장치는 자율주행시스템으로부터 전송받은 하나 이상의 센서 데이터를 시간을 기준으로 동기화된 하나의 통합 메시지의 형태로 통합하는 통합부를 포함하는 센서 데이터 수신부; 및 통합 메시지내의 데이터에서 관제 기능에 필요한 데이터만을 추출하고 추출한 데이터를 기반으로 변환 메시지를 생성하는 변환부, 및 변환부로부터의 변환 메시지를 전송 메시지화하여 관제 서버에게로 전송하는 전송부를 포함하는 센서 데이터 전송부;를 포함한다.

Description

센서 데이터 전송 장치 및 방법{Sensor data transmission apparatus and method}
본 발명은 센서 데이터 전송 장치 및 방법에 관한 것으로, 보다 상세하게는 다양한 자율주행 플랫폼을 위한 센서 데이터 전송 장치 및 방법에 관한 것이다.
자동차는 사용되는 원동기의 종류에 따라, 내연기관(internal combustion engine) 자동차, 외연기관(external combustion engine) 자동차, 가스터빈(gas turbine) 자동차 또는 전기자동차(electric vehicle) 등으로 분류될 수 있다.
자율주행 차량은 운전자의 개입없이 주변 환경을 인지하고, 주행 상황을 판단하여 차량을 제어함으로써 스스로 주어진 목적지까지 주행하는 차량을 말한다.
자율주행시스템은 이러한 자율주행 차량이 스스로 운행될 수 있도록 모니터링하고 제어하는 시스템을 말한다.
선행기술 1 : 대한민국 공개특허 제10-2019-0102145호(자율주행시스템에서 원격주행을 위한 센싱정보 전송방법 및 이를 위한 장치)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 자율주행시스템에서 생성되는 각종의 센서 데이터를 통합하여 관제 서버에게로 전송하도록 하는 센싱 데이터 전송 장치 및 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 센서 데이터 전송 장치는, 자율주행시스템으로부터 전송받은 하나 이상의 센서 데이터를 시간을 기준으로 동기화된 하나의 통합 메시지의 형태로 통합하는 통합부를 포함하는 센서 데이터 수신부; 및 상기 통합 메시지내의 데이터에서 관제 기능에 필요한 데이터만을 추출하고 추출한 데이터를 기반으로 변환 메시지를 생성하는 변환부, 및 상기 변환부로부터의 변환 메시지를 전송 메시지화하여 관제 서버에게로 전송하는 전송부를 포함하는 센서 데이터 전송부;를 포함한다.
상기 통합 메시지는 헤더 영역과 통합 정보 영역을 포함하고, 상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 프로토콜 버전을 나타내는 프로토콜 버전 영역, 및 통합한 센서의 종류를 나타내는 센서 타입 영역을 포함하고, 상기 통합 정보 영역은 다수의 센서 데이터 영역을 포함할 수 있다.
상기 통합 정보 영역은 차량 상태를 나타내는 차량 상태 영역, 카메라 센서 데이터를 나타내는 카메라 영역, GNSS 센서 데이터를 나타내는 GNSS 영역, IMU 센서 데이터를 나타내는 IMU 영역, LIDAR 센서 데이터를 나타내는 LIDAR 영역, 및 RADAR 센서 데이터를 나타내는 RADAR 영역 중에서 하나 이상을 포함할 수 있다.
상기 변환 메시지는 헤더 영역과 변환 데이터 영역을 포함하고, 상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 프로토콜 타입을 나타내는 프로토콜 타입 영역, 프로토콜 버전을 나타내는 프로토콜 버전 영역, 및 통합한 센서의 종류를 나타내는 센서 타입 영역을 포함하고, 상기 변환 데이터 영역은 변환된 다수의 센서 데이터 영역을 포함할 수 있다.
상기 변환 데이터 영역은 차량 상태를 나타내는 차량 상태 영역, 변환된 카메라 센서 데이터를 나타내는 카메라 영역, 변환된 GNSS 센서 데이터를 나타내는 GNSS 영역, 변환된 IMU 센서 데이터를 나타내는 IMU 영역, 변환된 LIDAR 센서 데이터를 나타내는 LIDAR 영역, 및 변환된 RADAR 센서 데이터를 나타내는 RADAR 영역 중에서 하나 이상을 포함할 수 있다.
상기 차량 상태 영역은 하위 구조를 포함하되, 상기 차량 상태 영역의 하위 구조는 현재의 차속을 나타내는 속도 영역, 바퀴의 속도를 나타내는 휠 속도 영역, RPM을 나타내는 RPM 영역, 브레이크 상태를 나타내는 브레이크 영역, 현재의 기어상태를 나타내는 기어 영역, 현재의 조향 각도를 나타내는 스티어링 각도 영역, 방향 지시등의 상태를 나타내는 턴 시그널 영역, 연료 잔량을 나타내는 연료 레벨 영역, 자율주행 레벨을 나타내는 자율주행 레벨 영역, 및 운전 모드를 나타내는 운전 모드 영역을 포함할 수 있다.
상기 카메라 영역은 하위 구조를 포함하되, 상기 카메라 영역의 하위 구조는 획득한 카메라 데이터의 폭 정보를 나타내는 폭 영역, 획득한 카메라 데이터의 높이 정보를 나타내는 높이 영역, 획득한 카메라 데이터의 인코딩 포맷을 나타내는 인코딩 영역, 획득한 카메라 데이터의 스텝 정보를 나타내는 스텝 영역, 및 획득한 카메라 데이터를 나타내는 데이터 영역을 포함할 수 있다.
상기 GNSS 영역은 하위 구조를 포함하되, 상기 GNSS 영역의 하위 구조는 위도를 나타내는 위도 영역, 경도를 나타내는 경도 영역, 고도를 나타내는 고도 영역, 헤딩 정보를 나타내는 헤딩 영역, 속도 정보를 나타내는 속도 영역, GNSS 상태를 나타내는 상태 영역, 및 GNSS 서비스 상태를 나타내는 서비스 영역을 포함할 수 있다.
상기 IMU 영역은 하위 구조를 포함하되, 상기 IMU 영역의 하위 구조는 롤(Roll) 정보를 나타내는 롤 영역, 피치(Pitch) 정보를 나타내는 피치 영역, 요(Yaw) 정보를 나타내는 요 영역, X축 가속도계 정보를 나타내는 가속도 X 영역, Y축 가속도계 정보를 나타내는 가속도 Y 영역, Z축 가속도계 정보를 나타내는 가속도 Z 영역, X축 지자계 정보를 나타내는 지자계 X 영역, 및 Y축 지자계정보를 나타내는 지자계 Y 영역을 포함할 수 있다.
상기 LIDAR 영역은 하위 구조를 포함하되, 상기 LIDAR 영역의 하위 구조는 채널의 수를 나타내는 채널 영역, 현재 포인트의 수를 나타내는 포인트 영역, 및 LIDAR 데이터를 나타내는 데이터 영역을 포함할 수 있다.
상기 RADAR 영역은 하위 구조를 포함하되, 상기 RADAR 영역의 하위 구조는 도플러 앰비규어티(Doppler Ambiguity)의 값을 나타내는 도플러 앰비규어티 영역, 검출한 물체의 수를 나타내는 물체의 수 영역, 스캔 인덱스 정보를 나타내는 스캔 인덱스 영역, 스캔 타입 정보를 나타내는 스캔 타입 영역, 및 RADAR 데이터를 나타내는 데이터 영역을 포함할 수 있다.
상기 자율주행시스템으로부터 전송받은 하나 이상의 센서 데이터는 상기 자율주행시스템에서 미리 정해져 있는 메시지 구조를 기반으로 하는 데이터일 수 있다.
상기 미리 정해져 있는 메시지 구조는 헤더 영역과 데이터 영역을 포함하고,
상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 전송 프레임의 ID를 나타내는 프레임 ID 영역, 및 전송 프레임의 순서를 나타내는 시퀀스 영역을 포함하고, 상기 데이터 영역은 해당 센서 데이터의 정보를 나타내는 영역을 포함할 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 센서 데이터 전송 방법은, 센서 데이터 전송 장치가 자율주행시스템으로부터의 센서 데이터를 관제 서버에게로 전송하는 방법으로서, 상기 자율주행시스템으로부터의 하나 이상의 센서 데이터를 수신하는 단계; 상기 수신한 하나 이상의 센서 데이터를 시간을 기준으로 동기화된 하나의 통합 메시지의 형태로 통합하는 단계; 상기 통합 메시지의 데이터에서 관제 기능에 필요한 데이터만을 추출하는 단계; 상기 추출한 데이터를 기반으로 변환 메시지를 생성하는 단계; 및 상기 변환 매시지를 전송 메시지화하여 상기 관제 서버에게로 전송하는 단계;를 포함한다.
이러한 구성의 본 발명에 따르면, 자율주행시스템으로부터의 다수의 센서 데이터를 수신하여 미리 정해진 데이터 규격으로 통합한 후에 원격지의 관제 서버에게로 전송할 수 있다.
이와 같이 자율주행에 사용되는 여러 센서 정보들을 독립적인 소프트웨어를 이용하여 관제 서버에게로 전송함으로써, 자율주행 개발 또는 운영사는 별도의 데이터 취득 시스템을 구성할 필요가 없게 된다.
도 1은 본 발명이 적용되는 전체적인 시스템의 구성도이다.
도 2는 도 1에 도시된 자율주행시스템의 구성의 일 예를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 센서 데이터 전송 장치의 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 센서 데이터 전송 방법을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명이 적용되는 전체적인 시스템의 구성도이다.
도 1의 시스템은, 자율주행시스템(100), 센서 데이터 전송 장치(200), 및 관제 서버(300)를 포함한다.
자율주행시스템(100)은 다수의 센서로부터의 데이터를 수신할 수 있다.
자율주행시스템(100)은 각각의 센서별로 센싱된 데이터를 미리 정해진 메시지 구조에 실어서 센서 데이터 전송 장치(200)에게로 보낼 수 있다. 여기서, 자율주행시스템(100)에서 출력되는 센서 데이터 메시지의 구조에 대한 설명은 후술하기로 한다.
다시 말해서, 자율주행시스템(100)은 GNSS, IMU, 카메라, CAN 등과 같은 센서에서 센싱된 데이터(예컨대, 인지, 판단, 제어에 필요한 데이터 및 관제에 필요한 데이터)를 미리 정의된 메시지 구조에 실어서 센서 데이터 전송 장치(200)에게로 보낼 수 있다. 이때, 자율주행시스템(100)은 배포된 프레임워크 및 라이브러리를 이용하여 미리 정의된 메시지 형태로 센서 데이터를 전송한다.
그리고, 자율주행시스템(100)은 내부적으로 자율주행의 인지, 판단, 제어측에 필요한 데이터 형식과 다양한 센서 제조사의 프로토콜을 지원하는 프레임워크를 구성하고 있다.
도 2를 통해 자율주행시스템(100)에 대해 보다 구체적으로 설명하겠지만, 자율주행시스템(100)은 크게 보면 센서 데이터를 획득하는 모듈과 센서 데이터를 기반으로 자율주행에 해당하는 기능을 수행하는 모듈을 포함한다고 볼 수 있다.
센서 데이터 전송 장치(200)는 자율주행시스템(100)으로부터 전송받은 여러 센서 데이터들을 통합하여 하나의 메시지 프레임으로 변환한 후에 관제 기능에 필요한 데이터만을 추출하여 관제 서버(300)에게로 전송할 수 있다.
관제 서버(300)는 센서 데이터 전송 장치(200)로부터의 데이터를 수신하여 저장하고, 센서 데이터 전송 장치(200)로부터의 데이터를 기반으로 관제 기능을 수행한다.
도 2는 도 1에 도시된 자율주행시스템(100)의 구성의 일 예를 설명하기 위한 도면이다.
자율주행시스템(100)은, 데이터 획득 소프트웨어 모듈부(10), 게이트웨이부(20), 및 자율주행 애플리케이션 모듈부(30)를 포함할 수 있다.
데이터 획득 소프트웨어 모듈부(10)는 각각의 센서에서 수집된 데이터를 미리 정의된 메시지 구조에 맞게 데이터 프레임을 구성하여 게이트웨이부(20)에게로 전송한다.
데이터 획득 소프트웨어 모듈부(10)는 CAN 컨테이너(10a), GNSS 컨테이너(10b), IMU 컨테이너(10c), 카메라 컨테이너(10d), 차량 정보 컨테이너(10e) 등을 포함할 수 있다.
각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 해당하는 센서로부터 센싱 데이터를 수신하고, 수신한 센싱 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 수 있다. 즉, 컨테이너와 센서는 일대일로 연결되었다고 볼 수 있다.
그리고, 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 도커 엔진(Docker Engine) 위에서 실행된다. 이와 같이 하면, 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 호스트 운영체제(OS)의 커널 레이어(예컨대, 직접적으로 메모리, CPU 등의 리소스를 제어하는 부분)와 직접 연결된다. 도커 엔진을 활용함에 따라, 도커 엔진을 통해 서로 독립된 컨테이너를 생성하거나 제어하거나 제거하는 것이 가능하다.
즉, 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)가 도커 엔진(Docker Engine) 위에서 실행됨에 따라, 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 호스트 운영체제에서 프로그램을 수행하는 것과 거의 같은 속도로 프로그램을 실행시킬 수 있다.
이와 같이 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 자율주행 애플리케이션 모듈부(30)에서 애플리케이션(application) 프로그램을 실행하는데 필요한 모든 정보(예컨대, 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정 등)를 포함하는 경량의 독립형 실행가능 소프트웨어 패키지라고 할 수 있다. 즉, 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 서로 격리된 공간에서 각각의 프로세스에 따라 동작한다.
CAN 컨테이너(10a)는 CAN(Controller Area Network) 버스를 통해 자율주행 차량의 내부 장치간에 송수신되는 데이터를 수신하고, 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 수 있다.
GNSS 컨테이너(10b)는 GNSS(Global Navigation Satellite System) 센서로부터의 데이터를 수신하고, 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 수 있다.
물론, 필요에 따라서, GNSS 컨테이너(10b)는 GPS 센서로부터의 데이터도 함께 수신할 수 있게 하여도 무방하다.
IMU 컨테이너(10c)는 IMU(Inertial Measuring Unit) 센서로부터의 데이터를 수신하고, 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 수 있다.
카메라 컨테이너(10d)는 카메라로부터의 데이터를 수신하고, 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 수 있다.
차량 정보 컨테이너(10e)는 센서 데이터 자체가 아닌 처리된 차량 정보를 수신하고, 수신한 차량 정보의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 수 있다.
앞서 설명하였듯이, 데이터 획득 소프트웨어 모듈부(10)의 각각의 컨테이너(10a, 10b, 10c, 10d, 10e 등)는 서로 격리된 공간에서 각각의 프로세스에 따라 동작하므로, 추후 센서의 종류 변경 및 다른 업체의 센서로 교체한다고 하더라도 해당 센서 컨테이너만 교체하면 된다. 이로 인해, 손쉽게 지속적으로 자율주행 시스템을 개발할 수 있게 해 준다.
또한, 데이터 획득 소프트웨어 모듈부(10)는 컨테이너 방식이기 때문에, 개발하려는 자율주행시스템의 환경적 제약사항을 어느 정도 해소할 수 있다.
도면에는 도시하지 않았지만, 상술한 데이터 획득 소프트웨어 모듈부(10)는 CAN 컨테이너(10a), GNSS 컨테이너(10b), IMU 컨테이너(10c), 카메라 컨테이너(10d), 차량 정보 컨테이너(10e) 이외로, 라이다(Lidar) 컨테이너, 레이다(Radar) 컨테이너, 초음파 컨테이너 등을 추가로 포함할 수 있다. 여기서, 라이다(Lidar) 컨테이너는 라이다 센서로부터의 데이터를 수신하고 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 것이다. 레이다(Radar) 컨테이너는 레이다 센서로부터의 데이터를 수신하고 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 것이다. 초음파 컨테이너는 초음파 센서로부터의 데이터를 수신하고 수신한 데이터의 프로토콜을 분석하여 미리 규격화시킨 메시지 구조로 변환하여 게이트웨이부(20)에게로 전송할 것이다.
한편, 데이터 획득 소프트웨어 모듈부(10)에서 생성되어 게이트웨이부(20)에게로 전송되는 메시지의 구조를 예를 들어 설명하여 보면 하기와 같을 수 있다.
예를 들어, GNSS 컨테이너(10b)에서 생성되는 규격화된 메시지 구조는 헤더 영역과 데이터 영역을 포함한다. 여기서, 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프(Time Stamp) 영역, 전송 프레임의 ID를 나타내는 프레임 ID 영역, 및 전송 프레임의 순서를 나타내는 시퀀스(Sequence) 영역을 포함할 수 있다. 데이터 영역은 위도를 나타내는 위도(Latitude) 영역, 경도를 나타내는 경도(Longitude) 영역, 고도를 나타내는 고도(Altitude) 영역, 헤딩 정보를 나타내는 헤딩(Heading) 영역, 속도 정보를 나타내는 속도(Speed) 영역, GNSS 상태를 나타내는 상태(Status) 영역, 및 GNSS 서비스 상태를 나타내는 서비스(Service) 영역을 포함할 수 있다.
한편, IMU 컨테이너(10c)에서 생성되는 규격화된 메시지 구조는 헤더 영역과 데이터 영역을 포함한다. 여기서, 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프(Time Stamp) 영역, 전송 프레임의 ID를 나타내는 프레임 ID 영역, 및 전송 프레임의 순서를 나타내는 시퀀스(Sequence) 영역을 포함할 수 있다. 데이터 영역은 롤(Roll) 정보를 나타내는 롤(Roll) 영역, 피치(Pitch) 정보를 나타내는 피치(Pitch) 영역, 요(Yaw) 정보를 나타내는 요(Yaw) 영역, X축 가속도계 정보를 나타내는 가속도(Acceleration) X 영역, Y축 가속도계 정보를 나타내는 가속도 Y 영역, Z축 가속도계 정보를 나타내는 가속도 Z 영역, X축 지자계(자력계) 정보를 나타내는 지자계(Magnetometer) X 영역, 및 Y축 지자계(자력계) 정보를 나타내는 지자계 Y 영역을 포함할 수 있다.
한편, 카메라 컨테이너(10d)에서 생성되는 규격화된 메시지 구조는 헤더 영역과 데이터 영역을 포함한다. 여기서, 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프(Time Stamp) 영역, 전송 프레임의 ID를 나타내는 프레임 ID 영역, 및 전송 프레임의 순서를 나타내는 시퀀스(Sequence) 영역을 포함할 수 있다. 데이터 영역은 카메라 데이터의 폭 정보를 나타내는 폭(Width) 영역, 카메라 데이터의 높이 정보를 나타내는 높이(Height) 영역, 카메라 데이터의 인코딩 정보를 나타내는 인코딩(Encoding) 영역, 및 카메라 데이터를 나타내는 데이터(Data) 영역을 포함할 수 있다.
상술한 바와 같이 데이터 획득 소프트웨어 모듈부(10)는 센서 데이터를 자율주행 애플리케이션 모듈부(30)의 내부 모듈(즉, 인지부(31), 판단부(32), 제어부(33), 저장부(34))에게로 전달할 때의 데이터 구조를 미리 규격화 해둠으로써, 각각의 센서들은 데이터를 획득하는 기능에만 집중할 수 있다. 즉, 데이터 획득 소프트웨어 모듈부(10)는 각 센서들이 데이터를 획득하는 기능에 집중할 수 있도록 독립성을 유지해 준다.
게이트웨이부(20)는 데이터 획득 소프트웨어 모듈부(10)와 자율주행 애플리케이션 모듈부(30) 사이에 설치된다.
게이트웨이부(20)는 데이터 획득 소프트웨어 모듈부(10)로부터의 데이터(즉, 미리 정의된 메시지 구조에 실린 데이터)를 자율주행 애플리케이션 모듈부(30)에게로 전달하되, 해당 데이터가 필요한 내부 모듈에게로 전달될 수 있게 분배한다.
예를 들어, 게이트웨이부(20)는 데이터 획득 소프트웨어 모듈부(10)로부터 제공받은 각각의 데이터의 우선순위와 자율주행 애플리케이션 모듈부(30)에서의 우선순위를 고려하여 우선순위가 높은 순으로 데이터를 분배할 수 있다.
결국, 게이트웨이부(20)는 데이터 획득 소프트웨어 모듈부(10)로부터 제공받은 각각의 데이터를 자율주행 애플리케이션 모듈부(30)의 필요 모듈에게 전달하는 기능(통신기능)만 수행하므로, 데이터 획득 소프트웨어 모듈부(10)와 자율주행 애플리케이션 모듈부(30)의 독립성을 강화할 수 있다.
자율주행 애플리케이션 모듈부(30)는 게이트웨이부(20)를 통해 제공받은 데이터 획득 소프트웨어 모듈부(10)의 데이터(즉, 센서 데이터, 차량 정보)를 기반으로 자율주행에 해당하는 기능(예컨대, 인지, 판단, 제어, 저장)을 수행한다.
이를 위해, 자율주행 애플리케이션 모듈부(30)는 인지부(31), 판단부(32), 제어부(33), 및 저장부(34)를 포함할 수 있다.
인지부(31)는 카메라, 라이다, 레이다, 초음파 등의 센서에게 받은 데이터를 기반으로 주변 환경을 인지할 수 있다. 다시 말해서, 게이트웨이부(20)는 다수의 컨테이너중에서 카메라 컨테이너(10d), 라이다 컨테이너, 레이다 컨테이너, 및 초음파 컨테이너의 데이터(즉, 미리 정의된 메시지 구조에 실린 데이터)를 인지부(31)에게로 분배해 줄 수 있다. 그에 따라, 인지부(31)는 분배받은 데이터를 기반으로 인지 기능을 수행할 수 있다. 예를 들어, 인지부(31)는 정적 장애물, 동적 장애물(예컨대, 차량, 보행자, 이륜차, 자전거 등), 도로표식(예컨대, 차선, 정지선, 횡단보도, 도로마크 등), 신호등 등을 인지할 수 있다.
판단부(32)는 CAN, GNSS, IMU 등의 센서에게 받은 데이터를 기반으로 자율주행에 필요한 판단 기능을 수행할 수 있다. 다시 말해서, 게이트웨이부(20)는 다수의 컨테이너중에서 CAN 컨테이너(10a), GNSS 컨테이너(10b), 및 IMU 컨테이너(10c)의 데이터(즉, 미리 정의된 메시지 구조에 실린 데이터)를 판단부(32)에게로 분배해 줄 수 있다. 그에 따라, 판단부(32)는 분배받은 데이터를 기반으로 판단 기능을 수행할 수 있다. 예를 들어, 판단부(32)는 목적지 이동, 장애물 회피 경로 계획, 주행상황별(예컨대, 차선유지/변경, 좌우회전, 추월, 유턴, 급정지, 주정차 등) 행동 등을 판단할 수 있다.
제어부(33)는 차량 정보, CAN, GNSS, IMU 등의 센서에게 받은 데이터를 기반으로 자율주행에 필요한 제어 기능을 수행할 수 있다. 다시 말해서, 게이트웨이부(20)는 다수의 컨테이너중에서 CAN 컨테이너(10a), GNSS 컨테이너(10b), IMU 컨테이너(10c), 및 차량 정보 컨테이너(10e)의 데이터(즉, 미리 정의된 메시지 구조에 실린 데이터)를 제어부(33)에게로 분배해 줄 수 있다. 그에 따라, 제어부(33)는 분배받은 데이터를 기반으로 제어 기능을 수행할 수 있다. 예를 들어, 제어부(33)는 운전자가 지정한 경로대로 자율주행하기 위해 조향 제어, 속도변경, 기어 등 액추에이터의 제어 등을 행할 수 있다.
저장부(34)는 데이터 획득 소프트웨어 모듈부(10)에서 획득한 모든 데이터 및 자율주행중에 발생한 모든 데이터를 게이트웨이부(20)를 통해 제공받아 저장할 수 있다. 여기서, 데이터는 데이터 획득 소프트웨어 모듈부(10)에서 생성된 메시지 구조에 실린 데이터로서, 파일 형태로 저장될 수 있다.
즉, 저장부(34)는 모든 데이터를 시간순으로 동기화하여 파일 형태로 저장할 수 있다.
따라서, 미리 규격화된 메시지 구조에 실린 데이터가 저장부(34)에 저장되므로, 추후에 리플레이하는 시스템을 개발하거나 분석하는 시스템을 개발하는 경우에 저장부(34)의 데이터를 그대로 활용할 수 있다.
필요에 따라, 인지부(31)와 판단부(32)와 제어부(33)에서 각각 만들어진 데이터도 저장부(34)에 저장될 수 있다.
인지부(31)와 판단부(32)와 제어부(33) 및 저장부(34)는 저마다의 기능을 수행하기 위한 고유 소프트웨어를 장착하고, 모듈화되어 있다. 그에 따라, 인지부(31)를 인지 모듈부라고 할 수 있고, 판단부(32)를 판단 모듈부라고 할 수 있고, 제어부(33)를 제어 모듈부라고 할 수 있고, 저장부(34)를 저장 모듈부라고 할 수 있다.
상술한 자율주행 애플리케이션 모듈부(30)의 각각의 모듈(즉, 인지부(31), 판단부(32), 제어부(33), 저장부(34))은 필요한 데이터를 미리 정의된 메시지 구조로 게이트웨이부(20)를 통해 분배받아 자율주행에 필요한 저마다의 기능을 수행한다.
이와 같이 자율주행 애플리케이션 모듈부(30)는 미리 규격화된 메시지 구조를 사용함으로써 자율주행의 기능에만 집중할 수 있도록 독립성을 유지한다.
상술한 자율주행시스템(100)에서, 데이터 획득 소프트웨어 모듈부(10)를 데이터 획득 레이어(인터페이스 레이어)라고 할 수 있고, 자율주행 애플리케이션 모듈부(30)를 애플리케이션 레이어라고 할 수 있다. 그리고, 게이트웨이부(20)를 데이터 획득 소프트웨어 모듈부(10)와 자율주행 애플리케이션 모듈부(30) 사이에 두어 두 모듈(즉, 10, 30)의 독립성을 강화시켰으므로, 센서 데이터 저장을 위한 소프트웨어 개발과 자율주행 소프트웨어 개발을 병렬적으로 수행가능하다.
도 3은 본 발명의 실시예에 따른 센서 데이터 전송 장치(200)의 구성을 설명하기 위한 도면이다.
본 발명의 실시예에 따른 센서 데이터 전송 장치(200)는, 센서 데이터 수신부(210), 및 센서 데이터 전송부(220)를 포함할 수 있다.
센서 데이터 수신부(210)는 자율주행시스템(100)에서 전송되어 오는 다수의 센서 데이터를 수신하여 통합한 후에 센서 데이터 전송부(200)에게로 보낸다. 여기서, 자율주행시스템(100)에서 전송되어 오는 각각의 센서 데이터는 자율주행시스템(100)에서 미리 정해져 있는 메시지 구조를 기반으로 하는 데이터로서, 예를 들어 GNSS, IMU, 카메라, 라이다(LIDAR), 레이더(RADAR) 등의 센서 데이터가 개별적으로 미리 정해진 메시지 구조에 실려서 전송되어 오는 것이다.
이를 위해, 센서 데이터 수신부(210)는 통합부(212)를 포함한다.
통합부(212)는 자율주행시스템(100)으로부터 전송받은 여러 센서 데이터들을 통합하되, 시간을 기준으로 동기화된 하나의 통합 메시지의 프레임으로 통합하여 센서 데이터 전송부(220)에게로 보낸다.
상술한 통합 메시지(즉, 통합된 센서 데이터를 포함하는 메시지)는 데이터 저장 및 관제 서버(300)에게로 전달하는 용도로 사용될 수 있다.
여기서, 통합부(212)에서 출력되는 통합 메시지의 프레임은 헤더 영역과 통합 정보 영역을 포함한다. 여기서, 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프(Time Stamp) 영역, 프로토콜 버전을 나타내는 프로토콜 버전(Protocol Version) 영역, 및 통합한 센서의 종류를 나타내는 센서 타입(Sensor Type) 영역을 포함할 수 있다. 통합 정보 영역은 다수의 센서 데이터 영역을 포함할 수 있다. 예를 들어, 통합 정보 영역은 차량 상태를 나타내는 차량 상태 영역(즉, 차량 제조사 및 프로토콜별로 구조 변경가능함), 카메라 센서 데이터를 나타내는 카메라 영역(즉, 카메라 센서의 제조사 및 프로토콜별로 구조 변경가능함), GNSS 센서 데이터를 나타내는 GNSS 영역(즉, GNSS 센서의 제조사 및 프로토콜별로 구조 변경가능함), IMU 센서 데이터를 나타내는 IMU 영역(즉, IMU 센서의 제조사 및 프로토콜별로 구조 변경가능함), LIDAR 센서 데이터를 나타내는 LIDAR 영역(즉, LIDAR 센서의 제조사 및 프로토콜별로 구조 변경가능함), 및 RADAR 센서 데이터를 나타내는 RADAR 영역(즉, RADAR 센서의 제조사 및 프로토콜별로 구조 변경가능함) 등을 포함할 수 있다.
센서 데이터 전송부(220)는 센서 데이터 수신부(210)로부터의 통합 메시지에서 필요한 데이터만을 관제 서버(300)에게로 보낼 수 있다. 다시 말해서, 관제 기능에 불필요한 데이터를 관제 서버(300)에게로 전송할 필요가 없으므로, 센서 데이터 전송부(220)는 관제 기능에 필요한 데이터만을 추출(즉, 필요없는 데이터를 필터링(예컨대, 삭제)함)한 후에 미리 정해진 변환 메시지의 프레임으로 변환하여 관제 서버(300)에게로 전송한다. 즉, 센서 데이터 전송부(220)는 네트워크(도시 생략)를 통해 관제 서버(300)에게로 전송하므로, 통합 메시지의 데이터 크기를 줄이기 위해 관제 기능에 필요한 데이터만을 추출하여 보내는 것이 바람직하다.
이를 위해, 센서 데이터 전송부(220)는 변환부(222), 및 전송부(224)를 포함할 수 있다.
변환부(222)는 설정 및 옵션을 통해 관제 서버(300)에서 필요로 하는 데이터만을 추출할 수 있도록 구성된다.
그에 따라, 변환부(222)는 센서 데이터 수신부(210)로부터 전송받은 통합된 센서 데이터들을 해석하여 관제 서버(300)에서 필요한 데이터만을 추출한 후에 미리 정해진 변환 메시지의 프레임으로 변환하여 전송부(224)에게 보낸다.
여기서, 변환부(222)에서 출력되는 변환 메시지의 프레임은 헤더 영역과 변환 데이터 영역을 포함한다. 여기서, 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프(Time Stamp) 영역, 프로토콜 타입을 나타내는 프로토콜 타입(Protocol Type) 영역, 프로토콜 버전을 나타내는 프로토콜 버전(Protocol Version) 영역, 및 통합한 센서의 종류를 나타내는 센서 타입(Sensor Type) 영역을 포함할 수 있다. 변환 데이터 영역은 변환된 다수의 센서 데이터 영역을 포함할 수 있다. 예를 들어, 변환 데이터 영역은 차량 상태를 나타내는 차량 상태 영역(하위 구조를 가짐), 변환된 카메라 센서 데이터를 나타내는 카메라 영역(하위 구조를 가짐), 변환된 GNSS 센서 데이터를 나타내는 GNSS 영역(하위 구조를 가짐), 변환된 IMU 센서 데이터를 나타내는 IMU 영역(하위 구조를 가짐), 변환된 LIDAR 센서 데이터를 나타내는 LIDAR 영역(하위 구조를 가짐), 및 변환된 RADAR 센서 데이터를 나타내는 RADAR 영역(하위 구조를 가짐) 등을 포함할 수 있다.
그리고, 차량 상태 영역의 하위 구조는 현재의 차속을 나타내는 속도(Speed) 영역, 바퀴의 속도를 나타내는 휠 속도(Wheel Speed) 영역, RPM을 나타내는 RPM 영역, 브레이크 상태를 나타내는 브레이크(Breaking) 영역, 현재의 기어상태를 나타내는 기어(Gear) 영역, 현재의 조향 각도를 나타내는 스티어링 각도(Steering Angle) 영역, 방향 지시등의 상태를 나타내는 턴 시그널(Turn Signal) 영역, 연료 잔량을 나타내는 연료 레벨(Fuel Level) 영역, 자율주행 레벨을 나타내는 자율주행 레벨(Autonomous Level) 영역, 및 운전 모드를 나타내는 운전 모드(Driving Mode) 영역을 포함할 수 있다.
카메라 영역의 하위 구조는 획득한 카메라 데이터의 폭 정보를 나타내는 폭(Width) 영역, 획득한 카메라 데이터의 높이 정보를 나타내는 높이(Height) 영역, 획득한 카메라 데이터의 인코딩 포맷을 나타내는 인코딩(Encoding) 영역, 획득한 카메라 데이터의 스텝 정보를 나타내는 스텝(Step) 영역, 및 획득한 카메라 데이터를 나타내는 데이터(Data) 영역을 포함할 수 있다.
GNSS 영역의 하위 구조는 위도를 나타내는 위도(Latitude) 영역, 경도를 나타내는 경도(Longitude) 영역, 고도를 나타내는 고도(Altitude) 영역, 헤딩 정보를 나타내는 헤딩(Heading) 영역, 속도 정보를 나타내는 속도(Speed) 영역, GNSS 상태를 나타내는 상태(Status) 영역, 및 GNSS 서비스 상태를 나타내는 서비스(Service) 영역을 포함할 수 있다.
IMU 영역의 하위 구조는 롤(Roll) 정보를 나타내는 롤(Roll) 영역, 피치(Pitch) 정보를 나타내는 피치(Pitch) 영역, 요(Yaw) 정보를 나타내는 요(Yaw) 영역, X축 가속도계 정보를 나타내는 가속도(Acceleration) X 영역, Y축 가속도계 정보를 나타내는 가속도 Y 영역, Z축 가속도계 정보를 나타내는 가속도 Z 영역, X축 지자계(자력계) 정보를 나타내는 지자계(Magnetometer) X 영역, 및 Y축 지자계(자력계) 정보를 나타내는 지자계 Y 영역을 포함할 수 있다.
LIDAR 영역의 하위 구조는 채널의 수를 나타내는 채널(Channel) 영역, 현재 포인트의 수를 나타내는 포인트(Point) 영역, 및 LIDAR 데이터를 나타내는 데이터(Data) 영역을 포함할 수 있다.
RADAR 영역의 하위 구조는 도플러 앰비규어티(Doppler Ambiguity)의 값을 나타내는 도플러 앰비규어티(Doppler Ambiguity) 영역, 검출한 물체의 수를 나타내는 물체의 수(Number of objects) 영역, 스캔 인덱스 정보를 나타내는 스캔 인덱스(Scan Index) 영역, 스캔 타입 정보를 나타내는 스캔 타입(Scan Type) 영역, 및 RADAR 데이터를 나타내는 데이터(Data) 영역을 포함할 수 있다.
전송부(224)는 변환부(222)로부터의 변환 메시지를 전송 메시지화하여 관제 서버(300)에게로 전송한다. 즉, 전송부(224)는 관제 서버(300)에게 데이터를 전송하는 통신기능만을 수행한다. 따라서, 전송부(224)에서 출력되는 전송 메시지의 내용은 변환부(222)의 변환 메시지의 내용과 동일하다고 볼 수 있다.
상술한 본 발명의 실시예에 따른 센서 데이터 전송 장치(200)는 도 1에서와 같이 자율주행시스템(100)과는 별도로 구성될 수 있다. 이 경우에는, 센서 데이터 전송 장치(200)는 무선 또는 유선(유선의 경우 이더넷 또는 케이블)으로 자율주행시스템(100)과 연결될 수 있다.
한편, 상술한 본 발명의 실시예에 따른 센서 데이터 전송 장치(200)는 도 1과는 다르게, 자율주행주행시스템(100) 내부에 하나의 모듈로 탑재될 수도 있다.
도 4는 본 발명의 실시예에 따른 센서 데이터 전송 방법을 설명하기 위한 도면이다.
먼저, 자율주행시스템(100)이 GNSS, IMU, 카메라, CAN 등과 같은 센서에서 센싱된 데이터(예컨대, 인지, 판단, 제어에 필요한 데이터 및 관제에 필요한 데이터)를 미리 정의된 메시지 구조에 실어서 센서 데이터 전송 장치(200)에게로 전송한다(S10).
그에 따라, 센서 데이터 전송 장치(200)의 센서 데이터 수신부(210)가 자율주행시스템(100)으로부터의 센서 데이터들을 수신하게 되는데, 센서 데이터 수신부(210)는 센서 데이터를 수신할 때마다 그에 상응하는 수신 확인 메시지를 자율주행시스템(100)에게로 보낸다(S12). 여기서, 센서 데이터 수신부(210)가 수신 확인 메시지를 자율주행시스템(100)에게로 보내면 자율주행시스템(100)은 해당하는 전송 데이터를 내부의 저장매체에서 삭제할 수 있다.
그리고, 센서 데이터 수신부(210)내의 통합부(212)는 자율주행시스템(100)으로부터 전송받은 여러 센서 데이터들을 통합하되, 시간을 기준으로 동기화된 하나의 통합 메시지의 프레임으로 통합한다(S14).
이후, 센서 데이터 수신부(210)는 통합된 센서 데이터 메시지(즉, 통합 메시지라고 함)를 센서 데이터 전송부(220)에게로 보낸다(S16).
그에 따라, 센서 데이터 전송부(220)는 통합 메시지를 수신하였음을 의미하는 수신 확인 메시지를 센서 데이터 수신부(210)에게로 보낸다(S18). 여기서, 센서 데이터 전송부(220)가 수신 확인 메시지를 센서 데이터 수신부(210)에게로 보내면 센서 데이터 수신부(210)는 센서 데이터 전송부(220)에게로 보냈던 해당의 통합 메시지를 내부의 저장매체에서 삭제할 수 있다.
이어, 관제 기능에 불필요한 데이터를 관제 서버(300)에게로 전송할 필요가 없으므로, 센서 데이터 전송부(220)는 관제 기능에 필요한 데이터만을 추출(즉, 필요없는 데이터를 필터링(예컨대, 삭제)함)한 후에 미리 정해진 변환 메시지의 프레임으로 변환하여 관제 서버(300)에게로 전송한다.
즉, 센서 데이터 전송부(220)의 변환부(222)는 센서 데이터 수신부(210)로부터 전송받은 통합된 센서 데이터들을 해석하여 관제 서버(300)에서 필요한 데이터만을 추출(즉, 필요없는 데이터를 필터링함)한다(S20).
그리고 나서, 센서 데이터 전송부(220)의 변환부(222)는 관제 서버(300)에서 필요로 하는 데이터들을 미리 정해진 변환 메시지의 프레임으로 변환하여 전송부(224)를 통해 관제 서버(300)에게로 전송한다(S22).
마지막으로, 관제 서버(300)는 센서 데이터 전송부(220)로부터의 전송 메시지를 수신하게 되는데, 관제 서버(300)는 전송 메시지를 수신하였음을 나타내는 수신 확인 메시지를 센서 데이터 전송부(220)에게로 보낸다(S24).
기존의 자율주행시스템은 서로 동일한 구성을 가지고 있지 않기 때문에, 자율주행 데이터 전송을 위한 소프트웨어를 모듈화하여 자율주행시스템 구성이 용이하도록 하는 시스템을 구성할 필요성이 있다. 그래서, 상술한 바와 같이 본 발명에서는 자율주행에 사용되는 여러 센서 정보들을 독립적인 소프트웨어를 이용하여 관제 서버에게로 전송할 수 있도록 함으로써, 자율주행 개발 또는 운영사는 별도의 데이터 취득 시스템 구성이 불필요하게 된다.
또한, 상술한 본 발명의 센서 데이터 전송 방법은, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 데이터 획득 소프트웨어 모듈부 10a : CAN 컨테이너
10b : GNSS 컨테이너 10c : IMU 컨테이너
10d : 카메라 컨테이너 10e : 차량 정보 컨테이너
20 : 게이트웨이부 30 : 자율주행 애플리케이션 모듈부
31 : 인지부 32 : 판단부
33 : 제어부 34 : 저장부
100 : 자율주행시스템 200 : 센서 데이터 전송 장치
210 : 센서 데이터 수신부 212 : 통합부
220 : 센서 데이터 전송부 222 : 변환부
224 : 전송부 300 : 관제 서버

Claims (14)

  1. 자율주행시스템으로부터 전송받은 다수의 센서 데이터를 통합하되, 시간을 기준으로 동기화된 하나의 통합 메시지의 형태로 통합하는 통합부를 포함하는 센서 데이터 수신부; 및
    상기 통합 메시지내의 데이터에서 관제 기능에 필요한 데이터만을 추출하고 추출한 데이터를 기반으로 변환 메시지를 생성하는 변환부, 및 상기 변환부로부터의 변환 메시지를 전송 메시지화하여 관제 서버에게로 전송하는 전송부를 포함하는 센서 데이터 전송부;를 포함하고,
    상기 통합 메시지는 헤더 영역과 통합 정보 영역을 포함하고,
    상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 프로토콜 버전을 나타내는 프로토콜 버전 영역, 및 통합한 센서의 종류를 나타내는 센서 타입 영역을 포함하고,
    상기 통합 정보 영역은 다수의 센서 데이터 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 통합 정보 영역은 차량 상태를 나타내는 차량 상태 영역, 카메라 센서 데이터를 나타내는 카메라 영역, GNSS 센서 데이터를 나타내는 GNSS 영역, IMU 센서 데이터를 나타내는 IMU 영역, LIDAR 센서 데이터를 나타내는 LIDAR 영역, 및 RADAR 센서 데이터를 나타내는 RADAR 영역 중에서 하나 이상을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  4. 청구항 1에 있어서,
    상기 변환 메시지는 헤더 영역과 변환 데이터 영역을 포함하고,
    상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 프로토콜 타입을 나타내는 프로토콜 타입 영역, 프로토콜 버전을 나타내는 프로토콜 버전 영역, 및 통합한 센서의 종류를 나타내는 센서 타입 영역을 포함하고,
    상기 변환 데이터 영역은 변환된 다수의 센서 데이터 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  5. 청구항 4에 있어서,
    상기 변환 데이터 영역은 차량 상태를 나타내는 차량 상태 영역, 변환된 카메라 센서 데이터를 나타내는 카메라 영역, 변환된 GNSS 센서 데이터를 나타내는 GNSS 영역, 변환된 IMU 센서 데이터를 나타내는 IMU 영역, 변환된 LIDAR 센서 데이터를 나타내는 LIDAR 영역, 및 변환된 RADAR 센서 데이터를 나타내는 RADAR 영역 중에서 하나 이상을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  6. 청구항 5에 있어서,
    상기 차량 상태 영역은 하위 구조를 포함하되,
    상기 차량 상태 영역의 하위 구조는 현재의 차속을 나타내는 속도 영역, 바퀴의 속도를 나타내는 휠 속도 영역, RPM을 나타내는 RPM 영역, 브레이크 상태를 나타내는 브레이크 영역, 현재의 기어상태를 나타내는 기어 영역, 현재의 조향 각도를 나타내는 스티어링 각도 영역, 방향 지시등의 상태를 나타내는 턴 시그널 영역, 연료 잔량을 나타내는 연료 레벨 영역, 자율주행 레벨을 나타내는 자율주행 레벨 영역, 및 운전 모드를 나타내는 운전 모드 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  7. 청구항 5에 있어서,
    상기 카메라 영역은 하위 구조를 포함하되,
    상기 카메라 영역의 하위 구조는 획득한 카메라 데이터의 폭 정보를 나타내는 폭 영역, 획득한 카메라 데이터의 높이 정보를 나타내는 높이 영역, 획득한 카메라 데이터의 인코딩 포맷을 나타내는 인코딩 영역, 획득한 카메라 데이터의 스텝 정보를 나타내는 스텝 영역, 및 획득한 카메라 데이터를 나타내는 데이터 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  8. 청구항 5에 있어서,
    상기 GNSS 영역은 하위 구조를 포함하되,
    상기 GNSS 영역의 하위 구조는 위도를 나타내는 위도 영역, 경도를 나타내는 경도 영역, 고도를 나타내는 고도 영역, 헤딩 정보를 나타내는 헤딩 영역, 속도 정보를 나타내는 속도 영역, GNSS 상태를 나타내는 상태 영역, 및 GNSS 서비스 상태를 나타내는 서비스 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  9. 청구항 5에 있어서,
    상기 IMU 영역은 하위 구조를 포함하되,
    상기 IMU 영역의 하위 구조는 롤(Roll) 정보를 나타내는 롤 영역, 피치(Pitch) 정보를 나타내는 피치 영역, 요(Yaw) 정보를 나타내는 요 영역, X축 가속도계 정보를 나타내는 가속도 X 영역, Y축 가속도계 정보를 나타내는 가속도 Y 영역, Z축 가속도계 정보를 나타내는 가속도 Z 영역, X축 지자계 정보를 나타내는 지자계 X 영역, 및 Y축 지자계정보를 나타내는 지자계 Y 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  10. 청구항 5에 있어서,
    상기 LIDAR 영역은 하위 구조를 포함하되,
    상기 LIDAR 영역의 하위 구조는 채널의 수를 나타내는 채널 영역, 현재 포인트의 수를 나타내는 포인트 영역, 및 LIDAR 데이터를 나타내는 데이터 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  11. 청구항 5에 있어서,
    상기 RADAR 영역은 하위 구조를 포함하되,
    상기 RADAR 영역의 하위 구조는 도플러 앰비규어티(Doppler Ambiguity)의 값을 나타내는 도플러 앰비규어티 영역, 검출한 물체의 수를 나타내는 물체의 수 영역, 스캔 인덱스 정보를 나타내는 스캔 인덱스 영역, 스캔 타입 정보를 나타내는 스캔 타입 영역, 및 RADAR 데이터를 나타내는 데이터 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  12. 청구항 1에 있어서,
    상기 자율주행시스템으로부터 전송받은 하나 이상의 센서 데이터는 상기 자율주행시스템에서 미리 정해져 있는 메시지 구조를 기반으로 하는 데이터인 것을 특징으로 하는 센서 데이터 전송 장치.
  13. 청구항 12에 있어서,
    상기 미리 정해져 있는 메시지 구조는 헤더 영역과 데이터 영역을 포함하고,
    상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 전송 프레임의 ID를 나타내는 프레임 ID 영역, 및 전송 프레임의 순서를 나타내는 시퀀스 영역을 포함하고,
    상기 데이터 영역은 해당 센서 데이터의 정보를 나타내는 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 장치.
  14. 센서 데이터 전송 장치가 자율주행시스템으로부터의 센서 데이터를 관제 서버에게로 전송하는 방법으로서,
    상기 자율주행시스템으로부터의 다수의 센서 데이터를 수신하는 단계;
    상기 수신한 다수의 센서 데이터를 통합하되, 시간을 기준으로 동기화된 하나의 통합 메시지의 형태로 통합하는 단계;
    상기 통합 메시지의 데이터에서 관제 기능에 필요한 데이터만을 추출하는 단계;
    상기 추출한 데이터를 기반으로 변환 메시지를 생성하는 단계; 및
    상기 변환 메시지를 전송 메시지화하여 상기 관제 서버에게로 전송하는 단계;를 포함하고,
    상기 통합 메시지는 헤더 영역과 통합 정보 영역을 포함하고,
    상기 헤더 영역은 데이터의 획득 시간을 나타내는 타임 스탬프 영역, 프로토콜 버전을 나타내는 프로토콜 버전 영역, 및 통합한 센서의 종류를 나타내는 센서 타입 영역을 포함하고,
    상기 통합 정보 영역은 다수의 센서 데이터 영역을 포함하는 것을 특징으로 하는 센서 데이터 전송 방법.
KR1020190146589A 2019-11-15 2019-11-15 센서 데이터 전송 장치 및 방법 KR102197735B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190146589A KR102197735B1 (ko) 2019-11-15 2019-11-15 센서 데이터 전송 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146589A KR102197735B1 (ko) 2019-11-15 2019-11-15 센서 데이터 전송 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102197735B1 true KR102197735B1 (ko) 2021-01-05

Family

ID=74140817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146589A KR102197735B1 (ko) 2019-11-15 2019-11-15 센서 데이터 전송 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102197735B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102480565B1 (ko) * 2022-09-05 2022-12-22 한화시스템(주) 무인 함정의 자율항해를 위한 빅데이터 수집 시스템 및 방법
KR102551105B1 (ko) * 2022-08-01 2023-07-05 (주)엔텔스 이종 데이터 기반의 메타데이터 획득 장치
CN116461539A (zh) * 2023-04-10 2023-07-21 北京辉羲智能科技有限公司 一种采集传感器时序数据的自动驾驶SoC芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110047301A (ko) * 2009-10-30 2011-05-09 현대자동차주식회사 차량 통합 제어 시스템
KR101491622B1 (ko) * 2014-02-17 2015-02-11 연세대학교 산학협력단 자율 주행형 차량의 주행 제어 장치 및 방법
KR20180034792A (ko) * 2016-09-28 2018-04-05 전자부품연구원 다중 센서 데이터 취득/리시뮬레이션 시스템 및 방법
KR20190102145A (ko) 2019-06-25 2019-09-03 엘지전자 주식회사 자율주행시스템에서 원격주행을 위한 센싱정보 전송방법 및 이를 위한 장치
KR20190106903A (ko) * 2019-08-29 2019-09-18 엘지전자 주식회사 관심 정보 수집 장치 및 방법
KR20190107277A (ko) * 2019-08-29 2019-09-19 엘지전자 주식회사 자율 주행 시스템에서 차량을 제어하는 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110047301A (ko) * 2009-10-30 2011-05-09 현대자동차주식회사 차량 통합 제어 시스템
KR101491622B1 (ko) * 2014-02-17 2015-02-11 연세대학교 산학협력단 자율 주행형 차량의 주행 제어 장치 및 방법
KR20180034792A (ko) * 2016-09-28 2018-04-05 전자부품연구원 다중 센서 데이터 취득/리시뮬레이션 시스템 및 방법
KR20190102145A (ko) 2019-06-25 2019-09-03 엘지전자 주식회사 자율주행시스템에서 원격주행을 위한 센싱정보 전송방법 및 이를 위한 장치
KR20190106903A (ko) * 2019-08-29 2019-09-18 엘지전자 주식회사 관심 정보 수집 장치 및 방법
KR20190107277A (ko) * 2019-08-29 2019-09-19 엘지전자 주식회사 자율 주행 시스템에서 차량을 제어하는 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102551105B1 (ko) * 2022-08-01 2023-07-05 (주)엔텔스 이종 데이터 기반의 메타데이터 획득 장치
KR102480565B1 (ko) * 2022-09-05 2022-12-22 한화시스템(주) 무인 함정의 자율항해를 위한 빅데이터 수집 시스템 및 방법
CN116461539A (zh) * 2023-04-10 2023-07-21 北京辉羲智能科技有限公司 一种采集传感器时序数据的自动驾驶SoC芯片

Similar Documents

Publication Publication Date Title
KR102197735B1 (ko) 센서 데이터 전송 장치 및 방법
CN113376657B (zh) 用于自动驾驶车辆lidar数据的自动标记***
KR101491622B1 (ko) 자율 주행형 차량의 주행 제어 장치 및 방법
CN110550029A (zh) 障碍物避让方法及装置
CN108334087B (zh) 一种基于软件定义的平台化高级驾驶辅助***
US11886187B1 (en) Planner system recovery for autonomous vehicles
US20230048680A1 (en) Method and apparatus for passing through barrier gate crossbar by vehicle
US20200271456A1 (en) Method for the generation of a merged free-space map, electronic control device and storage medium
CN111301412A (zh) 队列行驶***
CN112462751B (zh) 车辆控制装置、车辆控制方法及存储介质
CN110568847A (zh) 一种车辆的智能控制***、方法,车载设备和存储介质
CN115140086A (zh) 车辆控制装置、车辆控制方法及存储介质
KR102261306B1 (ko) 자율주행시스템
CN113359724A (zh) 基于无人机的车辆智能驾驶***、方法及存储介质
JP7223585B2 (ja) 車両制御装置および車両制御システム
CN110588643B (zh) 车辆控制装置、车辆控制方法及存储介质
CN115056784B (zh) 车辆控制方法、装置、车辆、存储介质及芯片
CN115145246B (zh) 控制器的测试方法、装置、车辆、存储介质及芯片
CN116324662B (zh) 用于跨自主车队执行结构化测试的***
JP2019197399A (ja) 車両の経路決定装置
WO2020158489A1 (ja) 可視光通信装置、可視光通信方法及び可視光通信プログラム
CN114930125A (zh) 用于确定紧急情况轨迹和用于运行自动化车辆的方法和设备
JP7282280B1 (ja) 車両制御装置、車両制御方法、およびプログラム
US20240194065A1 (en) Methods for the infrastructure-supported assistance of a motor vehicle
Sung et al. System architecture for autonomous driving with infrasturcture sensors

Legal Events

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