Paper: Vitelli, Matt, et al. "Safetynet: Safe planning for real-world self-driving vehicles using machine-learned policies." 2022 International Conference on Robotics and Automation (ICRA). IEEE, 2022.
Website: https://www.self-driving-cars.org/papers/2022-safetynet
요약
- 자율주행을 위한 Imitation Learning 기반의 Motion Planning 기법을 설명한다.
- Machine Learning planner와 rule-based fallback path planning layer가 합쳐진 SafetyNet을 제안한다.
- Rule-based fallback path planning layer는 Machine Learning Planner가 수행하지 못하는 충돌 판단, Kinematic Feasibility, Dynamic Constraint을 판단 및 Fail 시 경로를 생성하는 역할을 수행한다.
- 본 논문은 코드가 공개되어 있는데, L5kit Github 저장소로 연결된다. 이 L5kit를 보니 Toyota의 Woven Planet 사이트로 연결된다. Woven Planet에서 Lyft의 자율주행 사업부를 인수했는데, 이 과거 Lyft의 연구진들이 개발/사용한 기법으로 추정된다.
문제 정의
- 전통적인 rule-based planning은 cost와 constraint function을 디자인하여 trajectory를 최적화 하는 방식이다. 이 방법은 주행 상황에 따라 cost의 가중치와 cost term을 새로 도출해야 한다. 그리고 새로운 도로 상황에 취약하기 때문에 scale up하기에 취약하다.
- Machine Learning Planner는 Data가 많아지면 자연스레 sclae up할 수 있다. 하지만 ML Planner가 만든 궤적은 safety, kinematic feasibility, dynamic constraint 측면을 보장하지 못한다.
- 본 논문에서는 ML planner와 rule-based fallback layer를 사용하여 전통적인 경로 생성 방식과 ML Planner가 가진 단점을 보완한다.
관련 연구
- 궤적 최적화 기반 Planning : 다양한 도로 상황과 Geometry에 따라 최적 궤적을 결정하는 cost는 달라진다. (comfort, safety, route progress 중) 그리고 도심 속 정리되지 않는 도로 상황에서 일반화하기도 힘들다. 따라서 상황별로 cost를 최적화하고 Fine tuning을 위한 engineering이 필요하다. 그리도 이 방식은 데이터가 증가함에 따라 성능이 증가하지 않는다.
- Macine-learning Planning : 학습 기반 방식은 직접 rule을 짜는 번거로움을 피하고 data와 함께 성능이 증가될 수 있다. 따라서 다양한 도로 상황에 일반화되고 scale up하기에 유리하다. 최근 motion planning에 많이 사용되는 ML 기법은 2가지가 있다.
- Imitation Learning : 이는 전문가의 행동을 모방하기 위해 모델을 학습시키는 지도학습이다.
- Reinforcement Learning : 도로 상황에 따라 Reward가 최대가 되는 Action을 선택하도록 모델을 학습시키는 방식이다.
- ML 방식은 데이터와 함께 성능 증가 및 다양한 도로 상황에 일반화된다는 관점에서 유용하지만 safety를 보장하지 않기에, 실제 세계에 적용하는데 어려움이 있다.
SafetyNet : Hybrid ML Planning System
본 아키텍처의 주요 목적은 전문가의 주행 습관으로 부터 ML planner가 학습하고, rule-based fallback layer가 collision avoidance, traffic rules, kinematic feasibility, dynamic costraint에 대한 판단을 제공하는 것이다. 그리고 ML planner로 생성된 궤적이 infeasibile할 경우, simple classical trajectory generator를 통해 ML planner가 생성한 궤적과 유사하면서 feasibile한 궤적을 생성한다.
A. 입력과 출력
- 입력
- 1) 자차량의 현재 및 과거 위치, 제원. 2) 주변 객체의 현재 및 과거 위치, 제원, 객체 타입. (인지 결과) 3) 정적 지도 요소 - 차선, 횡단보도, 정지선을 포함하는 도로 네트워크. 4) 동적 지도 요소 - 교통 신호, 도로 구조물. 5) 전역 경로.
- 위치 값의 좌표계는 차량 기준 로컬 좌표계로 보인다. (논문에서는 ego-centric frame of reference where the Ego vehilce is always at a fixed location relative to a frame 이라고 표현했다.)
- 상기 입력은 vectorized된 형태고 이는 "Vector Net: Encoding HD maps and agent dynamics from vectorized representation"[1] 논문에서 제안된 방법을 사용했다. (Waymo research에서 발표한 논문, 처음으로 도로 위 요소들을 Vector 형태로 구성해 Neural Network를 설계한 논문)
- https://iridescentboy.tistory.com/78 (VectorNet 논문 리뷰)
- 뉴럴 넷에 입력되는 인풋 elements의 수는 당연히 네트워크 capacity를 초과할 수 없다. 본 논문에서는 차량의 위치를 기반으로 관심 지역을 설정해 입력 elements의 개수를 제한했다.
- 출력
- 뉴럴 넷의 출력은 Trajectory이다. Delta Time에 대해 T개의 discrete states sequence로 표현된다.
- $$s_t = \left\{ x_t, y_t, \theta_t, v_t, a_t, k_t, j_t\right\}$$
- 각각 후륜의 위치, 속도, 가속도 곡률, 절크이다.
B. ML Planner
- 모델 아키텍처
- Hierarchical graph network 기반의 아키텍처이고, [1] 아키텍처를 참조했다.([1] 논문의 모델을 이해하려면 PointNet [2] 과 Transformer encoder 공부가 필요하다)
- 모델은 상기 그림에 나와있다.
- 모델이 출력한 Trajectory가 physically feasible함을 확인하기 위해 kinematic decoder을 사용한다. (kinematic decoder은 unicycle mdoel을 사용했다.) 이는 3-layer MLP로 구성되고 예측 horizon T 내에서 타임 스텝 별로 종방향 절크, 곡률을 예측한다. 뒷 부분 내용이 더 있는데 이해가 잘 안된다 다시 읽어보자.
- 의문 : 모델에서 horizon T에 대해 Trajectory를 출력한다. 그런데 Kinematic decoder에서 다시 각 스텝 별로 다음 스텝 상태 값을 추정하는 이유를 모르겠다.
- 학습 프레임웍
- Imitation Learning이다. 특정 상태에 대해, Expert driving behavior인 trajectory 값이 존재하고 이와 L1 loss를 최소화 하는 방식으로 학습을 진행한다.
- 학습 시에는 상태 값들의 분포를 확장하고, covariate shift의 영향을 줄이기 위해 perturbation을 포함한다. (이 부분을 잘 모르는데 논문에 참조 논문 있음.)
- L = \sum_{t=1}^{T}\left\| p_t - \widehat{p}_t\right\|_1 + \alpha\left\|k_t \right\|_2 + \beta\left\| j_t\right\|_2
- p_t 는 time t 의 예측된 위치 상태 값 (x, y, theta)이다. p_t^hat 는 expert behavior이다. 알파와 베타 값은 하이퍼 파라미터 이다.
C. Fallback Layer
- 뉴럴 넷에서 출력된 Trajectory (ML Trajectory라 하겠다)는 dynamic feasibility, legality, collision probability 여부를 확인 후 최종적으로 Feasible / Infeasible 라벨을 결정한다.
- Dynamic feasibility : 종/횡 저크, 종/횡 가속도, 곡률, 곡률 변화량 등이 constraint를 만족하는지 확인한다.
- Legality : 도로 규칙을 위반하는지 확인한다. (ex/ 일시 정지 신호에 주행하는 경우, 빨간 불인데 주행하는 경우, 주행 가능 영역을 벗어나는 경우)
- Collision likelihood : agent의 예상 trajectory와 뉴럴 넷에서 출력한 자차 trajectory를 비교해 종 거리, TTC를 평가하여 결정한다.
- Fallback trajectory generation : 상기 검증 과정을 거쳐 Feasilble 라벨이 붙으면 해당 trajectory로 주행한다. Infeasible인 경우 뉴럴넷의 trajectory와 가장 비슷한 feasible fallback trajectory를 새로 생성한다. 이때는 classic 최적화 기반의 경로 생성 방법을 사용한다. [3] (간단히 말하면, 차선 기준으로 여러 경로 후보를 생성하고, 이 중 뉴럴넷 trajectory와 가장 비슷한 경로를 선택함)
실험 결과
- 데이터 사이즈의 영향
- 총 5, 50, 150, 300 시간 별로 나눠 시뮬레이션을 수행했는데, 데이터가 많을 수록 성능이 향상됐다.
Reference
[1] Vector Net: Encoding HD maps and agent dynamics from vectorized representation,
[논문 리뷰] Vector Net: Encoding HD maps and agent dynamics from vectorized represe - https://iridescentboy.tistory.com/m/78
[2] Point Net Based : PointNet : Deep Learning on point sets for 3d classifiation and segmentation
[3] Optimal trajectories for time critical street scenarios using discretized terminal manifolds
공부 필요한 개념들
- Encoder, Decoder, Transformer : Attention is all you need, 2017, GNN
- Deep Kinematic Model : Deep kinematic models for kinematically feasible vehicle trajectory predictions, 2020.
'개념공부 > AI, 머신러닝 등' 카테고리의 다른 글
Graph Neural Networks (GNN) (0) | 2022.11.11 |
---|---|
[논문 리뷰] Vector Net: Encoding HD maps and agent dynamics from vectorized representation (0) | 2022.11.06 |
[CS231n] Lecture3. Loss Functions and Optimization 정리 (0) | 2020.10.06 |
[CS231n ] Lecture 2. Image Classification 정리 (0) | 2020.10.06 |
Training Neural Networks (0) | 2020.09.10 |