Author: Joonhee Lim
Date: 2022/09/07
출처:https://intuitive-robotics.tistory.com/82
0. Motivation
어느 때와 같이 필자는 자율주행의 Motion Planning 관련 이전 기술에 대해 정리를 하고자 글을 쓴다. 현재 쓰이고 있는 기술과 이전의 알고리즘을 개발하는 발상을 합친다면 좀 더 "근간" 있는 알고리즘을 생각해낼 수 있지 않을까란 기대와 함께 Potential Field Algorithm에 대해 알아보는 시간을 가져보자.
1. Potential Field Algorithm
자율주행 차량에서는 오바일 것 같긴하지만 로봇에서는 충분히 가능할 것으로 예상되는 PFA에 대해서 알아보도록 하겠다. 해당 알고리즘은 Local Path Planner의 일종이라고 생각하면 흐름을 잡기 좋을 것 같다. 물론 Path를 뽑아내는게 아닌 바로 Control에 들어가게 되지만 뭐 그렇다.
해당 알고리즘은 이전부터 엄청나게 각광받던 알고리즘 중 한가지이다. 매우 Simple하고 강력하기 때문에 많은 사람들이 인용하였다고 한다.
해당 알고리즘은 목표 지점으로는 Attractive Force, 장애물에는 Repulsive Force를 발생시켜 장애물과는 멀어지고 도착지점과는 가까워지려고 하는 Force를 만들어내는 알고리즘이다. 최종적으로 로봇은 두 힘의 합 벡터 방향으로 이동하며 경로를 생성한다.
1) Attractive Force
정말 간단하게 도착지점과 현재 위치 사이의 벡터에 계수 K를 붙인 것이다. 이로써 로봇은 도착지점으로 향하는 힘을 통해 이동한다.
2) Repursive Force
다음과 같이 p(q)는 장애물과 로봇과의 거리이고 P0를 기준으로 장애물에 대한 Force를 부여한다. 다음 식과 다르게 그저 장애물과 가까워지면 반대방향으로 크게 준다는 것만 인지하면 된다.
3) Artificial Potential Field
위의 두 힘을 통해 F를 구해내고 그 힘을 로봇에 작용시키면 로봇은 장애물은 회피하며 도착지점까지 도달할 수 있게 된다.
2. Limitation
1. Local Minimum
- 여러개의 obstacle이 있거나 특이한 모양의 장애물이 있을 경우 Repulsive Force가 상쇄되어 Local Minimum에 빠짐
2. No passage between closely spaced obstacles
- 장애물의 Repulsive force의 합이 Attractive force 보다 크면, 좁은 공간을 지나갈 수 없다.
3. Oscillations in the presence of obstacles (여러개의 obstacle이 있을때 오실레이션 발생)
- 여러개의 장애물이 존재하는 환경에서 각각의 장애물의 의해 Repulsive force의 합이 변하기 때문에 오실레이션(진동)이 발생한다. 이것은 로봇이 불안정하게 움직이도록 하는 경로를 생성한다.
4. Oscillations in narrow passages (좁은 공간에서 오실레이션 발생)
- 좁은 통로를 통과할 경우, 양쪽의 좁은 벽에서 동시에 Repulsive force가 발생해서 stable하게 이동할 수 있다. 그러나, 좁은 공간에서 distabance 또는 한쪽으로 튀어나온 벽이 있을 경우, 연속적으로 반대쪽 벽으로 밀어내려는 힘 때문에 양쪽 벽을 왔다갔다 하면서 결국 충돌할 수 있다.
'Autonomous Driving' 카테고리의 다른 글
[AD] 자율주행 시뮬레이터 비교 (0) | 2022.09.13 |
---|---|
[AD] Frenet Frame Planning Algorithm 설명 (0) | 2022.09.12 |
[AD] DWA(Dynamic Window Approach) vs TEB(Timed-Elastic-Band) 알고리즘 비교 (0) | 2022.09.07 |
[AD] D*(Dynamic A*) 알고리즘 설명 (0) | 2022.09.03 |
[AD] Ackermann Kinematic Model 설명 (0) | 2022.09.02 |