Module2. 자율주행차 HW, SW 아키텍쳐

JB·2022년 3월 31일
0

Coursera 자율주행 전문화 코스 - Introduction to Self-Driving Car 강의를 듣고 있다. 한국 사람들이 많이 듣지 않는지 한국어 번역이 없어서 내가 Coursera GTC(Global Translator Community) 등록해서 번역하면서 동시에 공부하고 있다. 계속 추가하고 있는데, 이게 100% 번역 되어야 제공되는걸까 아직 공식에서는 제공이 안된다. 혹시 제 번역으로 공부하고 싶은 한국어 사용자가 있으면 GTC 등록하셔서 보십셔. 도메인 지식이 있어서 구글 번역기보다 낫습니당 진짜임

걍 호로록 영어로 듣는 것보다 더 깊게 이해하고 있는 것 같다... 그럴만도 한 게

1) 영어로 호로록 듣기
2) 전문 번역하면서 듣기
3) 번역한 거 GTC 프로그램에 옮겨 적음
4) 번역 완료한 거 확인하느라 한 번 더 들음
5) velog 에 적으려고 강의 한 번 더 들으면서 정리함

최소 5번은 듣기 때문이다...

각설하고 강의 내용 정리한 거 옮기고 떠난다


아래 내용은 Coursera와 University of TORONTO 에서 제공하는 < Introduction to Self-Driving Car > 강의 내용을 정리한 글입니다.

Lesson1. Sensors and Computing

  1. 센서

    정의 : 환경의 일부 속성 또는 시간에 지남에 따라 변화하는 속성을 감지하는 장치

    분류 : Exteroceptive(외부수용성) vs Proprioceptive(고유수용성)

    1. Exteroceptive Sensor

      1) Camera : 수동 광채집 센서. 풍부하고 상세한 장면 데이터

      해상도, FOV, Dynamic Range, 초점 거리, Depth of Field, 프레임 레이트 등 특성이 있음
      Dynamic Range 관련 내용 자세히 나와있는 블로그 : https://blog.envision.co.kr/29

      두 카메라를 캘리브레이션 한 스테레오 카메라도 있음

      2) LiDAR : Light Detection And Ranging 의 약자

      반사된 광량, 시간을 측정하여 강도와 거리를 추정할 수 있음. 3D point cloud map 을 반환한다. 밤에도 사용할 수 있지만, 비 눈 등 물체 표면의 굴절률이 달라지면 객체 인식 성능이 떨어진다. 채널수, 초당 포인트 수, 회전 속도, 시야각도 등이 중요하다. 최근 회전 광원 소자가 없는 HD-Solid LiDAR 연구가 진행중이다.

      3) RADAR : Radio Detection and Ranging

      검출 범위, 시야각, 위치 및 속도 측정 정확도에 따라 다름. 시야각이 넓지만 범위가 짧거나 시야각이 좁지만 범위가 긴 것으로 나뉨

      4) Sonar/Ultra Sonar : 범위 측정 단거리 센서

      측정 최대 범위, 탐지각, 가격

    2. Proprioceptive 센서

      1) GPS : 자기차량 위치, 속도, 방향 측정

      2) IMU : 각속도, 선가속도, 3D 차량 방향 추정

      -> 칼만 필터를 이용해서 GPS&IMU 를 퓨전할 수 있음.

      3) Wheel Odometry : 바퀴 회전 속도, 방향 변화

  2. 컴퓨터 요소
    a. Nvidia Drive PX : GPU 여러개 들어있음
    b. Intel&Mobileye EyeQ : FPGA 있음 : 이미지 처리, 신경망 추론 등 분산 가능한 컴퓨팅 테스크 가속화 가능
    c. Custom ASIC 등

  3. synchronize : GPS 시계로 동일한 타임스탬프를 찍음


Lesson2. HW configuration Design

