모션 소프트웨어경로계획 소프트웨어 개발로봇 경로계획
출제기준 좌표3·1·2·3
3과목 · 모션 소프트웨어

이동로봇 지역 경로계획

경로계획 소프트웨어 개발로봇 경로계획
# 모션소프트웨어
01

📌 개요

  • 전역 경로가 있어도 지도에 없던 사람·박스가 나타나면 그 자리에서 피해야 함
  • 지역 경로계획(Local Path Planning) = 센서가 실시간으로 본 주변 정보로 당장의 이동 방향과 속도를 결정하는 층 → 실질적으로 로봇 바퀴에 내려가는 속도 명령 생성
  • 시험 핵심 출제: 포텐셜 필드(인력+척력, 지역 최솟값 문제), DWA(동적 창, 평가함수)
02

📖 핵심 개념

지역 경로계획의 역할 — 계획과 반사신경

  • 전역 계획 = 지도를 보고 세운 큰 그림 ↔ 지역 계획 = 눈앞 상황에 반응하는 반사신경

  • 두 층은 계층 구조로 함께 동작

  • 전역 계획: 출발 시(그리고 경로가 막혔을 때) 지도 기반으로 전체 경로 생성

  • 지역 계획: 수십 ms 주기로 (1) 전역 경로를 따라가면서 (2) 센서에 잡힌 장애물을 회피하는 속도 명령 (v, \omega) — 선속도와 각속도 — 을 출력

ROS 내비게이션 스택의 global planner / local planner 구조가 이 계층 구조의 대표적 구현이다.

포텐셜 필드 방법 (Potential Field Method)

공간에 가상의 힘의 장을 깔아 로봇을 밀고 당기는 직관적인 방법이다.

  • 인력(Attractive Force): 목표점이 로봇을 끌어당긴다 — 목표에서 멀수록 큰 힘
  • 척력(Repulsive Force): 장애물이 로봇을 밀어낸다 — 장애물에 가까울수록 급격히 커지고, 일정 영향 거리 \rho_0 밖에서는 0
  • 로봇은 두 힘의 합력 방향으로 이동 (수학적으로는 포텐셜 함수의 음의 기울기 F = -\nabla U 방향)

장점: 개념이 단순하고 계산이 가벼워 실시간 반응에 적합하다.

단점 (단골 출제):

  • 지역 최솟값(Local Minimum): 인력과 척력이 상쇄되어 합력이 0이 되는 지점(예: U자형 장애물 안)에 목표 도달 전에 갇혀 버린다
  • 좁은 통로에서 양쪽 척력에 의해 진동(oscillation)이 발생할 수 있다
  • 해결책: 무작위 이동으로 탈출, 전역 재계획 요청, 포텐셜 함수 개선 등

동적 창 접근법 (DWA, Dynamic Window Approach)

현재 로봇 관점에서 "지금 낼 수 있는 속도들 중 최선"을 고르는 방법으로, 실무에서 가장 널리 쓰이는 지역 계획기 중 하나다.

  1. 동적 창(Dynamic Window) 구성: 로봇이 다음 제어 주기 동안 도달할 수 있는 속도쌍 (v, \omega)의 범위를 구한다. 이 범위는 로봇의 가속·감속 한계(동역학 제약) 와 최대 속도로 제한된다 — "지금 20 km/h인데 0.1초 뒤에 100 km/h가 될 수는 없다"
  2. 궤적 예측: 창 안의 각 후보 속도로 짧은 시간 동안 움직였을 때의 원호 궤적을 시뮬레이션한다
  3. 평가와 선택: 각 궤적을 평가함수로 점수화하고 최고점 속도를 채택한다

평가함수는 통상 세 항의 가중합이다:

  • heading(방향): 목표(또는 전역 경로) 방향을 얼마나 잘 향하는가
  • dist(여유): 궤적이 장애물에서 얼마나 멀리 떨어져 있는가 (충돌 궤적은 제외)
  • velocity(속도): 얼마나 빠르게 전진하는가

