본문 바로가기

Enginius/Robotics

Planning and Decision-Making for Autonomous Vehicles

오늘은 자율 주행에 대한 서베이 논문을 정리해봅시다. 


이 리뷰에서는 현재 자율 주행에 있어서 

1) perception 2) planning 3) decision-making 

에 대해서 최신 기술과 연구 방향에 대한 논문이다. 예를 들어서 planning methods that provide safe and system compliant performance in complex, cluttered environments while modeling that uncertain interaction with other traffic participants가 필요하다. 또한, open questions regarding safety and reliability가 많이 있다.


이 리뷰에서는 아래의 문제점들을 다루려고 한다. 

(a) 자동차가 다음에 어디를 가려고 하는가

(b) 얻는 센서 정보가 있을 때, 이를 이용해서 어떻게 (long-term과 short-term) 결정을 내리는가?

(c) 다른 자동차와 interaction은 어떻게 고려되는가

(d) 다른 자동차와 사람의 주행을 통해서 어떻게 학습할 수 있는가?

(e) 우리가 내리는 제어, planning 결정들이 얼마나 safe하고 correct한지 어떻게 알 수 있을까?

(f) 여러 대의 vehicle을 어떻게 고려하는가? 



위에 있는 것들이 다 재밌는 연구 주제이다. 


2. Motion Planning and Control


여기서는 고전적인 자동차 제어 혹은 motion planning 방법에 대해서 다뤄보자. 


2.1 Vehicle Dynamics and Control


느린 속도로 움직이는 자동차의 경우에는 주어진 경로를 따라가는 PID 제어를 하곤 한다 물론 이를 위해서는 자동차의 모델을 알고 있어야 하고, 이 부분에 있어서 기계 학습이 사용될 수 있다. 


2.2 Parallel Autonomy


Collaborative autonomy에는 세 가지 방법이 있다. 

(a) series autonomy: 사람이 자동차를 제어한다.?

(b) interleaved autonomy: 사람 운전자와 자율 주행 시스템이 번갈아가면서 운전을 한다. 

(c) parallel autonomy: Shared control이라고 한다. 이 경우에는 안전을 지켜주기 위해서 background에서 마치 guardian angel로 돌아가게 된다. 졸음 방지 같은게 좋은 예가 될 것 같다. 


2.3 Motion Planning for Autonomous Vehicles


자율 주행자동차를 위한 안전한 경로를 만들어내는 방법론은 아래 세 가지 생각을 가지고 있다. 

1) 입력 공간은 discretization을 통해서 충돌 확인을 하는 것이다. 

2) Randomized planning이다. (RRT) 이는 probabilistic exploration을 가능하게 한다. 하지만 high computational cost이다. 

3) Constrained optimization and receding-horizon control이다. 여기서는 nonlinear MPC를 푸는 경우가 여기서 속한다. 


또한 자율 주행 자동차는 여러 도로 규칙들에 restrict되어있다. 그래서 이러한 규칙들을 constraint를 지켜야만 한다. 하지만 항상 예외도 있다. 


3. Integrated Perception and Planning


앞서 방법론에 있어서는 perception을 고려하지 않았지만, 사실 perception은 자율 주행에 가장 중요한 요소이다. End-to-end 방법론이 여기에 속하게 된다. 


3.1 From Classical Perception to Current Challenges in Neural Network-Based Perception Systems


여기서는 classic한 내용들을 다룬다. SIFT, BRISK, SURF 등등. Localization, lane detection, 

A large issue of neural-network-based perception systems is the insufficient feedback of uncertainty.   

Uncertainty에 대한 언급을 한다. 즉 뉴럴넷에서 분류를 할 때 불확실성을 잘 다루지 않는다. 베이지안 딥러닝은 딥러닝과 베이지언 확률론 사이의 interaction을 만들고, 이를 통해서 principled uncertainty estimation을 가능하게 한다. 제일 간단하게는 MCMC를 통해서 할 수 있다. 

"estimating and propagating uncertainty from every component throughout the entire system pipeline using a principled Bayesian framework would enable the autonomous vehicle to cope appropriately with high uncertainty."

Uncertainty propagation은 생각해본적이 없는데, 재밌는 주제인 것 같다. 


3.2 End-to-End Planning


