KR102225108B1 - 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 - Google Patents
이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 Download PDFInfo
- Publication number
- KR102225108B1 KR102225108B1 KR1020200099184A KR20200099184A KR102225108B1 KR 102225108 B1 KR102225108 B1 KR 102225108B1 KR 1020200099184 A KR1020200099184 A KR 1020200099184A KR 20200099184 A KR20200099184 A KR 20200099184A KR 102225108 B1 KR102225108 B1 KR 102225108B1
- Authority
- KR
- South Korea
- Prior art keywords
- driving
- moving object
- image
- speed
- autonomous driving
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 description 15
- 230000004927 fusion Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000001328 optic nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/02—Estimation 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/10—Estimation 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/105—Speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to occupants
- B60W2540/10—Accelerator pedal position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to occupants
- B60W2540/12—Brake pedal position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Remote Sensing (AREA)
- Transportation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 이동체의 자율 주행 제어 방법은 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하는 단계와, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 현재 주행 속도를 추출하는 단계와, 상기 이동체가 도달하고자 하는 목표 주행 속도, 상기 전방 주행 이미지, 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하는 단계를 포함한다.
Description
아래 실시예들은 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들에 관한 것이다.
최근에는 4차 산업혁명의 핵심으로 평가받고 있는 인공지능 기술, 특히 이미지를 빠르게 처리할 수 있는 합성곱 신경망(Convolutional Neural Network, CNN)의 등장으로 컴퓨터 비전과 관련된 다양한 산업이 발달하고 있다. 3차원 Convolution 연산을 하는 CNN의 특성은 인간의 시신경을 모방하여 컴퓨터 비전 산업을 크게 발전시켰고, 이미지를 처리해야하는 다양한 산업의 발달을 촉진하게 되었다.
특히, 최근에는 이미지를 처리하는 다양한 산업 중에서 자율주행 시스템 개발에 인공지능을 접목하여 다양한 연구가 진행되고 있다. 이미 google, NVIDIA, BMW 등 많은 대기업에서는 자율주행 시스템 개발을 오래전부터 진행해왔다. 기존 자율주행 시스템의 방식은 비싼 레이더, 라이다(LiDAR)와 같은 센서에 크게 의존해 왔고, 수집된 센서 데이터로부터 주행 방안을 결정하는 많은 연산량과 알고리즘을 필요로 했다.
그 중 차량의 영상데이터에 해당하는 핸들의 조향값을 학습시킨 연구도 있었고 의미 있는 결과를 보여주었다. 이러한 방식으로 영상데이터에 해당하는 엑셀과 브레이크 값들을 학습시킨 경우도 있었는데, 이러한 경우는 학습이 잘 진행되지 않았고 좋은 결과를 보여주지 못했다.
실시예는 영상데이터와 함께 현재 차량의 속도인 현재 주행 속도와 도달하고자 하는 목표 주행 속도를 함께 이용하여 학습시키는 기술을 제공할 수 있다.
실시예는 자율주행 차량의 주행 시 엑셀과 브레이크를 제어하는 기술을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 이동체의 자율 주행 제어 방법은 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하는 단계와, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 현재 주행 속도를 추출하는 단계와, 상기 이동체가 도달하고자 하는 목표 주행 속도, 상기 전방 주행 이미지, 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하는 단계를 포함한다.
상기 생성하는 단계는 CNN 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하는 단계와, 상기 특징 맵, 상기 주행 속도, 상기 목표 주행 속도를 이용하여 LSTM 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는 단계를 포함할 수 있다.
상기 자율 주행 제어 정보는 상기 이동체의 브레이크 값 및 액셀레이터 값을 포함할 수 있다.
상기 방법은 상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어하는 단계를 더 포함할 수 있다.
상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭될 수 있다.
상기 획득하는 단계는 상기 목표 주행 속도의 입력에 응답하여 상기 주행 이미지를 획득하는 단계를 포함할 수 있다.
일 실시예에 따른 이동체의 자율 주행을 제어하는 장치는 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 컨트롤러를 포함하고, 상기 인스트럭션들이 실행될 때, 상기 컨트롤러는 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하고, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하고, 상기 이동체가 도달하고자 하는 목표 주행 속도, 상기 전방 주행 이미지, 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성한다.
상기 컨트롤러는 CNN 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하고, 상기 특징 맵, 상기 주행 속도, 상기 목표 주행 속도를 이용하여 LSTM 네트워크를 통해 상기 자율 주행 제어 정보를 생성할 수 있다.
상기 자율 주행 제어 정보는 상기 이동체의 브레이크 값 및 액셀레이터 값을 포함할 수 있다.
상기 컨트롤러는 상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어할 수 있다.
상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭될 수 있다.
상기 컨트롤러는 상기 목표 주행 속도의 입력에 응답하여 상기 주행 이미지를 획득할 수 있다.
도 1은 일 실시예에 따른 자율 주행 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 차량 제어 장치의 개략적인 블록도를 나타낸다.
도 3은 차량 제어 장치에서 이용하는 신경망 구조를 설명하기 위한 도면이다.
도 4는 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 5는 도 4에 도시된 주행 시뮬레이션 학습 모듈의 학습 동작을 설명하기 위한 일 예를 나타낸다.
도 2는 도 1에 도시된 차량 제어 장치의 개략적인 블록도를 나타낸다.
도 3은 차량 제어 장치에서 이용하는 신경망 구조를 설명하기 위한 도면이다.
도 4는 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 5는 도 4에 도시된 주행 시뮬레이션 학습 모듈의 학습 동작을 설명하기 위한 일 예를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
종래의 엑셀과 브레이크 값을 학습시키는 방법으로 영상 데이터(예를 들어, 전방 이미지)만을 이용한 방법은 좋은 결과를 보여주지 않는다. 엑셀과 브레이크의 경우에는 영상 데이터 외에도 큰 영향을 미치는 팩터가 있다. 즉, 단순 영상 데이터만을 가지고 엑셀과 브레이크 값에 대해 학습을 시키는 경우에는 학습에 대한 정보가 부족하여 제대로 된 학습이 되지 않고 그로 인해 좋은 결과를 보여주지 못하는 것이다.
이에, 실시예는 영상 데이터와 현재 차량의 속도인 주행 속도 그리고 도달하려는 속도인 목표 주행 속도를 같이 학습하는 방법에 관한 것이다. 이하에서는 이에 대해 상세히 설명하도록 한다.
도 1은 일 실시예에 따른 자율 주행 시스템의 개략적인 블록도를 나타낸다.
자율 주행 시스템(10)은 이미지 제공 장치(100), 차량 제어 장치(300) 및 차량(500)을 포함한다. 이하에서는 설명의 편의를 위해 차량(500)으로 한정하여 설명하지만, 이하에서 설명되는 이미지 제공 장치(100) 및 차량 제어 장치(300)에 관한 내용은 다양한 이동체에 적용 가능하다. 이동체는 바이크, 전기 자전거 등 다양한 이동 수단을 의미할 수 있다.
이미지 제공 장치(100)는 카메라, LIDAR, RADAR, 초음파 센서 등 중에서 적어도 하나를 통해 차량(500)의 내부 및/또는 외부를 촬영할 수 있다. 이미지 제공 장치(100)는 차량(500)의 내부 및/또는 외부를 촬영하여 차량(500)의 주행 이미지를 생성할 수 있다. 이미지 제공 장치(100)는 주행 이미지를 차량 제어 장치(300)로 전송할 수 있다.
주행 이미지는 차량(500)이 주행 중일 때 차량(500)의 내부 및/또는 외부가 촬영된 이미지를 포함할 수 있다. 예를 들어, 주행 이미지는 주행 중인 차량(500)의 주변 환경과 차량(500)의 운전석이 함께 촬영되어 생성될 수 있다. 이때, 주행 이미지는 차량(500)의 전방 주행 이미지와 함께 촬영 시 주행 중인 차량(500)의 주행 속도(예를 들어, 현재 주행 속도)를 포함할 수 있다. 주행 이미지는 주행 이미지가 촬영된 시간 정보 포함되거나 매칭되어 전송될 수 있다. 시간 정보는 날짜 및/또는 시간을 포함하며, 타임 스탬프일 수 있다.
차량 제어 장치(300)는 주행 이미지를 수신할 수 있다. 또한, 차량 제어 장치(300)는 차량(500)이 도달하고자 하는 목표 주행 속도도 수신할 수 있다. 목표 주행 속도는 사용자로부터 차량 제어 장치(300)로 입력될 수 있다. 사용자는 차량(300)의 운전자 및/또는 차량 제어 장치(300)를 학습시키는 자일 수 있다.
차량 제어 장치(300)는 입력된 목표 주행 속도에 응답하여 이미지 제공 장치(100)가 주행 이미지를 생성하도록 이미지 제공 장치(100)를 제어할 수 있다. 즉, 차량 제어 장치(300)에 목표 속도가 입력될 때, 차량(500)이 목표 주행 속도로 도달할 때까지의 차량(100)의 전방 주행 이미지와 현재 주행 속도가 획득되어 차량 제어 장치(200)로 전송될 수 있다.
차량 제어 장치(300)는 차량(500)의 전방 주행 이미지 및 차량(100)의 현재 주행 속도 및 목표 주행 속도를 이용하여 종단간 학습 방식을 통해 차량(500)의 자율 주행을 제어하기 위한 자율 주행 제어 정보를 생성할 수 있다. 차량 제어 장치(300)는 자율 주행 제어 정보에 기초하여 차량(500)의 주행을 제어할 수 있다.
자율 주행 제어 정보는 엑셀 및 브레이크의 값(예를 들어, 제어 값)을 포함할 수 있다. 즉, 차량 제어 장치(300)는 차량(500)의 전방 주행 이미지와, 차량(100)의 현재 주행 속도 및 목표 주행 속도를 이용하여 차량(500)의 자율 주행을 제어하기 위한 차량(500)의 엑셀레이터 및 브레이크의 값을 출력할 수 있다.
차량 제어 장치(300)는 차량(500)의 전방 주행 이미지와, 차량(100)의 현재 주행 속도 및 목표 주행 속도를 이용하여 차량(500)의 자율 주행을 효율적으로 제어할 수 있다. 차량 제어 장치(300)는 차량(500)의 전방 주행 이미지 뿐만 아니라 차량(100)의 현재 주행 속도 및 목표 주행 속도를 고려하여 차량(500)의 엑셀 및 브레이크의 값을 더 정확하게 제어함으로써 기존의 자율 주행 제어 방식 보다 인간의 주행 방식을 더 정확하게 모방할 수 있다.
도 2는 도 1에 도시된 차량 제어 장치의 개략적인 블록도를 나타낸다.
차량 제어 장치(300)는 메모리(310) 및 컨트롤러(330)를 포함할 수 있다.
메모리(310)는 컨트롤러(330)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 컨트롤러(330)의 동작 및/또는 컨트롤러(330)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
컨트롤러(330)는 메모리(310)에 저장된 데이터를 처리할 수 있다. 컨트롤러(330)는 메모리(310)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 컨트롤러(330)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
컨트롤러(330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
컨트롤러(330)는 차량 제어 장치(300)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(330)는 메모리(310)의 동작을 제어할 수 있다.
컨트롤러(300)는 차량(500)이 도달하고자 하는 목표 주행 속도 및 차량(500)의 주행 이미지를 수신할 수 있다. 컨트롤러(300)는 입력되는 목표 주행 속도에 응답하여 차량(500)의 주행 이미지를 획득할 수 있다.
컨트롤러(300)는 주행 이미지로부터 차량(500)의 전방 주행 이미지 및 차량(500)의 주행 속도를 추출할 수 있다.
컨트롤러(330)는 CNN(Convolutional Neural Network)-LSTM(Long Short-term Memory) 융합 네트워크를 이용하여 자율 주행 제어 정보를 생성할 수 있다. CNN-LSTM 융합 네트워크는 종단간 학습 방식에 기반한 네트워크로 CNN-LSTM이 융합되어 설계되어 시간의 흐름에 따른 변화를 고려할 수 있다. CNN은 공간적 특징을 추출하기 유리할 수 있다. LSTM은 시간의 흐름을 고려하여 시간적 특징을 추출하기 유리할 수 있다.
컨트롤러(330)는 차량(500)의 전방 주행 이미지와, 차량(100)의 현재 주행 속도 및 목표 주행 속도를 순차적으로 CNN-LSTM 융합 네트워크에 입력하여 자율 주행 제어 정보를 생성할 수 있다. 전방 주행 이미지는 CNN 네트워크로 입력되고, 차량(100)의 현재 주행 속도 및 목표 주행 속도는 LSTM 네트워크로 입력될 수 있다. 이때, 전방 주행 이미지가 CNN 네트워크로 입력되어 CNN 네트워크로부터 출력되는 특징 맵은 차량(100)의 현재 주행 속도 및 목표 주행 속도와 함께 LSTM 네트워크로 입력될 수 있다.
컨트롤러(330)는 CNN-LSTM 융합 네트워크를 구성하는 CNN 네트워크에 전방 주행 이미지를 입력하여 전방 주행 이미지의 특징 맵을 추출할 수 있다. 컨트롤러(330)는 CNN-LSTM 융합 네트워크를 구성하는 LSTM 네트워크에 전방 주행 이미지로부터 추출된 특징 맵, 현재 주행 속도 및 목표 주행 속도를 입력하여 차량(500)의 엑셀 및 브레이크의 값을 출력할 수 있다.
도 3은 차량 제어 장치에서 이용하는 신경망 구조를 설명하기 위한 도면이다.
CNN-LSTM 융합 네트워크는 CNN 네트워크와 LSTM 네트워크가 융합된 것이다. 차량(500) 주행의 과정은 시계열 형태의 데이터이므로 LSTM을 사용하는 것이다. CNN-LSTM 융합 네트워크는 복수의 CNN-LSTM 셀 구조를 포함할 수 있다. 각각의 CNN-LSTM 셀 구조는 CNN 네트워크 및 LSTM 셀로 구성될 수 있다.
운전자는 실제 차량주행 시 자신 앞에 보이는 장면(전방 주행 이미지)뿐만 아니라 차량(500)의 현재 주행 속도와 도달하고자 하는 목표 주행 속도를 생각하며 엑셀과 브레이크를 조작한다. 즉, 엑셀과 브레이크 값에 대한 학습에는 전방 주행 이미지 외에 현재 주행 속도와 목표 주행 속도가 중요한 학습 요소일 수 있다.
신경망, 즉 CNN-LSTM 융합 네트워크의 입력은 전방 주행 이미지, 현재 주행 속도, 및 목표 주행 속도일 수 있다. CNN-LSTM 융합 네트워크의 출력은 엑셀 값과 브레이크 값일 수 있다.
학습 데이터는 시계열 형태로 구성되어 CNN-LSTM 융합 네트워크가 학습될 수 있다. CNN 네트워크는 전방 주행 임지로부터 특징을 나타내는 특징 맵을 추출할 수 있다. 시계열 형태의 학습 데이터인 특징 맵, 현재 주행 속도, 및 목표 주행 속도는 LSTM 구조를 통해 학습될 수 있다.
상술된 바와 같이 학습된 CNN-LSTM 융합 네트워크는 전방 주행 이미지, 현재 주행 속도, 및 목표 주행 속도를 시계열 입력으로 받아 엑셀 값과 브레이크 값을 추론하여 출력할 수 있다.
도 4는 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타내고, 도 5는 도 4에 도시된 주행 시뮬레이션 학습 모듈의 학습 동작을 설명하기 위한 일 예를 나타낸다.
컨트롤러(330)는 모듈화될 수 있다. 예를 들어, 컨트롤러(330)는 학습 데이터 수집 모듈(331) 및 주행 시뮬레이션 학습 모듈(333)을 포함할 수 있다.
데이터 수집 모듈(331)은 주행 시뮬레이터인 유로 트럭 시뮬레이터(euro truck driving simulator)에서 차량(500)에 대한 주행 데이터를 수집하여 클라우드 서버에 저장 및 관리할 수 있다. 클라우드 서버는 HDFS(Hadoop Distributed File System)-based cloud server일 수 있다. 데이터 수집 모듈(331)은 차량(500)에 대한 주행 데이터를 타임 스탬프와 동기화하여 저장할 수 있다. 주행 데이터는 시간대 별로 저장될 수 있다. 주행 데이터는 차량(500)의 주행 이미지, 주행 방향 파라미터 및 주행 속도 파라미터 등일 수 있다.
주행 시뮬레이션 학습 모듈(333)은 클라우드 서버에 저장된 주행 데이터를 시간 순서로 CNC-HLTM 융합 네트워크에 입력하여 자율 주행 제어 정보를 추론할 수 있다.
주행 시뮬레이션 학습 모듈(333)은 추론된 자율 주행 제어 정보와 클라우드 서버에 저장된 실제 주행 데이터를 비교하여 CNC-HLTM 융합 네트워크를 학습할 수 있다. 예를 들어, 주행 시뮬레이션 학습 모듈(333)은 추론된 엑셀 값 및 브레이크 값과 실제 엑셀 값과 브레이크 값 간의 평균 제곱 오차가 최소화되도록 CNC-HLTM 융합 네트워크의 가중치를 학습할 수 있다.
상술한 바와 같이, 실시예는 영상 데이터와 현재 차량의 속도인 주행 속도와 도달하려는 속도인 목표 주행 속도를 이용하여 학습하며, 학습된 신경망을 이용하여 자율 주행을 위해 차량 제어에 필요한 엑셀 값과 브레이크 값을 출력할 수 있다. 종래에는 엑셀과 브레이크를 학습하는 경우에는 학습에 필요한 정보가 부족하여 좋은 성능을 얻지 못하였는데, 실시예에서는 현재 주행 속도와 목표 주행 속도에 대한 정보를 추가로 주어 성능 개선에 도움을 줄 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (12)
- 이동체의 자율 주행 제어 방법에 있어서,
상기 이동체가 도달하고자 하는 목표 주행 속도의 입력에 응답하여 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하는 단계;
상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 현재 주행 속도를 추출하는 단계; 및
상기 목표 주행 속도, 상기 전방 주행 이미지, 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하는 단계
를 포함하고,
상기 생성하는 단계는,
CNN 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하는 단계; 및
상기 특징 맵, 상기 주행 속도, 상기 목표 주행 속도를 이용하여 LSTM 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는 단계
를 포함하는, 자율 주행 제어 방법.
- 삭제
- 제1항에 있어서,
상기 자율 주행 제어 정보는,
상기 이동체의 브레이크 값 및 액셀레이터 값을 포함하는, 자율 주행 제어 방법.
- 제1항에 있어서,
상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어하는 단계
를 더 포함하는, 자율 주행 제어 방법.
- 제1항에 있어서,
상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭되는, 자율 주행 제어 방법.
- 삭제
- 이동체의 자율 주행을 제어하는 장치에 있어서,
인스트럭션들을 포함하는 메모리; 및
상기 인스트럭션들을 실행하기 위한 컨트롤러
를 포함하고,
상기 인스트럭션들이 실행될 때, 상기 컨트롤러는,
상기 이동체가 도달하고자 하는 목표 주행 속도의 입력에 응답하여 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하고, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하고, 상기 목표 주행 속도, 상기 전방 주행 이미지, 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하고,
상기 컨트롤러는,
CNN 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하고,
상기 특징 맵, 상기 주행 속도, 상기 목표 주행 속도를 이용하여 LSTM 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는, 장치.
- 삭제
- 제7항에 있어서,
상기 자율 주행 제어 정보는,
상기 이동체의 브레이크 값 및 액셀레이터 값을 포함하는, 장치.
- 제7항에 있어서,
상기 컨트롤러는,
상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어하는, 장치.
- 제7항에 있어서,
상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭되는, 장치.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200099184A KR102225108B1 (ko) | 2020-08-07 | 2020-08-07 | 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200099184A KR102225108B1 (ko) | 2020-08-07 | 2020-08-07 | 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102225108B1 true KR102225108B1 (ko) | 2021-03-09 |
Family
ID=75179558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200099184A KR102225108B1 (ko) | 2020-08-07 | 2020-08-07 | 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102225108B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020500759A (ja) * | 2016-12-02 | 2020-01-16 | バイエリシエ・モトーレンウエルケ・アクチエンゲゼルシヤフト | 単眼動画データに基づく車両の挙動推定システム及び方法 |
-
2020
- 2020-08-07 KR KR1020200099184A patent/KR102225108B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020500759A (ja) * | 2016-12-02 | 2020-01-16 | バイエリシエ・モトーレンウエルケ・アクチエンゲゼルシヤフト | 単眼動画データに基づく車両の挙動推定システム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Parallel planning: A new motion planning framework for autonomous driving | |
JP7170619B2 (ja) | 走行経路を生成するための方法及び装置 | |
CN108537326A (zh) | 用于自动驾驶车辆的方法、介质和系统 | |
WO2019230339A1 (ja) | 物体識別装置、移動体用システム、物体識別方法、物体識別モデルの学習方法及び物体識別モデルの学習装置 | |
CN109215067A (zh) | 基于cnn和crf模型生成高分辨率3-d点云 | |
US11899748B2 (en) | System, method, and apparatus for a neural network model for a vehicle | |
KR102206684B1 (ko) | 주행 상황 및 운전 습관을 분석하기 위한 학습 방법 및 이를 수행하는 장치 | |
CN108345838A (zh) | 利用模拟图像训练自动交通灯检测模型 | |
JP7421889B2 (ja) | イメージ認識モデルのトレーニング装置及び方法並びにイメージ認識方法 | |
CN111627054A (zh) | 用于预测高置信度密集点云的深度补全误差地图的方法和装置 | |
US20210166340A1 (en) | Real-time generation of functional road maps | |
US11663294B2 (en) | System and method for training a model using localized textual supervision | |
KR20210057649A (ko) | 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 | |
Zhao et al. | An LGMD based competitive collision avoidance strategy for UAV | |
US10838418B2 (en) | Method for providing autonomous driving service platform to be used for supporting autonomous driving of vehicles by using competitive computing and information fusion, and server using the same | |
JP6835915B2 (ja) | 自動運転支援方法、運転機器、支援機器及びコンピュータ読み取り可能な記憶媒体 | |
CN115339453A (zh) | 车辆换道决策信息生成方法、装置、设备和计算机介质 | |
KR102225108B1 (ko) | 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들 | |
Curiel-Ramirez et al. | Hardware in the loop framework proposal for a semi-autonomous car architecture in a closed route environment | |
CN112668596B (zh) | 三维物体识别方法及装置、识别模型训练方法及装置 | |
US12007499B2 (en) | Sensor calibration in advanced driver-assistance system verification | |
CN116399360A (zh) | 车辆路径规划方法 | |
CN110719487B (zh) | 视频预测方法和装置、电子设备及车辆 | |
Viswanath et al. | Virtual simulation platforms for automated driving: Key care-about and usage model | |
WO2022141114A1 (zh) | 视线估计方法、装置、车辆及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |