0. 자율주행이란?
- 운전자의 개입 없이 목적지까지 차량(vehicle)이 스스로 움직이는 기술
- 센서(입력) -> 여러 기술을 통해 data 처리 -> 차량(출력)
1. 자율 주행 기술
크게 4가지(perception, localization, planning, control) 기술이 있다
그외에도 다양한 기술들이 필요하다
perception
- 자율주행 차량의 주행 환경에 대한 다양한 정보를 인지하는 기술
- 다양한 센서(카메라, LiDAR, RADAR)를 사용하여 주행에 필요한 정보를 인식
- 인식된 다양한 정보로부터 자율주행 차량에 영향을 미칠 요소를 분석하고 측정하여 환경을 이해한다
- 동적 장애물 검출 : 움직이는 장애물 검출
- 교통정보와 관련된 정보 (표지판, 신호등)
- 차선, 정지선, 횡단보도, 노면 마크, 좌회전 표시
localization (측위)
- 자율주행 차량의 현재 위치를 추정하는 기술
- localization을 잘하기 위해서는 perception이 잘되어야한다
- 크게 2가지 방법이 있다
- GNSS 기반의 Global Position을 추정하는 방법 -> GPS/INS fusion, GPS, RTK 등
- 다른 센서, 데이터로부터 차량의 Global Position을 추정하는 방법 -> SLAM, Map Matching
- GPS의 경우 터널, 동굴, 복잡한 도심과 같이 환경에 따라 정확도가 달라질 수 있다
- 센서 자체의 성능에 따라 영향을 많이 받는다
planning
- 자율주행 차량의 주행 환경, 위치 정보를 바탕으로 주행하는데 필요한 요소를 생성, 결정하는 기술
- path planning, mission planning, dicision making이 있다
- path planning : 경로 생성 기술
- global path planning (GPP)
: 내비게이션과 같이 현재 위치로부터 목적지까지 도로 단위의 경로를 결정하는 방법
- local path planning (LPP)
: 현재 주행 환경에서 원활한, 안전한 주행을 위하ㄴ 차선 단위의 경로를 결정하는 방법
- mission planning
: 주행 환경에 맞는 적절한 행동과 상호작용을 생성하는 기술
- dicision making
: mission planning에서 생성한 여러 선택지 중에 가장 적절한 것을 선택하는 기술
control
- 자율주행 차량이 원활한 주행을 할 수 있도록 차량의 요소를 제어하는 기술
- 차량의 경우 속도, 가속도, 순간 가속도 제어(종방향)와 스티어링 제어(횡방향)를 한다
- 제어 대상의 dynamics를 분석하고 주행 환경과의 상호작용을 통해 차량 안정성을 제어한다
HD Map (정밀 지도)
- High Definition Map
- 자율주행에 필요한 많은 사전 정보를 지도로 만들었다
- 차선 단위의 지도로 높은 정밀도, 다양한 정보를 포함한다
- HD Map을 만드는 회사마다 구체적인 정의, 데이터가 조금씩 다르다
- localization, 어떤 주변을 확인해야하는지를 알기 위해 사용된다
- 단점
- Navigation Map
- 일반적인 네비게이션에서 사용하는 map
- global path planning을 위해 최소한 Navigation Map을 사용해야한다
HD Map 만드는 방법
-
Mobile Mapping System (MMS)을 사용하여 데이터를 얻는다
-
누적된 LAS(LAser) 데이터를 사용하여 필요한 데이터 요소를 추출하고 경량화하는 작업을 수행한다
2. 자율주행 시스템 아키텍처
- object tracking
- 첫번째 프레임과 두번쨰 프레임 간의 object의 위치, 시간을 측정하면 세번째 프레임에서 object의 위치를 추정할 수 있다
- dectector가 중간 프레임에서 object를 검출하지 못했어도 tracker가 검출할 수 있다
- free space detection
- route planning = GPP
- prediction
- behavior planning : mission + decition making
- trajectory planning = LPP
- PID
- Proportional-Integral-Derivative(비례-적분-미분)의 약자로 피드백 제어 알고리즘
- 오차 신호에 대한 비례, 적분, 미분 세 가지 항을 사용하여 제어 입력을 계산하며, 시스템의 현재 오차에만 의존한다
- MPC
- 모델 예측 제어(Model Predictive Control)의 약자
- 예측 모델을 사용하여 자율 주행 자동차 및 자율 시스템에서 사용하는 제어 알고리즘
- 시스템의 동작을 제어하기 위해 미래 시간 범위 내에서 시스템 예측 모델을 사용하여 최적 제어 입력을 계산한다
Apollo
- 오픈소스 프레임워크
- V2X : Vehicle to Everything, 차량이 다른 차량, 도로 인프라, 보행자 등과 통신하는 것
- OTA : over the air, 무선으로 소프트웨어를 업데이트하고 관리하는 것
- CANBus : 자동차에서 많이 사용하는 내부 네트워크
Autoware
- 오픈소스 프레임워크
3. 자율주행 자동차 관련 회사
- 정밀지도 기반 자율주행 vs 비정밀지도 기반 자율주행
- 정밀지도 : Las (point cloud) data를 누적시켜서 도시의 형태를 나타내는 것 -> 용량이 크고 무겁다
- LiDAR 기반 자율주행 vs Vision 기반 자율주행
- WAYMO | Tesla , mobileye
- WAYMO vs Tesla
- WAYMO : HD map, LiDAR
- Tesla : vision (camera)
Mobileye
정밀지도를 사용하지 않고 vision 기반 자율주행을 하는 회사
REM(Road Experience Managment) 기술
- 도로에서 발생하는 다양한 일들을 관리하는 기술
- 일반 차량에서도 정보를 얻을 수 있기 때문에 유지보수가 쉽다
: 주변의 도로가 바뀌어나 환경이 바뀐 경우 데이터를 쉽게 얻을 수 있기 때문에 유지보수가 쉽다
- REM 단계
- Harvesting
- vision 기반으로 주변의 정보를 인식한다
- 1대 1회
- Alignment
- N대 N회의 모든 데이터를 모아놓은 것
- 정확도 향상의 역할
- Modeling & Semantics
- 정밀지도와 유사한 선 형태의 지도를 만들 수 있다
Tesla
tesla ai day 영상 참고
- Spatial RNN
- 많은 카메라(5~6대)를 사용하는데 이 카메라들의 데이터를 하나로 만드는 것이 중요하다
- 이를 통해 vector space가 가능해진다
- OTA 기술을 사용하면서 많은 사람들로부터 데이터를 얻어 지도를 그릴 수 있게 되었다
4. Perception 기술 분류
- 다양한 특징을 가지는 센서를 사용한다
- 센서의 고유한 특징을 활용하여 종합적인 정보를 추정한다
Detection
- vision, LiDAR, RADAR 등 다양한 센서를 활용하여 주행 환경에 존재하는 특정 객체(onject)를 검출한다
- vision 기반의 2D image object detection, LiDAR를 사용한 3D point cloud object detection 등이 있다
- 최근 vision 기반의 3D object detection을 검출하려는 다양한 노력이 있다
Segmentation
- 객체의 형태를 분할하는 기법
- bounding box와는 출력 결과가 다르다
- vision, point cloud 등 다양한 센서를 활용한다
- instance segmetation
: 검출된 각각의 대검을 별개의 대상으로 검출한다
- semantic segmetation
: 객체의 class에 맞게 동일한 대상으로 검출한다
Tracking
-
검출한 객체에 고유한 ID를 부여하고 해당 객체가 동일한 객체임을 추적하는 기술
-
동영상에서 주로 사용된다
-
frame이 들어오는 시간을 알 수 있기 때문에 검출된 결과를 통해 객체의 속도(벡터의 방향과 크기)를 알 수 있다
-
따라서 tracker가 객체의 위치 추정이 가능하고 이 결과와 detector에서 측정한 결과가 비슷하면 동일한 객체로 판단할 수 있다
-
Multiple Object Tracking (MOT)
: 다중 객체를 추적
-
Single Object Tracking (SOT)
: 단일 객체를 추적
Prediction
- 객체의 현재까지의 움직임과 객체의 고유한 특징 등 다양한 정보를 바탕으로 객체의 미래 움직임을 추정한다
- tracking과 비슷한데 tracking은 센서에 따라 tracker가 다르지만 prediction은 다양한 센서를 융합하여 사용한다
- Multimodal Trajectory Prediction이란 키워드로 활발한 연구가 진행중이다
- 객체의 고유한 특징
- holonomic : 움직임에 있어서 제한이 없는 것 ex)사람
- non-holonomix : 움직임에 있어서 제한이 있는 것 ex)자동차
3D pose estimation
- 객체를 인식하는 것 뿐만 아니라 객체의 정확한 위치를 추정하는 기술은 매우 중요하다
- vision의 geometry 정보를 사용하는 방법
- multiple view geometry 분야의 기술을 활용한다
- 위치 정보를 획득할 수 있는 다른 센서와의 데이터 융합 방법
- LiDAR, RADAR와 같이 물체의 거리, 위치, motion을 바로 획득할 수 있는 센서를 같이 사용한다
- 센서들 간의 calibration이 중요하다
Sensor Fusion (Calibration)
- 유의미한 정보를 획득하기 위해 센서 데이터를 융합하는 방법
- 각 센서는 고유한 장단점을 가지고 있다
- Camera vs LiDAR
- camera
- 3차원 공간에 존재하는 object들을 2차원 이미지 공간에 투영시킨 데이터
- color 정보를 통해 자동차, 표지판과 같이 object가 무엇인지 구별할 수 있다
- 객체의 위치 정보를 획득할 수 없다
- LiDAR
- point 형태로 나타기 때문에 어떤 object인지 파악하기 어렵다
- 위치정보를 획득할 수 있다
Acceleration
- perception은 많은 알고리즘이 딥러닝 기반으로 변화하면서 컴퓨팅 파워에 대한 수요가 급증하고 있다
- 자율주행은 빠른 속도로 움직이는 환경이기 때문에 검출 성능 뿐만 아니라 검출 속도도 중요하다 (+ 임베디드 환경)
- 다양한 최적화 방법이 존재한다
- Model Quantization (모델 양자화)
- 데이터를 표현하는 자료형 간소화
- 간소화가 진행될 수록 메모리 사용량이 줄어들고 속도가 빨라지지만 정확도는 떨어진다
- Pruning
- 모델의 output에 영향을 별로 주지 않는 node를 제거하는 방법
- 전제적인 연산량이 줄어든다
- Hardware Optimization