Posts

Monday, 8 July 2019

자율주행자동차의 결정, 계획, 제어

동작 결정 decision
모션 계획 motion planning
피드백 제어 control


  1.  동작 결정 behaviour decision
    • 이 모듈은 자율주행 자동차의 계획 및 제어 모듈에서 '보조 운전자'역할을 한다.
    • 데이터(위치, 속도, 가속도, 방향, 현재 차로 정보, 특정 반경 내의 인지 개체 정보 등)을 바탕으로 동작에 관련된 결정을 내릴 수 있도록 계산
      1. 경로 계획 모듈의 출력 값
        • 원하는 출발 지점부터 목적 지점에 이르는 차로 시퀀스
      2. 자율 주행 자동차 자체에 대한 속성
        • 주어진 차로, 속도, 방향에서의 상대적 위치, 현재 GPS 위치, 현재 차로, 현재 목표 차로에 대한 정보
      3. 자율 주행 자동차에 대한 히스토리 정보
        • 동작 결정 모듈의 이전 프레임, 즉 이전 사이클의 출력값에 대한 정보
      4. 자율 주행 자동차 주위의 장애물 정보
        • 주변의 모든 객체의 속도, 차로, 방향, 그리고 예측 궤도
      5. 트래픽 정보 및 맵 개체 정보
        • HD 맵에 정의된 차로 및 차로의 관계
      6. 현재 구간의 교통 규칙
        • 시내 제한 속도, 동작이 합법적인지 여부 등
    • 목표: 모든 정보를 활용해 자동차의 안전하고 효과적인 동작을 결정하는 것
      • 문제: 데이터 성격이 다 다르고, 지역별 교통 법규 또한 다 달라 하나의 수학모델로 판단하는 것이 어려움 -> 소프트웨어 공학 개념과 교통 규칙 기반 시스템을 설계하는 방식으로 해결!
      • EXAMPLE) Baysian model, Morkov Decision Process, Partially Obsevable Markov Decision Process


  • 마르코프 결정 과정 Markov Decision Process
    • 5가지 요소로 구성된 튜플(S,A,Pa,Ra,𝛾)로 정의
      • S: 자율 주행 자동차의 상태 공간 (자동차의 위치 & 맵 요소)
      • A: 동작 결정 출력 공간. 자율 주행 자동차가 수행할 수 있는 모든 동작을 고정된 집합으로 표현한 것
        • follow: 전방에 달리는 차를 추종하는 상태
        • switch lane: 차로 변경
        • turn left / right: 교차로에서 좌/우회전 하는 상태
        • yield: 다른 자동차에게 양보
        • overtake: 다른 차를 추월하는 상태
        • stop: 신호등과 보행자 앞에서 정지하는 상태
      • Pa(s, s') = Pa(s' | s, a)는 자율 주행 자동차가 현재 상태 s에서 동작 a를 수행할 때 상태 s'에 도달할 조건부 확률
      • Ra(s, s')는 reward function으로 상태 s에서 동작 a를 수행함으로써 상태 s'로 변환할 때 보상. 여기서 보상이란 상태 변환을 종합적으로 평가. (안전성, 편안함, 목적지 도달, 난이도 등)
        • 보상함수를 만들 때 고려해야 하는 것
          1. 목적지 도달: 경로에서 이탈하면 페널티, 경로를 잘 지키면 보상 지급
          2. 안전성 및 충돌 방지: 충돌을 발생시키면 페널티를 주고, 충돌 가능성이 낮거나 충돌 가능 지점과 거리가 멀수록 보상을 지급
          3. 편안함 및 부드러움: 비슷한 속도를 유지하며 가속 또는 감속하는 동작이 급격한 가속이나 감속을 하는 동작보다 더 높은 보상을 받아야 한다.
      • 𝛾: decay factor 미래보다 현재가 더 가치있게
    • 문제: S -> A로 표현되는 최적 정책을 찾는 것
  • 시나리오 기반의 분할 정복 접근법
    • divide and conquer개념을 적용해 자율 주행 자동차 주변을 여러가지 시나리오로 분할, 각 객체에 대한 individual decision을 계산 한 다음, 자동차 자체에 대한 synthetic decision을 계산해서 individual을 모두 취합
      • Synthetic decision: 자동차 자체가 어떻게 동작해야 하는지에 대한 것. 최상위 동작 결정
      • inidividual decision: 장애물, 신호등, 횡단보도, 정지선 등




  • 시나리오 구성 및 시스템 설계
    • 독립적인 작은 시나리오에 초점을 맞춰서 계산한 뒤 같은 계층의 독립 결정을 계산할 때, 경로 계획 의도와 이전 계층의 계산 결과를 공유
    • 계산 후에는 합성 결정으로 통합 -> divide and conquer


2. 모션 계획 motion planning
  • 궤적을 생성해서 실제 물리적으로 자동차를 제어하는피드백 제어 모듈로 보낸다.
  • 2차원 평면에서 특정 공통 속성 및 제약 조건을 갖는 궤적에 대한 최적화 문제 optimization
    • 최적화 개체 optimization object
      • 보통 각기 다른 후보 솔루션에 대한 cost로 표현
        1. 동작 결정 모듈의 출력값을 반드시 따라야 함. 정확하게 도달하도록
        2. 도로를 자연스럽게 따라서 이동
    • 제약조건 constraints
  • 모션 계획 솔루션
    1. 시공간 궤적 계획 문제를 '경로 계획'과 '속도 계획' 두 가지로 나누어서 처리.
      1. 경로 계획: 주어진 동작 결정 모듈 출력 값과 비용 함수 정의로부터 2차원 평면상의 궤적 모양을 계산하는 문제만 해결
      2. 속도 계획: 경로 계획의 결과에 따라 자율 주행 자동차가 주어진 궤적을 따라가는 방식을 결정
      3. 시내 저속 주행에 적합
    2. 1처럼 나누지 않고 2개의 직교 방향에서 모션계획 처리
      1. SL coordinate system 을 따르는 s(종방향), l(횡방향)
      2. 계획한 궤적의 형태에 속도가 자연스럽게 반영된다는 것
      3. 고속도로 고속 주행에 적합



3. 피드백 제어
  • 자전거 모델
  • PID 제어



    No comments:

    Post a Comment

    [ new blog ]

    new blog https://jihyo-jeon.github.io/