✈️ L1 Nonlinear Guidance Logic로 보는 Trajectory Tracking 완전 정리
본 글은 MIT LIDS에서 제안한 비선형 유도(Guidance) 로직을 기반으로 Trajectory Tracking(궤적 추종) 문제를 “왜 기존 PD가 곡선에서 약한지 → 왜 L1이 강한지”의 흐름으로 정리한다.
원문: A New Nonlinear Guidance Logic for Trajectory Tracking (Park, Deyst, How). fileciteturn0file0L1-L22
⚠️ Velog 수식 렌더링 깨짐 방지: 본 문서는 모든 수식을 $$ ... $$ 로 통일했다.
(Velog에서 \[\] 또는 \\[ 같은 형태가 깨지는 경우가 있어 안전하게 처리)
0) 이 글에서 다루는 것
Trajectory Tracking에서 흔히 쓰는 Outer-loop guidance 관점
Park/Deyst/How 논문이 제안한 L1 Guidance Logic:
직선에서는 PD처럼 동작
곡선에서는 anticipation(선행) 성질로 타이트 추종
풍속(바람)으로 인한 속도 변화에 자동 적응 fileciteturn0file0L34-L45
선형화 분석(직선/비직선/원 궤적), 시뮬레이션 비교, 비행시험, Lyapunov 안정성(부록)
1) 문제 배경: Trajectory Tracking의 두 가지 설계 철학
논문은 trajectory tracking을 크게 두 방식으로 나눈다. fileciteturn0file0L34-L41
1.1 분리 설계(Outer guidance + Inner control)
Outer loop(유도): 경로 오차로부터 가속도/뱅크각 명령 생성
Inner loop(제어): 가속도/뱅크각 명령을 실제 동역학으로 따라가게 만듦
실제 항공/로봇 시스템에서는 이 방식이 흔함(단순·검증 용이) fileciteturn0file0L34-L45
1.2 통합 설계(Modern control)
MPC, differential flatness, NN adaptive control 등 통합 설계도 가능하지만 구현/검증/계산비용 이슈 fileciteturn0file0L34-L41
이 논문은 분리 설계를 택하되, outer guidance를 “곡선에서 더 잘” 만들자는 목표다.
2) 기존 Linear PD 방식이 곡선에서 약한 이유
일반적인 outer loop는 cross-track error(횡방향 오차) (d)에 대해 PD를 건다:
acmd≈kpd+kdd˙
직선 경로에서는 꽤 좋지만, 곡선 경로(특히 원 궤적처럼 지속적 곡률)에서는
위상 지연(phase lag)로 인해 경로를 “뒤늦게” 따라감
특정 상황에서는 정상상태 오차가 생기며, 이를 줄이려면 적분을 추가(PID)해야 하는데
적분은 과도응답/초기 추종을 더 나쁘게 만들 수 있음 fileciteturn0file0L237-L264
논문이 보여주는 핵심: PD/PID는 ‘현재 오차’에만 반응하는 피드백이라 곡선에서 근본 한계가 드러난다.
3) L1 Guidance Logic: “미래 경로를 바라보게” 만드는 기하학적 유도
3.1 정의(Notation)
논문에서 쓰는 핵심 기호는 다음과 같다. fileciteturn0file0L18-L33
(V): 차량 속도(ground speed를 inertial speed 대용으로 사용) fileciteturn0file0L272-L279
(L_1): 차량에서 경로를 따라 앞쪽으로 떨어진 reference point까지의 거리
( \eta ): 현재 속도 벡터 (V)에서 (L_1) 선분(차량→reference point)까지의 각도(시계방향 +) fileciteturn0file0L18-L23
(a_{s,cmd}): 속도 방향에 수직(횡방향) 가속도 명령 fileciteturn0file0L18-L23
3.2 Reference Point 선택
desired path 위에서 차량 기준으로 앞쪽 (L_1) 만큼 떨어진 점을 잡는다(look-ahead point). fileciteturn0file0L70-L78
🖼️ Fig1(논문 p2): 차량 위치에서 경로 위 reference point로 향하는 선 (L_1)와 각도 (\eta), 그리고 횡가속도 명령이 표시됨. fileciteturn0file0L70-L88
3.3 Guidance Law(핵심 수식)
횡가속도 명령:
as,cmd=L12V2sinη
논문 원식 Eq.(1). fileciteturn0file0L79-L88
4) 이 수식이 “기하학적으로” 맞는 이유(순간 원호 추종)
논문은 매우 중요한 해석을 준다. fileciteturn0file0L90-L112
reference point, 차량 위치, 그리고 차량 속도 접선을 만족하는 순간 원호를 생각하면:
L1=2Rsinη
따라서 필요한 구심가속도는
RV2=L12V2sinη=as,cmd
즉, L1 guidance는 매 순간
“지금 이 geometry면 이런 반지름 원을 따라가야 한다”를 만들어내고
그 원을 정확히 따라가는 구심가속도를 계산해 준다. fileciteturn0file0L90-L112
👉 직관: 차량은 자신의 속도 방향을 (L_1) 선분 방향으로 정렬하도록 회전한다. fileciteturn0file0L90-L104
5) Discrete 관점에서 보는 “부드러운 수렴”
논문은 시간 이산화 관점으로, 한 스텝 동안 속도 방향이 어떻게 바뀌는지 도식화한다. fileciteturn0file0L116-L137
reference point가 속도 방향의 오른쪽에 있으면 (a_{s,cmd})가 오른쪽(시계방향 회전)을 명령
결과적으로 속도 방향이 점점 경로 접선에 맞춰짐
🖼️ Fig2, Fig3(논문 p3): 한 타임스텝 변화와 다수 스텝 누적을 보여주며, 어느 지점에서 가속도 부호가 바뀌면서 매끄럽게 경로로 수렴. fileciteturn0file0L116-L147
6) Proportional Navigation(PN)과의 관계
논문은 reference point를 “가상의 타겟”으로 보면 PN과 닮았다고 설명한다. fileciteturn0file0L149-L189
PN의 대표 형태(LOS rate 기반):
a⊥LOS=N0Vcλ˙
L1 guidance는 특정 가정(타겟이 stationary로 보인다고 가정) 아래에서
navigation constant (N_0 = 2)인 PN과 동치 형태가 됨을 보인다. fileciteturn0file0L149-L189
단, 결정적 차이:
실제로 reference point는 경로를 따라 이동하는 점
L1을 고정하면 closing speed가 0에 가깝기 때문에 PN과 완전히 동일한 상황은 아님 fileciteturn0file0L183-L189
7) 선형화 분석: “직선에서는 PD”가 정확히 증명됨
논문은 세 가지 케이스에 대해 분석한다. fileciteturn0file0L191-L207