일반적인 자율 주행에서는 functionalities가 clear observable interface들로 encapsulated되어 있었다. 혹은 train certain parts of perception module to incorporate partial task를 할 수도 있다. 혹은 end-to-end로 가서 실 수행 단계에서는 이미지만 있으면 된다. 

Going a step further, one can learn the entire task of lane and road following without manual decomposition into road- or lane-marking detection, semantic abstraction, path planning, and control. 

1) ALVINN (Autonomous Land Vehicle in a Neural Network) (70) pioneered end-to-end driving in 1989 by teaching a neural network to output steering angles from camera images to keep the vehicle driving on the road. 이게 아마 르쿤이 했던 연구이다. 

2) Chen et al. (67) referred to this as the behavior reflex approach, and by 2006, it was already possible to learn to avoid off-road obstacles from raw stereo-camera inputs(71). 즉 behavior cloning을 했다. 

3) Researchers at NVIDIA(72) trained a deep convolutional neural network to map raw images from a front-facing camera directly to steering commands and were able to handle challenging scenarios such as driving on a gravel road, passing through roadwork, and driving during the night in poorly lit environments.

여기에는 강화 학습도 들어간다. 물론 쉽지는 않다. DQN, actor-critic 모두 사용되었다. 


4. Behavior-Aware Motion Planning


자율 주행을 하기 위해서는 interactive and cooperative decision making을 해야만 한다. 


4.1 Cooperation and Interaction


Socially compliant driving, including cooperation and interactivity, not only are important to create congruent behavior among real human drivers but also are vital for safe navigation in cluttered, dynamic, and uncertain environments

다음 세가지 방법론이 exploding uncertainty를 해결하기 위해서 쓰일 수 있다. 

1) 주변 환경의 dynamics를 더 잘 모델링할 수 있는 description을 찾아보자. (여기에 미래의 정보를 포함)

2) Conditional model로 cooperation을 모델링하자. 로봇의 행동에 대한 다른 로봇 혹은 사람의 reaction을 고려하는게 힘들다. 

3) Joint model로 cooperation을 모델링하자. 


4.2 Game-Theoretic Approaches


Reward나 utility의 개념을 들고 올 수도 있다. 그리고 이런 문제를 풀 때 game-theoretic approach를 사용할 수 있다. 

Interaction을 모델링하는 것이 어렵지만, complexity가 커지는 것을 고려하는 것도 문제가 된다. 

Stackelberg game으로도 모델링을 한다. (자동차는 다른 차가 worst case action을 취한다고 가정을 하고, utility를 최대로 하는 문제를 다룬다.)


4.3 Probabilistic Approaches


In a highway entry scenario involving an autonomous vehicle, merging into moving traffic, Wei et al. (95) planned for two vehicles to execute a set of possible high-level policies in a Markov decision process.


4.4 Partially Observable Markov Decision Proesses


POMPD라니! 풀기가 어렵다. 

다른 자동차의 의도를 hidden variable로 놓고, POMDP를 푼다. 

Finding a suitable symbolic representation for the POMDP is difficult, as it heavily depends on the specific task and situation. 


4.5 Learning-Based Approaches


일반적으로 하는 방법은 decision making과 planning을 decouple시키는 것이다. 예를 들어서 lane-change를 할지 말지를 binary classifier로 풀고, 그 이후에 MPC로 path planning을 하는 방법이다. 마치 hybrid-mode controller로 볼 수 있다. 

여기서 왠만한 IRL, GAIL, 다 다룬다. 


Future Issues


1) Planning method는 안전하고, system-compliant performance를 복잡하고 cluttered된 환경에서 제공할 수 있어야 한다. 또한 다른 차량과의 interaction도 고려할 수 있어야 한다. 

2) Planning과 perception은 safe guarantee와 uncertainty propagation을 위해서 긴밀하게 연결되어야 한다. 

3) 악천후에서 planning과 control 문제를 다룰 수 있어야 한다. 

4) 학습 기반의 planning과 decision making에 대한 연구가 진행되고, 구현되고, 통합되어야 한다.

5) 안전성에 대한 verification이 있어야 한다. 


'Enginius > Robotics' 카테고리의 다른 글

Install Ubuntu (+apps) on MSI laptop  (0) 2018.07.03
로보틱스에서 하고 싶은 일들  (0) 2018.03.10
RL for real robots  (0) 2018.02.12
Related work of LevOpt  (0) 2018.02.11
Robotics and AI infographics  (0) 2017.12.13