비상정지 급정거 감속도 : 5m/s^2
정상 조건 감속도 : 2m/s^2
제동거리 d = v^2/2a

  1. 고속도로 시나리오
  • 특징 : 빠른 주변 차량, 교통량 많음, 차선 많음, 이동방향 모두 같음
  • 비상정지 : 빠른 속도로 움직이기 때문에 전방 110m 인지 필요(150~200m 가 목표 감지거리)
  • 앞 차량 추종 : 상대 위치, 상대 속도, 전방 차량 감속도와 자기 차량 반응 속도를 기준으로 안전거리 유지
  • 차선변경 : 옆옆차선 인지까지 필요(차량기준 반지름 7.5m)
  1. 도심주행 시나리오
  • 특징 : 적당한 속도, 교통량 보통, 모든 방향에서 차량이 움직임, 보행자에 의한 복잡성
  • 비상정지, 앞 차량 추종, 차선변경은 같음
  • 주차된 차를 지나가기(추월) : 주차된 차 감지(넓은 시야각&단거리), 전방에서 접근하는 차량 감지(좁은 시야각&장거리), 횡방향으로 넓은 시야각&중거리 센서 필요
  • 교차로 좌회전 : 다가오는 차량, 보행자, 좌우회전 등 모든 종류 움직임 감지 → 360도 중장거리 센서 필요
  • 회전 교차로 : 차량 속도가 느리지만 이동 방향으로 인해 넓은 시야각의 중단거리 센서 필요

→ 상황 ODD에 따라 센서를 구성해야 함.


Lesson3. Software Architecture

  1. 환경 인지 : 차량 위치 추정, 환경 요소 분류 및 위치 추정
    1. 측위 모듈 : GPS, IMU, 휠 오도메트리, LiDAR, 카메라 → 차량 위치 추정
    2. 동적 객체 감지 : LIDAR, CAMERA → 바운딩박스 → 추적 모듈이 동적 객체 경로를 분석함
    3. 정적 객체 감지 : LiDAR, Camera
  2. 환경 매핑 : 환경 지도 제작
    1. Occupancy Grid Map : 정적 객체 맵
    2. Localization Map
    3. Detailed Road Map
  3. 모션 플래닝 : 경로 계획
    1. Mission Planner : 전체 경로를 생성함
    2. Behavior Planner : 동적 객체, 안전 정책을 통해 경로 계획 및 동작 계획
    3. Local Planner : 즉각적인 경로 계획 : 특정 경로 및 속도 계획
  4. 컨트롤러
    1. 종방향
    2. 횡방향
  5. 시스템 슈퍼바이저 : 시스템 관리

Lesson4. Environment Representation

  1. Localization Map : LiDAR&Camera(+GPS, IMU, 휠 오도메트리)

    이미 저장된 Localization Map 과 입력되는 LiDAR 데이터를 비교하여 위치를 추정함(SLAM). GPS, IMU, 휠오도메트리 데이터를 이용해 글로벌 좌표와 더 정확한 위치 추정이 가능함.

  2. Occupancy Grid Map : 정적 장애물

    PointCloud 데이터에서 필요한 정적 객체를 표현함.

    간섭하지 않는 정적 객체, 동적 객체는 제거함

    필터가 정확하지 않을 수 있으므로 주변 확률을 확률적으로 나타낸다고 생각하면 좋음

    → 충돌 방지 경로 생성

  3. Detail RoadMap : 교통 규제, 차선 규제 정보가 포함됨.

    → 안전하고 효율적인 경로를 계획함

    • 완전 온라인 : 모든 정적 객체에 레이블이 정확하게 지정 및 위치 또한 정확하다는 것을 전제로 함. 실시간으로 생성하기엔 시간복잡도 때문에 거의 불가능. 따라서 거의 쓰지 않음.
    • 완전 오프라인 : 라이다 등 정확도가 높은 센서를 차량에 장착해서 주기적으로 구역을 돌면서 맵을 생성함. 정확하지만 실시간 업데이트가 불가능하다.
    • 오프라인 생성&온라인 업데이트

    차선, 중앙선을 빨간색으로 표시하여 경로 추종 및 제어를 하기 편하게 제작함.

profile
자율주행 이동체를 배우고 있는 JB입니다.

0개의 댓글