P1-7.4 보충학습: 길찾기에서 자율주행 경로 계획으로 이어지는 흐름¶
Section ID:
P1-7.4Version:v2026.07.20
7.1에서는 탐색(search)을 목표까지 가는 경로를 찾는 문제로 추상화했습니다. 7.2에서는 가능한 후보를 모두 볼 수 없을 때 휴리스틱(heuristic)이 무엇을 줄이는지 봤고, 7.3에서는 휴리스틱과 확률 모델(probabilistic model)을 구분했습니다.
이제 이 일반 개념이 실제 시스템에서 어떻게 층위를 나누어 쓰이는지 한 가지 사례로 봅니다.
이 절의 핵심 질문은 길찾기 문제가 자율주행 같은 실제 시스템에서 어떻게 여러 층위의 계획(planning)으로 나뉘어 왔는가입니다.
여기서의 목적은 자율주행 기술 전체를 설명하는 것이 아닙니다. 자율주행을 사례로 삼아, 경로를 표현하고 후보를 줄이며 현재 행동을 정하는 구조를 이해하는 데 목적이 있습니다.
이 보충학습은 Part 1의 핵심 개념을 처음 정의하는 위치로 쓰지 않습니다. 탐색(search), 탐색 공간(search space), 계산 한계(computational limit)는 7.1에서, 휴리스틱(heuristic)은 7.2에서, 휴리스틱과 확률 모델의 경계는 7.3에서 먼저 설명했습니다. 여기서는 그 개념들이 실제 시스템 사례에서 어떻게 층위화(layering)되는지만 연결합니다.
여기서는 자율주행 기술 전체를 펼치기보다, 길찾기 문제가 실제 시스템에서 큰 경로를 정하는 층위와 지금 당장 움직일 짧은 궤적을 정하는 층위로 어떻게 나뉘는지에 집중합니다. 강화학습(reinforcement learning) 자체는 P1-8.3과 Part 4 Chapter 19에서 다시 보고, 여기서는 경로(path)와 궤적(trajectory)을 나누어 읽는 기준을 붙잡습니다.
여기서는 다음만 다룹니다.
큰 경로를 찾는 문제와
지금 당장 움직일 짧은 궤적을 정하는 문제는
보통 같은 층위에서 다루기 어렵다.
그리고 이 차이가 왜 글로벌(global)과 로컬(local) 또는 경로(path)와 궤적(trajectory)의 구분으로 이어지는지 봅니다.
길찾기에서 경로 계획으로 확장하는 기준¶
- 길찾기 문제를 그래프(graph) 탐색과 실제 주행 계획 사이의 연결로 설명할 수 있습니다.
- 웨이포인트(waypoint)를 “지나가야 할 기준점들의 표현”으로 이해합니다.
- 글로벌 플래너(global planner)와 로컬 플래너(local planner)의 역할 차이를 입문 수준에서 설명할 수 있습니다.
- 경로(route, path)와 궤적(trajectory)을 같은 말처럼 섞지 않습니다.
- 자율주행 사례를 일반적인 탐색과 휴리스틱 문제의 연장으로 읽을 수 있습니다.
세 가지 기준¶
여기서는 자율주행 기술 전체를 배우기보다, 탐색 개념이 실제 시스템에서 어떻게 나뉘는지 보는 보충학습으로 읽습니다. 아래 세 가지를 먼저 가릅니다.
| 기준 | 왜 중요한가 | 이 절에서 이해할 수준 |
|---|---|---|
| 큰 경로를 찾는 문제와 지금 당장 움직이는 문제는 다르다는 점 | 추상적 길찾기와 실제 차량 제어를 구분하게 해 줍니다. | 목적지까지의 큰 길과 몇 초짜리 현재 움직임이 다른 층위라고 이해합니다. |
| 글로벌(global)과 로컬(local) 계획이 나뉜다는 점 | 복잡한 현실 문제를 한 번에 풀지 않는 이유를 보여 줍니다. | 큰 방향을 정하는 계획과 즉시 행동 계획이 따로 있다고 봅니다. |
| 경로(path)와 궤적(trajectory)을 섞지 않는다는 점 | 이후 로보틱스나 자율주행 자료를 읽을 때 혼동을 줄여 줍니다. | 어디를 지나갈지와 어떻게 움직일지는 다른 질문이라는 점을 잡습니다. |
웨이포인트, 글로벌 플래너, 로컬 플래너, 경로, 궤적, 계층화는 초반에 모두 자율주행 전용 구현 용어처럼 들릴 수 있습니다. 아래처럼 자리만 짧게 구분해 둡니다.
| 용어 | 아주 짧은 뜻 | 이 절에서의 역할 |
|---|---|---|
| 웨이포인트 | 지나갈 기준점들의 열 | 큰 흐름을 표현하는 단위 |
| 글로벌 플래너 | 목적지까지의 큰 경로를 정하는 층위 | 어느 길의 흐름을 따를지 정함 |
| 로컬 플래너 | 지금 실행할 짧은 움직임을 고르는 층위 | 현재 상황에 맞는 후보 궤적을 비교함 |
| 경로 | 어디를 지나갈지에 대한 공간적 흐름 | 큰 이동 방향을 표현함 |
| 궤적 | 언제 어떤 속도로 움직일지까지 포함한 계획 | 실제 행동 직전의 짧은 움직임을 표현함 |
| 계층화 | 서로 다른 해상도의 문제를 나누는 방식 | 탐색 문제를 현실 시스템에 맞게 쪼개는 틀 |
여기서는 웨이포인트는 기준점, 글로벌은 큰 길, 로컬은 지금 움직임, 경로와 궤적은 다름, 계층화는 문제 분할이라는 자리 구분을 유지합니다.
고전적 길찾기 문제는 그래프 위의 경로 찾기로 추상화된다¶
Poole과 Mackworth는 목표 달성을 위한 문제를 시작 노드(start node)에서 목표 노드(goal node)까지 경로(path)를 찾는 문제로 추상화할 수 있다고 설명합니다. 이 관점에서는 중요한 것이 “세상 전체”가 아니라, 현재 상태에서 어떤 노드로 이동할 수 있는지와 어떤 경로가 목표로 이어지는지입니다.
길찾기 문제를 가장 단순하게 쓰면 다음과 같습니다.
| 요소 | 길찾기 예시 |
|---|---|
| 노드(node) | 교차로, 위치, 구간 진입점 |
| 엣지(edge) | 이동 가능한 도로 구간 |
| 비용(cost) | 거리, 시간, 에너지, 통행 조건 |
| 목표(goal) | 목적지 도착 |
| 결과 | 목적지까지 가는 경로 |
이 표현은 내비게이션(navigation)에도 잘 맞습니다. 출발지와 목적지가 주어지면, 시스템은 도로망을 따라 어느 길을 거쳐 갈지 정합니다.
하지만 실제 차량은 여기서 한 단계 더 내려가야 합니다.
어느 도로를 지날 것인가만으로는
차량이 지금 조향을 얼마나 꺾고, 속도를 어떻게 조절하며,
장애물을 어떻게 피해 갈지까지 바로 정해지지 않는다.
이 지점에서 자율주행 경로 계획은 고전적 길찾기 문제를 더 세분화합니다.
역사적으로는 큰 길 찾기와 즉시 행동이 분리되었다¶
초기의 AI와 로봇 계획(planning)은 종종 “어떻게 목표까지 갈 것인가”를 비교적 추상적인 경로 문제로 다뤘습니다. 하지만 실제 차량이나 로봇은 추상적인 그래프 위에서만 움직이지 않습니다. 차선(lane), 곡률(curvature), 조향 한계, 다른 차량, 보행자, 신호, 정지선 같은 제약이 계속 들어옵니다.
그래서 실제 주행 시스템에서는 자연스럽게 다음 분리가 생겼습니다.
| 층위 | 중심 질문 |
|---|---|
| 큰 경로 계획 | 어느 도로와 차선 흐름을 따라 목적지로 갈 것인가 |
| 현재 움직임 계획 | 지금 이 몇 초 동안 어떤 선형과 속도로 움직일 것인가 |
| 제어 | 그 계획을 실제 조향과 가속 명령으로 어떻게 바꿀 것인가 |
이 분리는 자율주행만의 특수한 발명이라기보다, 복잡한 현실 문제를 한 번에 다루기 어려울 때 흔히 생기는 층위화(layering)입니다.
멀리 보는 문제와
지금 당장 움직이는 문제를
같은 해상도(resolution)로 풀기 어렵기 때문에
표현 수준을 나눈다.
이 문장은 자율주행 자체의 세부 구현 규칙을 외우라는 뜻이 아닙니다. 7.1의 후보가 너무 많아 전부 볼 수 없는 문제, 7.2의 먼저 볼 후보를 줄이는 기준, 7.3의 점수와 확률과 운영 기준의 분리가 실제 시스템 안에서는 서로 다른 층위의 모듈로 나뉘어 나타난다고 읽습니다.
웨이포인트(waypoint)는 큰 경로를 다루기 쉽게 만드는 표현이다¶
이 흐름에서 웨이포인트(waypoint)는 지나가야 할 기준점(reference point)들의 집합으로 이해할 수 있습니다. 자율주행 문맥에서 웨이포인트는 시스템마다 의미가 조금 다를 수 있지만, 여기서는 다음 정도가 핵심입니다.
웨이포인트는 목적지까지의 큰 흐름을
점들의 열(sequence of points)로 다루게 해 주는 표현이다.
웨이포인트는 여러 방식으로 쓸 수 있습니다.
| 웨이포인트가 하는 일 | 설명 |
|---|---|
| 큰 경로 표시 | 어디를 지나야 하는지 기준점을 준다 |
| 경로 추종 기준 | 차량이 어느 방향 흐름을 따라야 하는지 알려 준다 |
| 차선 중심선 근사 | 지도의 선형 정보를 따라가기 쉬운 점열로 바꾼다 |
| 로컬 계획의 기준선 | 짧은 후보 궤적을 만들 때 참조선(reference line) 역할을 한다 |
여기서 중요한 점은 웨이포인트가 곧바로 “실제 움직임 전체”를 뜻하지는 않는다는 것입니다.
| 표현 | 중심 의미 |
|---|---|
| 웨이포인트(waypoint) | 지나갈 기준점 |
| 경로(route, path) | 그 점들을 잇는 큰 이동 흐름 |
| 궤적(trajectory) | 시간, 속도, 가속도까지 포함한 실제 움직임 계획 |
따라서 웨이포인트를 따라간다는 말은 자주 쓰이지만, 엄밀하게는 웨이포인트나 기준선을 참고해 실제 궤적을 만든다에 더 가깝습니다.
DARPA 시기 사례는 경로 표현을 구조화한 전환점으로 자주 언급된다¶
자율주행 역사에서 DARPA Grand Challenge와 Urban Challenge는 자주 언급됩니다. 이 대회들은 자율주행을 완성했다기보다, 실제 차량이 지도와 경로 표현, 장애물 회피, 제어를 함께 묶어 다뤄야 함을 널리 보여 준 사례로 읽는 편이 안전합니다.
특히 Urban Challenge 시기의 문서와 이후 연구 흐름에서는 차량이 따라야 할 도로 네트워크, 차선, 구간, 체크포인트 같은 표현이 더 구조적으로 다뤄집니다. 이 시기를 지나며 자율주행 논의에서는 단순한 “목적지까지 간다”보다 다음 같은 구조가 더 분명해졌습니다.
- 도로망과 차선 흐름을 어떻게 표현할 것인가
- 그 표현 위에서 큰 경로를 어떻게 찾을 것인가
- 현재 주변 상황을 반영해 짧은 움직임 후보를 어떻게 만들 것인가
이 절에서 DARPA 사례를 가져오는 이유는 역사적 상징성 때문이지, 오늘날의 모든 시스템이 같은 파일 형식이나 같은 파이프라인을 쓴다는 뜻은 아닙니다.
글로벌 플래너(global planner)는 큰 길을 정한다¶
글로벌 플래너(global planner)는 보통 출발점에서 목적지까지의 큰 경로를 계산합니다. 이때 사용하는 정보는 지도(map), 도로 연결 구조, 차선 관계, 교차로, 통행 가능 조건 같은 비교적 장기적인 정보입니다.
여기서는 다음처럼 이해합니다.
글로벌 플래너는
“목적지까지 어느 길의 흐름을 따라갈 것인가”를 정한다.
이 결과는 다양한 형태로 표현될 수 있습니다.
- 도로 구간들의 순서
- 차선 중심선(centerline)을 따른 참조 경로(reference path)
- 웨이포인트 열(sequence of waypoints)
즉 글로벌 플래너의 핵심은 정확히 어느 바퀴 각도로 움직일지가 아니라, 어느 흐름을 따라 갈지를 정하는 것입니다.
로컬 플래너(local planner)는 지금 움직일 짧은 궤적을 고른다¶
로컬 플래너(local planner)는 글로벌 경로를 그대로 복사하는 모듈이 아닙니다. 현재 차량 상태, 주변 장애물, 차선 경계, 속도 조건, 안전 제약을 반영해 지금 당장 실행할 짧은 궤적을 정합니다.
현대의 많은 모션 플래닝(motion planning) 설명은 이 과정을 다음처럼 다룹니다.
| 로컬 계획의 흔한 단계 | 설명 |
|---|---|
| 참조선 확인 | 도로 중심선이나 글로벌 경로를 읽음 |
| 후보 생성 | 가능한 짧은 궤적 여러 개를 만듦 |
| 후보 평가 | 충돌 여부, 부드러움, 승차감, 제약 만족 여부를 비교 |
| 하나 선택 | 지금 실행할 궤적을 결정 |
| 추종 또는 제어 | 조향과 가감속 명령으로 변환 |
여기서 핵심은 예측만 한다가 아닙니다.
로컬 플래너의 중심 일은
짧은 후보 궤적을 만들고 비교해
지금 실행할 것을 고르는 데 있다.
주변 차량이나 보행자의 미래 움직임 예측(prediction)은 이 과정에 중요한 입력이 될 수 있습니다. 하지만 예측 모듈과 계획 모듈은 많은 시스템에서 구분됩니다. 예측은 “상대가 어떻게 움직일 것 같은가”를 다루고, 계획은 “그 예측을 참고해 우리는 어떻게 움직일 것인가”를 다룹니다.
경로(path)와 궤적(trajectory)을 구분해야 혼동이 줄어든다¶
이 주제를 이해할 때 가장 흔한 혼동은 경로(path)와 궤적(trajectory)을 같은 말처럼 쓰는 것입니다.
둘을 구분하면 글로벌 플래너와 로컬 플래너의 역할도 더 선명해집니다.
| 구분 | 질문 | 예시 |
|---|---|---|
| 경로(path, route) | 어디를 지나갈 것인가 | 어느 도로, 어느 차선을 따라 갈 것인가 |
| 궤적(trajectory) | 언제 어떤 속도로 어떻게 움직일 것인가 | 3초 동안 왼쪽으로 부드럽게 피하며 감속할 것인가 |
경로는 공간적(spatial) 흐름에 더 가깝고, 궤적은 시간적(temporal) 계획까지 포함합니다.
그래서 다음처럼 정리하면 비교적 안전합니다.
- 글로벌 플래너는 큰 경로를 만든다.
- 로컬 플래너는 그 경로를 참고해 짧은 궤적을 만든다.
- 제어기는 그 궤적을 실제 조향과 가감속 명령으로 바꾼다.
이 사례를 탐색과 휴리스틱 관점에서 다시 읽기¶
이제 이 사례를 7장의 언어로 다시 써 보면 다음과 같습니다.
| P1-7의 일반 개념 | 자율주행 사례에서의 대응 |
|---|---|
| 탐색 공간(search space) | 가능한 경로, 차선 선택, 짧은 주행 후보 |
| 비용(cost) | 거리, 시간, 안전성, 승차감, 충돌 위험, 제약 위반 |
| 휴리스틱(heuristic) | 먼저 볼 후보를 줄이는 기준, 참조 경로 기반 후보 생성, 충돌 가능성이 큰 후보 조기 제외 |
| 충분히 좋은 해 | 제한된 시간 안에 안전하고 실행 가능한 궤적 |
| 계층화(layering) | 글로벌 경로, 로컬 궤적, 제어로 나누어 다룸 |
이 표에서 중요한 것은 자율주행이 완전히 새로운 종류의 문제라는 인상을 줄이는 것이 아닙니다. 오히려 다음이 더 중요합니다.
자율주행의 경로 계획도
결국은 탐색 공간이 큰 현실 문제를
더 다루기 쉬운 표현과 층위로 나누는 방식으로 이해할 수 있다.
그래서 이 보충학습은 자율주행 도메인 자체를 깊게 배우는 절이 아니라, 탐색, 휴리스틱, 확률적 판단, 운영 기준이 실제 시스템 안에서 한 덩어리가 아니라 여러 층위로 분해된다는 점을 눈에 보이게 만드는 사례로 읽는 편이 맞습니다.
체크리스트¶
- 길찾기 문제와 자율주행 경로 계획의 관계를 그래프 탐색의 연장으로 설명할 수 있다.
- 웨이포인트(waypoint)를 지나가야 할 기준점들의 표현으로 설명할 수 있다.
- 글로벌 플래너(global planner)와 로컬 플래너(local planner)의 역할 차이를 설명할 수 있다.
- 경로(path, route)와 궤적(trajectory)을 같은 말처럼 쓰지 않아야 함을 설명할 수 있다.
- 자율주행 경로 계획을 탐색 공간(search space), 비용(cost), 휴리스틱(heuristic), 계층화(layering) 관점으로 다시 읽을 수 있다.
- 큰 경로를 정하는 일, 짧은 궤적을 고르는 일, 실제 제어로 바꾸는 일을 나누어 설명할 수 있다.
- 자율주행 사례를 자율주행 자체가 아니라 계획 층위와 개념 대응 사례로 읽을 수 있다.
출처와 참고 자료¶
- David L. Poole, Alan K. Mackworth, Artificial Intelligence: Foundations of Computational Agents, 3rd ed., 3.1 Problem Solving as Search, 확인 날짜: 2026-06-29.
- DARPA, DARPA Urban Challenge, Route Network Definition File (RNDF) and Mission Data File (MDF) Formats, 2007-03-14, 확인 날짜: 2026-06-29.
- Siyu Teng, Xuemin Hu, Peng Deng, Bai Li, Yuchen Li, Dongsheng Yang, Yunfeng Ai, Lingxi Li, Zhe Xuanyuan, Fenghua Zhu, Long Chen, Motion Planning for Autonomous Driving: The State of the Art and Future Perspectives, arXiv, 2023-03-17, 확인 날짜: 2026-06-29.
- Yuncheng Jiang, Xiaofeng Jin, Yanfei Xiong, Zhaoyong Liu, A Dynamic Motion Planning Framework for Autonomous Driving in Urban Environments, arXiv, 2019-12-10, 확인 날짜: 2026-06-29.