1. 경로 추종 개요
1.1 경로 추종
- 자동차의 역학적 특성 등을 고려하여 자동차를 제어하여 계획된 경로를 따르도록 하는 것

1.2 횡방향 제어
- 자동차가 계획된 경로를 추종할 수 있도록 조향 각도를 제어
- 활용 예
- 차선 유지 시스템(LKAS: Lane Keeping Assist System)
- 자동 조향 시스템(ACSF: Automatically Commanded Steering Function)등
1.3 종방향 제어
- 전방 차량과의 거리, 속도 등의 정보를 토대로 주행 또는 충돌을 피하기 위한 속도 또는 가속도의 제어 명령을 출력
- 활용 예
- 스마트 크루즈 컨트롤(Smart Cruise Control 등)
2. 자전거 모델
- 분석을 용이하게 하기 위하여 자동차의 모델을 간략화하여 표현
- 앞바퀴 : 제한된 범위의 각도에서 조향
- 뒷바퀴 : 각도는 고정되어 앞바퀴의 움직임을 추종
- 자동차는 앞바퀴와 뒷바퀴가 각각 2개씩이지만, 분석의 편의를 위해 각 하나의 바퀴가 있는 모델로 간략화
2.3 자전거 모델 분석
- 뒷바퀴의 축을 중심으로 자전거 모델을 분석
- 주요 변수
- δ : 조향 각도
- ϕ : 자동차의 방향
- υ : 속력
- τ : 스티어링률(Steering rate)
- ω : 회전율(rotation rate)

3. Pure Pursuit 알고리즘
- Pure Pursuit 알고리즘
- 계획된 경로 상에 추종 목표점을 설정하고, 목표점을 추종할 수 있도록 조향각을 제어
- 추종 목표점과 자동차의 뒷바퀴 축 사이의 거리인 전방 주시거리(Look-Ahead-Distance)를 이용하여 자동차의 조향을 계산

- ld : 전방 주시거리
- α : 전방 주시거리와 자동차 동체의 방향 사이의 각도
- R : 전방 주시거리와 자동차 뒷바퀴의 중심축을 연결하는 원호의 반경
- 사인 법칙으로 다음과 같이 수식을 정리
sin(2α)ld=sin(2π−α)R →2sin(α)cos(α)ld=cos(α)R →sin(α)ld=2R →k=R1=ld2sin(α)
- 곡률 k에 자전거 모델을 적용
- δ : 자동차의 뒷바퀴가 목표 지점에 도달하기 위한 조향 각
k=R1=ld2sin(α)←R=tan(δ)L δ=arctan(ld2Lsin(α))
- Look-Ahead-Distance

4. 스탠리(Stanley)알고리즘
4.1 스탠리 알고리즘
- DARPA에서 주최한 그랜드 챌리지에서 스탠포드 대학팀이 사용한 알고리즘
- 자동차의 앞 바퀴 축을 기준으로 기준점으로 사용
- 목표점까지의 경로 교차 오차(Cross-track error)와 목표점과 자동차의 조향 방향의 오차를 고려
- Pure Pursuit : 자동차와 목표 지점까지의 오차

4.2 방향 오차 제거
- 방향 오차와 조향 각을 일치시킴
δ(t)=ϕ(t)
4.3 경로 교차 오차 제거
- e(t) : 경로와 자동차 사이에 가장 가까운 지점
δ(t)=arctan(υf(t)ke(t))=조향각
4.4 조향 각 제한치 설정
δ(t)=ϕ(t)+arctan(υf(t)ke(t)), δ(t)ϵ[δmin,δmax]
4.5 조향 각도 계산
δ(t)=ϕ(t)+arctan(kδ(t)υf(t)ke(t))
- 자동차의 조향 방향의 오차만 고려하는 것이 아니라 경로 교차 오차를 포함하여 조향 각을 결정
4.6 스탠리 알고리즘 특징
- 조향 방향의 오차가 크고 경로 교차 오차가 작은 경우
- 조향 방향의 오차 증가 -> 조향 각 증가 -> 조향 방향 오차를 수정하기 위해 반대 방향으로 조향을 하여 자동차가 경로와 동일한 방향을 향함
- 반대로, 조향 방향의 오차는 작지만 경로 교차 오차가 큰 경우
- 경로 교차 오차가 큰 경우, e(t)이 충분히 크다면 다음과 같이 근사
arctan(υf(t)ke(t))≈2π
- 조향 각은 다음과 같이 근사
δ(t)=ϕ(t)+2π 