안녕하세요 K-Road 5기 정성윤입니다.
저는 자율주행차의 실시간 경로에 대한 안전성을 보장하기 위한 알고리즘 중 하나인 DWA 알고리즘에 대해서 설명드리겠습니다.
Introduction
자율주행차는 복잡한 도시 환경에서 다양한 상황에 직면합니다. 차량은 주행 중 실시간으로 장애물을 피하고, 안전한 경로를 찾아야 합니다. 이러한 실시간성을 보장하며 경로 계획을 진행하고 충돌을 회피하기 위해서 다양한 알고리즘이 존재하며, 그 중 하나가 DWA(Dynamic Window Approach)입니다. DWA는 로컬 경로 계획 알고리즘으로, 자율주행 차량이 글로벌 패스를 기반으로 주어진 목표 지점까지 안전하고 효율적으로 이동할 수 있도록 경로를 생성합니다.
Dynamic Window
DWA 알고리즘의 가장 핵심적인 개념은 Dynamic Window입니다. 다음은 Dynamic window와 관련된 개념들입니다.
-
선속도 (Linear Velocity)
- 선속도는 물체가 이동할 때 단위 시간당 이동한 거리를 나타내는 물리량입니다. 선속도의 단위는 주로 미터/초(m/s)입니다. 선속도는 벡터량으로, 이동 방향과 크기를 가집니다.
-
각속도 (Angular Velocity)
- 각속도는 물체가 회전할 때 단위 시간당 회전한 각도를 나타내는 물리량입니다. 각속도의 단위는 주로 라디안/초(rad/s) 또는 도/초(°/s)입니다. 각속도는 벡터량으로, 회전의 축과 회전 방향을 가지며, 오른손 법칙에 따라 방향이 결정됩니다.
-
Dynamic Window
- 차량의 동적 특성을 고려한 속도(선속도)와 조향 각도(각속도)의 범위입니다. DWA 알고리즘은 이 범위 내에서 가능한(장애물 존재 X, 자동차의 동역학적 특성 고려) 모든 선속도와 각속도 조합을 평가합니다.
DWA Algorithm
DWA 알고리즘은 다음과 같은 단계로 구성됩니다.
-
Current State Assessment & Dynamic Window Generation
- 차량의 현재 위치 (x,y), 속도 v, 조향 각도 θ를 확인합니다.
- 현재 상태를 기반으로 Dynamic Window를 생성합니다.
-
Trajectory Simulation:
- 가능한 모든 속도와 조향 각도 조합에 대해 시뮬레이션을 진행하여 여러 개의 경로를 생성합니다.
- 경로는 차량의 운동 방정식을 사용하여 계산됩니다:
x˙=vcos(θ)
y˙=vsin(θ)
θ˙=ω
여기서 x와 y는 차량의 위치, θ는 차량의 조향 각도, v는 속도, ω는 각속도입니다. 이 수식을 통하여 경로를 생성하고 조향 명령을 계산합니다.
-
Collision Check:
- 생성된 경로가 장애물과 충돌하지 않는지 확인합니다.
-
Evaluation Function:
- 각 경로에 대해 평가 함수(예: 목표 지점까지의 거리, 속도 유지 등)를 적용하여 점수를 계산합니다.
- 평가 함수의 일반적인 형태는 다음과 같습니다:
G(v,ω)=α⋅heading(v,ω)+β⋅distance(v,ω)+γ⋅velocity(v,ω)
heading(v,ω): 목표 지점까지의 거리
distance(v,ω): 장애물과의 거리
velocity(v,ω): 속도 유지
α, β, γ: 각 평가 기준의 가중치
-
Optimal Path Selection:
-
Command Execution:
- 선택된 경로에 따라 차량에 속도와 조향 명령을 전달합니다.
1~6번 과정을 반복하며 목표 지점까지 이동합니다.
Dynamic Window Approach가 어떻게 이루어지는지 보여주는 영상입니다. 선속도와 각속도의 조합을 데카르트 좌표계로 바꾸면 부채꼴 모양이 나오는 것을 확인 가능합니다.

Advantages of DWA
- 실시간성
- 각속도와 선속도의 조합을 통해 실시간으로 경로를 계산하여 빠른 의사 결정을 내릴 수 있습니다.
- 경로 안정성
- 장애물을 회피하는지도 평가 함수에 포함되어 있기 때문에 장애물을 피하면서도 목표 지점으로 이동할 수 있는 최적의 경로를 생성 가능합니다.
- 차량 모델 적응성
- Dynamic Window를 통해 경로 생성 시 차량 모델을 사용하여 데카르트 좌표계로 변환을 진행하기 때문에 차량의 동적 특성을 반영하여 다양한 주행 상황에 적응할 수 있습니다.
Limitations and Challenges
-
로컬 최적화
- DWA는 로컬 경로 계획에 중점을 두기 때문에 전역 최적 경로를 찾는 데는 한계가 있습니다.
-
센서 의존성
- 정확한 경로 계획을 위해 고정밀 센서 데이터가 필요합니다.