KR102208251B1 - 고신뢰 자율주행 시스템 아키텍처 - Google Patents
고신뢰 자율주행 시스템 아키텍처 Download PDFInfo
- Publication number
- KR102208251B1 KR102208251B1 KR1020180133393A KR20180133393A KR102208251B1 KR 102208251 B1 KR102208251 B1 KR 102208251B1 KR 1020180133393 A KR1020180133393 A KR 1020180133393A KR 20180133393 A KR20180133393 A KR 20180133393A KR 102208251 B1 KR102208251 B1 KR 102208251B1
- Authority
- KR
- South Korea
- Prior art keywords
- driving
- driving route
- route
- error
- final
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 89
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 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/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
-
- 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
- B60W30/00—Purposes 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/10—Path keeping
-
- 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
- B60W40/04—Traffic 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/0097—Predicting future conditions
-
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
- G05D1/0282—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
-
- 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/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Traffic Control Systems (AREA)
Abstract
자율 주행 차량의 제어 방법 및 장치가 제공된다. 자율 주행 차량의 주변에 대한 센싱 데이터를 수신하여, 자율 주행 차량의 주행 환경 인식 데이터를 결정할 수 있다. 제1 모듈에서, 센싱 데이터에 기초하여 자율 주행 차량의 제1 주행 경로를 예측하고, 제2 모듈에서, 주행 환경 인식 데이터에 기초하여 자율 주행 차량의 제2 주행 경로를 예측할 수 있다. 제1 주행 경로와 제2 주행 경로를 비교하여 최종 주행 경로를 선택한다.
Description
아래의 실시예들은 자율 주행 차량의 제어 방법 및 장치에 관한 것으로, 보다 상세하게는 학습 기반의 주행 경로 예측 방법과 인식 기반의 주행 경로 예측 방법을 상보적으로 사용하는 방법 및 장치에 관한 것이다.
최근, 미래 산업의 핵심 주제는 CPS로 대표될 수 있다. CPS는 사용자에게 보다 개인적이고 편리한 서비스를 제공하기 위해 물리적 환경과 사이버 세계를 결합한 개념으로 정의될 수 있다. CPS의 다양한 요소들 사이에서 자율주행으로 대표되는 교통체계가 최근 몇 년간 주목을 받고 있다. 자율주행은 운전자와 보행자에게 안전과 편의를 제공하고 교통시스템의 활용도를 높이는 핵심 영역이다. 이를 위해 운전자 없는 완전 자율 주행을 목표로 여러 연구가 실시되고 있다.
주행 가능 영역을 결정하기 위해 제시된 일반적인 방법은 기능에 따라 성능이 다르며 이 영역은 개발 영역으로 남아 있다. 최근에는 자율 주행을 개발하기위한 열쇠로서 다양한 기능을 이용한 딥 드라이빙이 주목 받고 있다. 딥 드라이빙은 CNN (Convolutional Neural Networks)과 같은 딥러닝을 이용한 자율 주행 방법이다. CNN은 데이터의 특성을 기반으로 분류 및 검색을 수행하는 강력한 도구로 알려져 있다. 이러한 이유로 CNN은 주로 이미지와 같은 다양한 기능을 가진 데이터를 입력으로 사용할 수 있다.
오늘날, 시각 기반 딥 드라이빙은 중재적 인식 접근 방식, 행동 반사 접근 방식, 그리고 직접 인식 접근 방식의 세 가지 광범위한 범주로 구분될 수 있다. 중재적 인식 방법(mediated perception approach)은 전체 장면을 분석하고 운전 결정(driving decisions)을 내린다. 행동 반사 접근 방식 (behavioral reex approach)은 입력 이미지를 회귀 분석을 통해 운전 행동에 직접 매핑할 수 있다. 직접 인식 접근 방식(A direct perception approach)은 입력 이미지를 주행을 위한 도로/교통 조건의 합리성과 직접 관련된 몇 가지 주요 지각 지표에 매핑할 수 있다.
딥 드라이빙 기술은 기존의 자율 주행보다 성능이 크게 개선 된 전환점이었다. 그럼에도 불구하고, 주행 상황이 매우 다양하기 때문에 심층 주행에는 학습을 위한 많은 양의 데이터와 다양한 기능(features)이 필요할 수 있다.
딥러닝 기반의 학습은 학습 데이터의 품질 및 양에 의존적이다. 많은 데이터 세트를 구축하려면 많은 학습 데이터와 다양한 환경이 필요하다. 또한, 대규모 데이터 세트를 사용하여 교육을 받은 경우에도 예상치 못한 운전 시나리오로 인해 딥 드라이빙 모델의 성능이 저하될 수 있다. 예를 들어, 학습 데이터가 적으면 학습되지 않은 환경에서 올바른 조향 명령을 결정할 수 없다. 또한, 학습 데이터의 품질이 좋지 않으면 데이터의 양이 많더라도 올바른 조향 명령을 결정할 수 없다.
일 실시예에 따른 자율 주행 차량 제어 방법은 자율 주행 차량의 주변에 대한 센싱 데이터를 수신하는 단계; 상기 센싱 데이터에 기초하여 상기 자율 주행 차량의 주행 환경 인식 데이터를 결정하는 단계; 제1 모듈에서, 상기 센싱 데이터에 기초하여 상기 자율 주행 차량의 제1 주행 경로를 예측하는 단계; 제2 모듈에서, 상기 주행 환경 인식 데이터에 기초하여 상기 자율 주행 차량의 제2 주행 경로를 예측하는 단계; 및 상기 제1 주행 경로와 상기 제2 주행 경로를 비교하여 최종 주행 경로를 선택하는 단계를 포함한다.
상기 최종 주행 경로를 선택하는 단계는 상기 주행 환경 인식 데이터에 기초하여 기준 경로를 인식하는 단계; 상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하는 단계; 상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하는 단계; 상기 제1 오차와 상기 제2 오차를 비교하여 상기 제1 오차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및 상기 제1 오차와 상기 제2 오차를 비교하여 상기 제2 오차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계를 포함할 수 있다.
상기 최종 주행 경로를 선택하는 단계는 상기 주행 환경 인식 데이터에 기초하여 웨이 포인트를 결정하는 단계; 상기 웨이 포인트에 대응되는 상기 제1 주행 경로 상의 제1 포인트를 결정하는 단계; 상기 웨이 포인트에 대응되는 상기 제2 주행 경로 상의 제2 포인트를 결정하는 단계; 상기 웨이 포인트와 상기 제1 포인트 사이의 제1 거리를 계산하는 단계; 상기 웨이 포인트와 상기 제2 포인트 사이의 제2 거리를 계산하는 단계; 상기 제1 거리와 상기 제2 거리를 비교하여 상기 제1 거리가 더 짧은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및 상기 제1 거리와 상기 제2 거리를 비교하여 상기 제2 거리가 더 짧은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계를 포함할 수 있다.
상기 최종 주행 경로를 선택하는 단계는 상기 주행 환경 인식 데이터에 기초하여 복수 개의 웨이 포인트들을 결정하는 단계; 상기 웨이 포인트들에 각각 대응되는 상기 제1 주행 경로 상의 제1 포인트들을 결정하는 단계; 상기 웨이 포인트들에 대응되는 상기 제2 주행 경로 상의 제2 포인트들을 결정하는 단계; 상기 웨이 포인트들과 상기 제1 포인트들 사이의 제1 표준편차를 계산하는 단계; 상기 웨이 포인트들과 상기 제2 포인트들 사이의 제2 표준편차를 계산하는 단계; 상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제1 표준편차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및 상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제2 표준편차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계를 포함할 수 있다.
상기 최종 주행 경로를 선택하는 단계는 상기 주행 환경 인식 데이터에 기초하여 기준 경로를 인식하는 단계; 상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하는 단계; 상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하는 단계; 상기 제1 오차가 미리 정해진 임계 오차보다 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및 상기 제1 오차가 미리 정해진 임계 오차와 상기 제2 오차보다 더 큰 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계를 포함할 수 있다.
상기 제1 주행 경로를 예측하는 단계는 상기 센싱 데이터를 미리 학습된 신경망에 입력하여 상기 제1 주행 경로를 예측하는 단계를 포함할 수 있다.
상기 미리 학습된 신경망은 종단 간 학습(End-to-end Learning) 방식으로 훈련된 신경망을 포함할 수 있다.
상기 제2 주행 경로를 예측하는 단계는 상기 주행 환경 인식 데이터에 기초하여 Pure Pursuit 알고리즘에 따라 제2 주행 경로를 예측하는 단계를 포함할 수 있다.
일 실시예에 따른 자율 주행 차량 제어 방법은 상기 결정된 최종 주행 경로에 따라 상기 자율 주행 차량을 제어하는 단계를 더 포함할 수 있다.
일 실시예에 따른 자율 주행 차량 제어 장치는 자율 주행 차량의 주변에 대한 센싱 데이터를 수신하고, 상기 센싱 데이터에 기초하여 상기 자율 주행 차량의 주행 환경 인식 데이터를 결정하는 인식부; 상기 센싱 데이터에 기초하여 상기 자율 주행 차량의 제1 주행 경로를 예측하는 제1 모듈; 상기 주행 환경 인식 데이터에 기초하여 상기 자율 주행 차량의 제2 주행 경로를 예측하는 제2 모듈; 및 상기 제1 주행 경로와 상기 제2 주행 경로를 비교하여 최종 주행 경로를 선택하는 결정 모듈을 포함한다.
상기 인식부는 상기 주행 환경 인식 데이터에 기초하여 기준 경로를 인식하고, 상기 결정 모듈은 상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하고, 상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하고, 상기 제1 오차와 상기 제2 오차를 비교하여 상기 제1 오차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고, 상기 제1 오차와 상기 제2 오차를 비교하여 상기 제2 오차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택할 수 있다.
상기 인식부는 상기 주행 환경 인식 데이터에 기초하여 웨이 포인트를 결정하고, 상기 결정 모듈은 상기 웨이 포인트에 대응되는 상기 제1 주행 경로 상의 제1 포인트를 결정하고, 상기 웨이 포인트에 대응되는 상기 제2 주행 경로 상의 제2 포인트를 결정하고, 상기 웨이 포인트와 상기 제1 포인트 사이의 제1 거리를 계산하고,상기 웨이 포인트와 상기 제2 포인트 사이의 제2 거리를 계산하고, 상기 제1 거리와 상기 제2 거리를 비교하여 상기 제1 거리가 더 짧은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고, 상기 제1 거리와 상기 제2 거리를 비교하여 상기 제2 거리가 더 짧은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택할 수 있다.
상기 결정 모듈은 상기 주행 환경 인식 데이터에 기초하여 복수 개의 웨이 포인트들을 결정하고, 상기 웨이 포인트들에 각각 대응되는 상기 제1 주행 경로 상의 제1 포인트들을 결정하고, 상기 웨이 포인트들에 대응되는 상기 제2 주행 경로 상의 제2 포인트들을 결정하고, 상기 웨이 포인트들과 상기 제1 포인트들 사이의 제1 표준편차를 계산하고, 상기 웨이 포인트들과 상기 제2 포인트들 사이의 제2 표준편차를 계산하고, 상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제1 표준편차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고, 상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제2 표준편차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택할 수 있다.
상기 인식부는 상기 주행 환경 인식 데이터에 기초하여 기준 경로를 인식하고, 상기 결정 모듈은 상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하고, 상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하고, 상기 제1 오차가 미리 정해진 임계 오차보다 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고, 상기 제1 오차가 미리 정해진 임계 오차와 상기 제2 오차보다 더 큰 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택할 수 있다.
상기 제1 모듈은 상기 센싱 데이터를 미리 학습된 신경망에 입력하여 상기 제1 주행 경로를 예측할 수 있다.
상기 제2 모듈은 상기 주행 환경 인식 데이터에 기초하여 Pure Pursuit 알고리즘에 따라 제2 주행 경로를 예측할 수 있다.
일 실시예에 따른 자율 주행 차량 제어 장치는 상기 결정된 최종 주행 경로에 따라 상기 자율 주행 차량을 제어하는 액추에이터를 더 포함할 수 있다.
학습 기반의 주행 경로 예측 방법과 인식 기반의 주행 경로 예측 방법을 결정하는 결정 모듈을 통해서 자율 주행의 안정성이 향상된다. 학습 기반의 주행 경로 예측 방법과 인식 기반의 주행 경로 예측 방법을 상보적으로 사용하여, 학습 기반의 주행 경로 예측 방법의 학습 데이터 의존도를 감소시키고, 자율 주행 시스템의 주행 신뢰도를 향상시킬 수 있다.
도 1은 일 실시예에 따른 자율 주행 차량 제어 시스템을 설명하기 위한 순서도.
도 2는 일 실시예에 따른 결정 모듈의 동작 방법을 설명하기 위한 순서도.
도 3은 일 실시예에 따른 주행 경로를 설명하기 위한 도면.
도 4a는 일 실시예에 따른 기준 경로와 제1 주행 경로, 제2 주행 경로 사이의 오차를 비교하여 최종 주행 경로를 선택하는 방법을 설명하기 위한 도면.
도 4b는 일 실시예에 따른 기준 경로와 제1 주행 경로, 제2 주행 경로 사이의 표준편차를 비교하여 최종 주행 경로를 선택하는 방법을 설명하기 위한 도면.
도 5는 일 실시예에 따른 자율 주행 제어 방법에 따른 성능을 평가하기 위한 테스트 베드 시스템(testbed system)을 도시한 도면.
도 6은 일 실시예에 따른 제1 모듈에 따라 주행하는 자율 주행 차량의 궤도를 도시한 도면.
도 7은 일 실시예에 따른 자율 주행 차량의 주행 속도에 따라 기록 된 입력 이미지를 도시한 도면.
도 8은 일 실시예에 따른 제2 모듈에 따라 주행하는 자율 주행 차량의 궤도를 도시한 도면.
도 9는 일 실시예에 따른 자율 주행 차량 제어 방법에 따라 동작하는 자율주행 자량의 궤도를 도시한 도면.
도 10은 일 실시예에 따른 자율 주행 차량 제어 장치의 블록도.
도 2는 일 실시예에 따른 결정 모듈의 동작 방법을 설명하기 위한 순서도.
도 3은 일 실시예에 따른 주행 경로를 설명하기 위한 도면.
도 4a는 일 실시예에 따른 기준 경로와 제1 주행 경로, 제2 주행 경로 사이의 오차를 비교하여 최종 주행 경로를 선택하는 방법을 설명하기 위한 도면.
도 4b는 일 실시예에 따른 기준 경로와 제1 주행 경로, 제2 주행 경로 사이의 표준편차를 비교하여 최종 주행 경로를 선택하는 방법을 설명하기 위한 도면.
도 5는 일 실시예에 따른 자율 주행 제어 방법에 따른 성능을 평가하기 위한 테스트 베드 시스템(testbed system)을 도시한 도면.
도 6은 일 실시예에 따른 제1 모듈에 따라 주행하는 자율 주행 차량의 궤도를 도시한 도면.
도 7은 일 실시예에 따른 자율 주행 차량의 주행 속도에 따라 기록 된 입력 이미지를 도시한 도면.
도 8은 일 실시예에 따른 제2 모듈에 따라 주행하는 자율 주행 차량의 궤도를 도시한 도면.
도 9는 일 실시예에 따른 자율 주행 차량 제어 방법에 따라 동작하는 자율주행 자량의 궤도를 도시한 도면.
도 10은 일 실시예에 따른 자율 주행 차량 제어 장치의 블록도.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일 실시예에 따른 자율 주행 차량 제어 시스템을 설명하기 위한 순서도이다.
도 1을 참조하면, 일 실시예에 따른 자율 주행 차량 제어 시스템(100)은 인식 단계(120), 계획 단계(130), 및 결정 단계(140)에 따라 동작한다.
자율 주행 차량에 부착 또는 설치된 하나 이상의 센서(들)(110)를 이용하여 자율 주행 차량의 주변에 대한 센싱 데이터를 수집할 수 있다. 예를 들어, 하나 이상의 센서(들)는 카메라, 라이다(LIDAR), 레이더(RADAR) 및 음성 인식 센서들을 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다. 자율 주행 차량의 주변에 대한 센싱 데이터는 하나 이상의 센서(들)(110)를 이용하여 획득한 도로, 도로의 상태, 차선의 종류, 주변 차량의 유무, 근접한 차량과의 거리, 날씨, 장애물의 유무 등에 관한 정보를 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다.
인식 단계(120)는 인식 시스템(150)에 의해 수행될 수 있다. 인식 시스템은 인식부를 의미할 수 있다. 인식 시스템(150)에서는 하나 이상의 센서(들)(110)를 이용하여 획득한 센싱 데이터에 기초하여 자율 주행 차량의 주행 환경 인식 데이터를 결정할 수 있다. 예를 들어, 센싱 데이터에 기초하여 주행 차선, 이동 장애물(다른 차량과 사람), 교통 신호 및 교통 표지판 등을 인식할 수 있다.
주행 환경 인식 데이터는 자율 주행 시 운전자, 차량 및 보행자에게 안전을 제공하기 위한 지침 역할을 할 수 있다. 양질의 주행 환경 인식 데이터를 위해서 다양한 센서가 요구될 수 있다. 자율 주행 시스템에 사용되는 센서 가운데 카메라는 원거리 주행에 사용되는 필수 센서 중 하나이다. 카메라는 차선, 도로, 장애물과 같은 주행 차량의 주행 환경을 감지하기 위해 사용될 수 있다. 예를 들어, 카메라를 사용하는 차선 유지 보조 시스템(LKAS)과 같은 운전자 보조 시스템이 있을 수 있다.
계획 단계(130)에서는 인식된 주행 상황을 입력으로 간주하여 주행 경로를 예측할 수 있다. 계획 단계(130)는 제1 모듈(160)과 제2 모듈(170)에 의해 독립적으로 수행될 수 있다.
심플렉스 아키텍처는 전반적인 작동 신뢰성을 향상시키기 위한 기술이다. 심플렉스 아키텍처에서는 고보증 시스템(high assurance system)과 고성능 시스템(high performance system)이 동시에 실행되고 시스템 최종 결과는 시스템 상태에 기반한 결정 로직(decision logic)에 의해 선택될 수 있다. 정상적인 상황에서는 고성능 시스템의 출력이 선택될 수 있다. 반면에 시스템의 안정성이 어떤 원인으로 인해 위험에 처해질 때마다 결정 로직은 보다 안정적인 시스템 작동을 위해 고보증 시스템으로 전환할 수 있다.
학습 기반의 주행 경로 예측 방법은 자율 주행 차량의 주행 성능을 향상시키는 방법으로 각광을 받고 있지만, 훈련 받지 않은 상황에서는 신뢰성이 부족할 수 있기 때문에, 훈련되지 않은 상황에서 신뢰성을 향상시키는 기술은 학습 기반의 주행 경로 예측 방법에서 매우 중요할 수 있다.
신뢰성 향상을 위해 심플렉스 아키텍처 개념을 자율 주행의 전반적인 신뢰성을 개선하기 위한 접근법으로 채택할 수 있다. 신뢰할 수 있는 자율 주행을 위한 아키텍처에서 두 가지 유형의 주행 경로 예측 모듈을 사용할 수 있다. 하나는 학습 기반의 주행 경로 예측 모듈이고, 다른 하나는 훈련되지 않은 상황에서 상대적으로 높은 확신을 제공하는 인식 기반의 주행 경로 예측 모듈일 수 있다.
제1 모듈(160)은 학습 기반의 주행 경로 예측 모듈일 수 있다. 센싱 데이터를 제1 모듈(160)에 입력하여 주행 경로를 예측할 수 있다. 제1 모듈(160)에 의해 예측되는 주행 경로는 제1 주행 경로일 수 있다. 제1 모듈(160)은 종단 간 학습(End-to-end Learning) 방식으로 훈련된 신경망을 포함할 수 있다. 예를 들어, 제1 모듈(160)의 학습 기반의 주행 경로 예측 방법은 센서의 출력인 센싱 데이터와 제1 주행 경로를 딥러닝을 통해 직접 매핑하는 자율 주행 경로 예측 방법일 수 있다.
제1 모듈(160)은 학습 기반의 주행 경로 예측 모듈이기 때문에 학습 데이터의 품질 및 양에 의존적일 수 있다. 많은 데이터 세트를 구축하려면 많은 학습 데이터와 다양한 환경이 필요하다. 또한, 대규모 데이터 세트를 사용하여 교육을 받은 경우에도 예상치 못한 운전 시나리오로 인해 성능이 저하될 수 있다. 예를 들어, 학습 데이터가 적으면 학습되지 않은 환경에서 올바른 주행 경로를 예측할 수 없다. 또한, 학습 데이터의 품질이 좋지 않으면 데이터의 양이 많더라도 올바른 주행 경로를 예측할 수 없다.
자율주행 차량의 판단과 제어는 한치의 오차도 용납이 불가능하기에 제1 모듈(160) 학습 데이터의 품질이 좋지 않아 올바른 주행 경로를 예측할 수 없다는 점은 큰 불안요소이다. 제1 모듈(160)에 의한 주행 경로 예측에 오차가 있는 경우에도 최종적으로 자율 주행 차량 제어의 오차를 최소화하기 위해 제2 모듈(170)을 고려할 수 있다.
제2 모듈(170)은 인식 기반의 주행 경로 예측 모듈일 수 있다. 인식 단계(120)에서 인식 시스템(150)에 의해 결정된 주행 환경 인식 데이터를 제2 모듈(170)에 입력하여 주행 경로를 예측할 수 있다. 제2 모듈(170)에 의해 예측되는 주행 경로는 제2 주행 경로일 수 있다. 자율 주행을 위해 여러 가지 지역 운동 계획 기법이 제안되었다. 제2 모듈(170)은 모든 인식 기반의 주행 경로 예측 알고리즘을 사용할 수 있다. 예를 들어, 제2 모듈(170)은 순수 추적 알고리즘(pure-pursuit algorithm)을 사용할 수 있다. 순수 추적 알고리즘은 웨이 포인트(waypoint)와 차량 위치를 기반으로 동작을 결정할 수 있는 알고리즘이다. 제2 모듈(170)은 순수 추적 알고리즘에 기초하여 제2 주행 경로를 예측할 수 있다.
결정 단계(140)에서는 계획 단계(130)에서 제1 모듈(160)과 제2 모듈(170)에 의해 예측된 제1 주행 경로와 제2 주행 경로를 비교하여 최종 주행 경로를 선택할 수 있다.
결정 단계(140)는 결정 모듈(180)에 의해 동작될 수 있다. 결정 모듈은 자율 주행을 위한 최종 주행 경로를 선택할 수 있다. 원래의 심플렉스 아키텍처와 달리, 제안 된 아키텍처의 결정 모듈은 단순히 두 개의 모듈 사이를 전환하는 것이 아니다. 원칙적으로, 간단한 스위칭 메커니즘 외에도 결정 모듈이 원할 경우 두 모듈의 모션 명령을 통합 할 수 있는 옵션도 있을 수 있다.
제1 모듈(160)과 제2 모듈(170)에 의해 예측된 제1 주행 경로와 제2 주행 경로를 비교하여 최종 주행 경로를 선택하는 결정 모듈(180)을 통해서 자율 주행의 안정성이 향상된다. 학습 기반의 주행 경로 예측 방법과 인식 기반의 주행 경로 예측 방법을 상보적으로 사용하여, 학습 기반의 주행 경로 예측 방법의 학습 데이터 의존도를 감소시키고, 자율 주행 시스템의 주행 신뢰도를 향상시킬 수 있다.
결정 단계(140)에서 결정 모듈(180)에 의해 최종 주행 경로가 결정될 수 있다. 최종 주행 경로를 따라가도록 자율 주행 차량은 내외부의 기계적인 요소들을 제어할 수 있다. 예를 들어, 최종 주행 경로가 결정되면, 자율 주행 차량은 최종 주행 경로를 따라가도록 액추에이터(190)를 제어할 수 있다. 자율 주행 차량은 최종 주행 경로를 주기적으로 생성할 수 있다. 아래의 도 2를 참조하여, 결정 모듈(180)의 동작 방법이 상세히 설명된다.
자율 주행을 위한 종래의 접근법에서, 인식 기반 주행 경로 예측 방법은 인식 서브 시스템에 의해 제공된 정보에 기초하여 주변 차량 및 다른 유형의 장애물과의 충돌을 피하는 차량의 주행 운동을 생성하는데 사용될 수 있다. 이 목적을 위해 지난 수십 년 동안 자율 주행을 위해 여러 가지 지역 운동 계획 기법이 제안되었다. 제2 모듈은 모든 인식 기반의 주행 경로 예측 알고리즘을 사용할 수 있다. 예를 들어, 제2 모듈(170)은 순수 추적 알고리즘(pure-pursuit algorithm)을 사용할 수 있다. 순수 추적 알고리즘은 기본적으로 전방 주시 지점을 통과하는 차량의 후방 차축 중심에 대한 호 경로를 계산하는 경로 추적 알고리즘이다.
인식 시스템에 의해 포착 된 주행 상황의 표현은 일반적으로 미리 정의되고 제한되어 있기 때문에 인식 과정에서 원시 센서 데이터에 포함 된 많은 정보가 손실될 수 있다. 또한 인지에서 동작 계획(motion planning)까지 계단식 구조로 인해, 그러한 정보 손실 또는 잘못된 인식은 불운한 상황에서 재앙을 초래할 수 있는 인식 기반 주행 경로 예측 모듈인 제2 모듈의 성능에 불가피하게 영향을 미친다.
학습 기반의 주행 경로 예측 방법은 어떤 종류의 인식 프로세스없이 이미지를 조종 명령에 직접 매핑하는 동작 방식이다. 제1 모듈(160)은 종단 간 학습(End-to-end Learning) 방식으로 훈련된 신경망을 포함할 수 있다. 예를 들어, 제1 모듈(160)의 학습 기반의 주행 경로 예측 방법은 센서의 출력인 센싱 데이터와 제1 주행 경로를 딥러닝을 통해 직접 매핑하는 자율 주행 경로 예측 방법일 수 있다.
VGG Net [13], PilotNet [14], AlexNet [15]과 같은 다양한 네트워크는 엔드 투 엔드 운전을 위한 DNN(deep neural network) 모델로 사용될 수 있다. 일반적으로 VGG Net은 보다 복잡한 네트워크 아키텍처를 가지고 있으며 다른 것보다 우수한 성능을 제공하지만 메모리 계산과 가중치 계산이 많아서 고성능 컴퓨터 시스템을 사용해야할 수 있다. 반면, PilotNet은 VGG Net보다 메모리 소비와 무게 계산이 훨씬 적지 만 성능이 떨어진다. AlexNet은 VGG와 PilotNet 사이의 성능과 계산을 제공할 수 있다. 구현 된 테스트 베드 시스템에서 NVIDIA Jetson TX1을 사용하기 때문에 보드의 메모리 크기가 제한되어 있기 때문에 VGG Net을 TX1에서 실행할 수 없으므로 AlexNet을 사용할 수 있다. AlexNet에는 5 개의 컨볼루션 레이어, 5 개의 최대 풀링 레이어, 5 개의 드롭 아웃 레이어 및 3 개의 완전히 연결된 레이어가 있다. ReLU는 네트워크에서 활성화 기능으로 사용될 수 있다.
도 2는 일 실시예에 따른 결정 모듈의 동작 방법을 설명하기 위한 순서도이다.
결정 모듈(240)은 자율 주행의 전반적인 신뢰성을 향상시키는 핵심 요소이다. 전술 한 바와 같이, 결정 모듈(240)은 스위칭 메카니즘 또는 퓨전 메카니즘으로 설계 될 수 있다. 도2를 참조하면, 결정 모듈(240)의 마지막 단계는 제1 모듈과 제2 모듈의 출력 중 하나를 선택하는 것이다. 도 2에서 제안 된 결정 모듈(240)은 아키텍처 내에서 설계되고 사용될 수 있는 결정 모듈의 한 가지 예일 뿐이다.
도 2를 참조하면, 일 실시예에 따른 결정 모듈(240)은 제1 모듈(220)과 제2 모듈(230)에 의해 예측된 제1 주행 경로와 제2 주행 경로를 입력 받을 수 있다(241). 제2 모듈(230)은 인식 시스템에 의해 결정된 주행 환경 인식 데이터를 입력 받아 제2 주행 경로를 예측할 수 있다.
결정 모듈(240)은 인식 시스템(210)에서 결정된 주행 환경 인식 데이터에 기초하여 인식된 기준 경로를 수신할 수 있다. 기준 경로는 예를 들어, 자율 주행 차량이 추적해야 하는 도로의 중심선일 수 있다.
결정 모듈(240)은 기준 경로와 제1 주행 경로 사이의 제1 오차 및 기준 경로와 제2 주행 경로 사이의 제2 오차를 계산할 수 있다(242). 오차는 기준 경로와 예측된 주행 경로 사이의 유클리드 거리로 계산될 수 있다.
결정 모듈(240)은 제1 오차와 제2 오차를 비교하여 제1 오차가 더 작은 경우, 제1 주행 경로를 최종 주행 경로로 선택할 수 있고, 1 오차와 제2 오차를 비교하여 제2 오차가 더 작은 경우, 제2 주행 경로를 최종 주행 경로로 선택할 수 있다(243).
다른 실시예에 따르면, 결정 모듈(240)은 기준 경로와 제1 주행 경로 사이의 제1 오차가 지나치게 큰 경우를 제외하고 제1 주행 경로를 최종 주행 경로로 선택할 수 있다. 예를 들어, 제1 오차가 미리 정해진 임계 오차보다 더 작은 경우 제1 주행 경로를 최종 주행 경로로 선택할 수 있다. 또는, 제1 오차가 미리 정해진 임계 오차보다 큰 경우, 제2 오차가 제1 오차 보다 더 작은 경우 제2 주행 경로를 최종 주행 경로로 선택할 수 있다. 이러한 방식으로, 제2 모듈에 의한 제2 주행 경로는 제1 모듈에 의한 제1 주행 경로가 신뢰할 수 없게 될 때마다 전체 프로세스의 신뢰성을 향상시키는 백업 모듈로 사용될 수 있다.
도 3은 일 실시예에 따른 주행 경로를 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 자율 주행 차량(310)은 제1 모듈과 제2 모듈을 이용하여 제1 주행 경로(330)와 제2 주행 경로(340)를 예측할 수 있다.
자율 주행 차량(310)은 인식 시스템에서 결정된 주행 환경 인식 데이터에 기초하여 인식된 기준 경로(320)를 수신할 수 있다.
기준 경로(320), 제1 주행 경로(330), 및 제2 주행 경로(340)는 주기적으로 생성될 수 있다. 예를 들어, 100ms마다 기준 경로(320), 제1 주행 경로(330), 및 제2 주행 경로(340)가 생성될 수 있다.
기준 경로(320), 제1 주행 경로(330), 및 제2 주행 경로(340) 각각의 경로 상의 포인트는 샘플링 레이트에 기초하여 설정될 수 있다. 예를 들어, 기준 경로(320), 제1 주행 경로(330), 및 제2 주행 경로(340) 각각의 경로 상에 10개의 포인트가 설정될 수 있다. 기준 경로(320)의 i번째 포인트는 S(R)i, 제1 주행 경로(330)의 i번째 포인트는 S(P1)i, 제2 주행 경로(330)의 i번째 포인트는 S(P2)i일 수 있다.
아래의 도 4a, 4b를 참조하여, 제1 주행 경로와 제2 주행 경로를 비교하여 최종 주행 경로를 선택하는 방법이 상세히 설명된다.
도 4a는 일 실시예에 따른 기준 경로와 제1 주행 경로, 제2 주행 경로 사이의 오차를 비교하여 최종 주행 경로를 선택하는 방법을 설명하기 위한 도면이다.
도 4a를 참조하면, 일 실시예에 따른 자율 주행 차량(410)은 기준 경로(420)에 기초하여 제1 주행 경로(430)와 제2 주행 경로(440) 중 하나를 최종 주행 경로로 선택할 수 있다.
기준 경로(420)에 기초하여 제1 주행 경로(430)와 제2 주행 경로(440)를 비교하는 방법으로 각 주행 경로(430, 440) 위의 포인트를 기준 경로 위의 포인트와 비교하여 오차가 더 적은 주행 경로를 최종 주행 경로로 선택할 수 있다.
기준 경로(420) 상에 존재하는 포인트를 웨이 포인트라 할 수 있다. 주행 환경 인식 데이터에 기초하여 웨이 포인트를 결정할 수 있다. 예를 들어, 기준 경로(420) 상의 i번째 포인트 S(R)i는 웨이 포인트일 수 있다.
웨이 포인트 S(R)i에 대응되는 제1 주행 경로 상의 i번째 포인트 S(P1)i를 결정할 수 있다. S(P1)i는 제1 포인트일 수 있다.
웨이 포인트 S(R)i에 대응되는 제2 주행 경로 상의 i번째 포인트 S(P2)i를 결정할 수 있다. S(P2)i는 제2 포인트일 수 있다.
S(R)i, S(P1)i, 및 S(P2)i가 결정되면, 웨이 포인트 S(R)i 와 제1 포인트 S(P1)i 사이의 제1 거리, 및 웨이 포인트 S(R)i 와 제2 포인트 S(P2)i 사이의 제2 거리 를 계산할 수 있다. 제1 거리는 (,1), 제2 거리는 (,2i)로 나타낼 수 있다.
제1 거리와 제2 거리를 비교하여 제1 거리가 더 짧은 경우, 제1 주행 경로를 최종 주행 경로로, 제1 거리와 제2 거리를 비교하여 제2 거리가 더 짧은 경우, 제2 주행 경로를 최종 주행 경로로 선택할 수 있다. 예를 들어, 도 4a를 참조하면 제1 거리는 (,1)가 제2 거리는 (,2i)보다 짧기 때문에 제1 주행 경로를 최종 주행 경로로 선택할 수 있다.
결정된 최종 주행 경로를 따라가도록 자율 주행 차량(410)은 내외부의 기계적인 요소들을 제어할 수 있다.
다른 실시예에 따르면, 주행 경로 상의 i번째 포인트에 대응되는 제1 거리와 제2 거리를 비교하는 것이 아닌, 첫 번째 포인트부터 i번째 포인트에 대응되는 거리들의 합을 비교하여 최종 주행 경로를 선택할 수 있다.
예를 들어, 기준 경로 상의 웨이 포인트들과, 웨이 포인트에 대응되는 제1 주행 경로상의 제1 포인트들 사이의 거리의 합인 와 기준 경로 상의 웨이 포인트들과, 웨이 포인트에 대응되는 제2 주행 경로상의 제2 포인트들 사이의 거리의 합인 을 비교하여 이 더 적은 경우, 제1 주행 경로를 최종 주행 경로로, 이 더 적은 경우, 제2 주행 경로를 최종 주행 경로로 선택할 수 있다.
결정된 최종 주행 경로를 따라가도록 자율 주행 차량(410)은 내외부의 기계적인 요소들을 제어할 수 있다.
도 4b는 일 실시예에 따른 기준 경로와 제1 주행 경로, 제2 주행 경로 사이의 표준편차를 비교하여 최종 주행 경로를 선택하는 방법을 설명하기 위한 도면이다.
도 4b를 참조하면, 일 실시예에 따른 자율 주행 차량(450)은 기준 경로(460)에 기초하여 제1 주행 경로(470)와 제2 주행 경로(480) 중 하나를 최종 주행 경로로 선택할 수 있다.
기준 경로(460)에 기초하여 제1 주행 경로(470)와 제2 주행 경로(480)를 비교하는 방법으로 각 주행 경로(470, 480) 위의 포인트를 기준 경로 위의 포인트와 비교하여 표준편차가 더 적은 주행 경로를 최종 주행 경로로 선택할 수 있다.
주행 환경 인식 데이터에 기초하여 복수 개의 웨이 포인트들을 결정할 수 있다.
웨이 포인트 S(R)i에 대응되는 제1 주행 경로 상의 i번째 포인트 S(P1)i를 결정할 수 있다. S(P1)i는 제1 포인트일 수 있다.
웨이 포인트 S(R)i에 대응되는 제2 주행 경로 상의 i번째 포인트 S(P2)i를 결정할 수 있다. S(P2)i는 제2 포인트일 수 있다.
제1 표준편차와 제2 표준편차를 비교하여 제1 표준편차가 더 작은 경우, 제1 주행 경로를 최종 주행 경로로, 제1 표준편차와 제2 표준편차를 비교하여 제2 표준편차가 더 작은 경우, 제2 주행 경로를 최종 주행 경로로 선택할 수 있다. 예를 들어 도 4b를 참조하여 제1 표준편차와 제2 표준편차를 구하면 표 1과 같을 수 있다.
제1 표준편차가 제2 표준편차보다 더 작기 때문에, 제1 주행 경로를 최종 주행 경로로 결정할 수 있다.
결정된 최종 주행 경로를 따라가도록 자율 주행 차량(450)은 내외부의 기계적인 요소들을 제어할 수 있다.
다른 실시예에 따르면, 편차 감쇠 비율(deviation reduction ratio)에 기초하여 최종 주행 경로를 선택할 수 있다.
예를 들어, 제1 주행 경로상의 제1 포인트와 제2 주행 경로상의 제2 포인트 사이의 거리인 (1,2)는 수학식 1과 같이 나타낼 수 있다.
편차 감쇠 비율(deviation reduction ratio)은 수학식 2와 같이 나타낼 수 있다.
편차 감쇠 비율(deviation reduction ratio)이 양수인 경우, 제1 경로를 최종 주행 경로로, 편차 감쇠 비율(deviation reduction ratio)이 음수인 경우, 제2 경로를 최종 주행 경로로 선택할 수 있다.
예를 들어 도 4b를 참조하여 제1 표준편차와 제2 표준편차를 구하면 표 2과 같을 수 있다.
편차 감쇠 비율이 음수이기 때문에, 제2 주행 경로를 최종 주행 경로로 결정할 수 있다.
결정된 최종 주행 경로를 따라가도록 자율 주행 차량(410)은 내외부의 기계적인 요소들을 제어할 수 있다.
도 5는 일 실시예에 따른 자율 주행 제어 방법에 따른 성능을 평가하기 위한 테스트 베드 시스템(testbed system)을 도시한 도면이다.
도 5를 참조하면, 일 실시예에 따른 테스트 베드 시스템은 소형의 자율 주행 차량과 폐쇄 루프 주행 트랙을 포함할 수 있다. 소형의 자율 주행 차량은 Traxxas Ford Bronco RC 차량을 포함할 수 있다. 자율 주행 차량에는 제1 모듈, 제2 모듈, 예측 추적 오류 계산, 센서 데이터 처리와 같은 제안 된 자율 주행 시스템에 필요한 모든 계산을 실행하는 메인 컴퓨터 시스템으로 NVIDIA Jetson TX1, 및 차량 액추에이터와 인터페이스가 장착되어 있을 수 있다.
카메라를 인식의 주 센서로 사용할 수 있다. 자율 주행 차량에 설치된 카메라는 640Х480 이미지 해상도를 제공하는 Logitech C930e 모델을 포함할 수 있다. 주행 트랙의 크기는 570cmХ535cm이고 트랙의 폭은 47cm일 수 있다. 도로의 경계는 직선 도로의 회색 연석과 곡선의 연석으로 표현될 수 있다. 도로의 노란색 표시는 차량이 추적해야 하는 웨이 포인트일 수 있다.
자율 주행의 전반적인 신뢰성을 평가하기 위해, 주행 차량을 30도 회전시키고 주행 조건에 대해 여러 가지 설정을 사용할 수 있다. 차량의 주행 속도가 어떻게 변할 때 주행 성능이 어떻게 변화 하는지를 조사하기 위해 주행 속도에 대해 0.35m/s, 0.5m/s 및 0.75m/s 정도의 세 가지 값을 사용할 수 있다. 자율 주행을 위한 주된 특징(main features)에 얼마나 민감한지를 보기 위해, 웨이 포인트를 두 가지 설정을 사용하였다. 첫 번째 웨이 포인트 설정은 트랙을 따라 모든 웨이 포인트가 명확하게 보이는 정상 상황일 수 있다. 두 번째 웨이 포인트 설정은 일부 웨이 포인트가 의도적으로 제거되어 차량이 때때로 노란색 표시를 감지하지 못할 수 있다. 이하, 첫 번째 웨이 포인트 설정을 웨이 포인트 설정 A(WA)로, 두 번째 설정을 웨이 포인트 설정 B(WB)라 하겠다.
도 6은 일 실시예에 따른 제1 모듈에 따라 주행하는 자율 주행 차량의 궤도를 도시한 도면이다.
도 6을 참조하면, 일 실시예에 따른 트랙을 따라 자율 주행하기 위해 제1 모듈이 구동되는 자율 주행 차량의 궤도를 보여준다. 검정색 선은 트랙의 경계를 나타내고 검정색 점은 중간 점을 나타낸다.
제1 모듈에 있어서, AlexNet을 교육하는 데 사용되는 데이터 세트는 0.35m/s의 주행 속도로 기록 된 23,238 쌍의 이미지 및 조향 명령으로 구성될 수 있다. 학습을 위한 배치 크기(batch size for training)는 128이고, 학습 속도(learning rate)는 0.001로 설정되며, 가중치 감쇠(weight decay)는 0.99일 수 있다.
모듈1의 추적 성능은 그림(610)에 명확히 나타나 있으며, 여기서 차량의 주행 속도는 교육 데이터 세트 생성에 사용되는 속도와 동일한 0.35m/s로 설정되어 있다.
차량 속도가 증가하면 트랙킹 오류가 증가하고 그림(630)과 같이 자율 주행 차량이 종종 트랙 내부에서 주행하지 못할 수 있다.
도 7은 일 실시예에 따른 자율 주행 차량의 주행 속도에 따라 기록 된 입력 이미지를 도시한 도면이다.
도 7을 참조하면, 빨간색 상자는 노란색의 중간 지점에서 주변을 확대하여 자른 이미지일 수 있다. 각각의 자른 이미지를 비교하면 차량 속도가 증가함에 따라 노란색 표시의 모양이 더 왜곡되고 흐려지는 것을 볼 수 있다. 고속에서 입력 이미지가 실제로 왜곡되고 흐려져 제1 모듈을 혼동케 할 수 있다. 이 결과에서 차량이 훈련되지 않은 상황에 처하면 엔드 투 엔드 모션 계획이 잠재적으로 신뢰할 수 없다는 것을 알 수 있다.
다시 도 6을 참조하면, 그림(640, 650, 660)에서와 같이 WB 웨이 포인트 설정을 사용하여도 WA 웨이 포인트 설정을 사용한 경우(610, 620, 630)와 유사한 주행 성능 결과를 얻었다. 이 결과를 통해 제1 모듈은 이미지 전체를 활용하여 이미지에 포함 된 특정 피처에 초점을 맞추는 대신 운전 상황을 인식하고 피처 변형에 일정 수준의 견고성(robustness)을 제공할 수 있다는 것을 알 수 있다.
도 8은 일 실시예에 따른 제2 모듈에 따라 주행하는 자율 주행 차량의 궤도를 도시한 도면이다.
도 8을 참조하면, 일 실시예에 따른 트랙을 따라 자율 주행하기 위해 제2 모듈이 구동되는 자율 주행 차량의 궤도를 보여준다. 검정색 선은 트랙의 경계를 나타내고 검정색 점은 중간 점을 나타낸다.
제2 모듈에 따르는 경우, 제1 모듈에 따른 경우와 다른 결과를 생성할 수 있다. 제1 모듈은 트랙을 따라 감지 된 웨이 포인트를 기반으로 주행 경로 예측을 하기 때문에 제2 모듈에 따를 경우 그림(810, 820, 830)과 같이 자율 주행 차량 속도의 변화에 따라 안정적인 주행 성능을 제공할 수 있다.
그림(840, 850, 860)에서와 같이 일부 웨이 포인트가 감지되지 않으면 제2 모듈이 적절한 주행 경로 예측에 실패할 수 있다. 제2 모듈에서 차량에 대한 주행 경로 예측이 다음 웨이 포인트의 위치에 의존하기 때문에, 다음 웨이 포인트가 감지되지 않으면 주행 경로 예측을 할 수 없기 때문이다.
도 9는 일 실시예에 따른 자율 주행 차량 제어 방법에 따라 동작하는 자율주행 자량의 궤도를 도시한 도면이다.
도 9를 참조하면, 일 실시예에 따른 자율 주행 차량 제어 방법에 따라 동작하는 자율주행 자량의 궤적을 보여준다. 보다 나은 주행 신뢰성을 위해 두 모듈, 즉 제1 모듈 및 제2 모듈이 결정 모듈에 의해 활용될 수 있다.
일 실시예에 따른 자율 주행 차량 제어 방법에 따를 경우, 학습 기반의 주행 경로 예측 방법과 인식 기반의 주행 경로 예측 방법을 상보적으로 사용됨을 알 수 있다. 예를 들어, 차량 속도가 0.75 m/s 이고 WA 웨이 포인트 설정인 경우에 제1 모듈에 따를 경우 그림(630)과 같이 성능이 좋지 못하였으나 일 실시예에 따른 자율 주행 차량 제어 방법에 따를 경우 그림(930)과 같이 주행 안정성을 보여준다. 이 경우, 제2 모듈이 상보적으로 사용되었음을 알 수 있다.
또한, WA 웨이 포인트 설정인 경우에 제2 모듈에 따를 경우 그림(840, 850)과 같이 성능이 좋지 못하였으나 일 실시예에 따른 자율 주행 차량 제어 방법에 따를 경우 그림(940, 950)과 같이 주행 안정성을 보여준다. 이 경우, 제1 모듈이 상보적으로 사용되었음을 알 수 있다.
표 3은 각 모듈이 주도하는 30 회 주행에서 트랙을 따라 성공적으로 운전 한 횟수를 보여준다.
표 3에서 보듯이 속도가 0.75 (m/s)까지 증가함에 따라 제1 모듈에 의한 주행 신뢰성이 감소할 수 있다. 모든 웨이 포인트가 주어지면 제2 모듈에 따를 경우 완벽하게 수행될 수 있다. 웨이 포인트 중 일부가 제거되면 제2 모듈의 신뢰성이 감소할 수 있다. 일 실시예에 따른 자율 주행 차량 제어 방법에 따를 경우 제1 모듈과 제2 모듈이 상보적으로 사용되어, 주행 안정성이 향상되었음을 알 수 있다.
도 10은 일 실시예에 따른 자율 주행 차량 제어 장치의 블록도이다.
도 10을 참조하면, 일 실시예에 따른 자율 주행 차량 제어 장치(1000)는 센서(들)(1010), 프로세서(1030), 및 통신 인터페이스(1070)를 포함한다. 자율 주행 차량 제어 장치(1000)는 메모리(1050), 및 디스플레이(1090)를 더 포함할 수 있다. 센서(들)(1010), 프로세서(1030), 메모리(1050), 통신 인터페이스(1070), 및 디스플레이(1090)는 통신 버스(1005)를 통해 서로 통신할 수 있다.
센서(들)(1010)은 예를 들어, 카메라, 라이다(LIDAR), 레이더(RADAR) 및 음성 인식 센서들을 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다.
프로세서(1030)는 도 1 내지 도 9를 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1030)는 프로그램을 실행하고, 자율 주행 차량 제어 장치(1000)를 제어할 수 있다. 프로세서(1030)에 의하여 실행되는 프로그램 코드는 메모리(1050)에 저장될 수 있다.
프로세서(1030)는 예를 들어, CPU(Central Processing Unit) 또는 GPU(Graphics Processing Unit)으로 구성될 수 있다.
메모리(1050)는 프로세서(1030)가 처리한 데이터를 저장한다. 예를 들어, 메모리(1050)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 사용자의 보행을 보조할 수 있도록 코딩되어 프로세서(1030)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다. 메모리(1050)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
통신 인터페이스(1070)는 센서(들)(1010), 프로세서(1030) 및 메모리(1050)와 연결되어 데이터를 송수신할 수 있다. 통신 인터페이스(1070)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신 인터페이스(1070)는 자율 주행 차량 제어 장치(1000) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신 인터페이스(1070)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신 인터페이스(1070)는 자율 주행 차량 제어 장치(1000)와 외부의 장치를 연결하는 요소일 수 있다. 통신 인터페이스(1070)는 외부의 장치로부터 데이터를 수신하여, 프로세서(530) 및 메모리(540)에 데이터를 전송할 수 있다.
디스플레이(1090)는 디코딩된 결과를 표시할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (19)
- 자율 주행 차량의 주변에 대한 센싱 데이터를 수신하는 단계;
상기 주변에 대한 센싱 데이터에 기초하여 상기 자율 주행 차량의 주행 환경에 대한 주행 환경 인식 데이터를 결정하는 단계;
제1 모듈에서, 상기 센싱 데이터를 미리 학습된 신경망에 입력하여 상기 자율 주행 차량의 제1 주행 경로를 미리 정해진 주기에 따라 예측하는 단계;
제2 모듈에서, 상기 주행 환경 인식 데이터에 기초하여 상기 자율 주행 차량의 제2 주행 경로를 상기 미리 정해진 주기에 따라 예측하는 단계;
상기 주행 환경 인식 데이터에 기초하여 기준 경로를 인식하는 단계; 및
상기 기준 경로에 기반하여 상기 제1 주행 경로와 상기 제2 주행 경로를 비교하여 상기 미리 정해진 주기에 따라 최종 주행 경로를 선택하는 단계
를 포함하고,
상기 주변에 대한 센싱 데이터는 상기 자율 주행 차량이 추적 중인 도로의 이미지를 포함하고,
상기 미리 학습된 신경망은
차량에 부착된 카메라로부터 획득한 이미지 및 이와 동일한 시점에서의 조향 명령 쌍에 기초하여 학습되고,
상기 도로의 이미지를 입력으로 하여 상기 제1 주행 경로를 예측하도록 구성되는, 자율 주행 차량 제어 방법.
- 제1항에 있어서,
상기 최종 주행 경로를 선택하는 단계는
상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하는 단계;
상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하는 단계;
상기 제1 오차와 상기 제2 오차를 비교하여 상기 제1 오차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및
상기 제1 오차와 상기 제2 오차를 비교하여 상기 제2 오차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계;
를 포함하는, 자율 주행 차량 제어 방법.
- 제1항에 있어서,
상기 최종 주행 경로를 선택하는 단계는
상기 주행 환경 인식 데이터에 기초하여 상기 기준 경로 상에 웨이 포인트를 결정하는 단계;
상기 웨이 포인트에 대응되는 상기 제1 주행 경로 상의 제1 포인트를 결정하는 단계;
상기 웨이 포인트에 대응되는 상기 제2 주행 경로 상의 제2 포인트를 결정하는 단계;
상기 웨이 포인트와 상기 제1 포인트 사이의 제1 거리를 계산하는 단계;
상기 웨이 포인트와 상기 제2 포인트 사이의 제2 거리를 계산하는 단계;
상기 제1 거리와 상기 제2 거리를 비교하여 상기 제1 거리가 더 짧은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및
상기 제1 거리와 상기 제2 거리를 비교하여 상기 제2 거리가 더 짧은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계;
를 포함하는, 자율 주행 차량 제어 방법.
- 제1항에 있어서,
상기 최종 주행 경로를 선택하는 단계는
상기 주행 환경 인식 데이터에 기초하여 상기 기준 경로 상에 복수 개의 웨이 포인트들을 결정하는 단계;
상기 웨이 포인트들에 각각 대응되는 상기 제1 주행 경로 상의 제1 포인트들을 결정하는 단계;
상기 웨이 포인트들에 대응되는 상기 제2 주행 경로 상의 제2 포인트들을 결정하는 단계;
상기 웨이 포인트들과 상기 제1 포인트들 사이의 제1 표준편차를 계산하는 단계;
상기 웨이 포인트들과 상기 제2 포인트들 사이의 제2 표준편차를 계산하는 단계;
상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제1 표준편차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및
상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제2 표준편차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계;
를 포함하는, 자율 주행 차량 제어 방법.
- 제1항에 있어서,
상기 최종 주행 경로를 선택하는 단계는
상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하는 단계;
상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하는 단계;
상기 제1 오차가 미리 정해진 임계 오차보다 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하는 단계; 및
상기 제1 오차가 미리 정해진 임계 오차와 상기 제2 오차보다 더 큰 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는 단계;
를 포함하는, 자율 주행 차량 제어 방법.
- 삭제
- 제1항에 있어서,
상기 미리 학습된 신경망은
종단 간 학습(End-to-end Learning) 방식으로 훈련된 신경망을 포함하는, 자율 주행 차량 제어 방법.
- 제1항에 있어서,
상기 제2 주행 경로를 예측하는 단계는
상기 주행 환경 인식 데이터에 기초하여 Pure Pursuit 알고리즘에 따라 제2 주행 경로를 예측하는 단계
를 포함하는, 자율 주행 차량 제어 방법.
- 제1항에 있어서,
상기 결정된 최종 주행 경로에 따라 상기 자율 주행 차량을 제어하는 단계
를 더 포함하는 자율 주행 차량 제어 방법.
- 하드웨어와 결합되어 제1항 내지 제5항 및 제 7항내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
- 자율 주행 차량 제어 장치에 있어서,
자율 주행 차량의 주변에 대한 센싱 데이터를 수신하고, 상기 주변에 대한 센싱 데이터에 기초하여 상기 자율 주행 차량의 주행 환경에 대한 주행 환경 인식 데이터를 결정하고, 상기 주행 환경 인식 데이터에 기초하여 기준 경로를 인식하는 인식부;
상기 센싱 데이터를 미리 학습된 신경망에 입력하여 상기 자율 주행 차량의 제1 주행 경로를 미리 정해진 주기에 따라 예측하는 제1 모듈;
상기 주행 환경 인식 데이터에 기초하여 상기 자율 주행 차량의 제2 주행 경로를 상기 미리 정해진 주기에 따라 예측하는 제2 모듈; 및
상기 기준 경로에 기반하여 상기 제1 주행 경로와 상기 제2 주행 경로를 비교하여 최종 주행 경로를 상기 미리 정해진 주기에 따라 선택하는 결정 모듈
을 포함하고,
상기 주변에 대한 센싱 데이터는 상기 자율 주행 차량이 추적 중인 도로의 이미지를 포함하고,
상기 미리 학습된 신경망은
차량에 부착된 카메라로부터 획득한 이미지 및 이와 동일한 시점에서의 조향 명령 쌍에 기초하여 학습되고,
상기 도로의 이미지를 입력으로 하여 상기 제1 주행 경로를 예측하도록 구성되는, 자율 주행 차량 제어 장치.
- 제11항에 있어서,
상기 결정 모듈은
상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하고,
상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하고,
상기 제1 오차와 상기 제2 오차를 비교하여 상기 제1 오차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고,
상기 제1 오차와 상기 제2 오차를 비교하여 상기 제2 오차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는, 자율 주행 차량 제어 장치.
- 제11항에 있어서,
상기 인식부는
상기 주행 환경 인식 데이터에 기초하여 상기 기준 경로 상에 웨이 포인트를 결정하고,
상기 결정 모듈은
상기 웨이 포인트에 대응되는 상기 제1 주행 경로 상의 제1 포인트를 결정하고,
상기 웨이 포인트에 대응되는 상기 제2 주행 경로 상의 제2 포인트를 결정하고,
상기 웨이 포인트와 상기 제1 포인트 사이의 제1 거리를 계산하고,
상기 웨이 포인트와 상기 제2 포인트 사이의 제2 거리를 계산하고,
상기 제1 거리와 상기 제2 거리를 비교하여 상기 제1 거리가 더 짧은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고,
상기 제1 거리와 상기 제2 거리를 비교하여 상기 제2 거리가 더 짧은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는, 자율 주행 차량 제어 장치.
- 제11항에 있어서,
상기 결정 모듈은
상기 주행 환경 인식 데이터에 기초하여 상기 기준 경로 상에 복수 개의 웨이 포인트들을 결정하고,
상기 웨이 포인트들에 각각 대응되는 상기 제1 주행 경로 상의 제1 포인트들을 결정하고,
상기 웨이 포인트들에 대응되는 상기 제2 주행 경로 상의 제2 포인트들을 결정하고,
상기 웨이 포인트들과 상기 제1 포인트들 사이의 제1 표준편차를 계산하고,
상기 웨이 포인트들과 상기 제2 포인트들 사이의 제2 표준편차를 계산하고,
상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제1 표준편차가 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고,
상기 제1 표준편차와 상기 제2 표준편차를 비교하여 상기 제2 표준편차가 더 작은 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는, 자율 주행 차량 제어 장치.
- 제11항에 있어서,
상기 결정 모듈은
상기 기준 경로와 상기 제1 주행 경로 사이의 제1 오차를 계산하고,
상기 기준 경로와 상기 제2 주행 경로 사이의 제2 오차를 계산하고,
상기 제1 오차가 미리 정해진 임계 오차보다 더 작은 경우, 상기 제1 주행 경로를 상기 최종 주행 경로로 선택하고,
상기 제1 오차가 미리 정해진 임계 오차와 상기 제2 오차보다 더 큰 경우, 상기 제2 주행 경로를 상기 최종 주행 경로로 선택하는, 자율 주행 차량 제어 장치.
- 삭제
- 제11항에 있어서,
상기 미리 학습된 신경망은
종단 간 학습(End-to-end Learning) 방식으로 훈련된 신경망을 포함하는, 자율 주행 차량 제어 장치.
- 제11항에 있어서,
상기 제2 모듈은
상기 주행 환경 인식 데이터에 기초하여 Pure Pursuit 알고리즘에 따라 제2 주행 경로를 예측하는, 자율 주행 차량 제어 장치.
- 제11항에 있어서,
상기 결정된 최종 주행 경로에 따라 상기 자율 주행 차량을 제어하는 액추에이터
를 더 포함하는 자율 주행 차량 제어 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180092967 | 2018-08-09 | ||
KR1020180092967 | 2018-08-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200018183A KR20200018183A (ko) | 2020-02-19 |
KR102208251B1 true KR102208251B1 (ko) | 2021-01-28 |
Family
ID=69670287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180133393A KR102208251B1 (ko) | 2018-08-09 | 2018-11-02 | 고신뢰 자율주행 시스템 아키텍처 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102208251B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102290564B1 (ko) * | 2020-11-25 | 2021-08-18 | 한국전자기술연구원 | 자율주행 차량의 경로 추종 안정화를 위한 분산 칼만필터 기반 주행 경로 필터링 방법 |
CN115892067B (zh) * | 2022-11-23 | 2024-01-26 | 禾多科技(北京)有限公司 | 目标车辆的行驶方法、装置、存储介质及电子装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101581286B1 (ko) * | 2014-01-17 | 2015-12-31 | 전남대학교산학협력단 | 무인운전차량의 자율 주행을 위한 경로 추종 시스템 및 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101907268B1 (ko) * | 2016-10-13 | 2018-10-11 | 한양대학교 산학협력단 | 경로 선택에 기반한 자율 주행 방법 및 장치 |
KR20180075985A (ko) * | 2016-12-27 | 2018-07-05 | 재단법인대구경북과학기술원 | 주행환경 감응형 자율 조향 예측 장치 및 그 방법 |
-
2018
- 2018-11-02 KR KR1020180133393A patent/KR102208251B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101581286B1 (ko) * | 2014-01-17 | 2015-12-31 | 전남대학교산학협력단 | 무인운전차량의 자율 주행을 위한 경로 추종 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20200018183A (ko) | 2020-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222868B2 (ja) | オブジェクト挙動のリアルタイム予測 | |
US11023749B2 (en) | Prediction on top-down scenes based on action data | |
CN113056749B (zh) | 用于自主机器应用的未来对象轨迹预测 | |
JP7086911B2 (ja) | 自動運転車両のためのリアルタイム意思決定 | |
US11702105B2 (en) | Technology to generalize safe driving experiences for automated vehicle behavior prediction | |
US20220212693A1 (en) | Method and apparatus for trajectory prediction, device and storage medium | |
CN110248861B (zh) | 在车辆操纵过程中使用机器学习模型来引导车辆 | |
US20230144209A1 (en) | Lane line detection method and related device | |
JP2022544715A (ja) | 譲歩挙動のモデリングおよび予測 | |
CN115206132A (zh) | 基于道路使用者意图预测的潜在碰撞警告*** | |
JP2022522714A (ja) | 閉塞領域の占有率の決定 | |
US11458991B2 (en) | Systems and methods for optimizing trajectory planner based on human driving behaviors | |
JP2023507695A (ja) | 自律運転アプリケーションのための3次元交差点構造予測 | |
CN113261035A (zh) | 一种轨迹预测方法及相关设备 | |
KR102223346B1 (ko) | 자율 주행 차량을 위한 보행자 확률 예측 시스템 | |
WO2021127417A1 (en) | Geolocalized models for perception, prediction, or planning | |
CN110347145A (zh) | 用于自动驾驶车辆的感知辅助 | |
US11577722B1 (en) | Hyper planning based on object and/or region | |
US11776400B2 (en) | Junction queueing | |
US11810365B1 (en) | Perception error modeling | |
KR102208251B1 (ko) | 고신뢰 자율주행 시스템 아키텍처 | |
EP4355631A1 (en) | Active prediction based on object trajectories | |
WO2023048943A1 (en) | Optimization based planning system | |
Chen et al. | Vadv2: End-to-end vectorized autonomous driving via probabilistic planning | |
US20240101150A1 (en) | Conditional trajectory determination by a machine learned model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |