KR102363443B1 - 강화학습 기반 자율 주행 장치 및 그 방법 - Google Patents
강화학습 기반 자율 주행 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102363443B1 KR102363443B1 KR1020210097104A KR20210097104A KR102363443B1 KR 102363443 B1 KR102363443 B1 KR 102363443B1 KR 1020210097104 A KR1020210097104 A KR 1020210097104A KR 20210097104 A KR20210097104 A KR 20210097104A KR 102363443 B1 KR102363443 B1 KR 102363443B1
- Authority
- KR
- South Korea
- Prior art keywords
- reinforcement learning
- vehicle
- point
- path point
- route
- Prior art date
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims description 30
- 239000013598 vector Substances 0.000 claims abstract description 58
- 238000013528 artificial neural network Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000006399 behavior Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000004083 survival 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/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
- 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
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Remote Sensing (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
강화학습 기반 자율 주행 장치는 차량의 현재 위치와 도착점 위치를 기반으로 하나 이상의 경로점을 포함하는 경로점 집합을 생성하는 경로점 집합 생성부, 영상 센서로 획득한 영상 정보로부터 주행 불가능 영역을 식별하여 대체 경로점으로 상기 주행 불가능 영역에 있는 경로점을 대체하여 상기 경로점 집합을 갱신하는 입력 영상 처리부, 상기 차량과 현재 추종하고 있는 경로점 간의 거리 차이 및 방향 차이를 포함하는 상대 벡터를 계산하는 상대 벡터 계산부, 및 상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 포함한 강화학습 자료를 신경망에 입력하는 강화학습 입력부를 포함한다.
Description
본 발명은 강화학습 기반 자율 주행 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 경로점과 상대 벡터로 가이드하는 강화학습 기반 자율 주행 장치 및 그 방법에 관한 것이다.
학습 기반 인공지능은 최근 센서 정보로부터 환경을 인식하거나, 이동체를 제어하는 성능에서 큰 기술 잠재력을 보이고 있으며, 이에 자율 주행에 관련하여 여러 연구개발 그룹의 주목을 받는 유망 기술이다.
학습 기반 인공지능 자율 주행의 학습 방법은 크게 지도식 학습과 강화학습 방식이 있는데 지도식 학습은 유인 전문가 주행 패턴을 따라하도록 학습하는 방식으로 주행 성능이 인간 제어 주행 성능에 제한되는 한계점을 가지고 있다. 이와 달리 강화학습은 여러 상황을 탐험하며 각 상황에서의 최적 행동을 결정하는 정책을 학습한다. 여기서 최적 행동은 주행을 통해 얻는 누적 보상을 최대화하는 행동을 말하며, 보상은 기술 설계자에 의해 설계되며 주로 인간 패턴을 얼마나 따라 했느냐가 아닌 주행 성능 면에서 얼마나 바람직한 행동을 했느냐에 따라 주어지므로 누적 보상에 따른 학습은 잠재적으로 인간의 주행 성능을 넘어설 수 있다는 장점을 가지고 있다.
초기의 강화학습 기반 자율 주행 차량은 닫힌 트랙 또는 갈림길 없는 일정 도로 구간 상에서 주행 가능 영역을 이탈 없이 단순 주행만을 수행하는 범위에서 연구되었다. 하지만 자율 주행의 목적상 자율 주행 차량은 도착점(주행 종료점)을 입력받고 출발점으로부터 도착점까지 충돌 없이 도달하는 임무를 수행할 수 있어야 실제 효용성이 있다.
강화학습 기반 자율 주행 방법은 도착점 관련 정보를 강화학습 정책 신경망 모델의 입력으로 추가하고 있다. 도착점 관련 정보는 주로 현재 차량 위치로부터 도착점까지의 중간 경로점들에 관한 좌표 및 헤딩 각도이며, 구체적으로 다음 경로점의 위치 좌표, 고차원 내비게이션 명령(직진, 좌회전, 우회전), 차량의 현재 진행 방향(헤딩)과 다음 경로점 방향과의 차이값이 사용될 수 있다.
이러한 강화학습 기반 자율 주행 방법은 다음과 같은 문제점을 가지고 있다.
1) 경로점의 위치 좌표 자체는 주행 명령의 직접 입력 정보로 쓰이기 어려워 많은 후처리가 필요하며 이를 처리하기 위해 강화학습 모델의 레이어 수가 크게 늘어나야 한다. 이는 강화학습 모델의 용량, 학습 시간의 증가 및 자율 주행 시 행동 생성을 위한 연산시간이 늘어나 자율 주행 실시간 성능에 저하를 가져올 수 있다.
2) 직진, 좌회전, 우회전 등의 고차원 내비게이션 명령은 다음 경로점의 대략의 방향을 정보로 제공할 수 있어 주행 행동 생성 시 직접 입력 정보로 쓰일 수 있으나, 각도를 정확한 수치값이 아닌 제한된 방향의 가지 수로 분류하므로 정보 손실이 많아 주행 성능을 제한할 수 있다. 특히, 고차원 내비게이션 명령은 주행도로의 회전 각도가 다양한 도로(예를 들어, 비포장로)에서 가이드로 쓰이기 어렵다.
3) 차량의 현재 헤딩과 다음 경로점으로의 헤딩의 차이는 각도의 수치값을 제공하나 각도만 사용하는 것은 다음 경로점으로의 거리는 고려하지 않아 곡률을 추정한 최적 제어를 할 수 있는 근본적인 정보를 제공하지 않는다. 이로 인해 고차원 내비게이션 명령의 문제와 마찬가지 이유로 비포장로 등의 주행 환경에서 좋은 성능을 기대할 수 없게 된다. 또한, 각도와 관련된 보상이 주어지지 않아, 효율적인 학습이 불가능하다.
본 발명이 해결하고자 하는 기술적 과제는 상기의 문제점을 해결하기 위한 것으로 경로점과의 상대 벡터로 주행을 가이드할 수 있는 강화학습 기반 자율 주행 장치 및 그 방법을 제공함에 있다.
본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 장치는 차량의 현재 위치와 도착점 위치를 기반으로 하나 이상의 경로점을 포함하는 경로점 집합을 생성하는 경로점 집합 생성부, 영상 센서로 획득한 영상 정보로부터 주행 불가능 영역을 식별하여 대체 경로점으로 상기 주행 불가능 영역에 있는 경로점을 대체하여 상기 경로점 집합을 갱신하는 입력 영상 처리부, 상기 차량과 현재 추종하고 있는 경로점 간의 거리 차이 및 방향 차이를 포함하는 상대 벡터를 계산하는 상대 벡터 계산부, 및 상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 포함한 강화학습 자료를 신경망에 입력하는 강화학습 입력부를 포함한다.
상기 경로점 집합 생성부는 상기 차량의 현재 위치에서 도착점까지 방문해야 하는 순서에 따라 경로점들을 정렬하여 상기 경로점 집합을 생성할 수 있다.
상기 강화학습 기반 자율 주행 장치는 상기 차량의 현재 위치와 현재 추종하고 있는 경로점의 위치의 거리차가 일정 수치 이내인 경우 추종 경로점을 상기 현재 추종하고 있는 경로점의 다음 경로점으로 갱신하는 추종 경로점 갱신부를 더 포함할 수 있다.
상기 입력 영상 처리부는 상기 영상 정보로부터 상기 추종 경로점의 추종 가능 여부를 확인한 후 추종 불가능시 대체 경로점을 생성하여 상기 추종 경로점을 갱신할 수 있다.
상기 상대 벡터 계산부는 상기 차량의 현재 위치와 상기 현재 추종하고 있는 경로점 간의 벡터 방향을 구하고, 상기 차량의 헤딩과 상기 벡터 방향 간의 각도 차이를 구하여 상기 상대 벡터를 생성할 수 있다.
본 발명의 다른 실시예에 따른 강화학습 기반 자율 주행 방법은 차량의 현재 위치와 도착점 위치를 기반으로 하나 이상의 경로점을 포함하는 경로점 집합을 생성하는 단계, 영상 센서로 획득한 영상 정보로부터 주행 불가능 영역을 식별하여 대체 경로점으로 상기 주행 불가능 영역에 있는 경로점을 대체하여 상기 경로점 집합을 갱신하는 단계, 상기 차량과 현재 추종하고 있는 경로점 간의 거리 차이 및 방향 차이를 포함하는 상대 벡터를 계산하는 단계, 및 상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 포함한 강화학습 자료를 신경망에 입력하는 단계를 포함한다.
상기 강화학습 기반 자율 주행 방법은 상기 차량의 현재 위치와 현재 추종하고 있는 경로점의 위치의 거리차가 일정 수치 이내인 경우 추종 경로점을 상기 현재 추종하고 있는 경로점의 다음 경로점으로 갱신하는 단계를 더 포함할 수 있다.
상기 강화학습 기반 자율 주행 방법은 상기 영상 정보로부터 상기 추종 경로점의 추종 가능 여부를 확인한 후 추종 불가능시 대체 경로점을 생성하여 상기 추종 경로점을 갱신하는 단계를 더 포함할 수 있다.
상기 경로점 집합은 상기 차량의 현재 위치에서 도착점까지 방문해야 하는 순서에 따라 경로점들을 정렬하여 생성될 수 있다.
상기 상대 벡터를 계산하는 단계는, 상기 차량의 현재 위치와 상기 현재 추종하고 있는 경로점 간의 벡터 방향을 구하고, 상기 차량의 헤딩과 상기 벡터 방향 간의 각도 차이를 구하는 단계를 포함할 수 있다.
강화학습 기반 자율 주행 방법은 상기 신경망이 상기 강화학습 자료와 무관한 주행 성능 척도로 정의되는 제1 보상과 상기 강화학습 자료와 연관된 주행 성능 척도로 정의되는 제2 보상을 각 스텝마다 수여하는 단계를 더 포함할 수 있다.
상기 제2 보상은 상기 상대 벡터의 방향 차이의 절대값과 관련된 보상 및 상기 상대 벡터의 거리 차이와 관련된 보상을 포함할 수 있다.
본 발명의 실시예는 근본적으로 도착점 관련 정보를 강화학습 모델의 입력으로 제공함으로써 자율 주행 시스템이 의미없이 아무 주행 가능 영역이나 주행하는 것이 아니라 주행 가능 영역 중에서도 원하는 도착점으로의 구간을 주행하도록 할 수 있다.
본 발명의 실시예는 도착점의 정보를 강화학습 모델에 바로 입력하는 것이 아니라 도착점에 이르게 하는 중간 경로점들의 정보를 자율 주행 차량의 주행 진행 상황에 따라 제공함으로써 차량이 도착점으로 접근해 나가는 주행을 가능하게 한다.
본 발명의 실시예는 중간 경로점들의 좌표를 바로 강화학습 모델에 입력하지 않고 중간 경로점을 잘 추종할 수 있도록 중간 경로점의 좌표와 차량의 현재 위치 및 방향과의 상대적 관계를 고려한 현재 차량 상황에 맞는 가이드 값을 제공함으로써 중간 경로점을 추종할 수 있는 성능을 향상시킬 수 있다. 또한 중간 경로점의 방향뿐만 아니라 거리값도 제공함에 따라 다양한 회전 곡률을 가지는 도로(비포장로 등)에서의 자율 주행도 가능해진다. 그리고 강화학습 모델에 중간 경로점을 추종할 수 있는 적합한 가이드 입력을 사용하기 때문에 신경망의 레이어 수가 크지 않은 강화학습 모델로도 수행될 수 있으며 자율 주행 차량의 실시간 성능을 향상시킬 수 있다.
본 발명의 실시예는 중간 경로점을 추종하면서 주행할 수 있는 성능을 향상시켜 경로 이탈 없이 주행 가능 영역을 벗어나지 않으면서 주행할 수 있도록 돕는 보조 수단으로도 역할을 할 수 있다. 이에 따라, 도착점 정보가 없거나 종래의 방법과 같이 제대로 가공되지 않거나 제한된 정보를 사용한 경우와 다르게 학습의 효율성이 높고, 학습을 위한 스텝수와 이에 따른 데이터 양, 데이터 획득 시간을 줄일 수 있어 자율 주행이 가능한 강화학습 모델을 개발하는 시간을 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 상대 벡터를 설명하기 위한 예시도이다.
도 4는 기존의 강화학습 기반 자율 주행의 성능을 나타내는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행의 성능을 나타내는 그래프이다.
도 2는 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 상대 벡터를 설명하기 위한 예시도이다.
도 4는 기존의 강화학습 기반 자율 주행의 성능을 나타내는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행의 성능을 나타내는 그래프이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.
또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도 1 내지 3을 참조하여 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 장치 및 그 방법에 대하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 장치를 나타내는 블록도이다. 도 2는 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 방법을 나타내는 흐름도이다. 도 3은 본 발명의 일 실시예에 따른 상대 벡터를 설명하기 위한 예시도이다.
도 1 내지 3을 참조하면, 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행 장치(100)는 경로점 집합 생성부(110), 추종 경로점 갱신부(120), 입력 영상 처리부(130), 상대 벡터 계산부(140) 및 강화학습 입력부(150)를 포함한다.
경로점 집합 생성부(110)는 하나 이상의 경로점을 포함하는 경로점 집합을 생성한다(S110). 경로점 집합 생성부(110)는 지도, 차량의 현재 위치(또는 출발점의 위치), 도착점의 위치를 입력받고, 이를 기반으로 하나 이상의 경로점을 생성할 수 있다. 경로점 집합 생성부(110)는 차량의 현재 위치에서 도착점까지 차량이 이동하기 위하여 방문해야 하는 경로점을 최단 거리, 최단 시간 등의 특정 조건에 따라 생성할 수 있다. 이때, 경로점 집합 생성부(110)는 차량의 현재 위치에서 도착점까지 방문해야 하는 순서에 따라 경로점들을 정렬하여 경로점 집합을 생성할 수 있다. 자율 주행 차량은 경로점 집합에 포함된 경로점을 순서대로 추종하여 주행하게 된다.
추종 경로점 갱신부(120)는 주행 중인 차량의 현재 위치와 현재 추종하고 있는 경로점의 위치를 비교하여 추종 경로점을 갱신한다(S120). 추종 경로점 갱신부(120)는 차량의 현재 위치와 현재 추종하고 있는 추종 경로점의 위치의 거리차가 일정 수치 이내인 경우 추종 경로점을 현재 추종하고 있는 경로점의 다음 경로점으로 갱신할 수 있다.
입력 영상 처리부(130)는 CCD(Charge Coupled Device), CMOS(Complementary Metal-Oxide Semiconductor) 등의 영상 센서로 획득한 영상 정보를 이용하여 경로점 집합을 갱신할 수 있다(S130). 입력 영상 처리부(130)는 차량의 주행 중에 경로점이 장애물 등에 의해 주행 불가능 영역에 있는지 영상 정보로부터 식별할 수 있다. 입력 영상 처리부(130)는 경로점이 주행 불가능 영역에 있으면 해당 경로점을 경로점 집합에서 삭제하고 영상 정보를 통해 식별한 주행 가능 영역에 대체 경로점을 생성한 후 삭제된 경로점을 대체하여 경로점 집합에 삽입할 수 있다.
또한, 입력 영상 처리부(130)는 차량의 주행 중에 영상 정보로부터 추종 경로점의 추종 가능 여부를 확인한 후 추종 불가능시 대체 경로점을 생성하여 추종 경로점을 갱신할 수 있다(S140). 자율 주행 차량은 새로이 생성된 대체 경로점을 추종 경로점으로 추종하게 된다.
상대 벡터 계산부(140)는 차량과 현재 추종하고 있는 경로점 간의 거리 차이 및 방향 차이를 포함하는 상대 벡터를 계산한다(S150). 도 3에 예시한 바와 같이, 차량의 현재 위치를 (x1, y1)이라 하고 현재 추종하고 있는 경로점의 위치를 (x2, y2)라 할 때, 상대 벡터 계산부(140)는 현재 추종하고 있는 경로점의 위치 (x2, y2)와 차량의 현재 위치 (x1, y1)의 차 (Δx, Δy) = (x2-x1, y2-y1)을 구할 수 있다. 그리고 상대 벡터 계산부(140)는 차량의 현재 위치와 현재 추종하고 있는 경로점의 거리 차이 diff_dist = d(Δx, Δy)를 구할 수 있으며, 여기서 d는 벡터의 길이를 구하는 다양한 함수 중 하나로 출력값은 양수(예를 들어, 유클리드 길이)이다. 그리고 상대 벡터 계산부(140)는 차량의 현재 위치와 현재 추종하고 있는 경로점 간의 벡터 방향 angle1 = a(Δy, Δx)를 구할 수 있으며, 여기서 a는 방향을 구하는 다양한 함수(예를 들어 arc tangent) 중 하나이다. 그리고 상대 벡터 계산부(140)는 차량의 헤딩(진행 방향)과 벡터 방향 angle1 간의 각도 차이 diff_angle을 구할 수 있으며, diff_angle은 양수 및 음수를 값으로 가질 수 있다. 상대 벡터 계산부(140)는 차량의 현재 위치와 현재 추종하고 있는 경로점의 거리 차이 diff_dist와 차량의 헤딩(진행 방향)과 벡터 방향 angle1 간의 방향 차이 diff_angle을 포함하는 상대 벡터 (diff_dist, diff_angle)를 생성하여 저장할 수 있다. 상대 벡터 계산부(140)는 상대 벡터를 강화학습 입력부(150)에 전달할 수 있다. 상대 벡터는 신경망(200)의 자율주행 강화학습을 위한 강화학습 자료(가이드 정보)로 사용될 수 있다.
입력 영상 처리부(130)는 CCD, CMOS 등의 영상 센서를 이용하여 카메라로 획득한 영상 정보를 강화학습 입력부(150)에 전달하며, 영상 정보는 가이드 정보와 조합되어 사용될 수 있다. 영상 정보는 CNN(Convolutional Neural Network) 또는 오토 인코더(Auto-Encoder)를 통해 인코딩될 수 있다. CCD, CMOS 등의 영상 센서는 비용 측면에서 경제적이며 성능 측면에서도 우수하여 실용적인 장비이다. 영상을 통해 주행 가능 영역을 내재적으로 판단하고, 장애물 침범 영역도 내재적으로 판단함으로써 도착점 관련 가이드 정보를 제외하고 일반적인 주행의 기본적인 상황에 대한 정보가 제공될 수 있다. 여기서 내재적이란 주행 가능 영역을 판단하는 별도의 단계를 거치지 않고 영상 등 모델 입력으로부터 바로 주행 제어 값이 산출되지만 주행 제어 영역이 주행 가능 영역을 주행하도록 만들어지기에 주행 가능 영역 식별이 통합적으로 수행된 것과 같음을 의미한다.
강화학습 입력부(150)는 영상 정보를 인코딩한 정보, 차량 상태(차량 위치 및 헤딩), 행동 히스토리, 상대 벡터를 포함한 강화학습 자료를 신경망(200)에 입력한다(S160). 행동 히스토리는 이전 행동들을 유한개만큼 저장한 리스트를 의미한다.
신경망(200)은 강화학습 자료를 입력으로 사용하여 자율주행 강화학습을 수행하여 차량의 제어 수치를 출력할 수 있다. 신경망(200)은 차량의 헤딩 각도, 스로틀 등과 같이 차량의 직접 제어 수치를 산출하거나 차량의 직접 제어 수치의 입력이 되는 간접 제어 수치를 산출할 수 있다. 신경망(200)의 입력과 출력 사이의 레이어 수, 신경망(200)의 종류, 신경망 앙상블(Neural Network Ensemble) 사용 여부 등의 옵션은 제한되지 않으며 다양하게 선택될 수 있다.
신경망(200)은 행동의 단위시간인 스텝마다 보상을 수여하여 자율주행 강화학습을 수행할 수 있다(S170). 매번 스텝마다 주어지는 보상은 여러 척도에 따라 주어지는데 주행 성능을 향상시키는 척도는 보상을 증가시키고, 주행 성능을 향상시키지 않는 척도는 보상을 감소시킬 수 있다. 각 척도의 보상은 각각의 가중치로 곱해져 보상에 더해질 수 있다. 척도별 가중치의 크기와 가중치의 비율에 따라 보상이 변하게 되고 이에 따라 학습한 자율 주행의 특성도 변하게 된다. 척도별 가중치를 결정하기 위해 설계자는 척도별 가중치의 크기, 비율 등의 초기값을 임의로 정하고 이를 변경해가며 수행한 주행 성능 시험 결과에 따라 최고 주행 성능을 보이는 최적 가중치를 사용할 수 있다.
보상을 가이드 정보(강화학습 자료)와 무관한 주행 성능 척도들로 정의되는 제1 보상과 가이드 정보와 연관된 주행 성능 척도들로 정의되는 제2 보상을 포함할 수 있다. 제1 보상의 척도는 생존(무이탈) 여부, 스로틀 수치 크기(또는 주행 속도), 주행 안정성(헤딩 각도와 스로틀 값의 변화 크기) 등이 될 수 있다. 제2 보상의 척도는 차량의 헤딩(진행 방향)과 벡터 방향 angle1 간의 각도 차이 diff_angle의 절대값, 및 차량의 현재 위치와 현재 추종하고 있는 경로점의 거리 차이 diff_dist로 이루어질 수 있다. 제2 보상에서 각도 차이 diff_angle와 거리 차이 diff_dist가 작을수록 더 높은 보상을 받도록 설계될 수 있다.
신경망(200)은 제1 보상과 제2 보상을 합하여 해당 스텝의 보상을 수여할 수 있다. 즉, 해당 스텝의 보상 Reward = Reward0 + Reward1 + Reward2로 이루어질 수 있으며, 여기서 Reward0은 가이드 정보와 무관한 제1 보상, Reward1은 제2 보상 중에서 각도(방향) 차이 diff_angle의 절대값과 관련된 보상, Reward2는 제2 보상 중에서 거리 차이 diff_dist와 관련된 보상을 의미한다. 일 예로, Reward1 = a1 × 1 / (1 + exp(-b1 / |diff_angle|)), Reward2 = a2 × 1 / (1 + exp(-b2 / |diff_dist|))로 제2 보상이 주어질 수 있다. 다른 예로, Reward1 = a1 × ( 180 - |diff_angle| ) / 180, Reward2 = b1 × (이전 경로점과 현재 경로점 간의 거리 - |diff_dist| ) / (이전 경로점과 현재 경로점 간의 거리)로 제2 보상이 주어질 수 있다. 제2 보상은 자율주행 성능 향상을 위하여 다양하게 설계될 수 있다.
이하, 도 4 및 5를 참조하여 기존의 강화학습 기반 자율 주행의 성능과 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행의 성능에 대하여 설명한다.
도 4는 기존의 강화학습 기반 자율 주행의 성능을 나타내는 그래프이다. 도 5는 본 발명의 일 실시예에 따른 강화학습 기반 자율 주행의 성능을 나타내는 그래프이다.
도 4 및 5를 참조하면, 기존의 강화학습은 매 스텝마다 상태와 행동, 보상, 그리고 필요에 따라 다음 상태와 다음 상태에서의 행동을 학습데이터로 저장한다. 강화학습 방법마다 다양하게 정해질 수 있는 일정 조건(예를 들어, 경로 이탈, 누적 스텝 수가 일정 수 이상 등)을 만족하면 축적된 학습데이터를 기반으로 신경망 모델의 파라미터들을 최적화한다. 최적화 방향은 입력과 보상을 활용하여 에피소드 보상의 누적값을 최대화하는 목적으로 수행되며, 최적화의 도구는 기존에 알려진 경사하강법(gradient-descent), 아담 옵티마이저(adam optimizer) 등 여러 도구가 사용될 수 있다. 여기서, 에피소드란 자율 주행 시에 주행의 시작부터 종료까지의 기간을 의미하며, 주행의 시작은 차량의 출발을, 주행의 종료는 경로 이탈, 충돌, 또는 도착점에 도착 등에 의해 주행을 종료하는 시점을 말한다. 자율 주행 시는 학습한 모델을 로드한 후에 모델의 입력으로 상태를 제공하며 해당 상태에 대해 모델에서 출력한 행동이 차량의 제어값으로 사용될 수 있다.
도 4는 상대 벡터 및 영상 정보를 사용하지 않는 기존의 강화학습 방법으로 주행 성능을 시뮬레이션한 결과이고, 도 5는 본 발명의 실시예에 따른 상대 벡터 및 영상 정보를 강화학습 자료(가이드 정보)로 추가하여 주행 성능을 시뮬레이션한 결과이다.
도 4에 예시한 바와 같이, 기존의 강화학습 방법에서는 학습이 진행될수록(주행 스텝 수가 증가할수록) 통과하는 경로점의 수가 늘고 있지만 50000 스텝을 학습하는 동안 180개보다 작은 경로점을 통과하고 전체 경로점을 모두 통과하지 못하는 것을 확인할 수 있었다.
도 5에 예시한 바와 같이, 본 발명의 실시예에 따른 강화학습 방법에서는 학습이 진행될수록(주행 스텝 수가 증가할수록) 통과하는 경로점의 수가 늘고 있으며 50000 스텝을 학습하는 동안 204개의 전체 경로점을 통과하는 것을 확인할 수 있었다.
이와 같이, 본 발명의 실시예에 따른 강화학습 기반 자율 주행 장치(100)는 상대 벡터를 포함한 가이드 입력 이외에 영상 정보를 입력으로 사용함으로써 내재적으로 주행 가능 영역을 식별과 장애물을 식별할 수 있어 중간 경로점을 추종하면서도 주행 가능 영역 안에서 장애물을 회피하며 주행할 수 있다. 또한, 본 발명의 실시예에 따른 강화학습 기반 자율 주행 장치(100)는 보상의 가중치를 적절히 설정하고 충분한 양의 학습을 진행한다면 인간의 주행 성능을 넘어설 수 있다는 장점을 가지고 있다.
본 발명의 실시예에 따른 강화학습 기반 자율 주행 장치(100) 및 그 방법은 하드웨어나 소프트웨어, 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 예를 들어, 강화학습 기반 자율 주행 장치(100) 및 그 방법은 집적회로(IC)와 같이 하드웨어적으로 구현되거나, 컴퓨터 프로그램과 같이 소프트웨어적으로 구현되거나, 또는 컴퓨터 프로그램이 기록된 기록매체와 같이 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
지금까지 참조한 도면과 기재된 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 강화학습 기반 자율 주행 장치
110: 경로점 집합 생성부
120: 추종 경로점 갱신부
130: 입력 영상 처리부
140: 상대 벡터 계산부
150: 강화학습 입력부
200: 신경망
110: 경로점 집합 생성부
120: 추종 경로점 갱신부
130: 입력 영상 처리부
140: 상대 벡터 계산부
150: 강화학습 입력부
200: 신경망
Claims (12)
- 차량의 현재 위치와 도착점 위치를 기반으로 하나 이상의 경로점을 포함하는 경로점 집합을 생성하는 경로점 집합 생성부;
영상 센서로 획득한 영상 정보로부터 주행 불가능 영역을 식별하여 대체 경로점으로 상기 주행 불가능 영역에 있는 경로점을 대체하여 상기 경로점 집합을 갱신하는 입력 영상 처리부;
상기 차량과 현재 추종하고 있는 경로점 간의 거리 차이 및 방향 차이를 포함하는 상대 벡터를 계산하는 상대 벡터 계산부; 및
상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 포함한 강화학습 자료를 신경망에 입력하는 강화학습 입력부를 포함하고,
상기 신경망은 상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 입력으로 사용하여 자율주행 강화학습을 수행하여 상기 차량의 제어 수치를 출력하는 강화학습 기반 자율 주행 장치. - 제1 항에 있어서,
상기 경로점 집합 생성부는 상기 차량의 현재 위치에서 도착점까지 방문해야 하는 순서에 따라 경로점들을 정렬하여 상기 경로점 집합을 생성하는 강화학습 기반 자율 주행 장치. - 제1 항에 있어서,
상기 차량의 현재 위치와 현재 추종하고 있는 경로점의 위치의 거리차가 일정 수치 이내인 경우 추종 경로점을 상기 현재 추종하고 있는 경로점의 다음 경로점으로 갱신하는 추종 경로점 갱신부를 더 포함하는 강화학습 기반 자율 주행 장치. - 제3 항에 있어서,
상기 입력 영상 처리부는 상기 영상 정보로부터 상기 추종 경로점의 추종 가능 여부를 확인한 후 추종 불가능시 대체 경로점을 생성하여 상기 추종 경로점을 갱신하는 강화학습 기반 자율 주행 장치. - 제1 항에 있어서,
상기 상대 벡터 계산부는 상기 차량의 현재 위치와 상기 현재 추종하고 있는 경로점 간의 벡터 방향을 구하고, 상기 차량의 헤딩과 상기 벡터 방향 간의 각도 차이를 구하여 상기 상대 벡터를 생성하는 강화학습 기반 자율 주행 장치. - 차량의 현재 위치와 도착점 위치를 기반으로 하나 이상의 경로점을 포함하는 경로점 집합을 생성하는 단계;
영상 센서로 획득한 영상 정보로부터 주행 불가능 영역을 식별하여 대체 경로점으로 상기 주행 불가능 영역에 있는 경로점을 대체하여 상기 경로점 집합을 갱신하는 단계;
상기 차량과 현재 추종하고 있는 경로점 간의 거리 차이 및 방향 차이를 포함하는 상대 벡터를 계산하는 단계; 및
상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 포함한 강화학습 자료를 신경망에 입력하는 단계를 포함하고,
상기 신경망은 상기 영상 정보를 인코딩한 정보 및 상기 상대 벡터를 입력으로 사용하여 자율주행 강화학습을 수행하여 상기 차량의 제어 수치를 출력하는 강화학습 기반 자율 주행 방법. - 제6 항에 있어서,
상기 차량의 현재 위치와 현재 추종하고 있는 경로점의 위치의 거리차가 일정 수치 이내인 경우 추종 경로점을 상기 현재 추종하고 있는 경로점의 다음 경로점으로 갱신하는 단계를 더 포함하는 강화학습 기반 자율 주행 방법. - 제7 항에 있어서,
상기 영상 정보로부터 상기 추종 경로점의 추종 가능 여부를 확인한 후 추종 불가능시 대체 경로점을 생성하여 상기 추종 경로점을 갱신하는 단계를 더 포함하는 강화학습 기반 자율 주행 방법. - 제6 항에 있어서,
상기 경로점 집합은 상기 차량의 현재 위치에서 도착점까지 방문해야 하는 순서에 따라 경로점들을 정렬하여 생성되는 강화학습 기반 자율 주행 방법. - 제6 항에 있어서,
상기 상대 벡터를 계산하는 단계는,
상기 차량의 현재 위치와 상기 현재 추종하고 있는 경로점 간의 벡터 방향을 구하고, 상기 차량의 헤딩과 상기 벡터 방향 간의 각도 차이를 구하는 단계를 포함하는 강화학습 기반 자율 주행 방법. - 제6 항에 있어서,
상기 신경망이 상기 강화학습 자료와 무관한 주행 성능 척도로 정의되는 제1 보상과 상기 강화학습 자료와 연관된 주행 성능 척도로 정의되는 제2 보상을 각 스텝마다 수여하는 단계를 더 포함하는 강화학습 기반 자율 주행 방법. - 제11 항에 있어서,
상기 제2 보상은 상기 상대 벡터의 방향 차이의 절대값과 관련된 보상 및 상기 상대 벡터의 거리 차이와 관련된 보상을 포함하는 강화학습 기반 자율 주행 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210097104A KR102363443B1 (ko) | 2021-07-23 | 2021-07-23 | 강화학습 기반 자율 주행 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210097104A KR102363443B1 (ko) | 2021-07-23 | 2021-07-23 | 강화학습 기반 자율 주행 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102363443B1 true KR102363443B1 (ko) | 2022-02-14 |
Family
ID=80254052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210097104A KR102363443B1 (ko) | 2021-07-23 | 2021-07-23 | 강화학습 기반 자율 주행 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102363443B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101647061B1 (ko) * | 2014-04-02 | 2016-08-10 | 서강대학교산학협력단 | 무인자율주행 차량의 주행경로 생성방법 및 장치 |
KR20190123673A (ko) * | 2018-04-06 | 2019-11-01 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20210048969A (ko) * | 2019-10-24 | 2021-05-04 | 네이버 주식회사 | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 |
-
2021
- 2021-07-23 KR KR1020210097104A patent/KR102363443B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101647061B1 (ko) * | 2014-04-02 | 2016-08-10 | 서강대학교산학협력단 | 무인자율주행 차량의 주행경로 생성방법 및 장치 |
KR20190123673A (ko) * | 2018-04-06 | 2019-11-01 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20210048969A (ko) * | 2019-10-24 | 2021-05-04 | 네이버 주식회사 | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11619943B2 (en) | Optimal path library for local path planning of an autonomous vehicle | |
US20210403032A1 (en) | Two-level path planning for autonomous vehicles | |
JP6494872B2 (ja) | 車両の運動を制御する方法、及び車両の制御システム | |
JP7150067B2 (ja) | 車両の制御システム、車両を制御する方法、及び非一時的コンピュータ可読メモリ | |
JP7361775B2 (ja) | 自律運転のための個人運転スタイル学習 | |
US10795360B2 (en) | Utility decomposition with deep corrections | |
Paden et al. | A survey of motion planning and control techniques for self-driving urban vehicles | |
Meyer et al. | Map-based navigation in mobile robots:: Ii. a review of map-learning and path-planning strategies | |
JP2020126619A (ja) | V2x通信及びイメージ処理を利用した情報融合によって自律走行の短期経路をプランニングするための方法及び装置{method and device for short−term path planning of autonomous driving through information fusion by using v2x communication and image processing} | |
US20210004966A1 (en) | Method for the Assessment of Possible Trajectories | |
JP2005339241A (ja) | モデル予測制御装置および車両用推奨操作量生成装置 | |
CN110941272B (zh) | 自动驾驶控制方法和设备 | |
CN112394725B (zh) | 用于自动驾驶的基于预测和反应视场的计划 | |
CN112146680B (zh) | 基于特征图确定消失点 | |
CN111736592A (zh) | 路径决定装置、机器人以及路径决定方法 | |
US20230001953A1 (en) | Planning-aware prediction for control-aware autonomous driving modules | |
McAllister et al. | Control-aware prediction objectives for autonomous driving | |
CN113934205A (zh) | 用于控制引导机器人的方法、装置、设备以及存储介质 | |
Jamshidi et al. | Autonomous driving systems: Developing an approach based on a* and double q-learning | |
CN113767393A (zh) | 使用具有显示生命周期的矢量图数据可视化自主交通工具过程 | |
KR102363443B1 (ko) | 강화학습 기반 자율 주행 장치 및 그 방법 | |
US20210398014A1 (en) | Reinforcement learning based control of imitative policies for autonomous driving | |
McCalip et al. | Reinforcement learning approaches for racing and object avoidance on aws deepracer | |
US20240160548A1 (en) | Information processing system, information processing method, and program | |
Singh | End-to-end autonomous driving using deep learning: A systematic review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |