Artificial Potential Field
개요 및 구성
- Artificial Potential Field(APF)는 로봇이나 자율주행 차량의 장애물 회피(Obstacle Avoidance)를 위해 가상의 힘을 정의하는 경로 계획 기법이다.
- APF는 일반적으로 전역 경로 계획(Global Path Planner)과 함께 사용하는 지역 장애물 회피(Local Path Planner) 로 활용된다.
- APF는 로봇을 전하를 띤 입자로, 목표를 음극으로, 장애물을 양극으로 비유하여 인력과 척력의 개념을 이용해 장애물을 회피하면서 목표로 향하는 방향을 계산하는 방법이다.
- APF에서는 환경을 하나의 가상 에너지장으로 표현한다.
- 목표 지점(Goal) : 낮은 퍼텐셜(Potential Well)을 형성하여 차량을 목표 방향으로 유도
- 장애물(Obstacle) : 높은 퍼텐셜(Potential Hill)을 형성하여 차량이 접근하지 못하도록 유도
- 차량(Robot/Vehicle) : 퍼텐셜의 기울기(Gradient)에 의해 결정되는 힘을 따라 이동
-Obstacle-Avoidance---APF_image_1.png)
APF 방법
- APF 에서 전체 Potantial 함수는 일반적으로 다음과 같이 정의된다.
-
: 차량의 위치 벡터
-
: 목표 지점의 인력 Potential
-
: 창애물의 척력 Potential
-
차량에 작용하는 가상 힘은 Potential 함수의 음의 기울기(Gradient)로 정의된다.
- 차량은 최종적으로 합력 의 방향으로 이동하게 된다.
1. Attractive Potential
Attractive Potential Energy
- Attractive Potential Energy(인력 퍼텐셜 에너지)는 차량이 목표 지점으로 이동하도록 유도하는 에너지장으로, 목표 지점에 가까워질수록 퍼텐셜 에너지가 감소하도록 정의하며, 차량은 에너지가 감소하는 방향으로 이동하게 된다.
- 차량의 위치를 , 목표 위치를 라고 할 때,
- 인력 퍼텐셜 에너지 함수는 다음과 같이 정의된다.
- : 인력 계수 (Attractive Gain)
- : 차량과 목표 지점 사이의 거리
- 미분의 편의를 위해 를 곱함
Attractive Force
- 인력 은 퍼텐셜 함수의 음의 그래디언트로 정의된다.
- 즉, 차량에서 목표 지점을 향하는 방향의 힘이 발생하며, 목표와 멀리 떨어질수록 힘의 크기가 커진다.
2. Repulsive Potential
Repulsive Potential Energy
- Repulsive Potential Energy(척력 퍼텐셜 에너지)는 차량이 장애물에 접근하지 못하도록 밀어내는 가상의 퍼텐셜 에너지장이다.
- 차량의 위치를 , 장애물 위치를 라고 할 때, 차량과 장애물 사이의 거리를 아래와 같이 표현한다.
- 척력 퍼텐셜 에너지 함수는 장애물 주변 일정 거리 이내에서만 작용하도록 다음과 같이 정의된다.
- : 척력 계수 (Repulsive Gain)
- : 장애물 영향 반경 (Infulence Distance)
Repulsive Force
- 척력 는 퍼텐셜 함수의 음의 그래디언트로 정의된다.
- 즉, 척력은 장애물에 가까워질수록 급격히 증가하고, 영향 반경 밖에서는 척력이 0이 된다.
3. Artificial Potential Field
- 최종 Potential과 차량에 작용하는 힘 는 인력과 척력의 합으로 정의된다.
- 차량의 목표 진행 방향은 다음과 같이 결정할 수 있다.
APF 예시
상황
- 차량 위치 , 목표 위치 , 장애물 위치 를 다음과 같이 설정한다.
Attractive Force 계산
- Attractive Gain 를 1이라고 할 때, 인력은 다음과 같이 계산된다.
- 차량이 목표 지점 방향으로 이동하려 한다.
Repulsive Force 계산
- Repulsive Gain , 이라 할때, 척력 계산은 아래와 같다.
최종 Force 계산
- 인력과 척력을 합한 최종 힘 벡터 는 다음과 같다.
- 따라서, 최종 진행 방향의 조향각 는 다음과 같다.
APF 한계
Local Minimum
- 장애물 배치에 따라 인력과 척력이 정확히 상쇄되어 Local Minimum에 빠질 수 있다.
- 이 문제를 해결하기 위해 랜덤 워크, 가상 장애물, 내비게이션 함수 등 여러 변형이 제안되었다.
Oscillations
- 여러개의 장애물이 존재하거나 좁은 공간에서 진동이 발생하고, 로봇의 불안정한 움직임을 초례한다.
참고
- 1-2. APF — 인공 포텐셜 필드 - 로봇 시뮬레이션
- Artificial Potential Field
- Robot Motion Planning - Artificial Potential Field Method - YouTube
- Predictive Artificial Potential Field algorithm - energy-efficient local path planning algorithm - YouTube
- PythonRobotics/PathPlanning/PotentialFieldPlanning/potential_field_planning.py at master · AtsushiSakai/PythonRobotics · GitHub
- (AD) Obstacle Avoidance - DWA