자율주행 자동차 기술_2

한우진·2023년 4월 20일
0

자율주행

목록 보기
3/6
post-thumbnail

Autoware

  • 오픈 소스로 제공되는 자율주행차량 소프트웨어 플랫폼
  • 자율주행차량 개발에 필요한 기능과 알고리즘을 제공하며 연구자와 엔지니어들이 자율주행 기술을 개발하고 실험하는 데 사용
  • SAE-레벨2
  • 실차에 바로 적용 가능한 솔루션
  • 30개 이상의 국가에서 사용
  • 100개 이상의 회사들 사용
  • 20개 이상의 차량 모델에 탑재

Autoware의 구조도

Sensing
다양한 센서를 지원하고 주변 환경에 대한 정보를 수집하며 차량의 상태와 주변의 장애물, 도로 표시, 교통 신호등을 인식
여러 센서들을 이용해 데이터를 수집하고 처리한다

Computing
sensing을 통해 수집된 데이터를 기반으로 인지, 제어, 결정의 과정을 반복하며 계산 작업을 수행한다

Actuation
차량의 Actuator(스로틀, 브레이크, 스티어링 등)을 제어하기 위한 명령을 생성 전달
제어 알고리즘을 통해 제어 입력을 생성해 속도, 방향, 가속도 등을 조절하고 생성된 경로를 따라 움직이도록 조절


자율주행 필수 요소 기술

1) 자율주행 알고리즘

센싱(Sensing)

  • 주변정보 획득
    GPS
    IMU
    라이다
    초음파
    카메라

인지(Perception)

  • Localization 자기 위치 파악
    GPS와 IMU를 조합해서 위치 측정(위치 예측과 업데이트 반복)
    Stereo 카메라 영상으로 위치 측정
    라이다, 포인트 클라우드, 파티클 필터로 위치 측정
    여러 센서를 융합해 정확도 개선

  • Object Detection(인식)
    CNN 딥러닝 기반의 인식모델 사용

  • Object Tracking(추적)
    개체 이동궤적(trajectory)을 추적
    차량, 보행자와의 충돌 회피에 활용

의사결정(Decision)

  • 동작 예측
    다른 차량의 동작을 예측
    확률 모델 만들고 확률 분포 구하기

  • 경로 계획
    Cost function으로 최적 경로 탐색
    계산량 줄이기 위해 확률 기법 적용

  • 장애물 회피(충돌 방지)
    1단계 능동형 충돌까지의 시간과 최소거리 추정치 뽑아 경로 다시 계획
    2단계 반응형 이동경로상에 장애물이 있으면 주행제어 시스템에 개입

2) 자율주행 클라이언트 시스템

소프트웨어

  • 실시간성과 신뢰성 확보 필요

  • ROS 문제점 해결 필요
    Master가 죽으면 전체 시스템 다운되며 복구 용도의 모니터가 없음
    메시지를 브로드캐스팅 하면서 성능이 저하, 멀티캐스팅 메커니즘 적용하면 좋음
    노드가 해킹되기 쉽다 -> 리눅스 컨테이너, 샌드박스로 보안 기능 강화 가능하다
    로컬에서는 TCP/IP 통신 대신 공유 메모리 통신 방식을 적용하면 좋다

하드웨어

  • 성능 향상 필요
    파이프라인 병렬 프로세싱 기능 필요
    HW 가성비 좋게 만들어야함
    차량의 배터리 문제가 있으므로 전력 소모량 최소화 노력 필요
    차량이라는 환경에서 발열 문제 심각
    발열을 최소화 하거나 열을 쉽게 배출시킬 방법을 강구

3) 자율주행 클라우드 플랫폼

분산 컴퓨팅

  • 시뮬레이션
    ROS Bag/Replay
    분산 환경으로 처리
  • HD Map 생성
    원본데이터 처리
    포인트 클라우드 생성 및 정렬
    2D 반사맵 생성
    HD맵 레이블링

분산 스토리지

  • 딥러닝 모델 학습
    학습데이터 준비
    학습 진행
    모델의 유효성과 효율성을 지속적으로 업데이트

0개의 댓글