자율 주행을 위한 기술들

happy_quokka·2024년 1월 5일
0

자율주행 Perception

목록 보기
1/19

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 만드는 방법

  1. Mobile Mapping System (MMS)을 사용하여 데이터를 얻는다

  2. 누적된 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 단계
    1. Harvesting
      • vision 기반으로 주변의 정보를 인식한다
      • 1대 1회
    2. Alignment
      • N대 N회의 모든 데이터를 모아놓은 것
      • 정확도 향상의 역할
    3. 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
      • GPU에 맞게 연산 재설계
      • 어렵다

0개의 댓글