동역학 제약을 처음부터 반영하므로 실제로 실행 가능한 명령만 나온다는 것이 DWA의 큰 장점이다.

벡터 필드 히스토그램 (VFH, Vector Field Histogram)

  • 로봇 주변을 부채꼴 섹터로 나눔 → 섹터별 장애물 밀도를 극좌표 히스토그램으로 생성
  • 밀도가 낮으면서 목표 방향에 가까운 섹터를 진행 방향으로 선택
  • 포텐셜 필드보다 지역 최솟값·진동에 강인한 개량으로 소개됨

지역 계획의 한계와 재계획

  • 지역 계획은 눈앞만 보므로 근본적으로 근시안적

  • 막다른 길에 들어가면 스스로 빠져나오지 못할 수 있어, 아래 복구 전략과 함께 사용

  • 일정 시간 진전이 없으면 전역 경로 재계획(Replanning) 요청

  • 제자리 회전, 후진 등 복구 행동(Recovery Behavior) 수행

  • 코스트맵을 지웠다가 다시 채우기 (오래된 장애물 정보 제거)

03

📊 다이어그램 · 수식

전역-지역 계층 구조

DIAGRAM
flowchart TD
    M["지도 (사전 정보)"] --> G["전역 경로계획
A*, Dijkstra 등"] S["센서 (실시간 정보)
LiDAR, 뎁스카메라"] --> L["지역 경로계획
DWA, 포텐셜 필드, VFH"] G -- "전역 경로 (따라갈 기준)" --> L L -- "속도 명령 (v, ω)" --> R["구동부 (모터)"] L -- "경로 막힘 → 재계획 요청" --> G

포텐셜 필드의 수식

전체 포텐셜 = 인력 포텐셜 + 척력 포텐셜, 로봇은 그 기울기를 따라 내려간다:

U(q) = U_{att}(q) + U_{rep}(q), \qquad F(q) = -\nabla U(q)

인력 포텐셜 (목표 q_{goal}까지 거리 \rho_{g}의 제곱에 비례 — 멀수록 강하게 당김):

U_{att}(q) = \frac{1}{2}\,k_{a}\,\rho_{g}^{2}(q)

척력 포텐셜 (장애물까지 거리 \rho가 영향 거리 \rho_0 이내일 때만, 가까울수록 급증):

U_{rep}(q) = \begin{cases} \dfrac{1}{2}\,k_{r}\left(\dfrac{1}{\rho} - \dfrac{1}{\rho_0}\right)^{2} & \rho \le \rho_0 \\ 0 & \rho > \rho_0 \end{cases}

지역 최솟값: F_{att} + F_{rep} = 0이 되는 목표 이외의 지점 — 여기 갇히면 스스로 못 나온다.

DWA 평가함수

G(v, \omega) = \alpha \cdot \text{heading}(v,\omega) + \beta \cdot \text{dist}(v,\omega) + \gamma \cdot \text{velocity}(v,\omega)

동적 창 안의 후보 (v, \omega)G가 최대인 속도쌍을 선택한다.

04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 10카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
지역 경로계획의 출력은 무엇인가?
A
로봇 구동부에 내리는 속도 명령 (선속도 v, 각속도 ω)
Q · 2
포텐셜 필드 방법의 두 가지 힘은?
A
목표가 끌어당기는 인력(attractive)과 장애물이 밀어내는 척력(repulsive)
Q · 3
포텐셜 필드에서 로봇의 이동 방향은 수학적으로?
A
포텐셜 함수의 음의 기울기 방향 (F = −∇U)
Q · 4
포텐셜 필드 방법의 대표적 단점은?
A
지역 최솟값(local minimum)에 갇혀 목표에 도달하지 못할 수 있고, 좁은 통로에서 진동이 발생한다
Q · 5
지역 최솟값이란?
A
인력과 척력이 상쇄되어 합력이 0이 되는 목표 이외의 지점 (예: U자형 장애물 내부)
Q · 6
DWA에서 '동적 창'이란?
A
로봇의 가속·감속 한계(동역학 제약)로 다음 주기에 도달 가능한 속도쌍 (v, ω)의 범위
Q · 7
DWA 평가함수의 세 가지 항목은?
A
heading(목표 방향성), dist(장애물과의 여유 거리), velocity(전진 속도)
Q · 8
DWA의 장점은?
A
동역학 제약을 처음부터 반영하므로 실제로 실행 가능한 속도 명령만 출력한다
Q · 9
VFH(Vector Field Histogram)의 원리는?
A
주변을 섹터로 나눠 장애물 밀도의 극좌표 히스토그램을 만들고, 밀도가 낮고 목표에 가까운 방향을 선택
Q · 10
지역 계획이 막다른 길에 갇혔을 때의 대응은?
A
전역 경로 재계획 요청 또는 복구 행동(제자리 회전·후진 등) 수행
05

✏️ 예상문제

1. 전역 경로계획과 비교한 지역 경로계획의 특징으로 옳은 것은?

① 사전에 주어진 지도 전체를 이용한다 ② 출발 시 한 번만 실행된다 ③ 센서 정보를 기반으로 실시간으로 동적 장애물에 대응한다 ④ 정적 장애물만 고려한다

정답 및 해설

정답: ③ 지역 계획은 센서가 본 주변 정보로 수십 ms마다 속도 명령을 갱신하며, 지도에 없던 동적 장애물에 대응한다. ①②④는 모두 전역 계획의 특징이다.

2. 포텐셜 필드 방법에서 로봇에 작용하는 힘의 구성으로 옳은 것은?

① 목표의 척력 + 장애물의 인력 ② 목표의 인력 + 장애물의 척력 ③ 목표와 장애물 모두 인력 ④ 목표와 장애물 모두 척력

정답 및 해설

정답: ② 목표는 끌어당기고(인력) 장애물은 밀어낸다(척력). 로봇은 두 힘의 합력 방향, 즉 포텐셜의 음의 기울기(-\nabla U) 방향으로 움직인다.

3. 포텐셜 필드 방법의 대표적인 문제점은?

① 계산량이 너무 많아 실시간 적용이 불가능하다 ② 지역 최솟값에 갇혀 목표에 도달하지 못할 수 있다 ③ 지도가 반드시 필요하다 ④ 로봇의 크기를 고려할 수 없다

정답 및 해설

정답: ② U자형 장애물 안처럼 인력과 척력이 상쇄되는 지점(지역 최솟값)에 갇히는 것이 최대 약점이다. 계산은 오히려 가벼워 실시간에 적합하므로 ①은 반대다.

4. DWA(Dynamic Window Approach)에서 속도 탐색 공간을 '동적 창'으로 제한하는 기준은?

① 로봇의 가속·감속 한계 등 동역학 제약 ② 지도의 격자 해상도 ③ 배터리 잔량 ④ 전역 경로의 길이

정답 및 해설

정답: ① 동적 창은 현재 속도에서 한 제어 주기 동안 가속·감속 한계로 도달할 수 있는 (v, \omega) 범위다. 이 제약 덕분에 DWA는 물리적으로 실행 가능한 명령만 내놓는다.

5. DWA의 궤적 평가함수에 일반적으로 포함되지 않는 항목은?

① 목표 방향을 향하는 정도 (heading) ② 장애물과의 여유 거리 (dist) ③ 전진 속도 (velocity) ④ 로봇의 누적 주행 거리

정답 및 해설

정답: ④ 평가함수는 G = \alpha \cdot \text{heading} + \beta \cdot \text{dist} + \gamma \cdot \text{velocity}의 가중합이다. 누적 주행 거리는 후보 속도의 좋고 나쁨과 무관하다.

06

🔗 관련 노트

로봇소프트웨어개발기사 필기 · 학습 교재출제기준 2025.1.1 – 2027.12.31