AutonomousDriving

[Robotics] Potential Field Method

gyeongtiger 2024. 12. 14. 21:32

제가 가장 매력적이라고 생각하는 Path Planning방법인 Potential Field Method입니다. 어린 시절, “자동차가 자석으로 되어 있다면 충돌을 피할 수 있지 않을까?“라는 생각을 해본 적이 있을 것입니다. Potential Field Method는 이러한 아이디어를 소프트웨어적으로 구현한 기법입니다.

이 방법에서는 목표 지점이 차량을 끌어당기고, 장애물이 차량을 밀어내는 상황을 가정하여 차량이 자연스럽게 목표 지점에 도달할 수 있도록 경로를 생성합니다. 포텐셜 필드를 자기장이나 중력장과 비슷하게 생각하면 이해하기 쉬울 것입니다.

1. Potential Field

1-1) Attractive Potential Field

 

 

Attractive Potential Field는 인력(끌어당기는 힘)을 모사하기 위해 생성합니다. 이를 통해 로봇이 차선을 따라가거나 목표 지점에 도달할 수 있는 경로를 생성합니다. 수학적으로는 2차 함수 또는 1차 함수 형태로 나타낼 수 있으며, 목표 지점에서 값이 최소가 되도록 Convex 함수로 설계합니다.
 

1-2) Repulsive Potential Field

 

 
Repulsive Potential Field는 척력(밀어내는 힘)을 모사하기 위해 생성합니다. 이를 통해 로봇이 장애물을 피해 안전한 경로를 찾을 수 있습니다. 수학적으로는 다음과 같이 나타내며, 척력이 작용하는 범위를  Q_inf 를 통해 제한합니다. 이는 Saddle Point가 목표 지점에서 벗어나는 현상을 방지합니다.

1-3) Total Potential Field

 

 

최종 Potential FieldAttractive Potential FieldRepulsive Potential Field를 더하여 생성합니다. 이 Total Potential Field를 기반으로 로봇은 목표 지점으로 이동하면서 장애물을 회피하게 됩니다.

 

1-4) Gradient Force

 

 
물리 법칙에 따르면, Potential Field에서 힘(Force)은 포텐셜 함수의 기울기(Gradient)에 의해 결정되고, 뉴턴의 운동 법칙(F = ma)에 따라 힘  F는 위치벡터  q의 2차 미분(가속도)에 비례합니다. 그러므로 Force control(그래디언트=2차 미분)이 자연스럽지만 Potential Field Method에서는 Speed Control(그래디언트=1차 미분)도 허용하고 있습니다. 일반적으로 Force Control이 더 부드러운 경로를 생성하는 경향이 있습니다.

 

2. Tutorial


시작점(Start)과 목표지점(Goal) 이 있는 상황을 가정해 보겠습니다. 중간에 장애물이 있어 직선으로 이동할 수 없습니다. 따라서 로봇은 장애물을 피해 적당히 돌아가면서 목표지점에 도달해야 합니다.
 

 
Potential Field를 기반으로 경로를 생성한 결과, 로봇이 장애물을 적당히 돌아가면서 목표지점에 도달하는 것을 확인할 수 있습니다. 이는 마치 로봇이 자기장이나 중력장에 의해 자연스럽게 끌리듯이 움직이는 것과 유사합니다.
 

3. Pros & Cons

3-1) 장점

- 연산 속도가 빠릅니다.
- 물리법칙을 모사한 개념이 매력적입니다.(장점인가?)

3-2) 단점

- Local Minima에 빠질 우려가 있습니다.
- 제약 조건을 고려하지 않습니다.

Local Minima에 빠진 Potential Field Method...

4. 느낀 점

Potential Field Method는 물리 법칙을 모사했다는 점에서 굉장히 매력적이었습니다. 하지만 경사 기반 제어 방식은 Greedy한 특성 때문에 최적 제어 관점에서 많은 단점이 존재한다고 생각합니다. 만약 Potential Field를 Cost Map으로 활용하고 다른 제어 방법과 결합한다면 Local minima 문제를 보완하고 더욱 효율적인 제어기를 개발할 수 있을 것 같습니다:)