DOI QR코드

DOI QR Code

Real-time Hybrid Path Planning Algorithm for Mobile Robot

이동로봇을 위한 실시간 하이브리드 경로계획 알고리즘

  • Received : 2013.10.20
  • Accepted : 2013.12.03
  • Published : 2014.01.01

Abstract

Mobile robot has been studied for long time due to its simple structure and easy modeling. Regarding path planning of the mobile robot, we suggest real-time hybrid path planning algorithm which is the combination of optimal path planning and real-time path planning in this paper. Real-time hybrid path planning algorithm modifies, finds best route, and saves calculating time. It firstly plan the route with real-time path planning then robot starts to move according to the planned route. While robot is moving, update the route as the best outcome which found by optimal path planning algorithm. Verifying the performance of the proposed method through the comparing real-time hybrid path planning with optimal path planning will be done.

Keywords

1. 서 론

이동 로봇은 구조가 간단하고 모델링이 쉬워서 오래 전부터 많은 연구 및 응용이 진행되어 왔으며, 이동로봇 기반의 플랫폼은 요즘도 다양한 분야에서 사용되고 있다. 이러한 이동로봇의 연구에 있어서 위치 추정(Localization), 장애물 회피(Obstacle avoiding), 경로 계획(Path planning) 등은 중요한 연구 분야이다. 그 중에서도 경로 계획은 출발점에서 목표점까지 찾거나 그 경로를 계획하는 기술로써 목적지를 찾아가야 하는 대부분의 이동로봇에게는 없어서는 안될 중요한 기술이다. 사람은 지도를 보고 목적지까지의 경로를 쉽고 효율적으로 계획 할 수 있으며, 또한 길과 장애물을 판단하고 목적지를 향해 어렵지 않게 이동할 수 있다. 하지만 청소로봇이나 바퀴가 달린 다양한 종류의 서비스 로봇과 같은 경우에는 상황이 다를 수 있다. 로봇은 갈 수 있는 경로인지 아니면 갈 수 없는 경로인지 이동경로와 장애물을 판단하는 것조차 쉽지 않기 때문이다. 또한 로봇에게 지도의 정보를 입력시킨다고 해도 로봇이 목적지까지 찾아가는 데는 많은 어려움이 있다. 그렇기 때문에 로봇에게는 목적지까지의 경로를 계획하는 알고리즘이 필수적이며, 이와 같은 문제점을 해결하기 위해서 다양한 로봇의 경로를 계획하는 알고리즘이 개발 되었다.

이동로봇의 응용으로 경로 계획은 크게 전역 경로 계획(Global Path Planning)과 지역 경로 계획(Local Path Planning or Local navigation) 으로 나뉜다. 지역 경로 계획방법은 작은 지역의 경로를 센서를 이용하여 정보를 얻고 주변의 장애물을 회피한다. 다이나믹한 환경에서 경로를 생성해야 하므로 주로 빠른 속도의 경로 계획 알고리즘이 필요하다. 이에 반해 전역 경로 계획 방법은 길고 넓은 지역의 경로를 계획할 때 주로 사용되는데 경로 계획의 목표는 속도는 느리지만 가장 효율적인 경로를 찾는 것이다. 하지만 이것은 로봇이 이동할 때의 안정성이나 작은 크기의 장애물은 생각하지 않고 거시적으로 경로를 계획하는 방법이다. 본 논문에서 초점을 맞추고 있는 경로 계획은 넓은 지역의 경로를 계획하는 알고리즘이며, 전역 계획 알고리즘에 대하여 다룬다. [3][4][6]의 전역 경로를 계획하는 알고리즘은 대부분 최적의 경로를 구하는 알고리즘이다. 그렇기 때문에 경로를 계획하는데 오랜 시간이 걸리게 된다. 이런 단점이 비교적 크기가 작은 지역의 경로를 구하는 데는 크게 부각되지 않지만 경로를 계획하는 지역이 커지면 커질수록 경로 계획시간이 오래 걸리기 때문에 문제가 드러나게 된다. 만약 경로 계획 시간이 오래 걸리게 되면 자동차 네비게이션 시스템과 같이 멀지만 빠르게 목적지까지 경로를 구해야 할 때 경로가 빠르게 검색되지 않아 불편함이 생긴다. 이런 경우에는 경로를 계획하는 범위는 크지만 실시간에 가까운 전역 경로 계획 알고리즘이 필요하다. 기존에 발표된 대부분의 알고리즘들은 크게 두 가지 형태로 분류될 수 있다. 하나는 최적의 경로를 찾는 것으로 기존의 경로 계획 알고리즘의 대부분은 최적의 경로를 찾는데 초점을 맞추고 있다. 최적의 경로라 하면 출발점에서부터 도착점까지의 경로의 길이가 가장 짧아서 로봇이 그 경로를 따라 움직였을때 가장 적은 시간이 걸리는 경로를 말한다. 그리고 나머지 하나는 빠른 계산 속도에 초점을 맞춘 것으로 전역 경로를 계획하는 알고리즘 보다는 지역 경로를 계획하는 알고리즘에 많이 사용된다. 기존의 이런 다양한 형태의 알고리즘들은 이미 오랜 시간 개발 되어 왔기 때문에 포화상태이며 새로운 알고리즘의 개발을 어렵게 만든다. 최근에는 기존의 알고리즘을 개선시키거나 두 개의 알고리즘을 이용하여 알고리즘의 성능을 개선시키는 경우가 많다. [2, 6]의 알고리즘은 전역 경로 계획 알고리즘과 지역 경로 계획 알고리즘을 모두 사용하여 움직이는 장애물을 회피한다. 전역 경로 계획 알고리즘은 경로를 계획하는데 오랜 시간이 걸리기 때문에 실시간으로 경로를 수정할 수 없다. 그러므로 전체의 경로를 전역 경로 알고리즘을 사용하여 계획하고 움직이는 장애물이 있는 지점에서는 지역 경로 계획 알고리즘을 이용하여 경로를 수정하는 방식을 사용한다. 이렇게 두 개의 알고리즘을 혼합하여 각 알고리즘의 단점을 보안하고 성능을 개선시킨다. [1]에서는 경로 계획을 두 번 수행 하여 경로를 수정하는 방법을 사용한다. 즉 움직이는 장애물을 회피하는 것이 아닌 경로를 새로 수정하므로 효율적이게 만든다. 하지만 이런 알고리즘은 전역 경로 계획알고리즘에 이동하는 장애물을 회피하거나 경로를 재수정하는데 초점을 맞추고 있다. 정작 대부분의 전역 경로 계획 알고리즘들이 가지고 있는 계산시간이 오래 걸리는 문제에 대한 접근법에 대한 대책에 대하여서는 많이 부족한 상황이다. 다시 정리하면, 다양한 종류의 전역 경로를 계획하는 알고리즘이 연구되어 왔으며 이 알고리즘들은 크게 두 가지 목표를 가지고 있다. 하나는 최적의 경로를 찾는 알고리즘인데 기존의 경로 계획 알고리즘의 대부분은 최적의 경로를 찾는데 초점을 맞추고 있다. 최적의 경로(Optimal Path)라 하면 출발점에서부터 도착점까지의 경로의 길이가 가장 짧아서 로봇이 그 경로를 따라 움직였을 때 가장 적은 시간이 걸리는 경로를 말한다. 그리고 나머지 하나는 빠른 계산 속도에 초점을 맞춘 알고리즘인데 전역 경로를 계획하는 알고리즘 보다는 지역 경로를 계획하는 알고리즘에 많이 사용된다. 이러한 기존의 알고리즘들은 이미 오랜 시간 개발 되어 왔기 때문에 거의 포화상태이며, 새로운 형태로 알고리즘을 변형하기가 어렵다. 그래서 최근에는 두 개의 알고리즘을 이용하여 알고리즘의 성능을 개선하고자 하는 경우가 있다. 즉 두 가지 이상의 알고리즘을 사용하여 경로를 재수정하는 하는 것이다. 그러나 이런 형태는 전역 경로에서 이동하는 장애물을 회피하는 경로를 수정하는데 만 초점을 맞추고 있으며, 계산시간이 오래 걸리는 문제를 해결하는 솔루션을 제공하지 않는다.

본 논문에서는 기존의 알고리즘 중 실시간으로 사용할 수 있는 알고리즘과 최적의 경로를 구하는 알고리즘을 결합하고, 전역 경로를 계획하는 시간을 단축시켜 넓은 지역의 경로도 빠르게 계획할 수 있도록 하는 새로운 알고리즘을 제안한다. 이를 통하여 경로를 계획하는 시간을 단축할 수 있다. 알고리즘의 진행 방법은 두 번의 경로 계획을 통하여 경로를 개산하는 방향으로 진행된다. 기존에 두 번의 알고리즘을 수행하여 성능을 개선시키는 방법들과는 다르게 실시간 경로 계획 알고리즘을 수행하여 경로를 생성하고, 생성된 경로를 효율적으로 최적화시키기 위해 경로 계획을 재수행하여 전역 경로 계획 알고리즘의 단점인 계산시간을 보완한다. 따라서 경로 계획하는데 짧은 시간을 들이면서 최적의 경로를 계획할 수 있다. 마지막으로 실험을 통해 기존의 알고리즘과의 계획 시간 차이를 확인하고 성능을 검증한다.

 

2. 실시간 하이브리드 경로 계획 알고리즘

2.1 실시간 하이브리드 경로 계획의 개념

기존의 알고리즘들은 두 가지의 기준으로 성능을 평가한다. 첫 번째로는 경로의 최적화 정도에 따라 평가하는 방법이 있는데 이 기준은 경로를 계산하는데 걸리는 시간은 중요하지 않으며 경로의 최적화 정도만을 가지고 알고리즘의 성능을 판단하는 것이다. 이와 같은 최적의 경로를 구하는 알고리즘의 문제점으로는 경로를 계산하는데 많은 시간이 걸리는 것이다. 이는 대부분의 최적 경로를 구하는 알고리즘이 가지고 있는 문제점인데 계산시간이 많이 걸리기 때문에 자연스럽게 생기는 특징이다. 그리고 이와 같은 알고리즘은 경로를 계획 하는데 계산 시간이 오래 걸리므로 경로가 바뀌거나 예상치 못한 장애물이 등장 하였을 때 즉각적인 반응이 어렵다. 그래서 로봇이 이동 중에 예상치 못한 장애물을 만나게 되면 로봇은 움직이지 못하고 경로를 다시 계획하여야 한다. 뿐만 아니라 로봇이 출발점에서 목표점까지 움직일 때 계산이 모두 끝나야 하므로 경로를 계획하기 전까지 로봇이 움직일 수 없어서 로봇의 출발이 느리다는 단점이 있다. 이와 같은 문제점을 극복하기 위해서 실시간으로 경로를 계획하는 알고리즘이 사용된다. 실시간으로 경로를 계획하는 알고리즘의 경우에는 두 번째 평가 기준으로 성능을 평가한다. 이 평가 방법은 경로의 최적화 정도는 좋지 않지만 경로를 계획하는 시간을 단축하여 경로를 빠르게 계획하는데 초점을 맞추고 있다. 결론적으로 각 기준의 알고리즘들은 서로 상반되는 장점과 단점들로 이루어져 있다. 그러나 각 알고리즘들의 장점인 최적의 경로 구하는 것과 빠른 계산시간이 모두 함께 필요한 경우가 생긴다. 그에 대한 예로 이동로봇이 목적지까지 이동할 때 오직 계산 량이 많은 최적경로를 찾는 알고리즘만을 이용해서 경로를 구하면 로봇이 바로 움직이지 못하고 준비하는 시간이 많이 걸린다. 그래서 로봇을 투입하기 전에 미리 모든 경로 계획을 끝내 놓은 상태에서 로봇을 구동시킨다. 하지만 이전에 경로계획을 끝내야 로봇이 움직일 수 있다고 한다면 사전에 많은 시간을 들여 경로계획을 해야 한다. 또한 예상치 못한 장애물이나 경로의 변경에 대응하는 것이 쉽지 않다. 작은크기의 지도에서 경로를 구한다면 계산량이 많지 않아 큰 상관이 없다. 하지만 지도의 크기가 커짐에 따라서 실시간으로 이루어지는 경로 계획 알고리즘이 필수적이 된다. 왜냐하면 지도의 크기가 커짐에 따라서 경로를 계산하는 시간은 기하급수적으로 늘어나기 때문이다. 정사각형 지도의 크기가 2배 3배 늘어남에 따라서 넓이는 4배 9배로 늘어나게된다. 이렇게 지도의 크기가 커지고 넓이가 넓어짐에 따라서 경로를 계획하는 알고리즘의 계산시간도 약 2의 제곱으로 늘어나게 된다. 특히 계산시간이 오래 걸리는 최적의 경로를 계획하는 알고리즘이 다른 실시간 경로를 계획하는 알고리즘들 보다 계산시간의 증가 폭이 크다 [4-6]. 그림 1은 기존의 경로 계획의 문제점인 경로가 커짐에 따라서 계산시간이 기하급수적으로 늘어나는 것을 보여준다. 그림은 경로계획을 수행하게 될 지도를 100X100, 200X200, 300X300, 400X400, 500X500, 크기 별로 나열 한 것이다. 그림을 보면 알 수 있듯이 각각의 지도에 있는 장애물의 위치나 모양은 동일하다. 그림 2는 각 지도의 크기 별로 경로 계획을 수행하였을 때 나타나는 경로를 표현한 것이다. 그림에서 보듯이 계획된 경로의 전체적인 형태는 비슷한 것을 확인 할 수 있다.

그림 1다양한 크기의 지도 Fig. 1 Various size of a Map

그림 2지도의 크기가 변경되었을 때의 경로 변화 Fig. 2 Path changing according to the size of a map

그림 3은 지도의 크기가 커짐에 따라서 경로 계획 시간이 변화되는 것을 나타내는 그래프다. 그림에서 보인 큐(Queue) 방식과 스택(Stack) 방식은 경로 계획 계산시간의 차이뿐만 아니라 다음과 같은 특징을 가진다. 대부분의 경로 계획 알고리즘은 최적 경로를 구하는 것을 목표로 하는데, 여기서 큐 알고리즘의 특성은 넓이 우선 탐색 방법으로 출발점에서 주변 여덟방향의 경로에 기울기 가충치를 모두 부여한다. 가중치를 부여하지 않는 경로가 생성될 때까지 탐색은 계속된다. 시작점 주변에 있는 모든 경로로 기울기 가중치가 부여되므로 최적의 경로를 찾을 수 있는 장점이 있지만 많은 시간이 걸리게 된다. 반면 넓이 우선 탐색 방법인 큐 알고리즘과는 다르게 스택 알고리즘은 깊이 우선 탐색방법이다. 이는 깊이를 우선적으로 검색하므로 출발점에 위치한 이동로봇의 여덟방향 중 목적지와 가장 가까운 방향의 경로를 최우선시 하므로 빠른 속도로 목적지를 찾을 수 있다. 하지만 경우에 따라서는 최적의 경로가 도출되지않는 단점도 있다. 따라서, 최적 경로를 찾는 Queue 방식의 그래프 검색 알고리즘을 사용 하였을 때 경로를 찾는데 걸리는 시간은 Stack 방식의 그래프 검색 알고리즘보다 오래 걸린다. 특히 지도의 사이즈가 커질수록 각각의 방식으로 경로를 찾는데 걸리는 시간의 격차는 기하급수적으로 커진다 [4]. 따라서 본 논문에서 제안하는 알고리즘은 기존에 사용되는 경로 계획 알고리즘들의 장점들을 이용하고 성능을 향상 시킬 수 있는 방향을 고려하였다. 제안된 알고리즘의 목적은 최적의 경로를 구하면서도 로봇의 반응 시간이 짧게 걸리도록 만드는 것이다. 따라서 실시간 경로 알고리즘의 장점인 빠른 반응 속도와 최적 경로 알고리즘의 경로 최적화의 특징을 모두 가질 수 있는 알고리즘을 개발하고자 한다. 즉, 실시간으로 최적화된 전역 경로를 구하는 알고리즘으로, 실시간 경로 계획 알고리즘과 최적경로를 결합하여 새롭게 경로를 계획한다. 최적화된 경로를 실시간으로 만들기 위해서 가장 중요한 것은 최적의 경로를 계산할 때 걸리는 시간을 확보하는 것이다. 이것은 거의 모든 최적 경로를 구하는 알고리즘의 경우에 생기는 문제이다. 계산 시간을 확보하기 위해 본 논문에서는 로봇이 이동하면서 최적 경로 계산을 하게 된다. 이렇게 함으로써 경로를 계산하는 시간을 확보할 수 있으며 로봇이 이동 명령을 받음과 동시에 이동하기만 하면 로봇이 복잡한 계산을 하는 동안 멈춰 있는 현상이 사라지기 때문이다.

그림 3지도 크기에 따른 경로 계획 계산시간의 변화 Fig. 3 Computation time according to the size of a map

실시간 하이브리드 경로 계획 알고리즘의 전체적인 실행순서와 순서도를 그림 4에서 나타내었다. 가장 먼저 로봇이 빠르게 반응 할 수 있도록 경로를 계산하는데 시간이 적게 걸리는 실시간 경로 계획 알고리즘을 이용하여 출발점에서부터 도착점까지의 경로를 구한다. 하지만 이 경로는 최적화 되지 않은 경로이므로 최적화 작업이 필요하다. 그래서 처음 계획된 경로를 따라서 로봇을 이동시키고 로봇이 이동하는 동안 최적의 경로를 구하는 알고리즘을 사용하여 새로운 경로를 다시 계산한다. 로봇이 이동하는 동안 최적의 경로를 구하면 이전의 경로에서 새롭게 구한 경로로 자연스럽게 경로를 업데이트 한다. 이렇게 업데이트된 경로를 따라서 로봇이 이동하게 된다.

그림 4실시간 하이브리드 경로 계획 알고리즘의 순서도 Fig. 4 Flowchart of real-time hybrid path planning

2.2 실시간 경로 계획 알고리즘 설계

실시간 경로 계획 알고리즘의 설계에는 실시간 경로 계획 알고리즘과 최적 경로 계획 알고리즘 두 종류의 경로계획 알고리즘을 이용한다. 실시간 경로 계획 알고리즘은 경사하강법(Gradient descent method)을 기반으로 그래프 검색 알고리즘 중 깊이우선탐색(DFS:Depth First Search)을 사용하여 경로를 구한다. 최적의 경로로 경로를 수정하기 위해서 사용되는 알고리즘으로는 경사하강법을 기반으로 그래프 검색 알고리즘 중 넖이우선탐색(BFS: Breadth First Search)을 이용하여 경로를 구하고, 또는 다양한 방면에서 사용되고있는 A*(A star)알고리즘을 이용하여 경로를 수정한다. 그림 4는 실시간 하이브리드 경로 계획 알고리즘의 순서도로 알고리즘이 진행되는 흐름을 보여준다. 하나씩 살펴보면 알고리즘이 실행됨과 동시에 실시간 경로 계획 알고리즘이 실행된다. 빠른 계산속도의 실시간 경로 계획 알고리즘을 이용하여 출발점에서 도착점까지의 경로를 구한다. 경로 계획이 끝남과 동시에 앞에서 구한 경로를 따라 로봇이 이동하게 된다. 로봇이 경로를 따라 이동하는 동안 로봇은 이전에 계획한 경로에서 이동 중인 로봇의 위치를 업데이트한다. 로봇의 위치를 업데이트 하는 이유는 로봇이 이미 지난 위치에서 경로를 새로 계획하는 것을 방지하기 위함이다. 로봇의 위치를 업데이트 한 후 경로 계획 알고리즘을 재계산하여 경로를 수정한다. 이때 경로를 재 수정할 때 사용되는 알고리즘은 최적의 경로를 구하는 알고리즘이다. 이렇게 새롭게 경로를 구한 뒤 경로를 업데이트하고 이동 로봇은 수정된 경로를 따라서 이동한다.

그림 5는 그림 4의 순서도에 따라서 하이브리드 경로 계획 알고리즘을 실행하여 경로 시뮬레이션을 한 결과이다. 지도의 크기는 220X108이며 출발점은 왼쪽 하단 (10, 10)이며 도착점은 오른쪽 상당 (200, 90) 지점이다. 지도에서 빨간색의 경로는 실시간 경로 계획 알고리즘이며 경사도법을 기반으로 하는 그래프 검색 알고리즘 중 깊이우선탐색을 사용하였다. 실시간 경로 계획은 그림에서 볼 수 있듯 경로에 불필요한 움직임이 많고 도착점까지 돌아간다는 것을 확인 할 수 있다. 하지만 임의의 지점에서 진행 경로를 계산하는데 걸리는 시간은 기존의 그래프 검색방법인 파란색 경로의 연산시간보다 대단히 빠르다. 이러한 연산시간은 지도의 크기가 커지면 커질수록 격차가 더욱 늘어나게 된다.

그림 5실시간 하이브리드 경로 계획 시뮬레이션 Fig. 5 Simulation of real-time hybrid path planning

2.3 최적 경로 계획 알고리즘과 통합

실시간 하이브리드 경로 계획 알고리즘은 실시간 경로 계획 알고리즘을 이용하여 경로를 생성한다. 그리고 그 경로를 따라 로봇이 이동하면서 최적 경로 계획 알고리즘을 재사용하여 경로를 재생성 하는 방식이다. 이렇게 경로를 생성하게 되면 총 두 개의 경로가 생성되는데 출발점과 도착점은 동일 하지만 경로의 모양은 전혀 다를 수 있다. 이렇게 전혀 다른 경로가 생성이 되면 이동하고 있는 로봇은 새로 생성된 경로로 자연스럽게 이동할 수 있어야 한다. 하지만 경로의 방향은 같지만 전혀 다른 경로이기 때문에 자연스럽게 이동하기 위해서는 두 경로를 연결해 줄 수 있는 알고리즘이 필요하다. 일반적으로 경로들 사이에 교점이 존재하면 쉽게 해결되지만 교점이 존재 하지 않으면 두 선을 이어주기 위해서는 다양한 방법이 필요하다. 간단한 전략으로 두 선 사이에 존재하는 가장 가까운 점을 찾아 직선으로 이어줌으로써 두 경로 선을 이어 줄 수 있다. 하지만 이와 같은 방법은 직선들 사이에 아무런 장애물이 없다는 전제가 필요하다. 두 개 이상의 경로를 하나로 부드럽게 이어주는것은 쉽지 않은 작업이며, 실시간 경로 계획 알고리즘을 통해 구한 경로를 따라서 로봇이 이동하는 동안 다시 계획된 경로가 합쳐지는 과정에서 문제점이 발생한다. 두 개의 경로는 만나는 접합점이 생길 수도 있고 그렇지 않을 수도 있다. 두 경로가 만났을 때의 경우에는 서로 만나기 때문에 로봇이 자연스럽게 다른 경로로 이동할 수 있다. 하지만 경로가 만나더라도 시작 초입 부분에서 만나게 되면 경로를 계산하는 동안 지나칠 가능성이 크며, 중간부분에서 만나게될 때만 새롭게 계획한 경로로 자연스럽게 이동할 가능성이 크다. 경로의 끝부분에서 만나게 된다면 이 또한 경로 이동이 원활하지 못하게 된다. 다른 경우의 예를 보면, 로봇이 이동하고 있는 기존의 경로가 새롭게 계산한 경로와 다른 방향으로 진행하는 경우에는 로봇이 이동하고 있는 경로를 출발점까지 다시 뒤 돌아간 뒤에 새롭게 계산한 경로를 따라 처음부터 다시 움직여야 된다. 이는 로봇이 필요 없는 경로를 이동해야 하므로 효율성이 많이 떨어지게 된다. 이렇게 두 개의 경로가 만날 때와 만나지 않을 때 모두 사용이 가능한 경로를 고려해야 하는 상황이 필요하다. 그림 6에서 이와 같은 상황을 나타내었다.

그림 6경로 통합이 필요한 상황 Fig. 6 Situation that is needed path combination.

그림 6은 실시간 하이브리드 경로계획 알고리즘을 통하여 경로를 계획하기 위해 실시간 경로를 계획하고 최적의 경로 또한 계획된 상태다. 그림을 보면 이동 로봇은 실시간 경로를 따라 이동하였으므로 실시간 경로의 시작점에서 어느정도 떨어진 곳에 이동 로봇이 위치하고 있다. 하지만 최적의 경로는 기존의 시작점에서 도착점까지의 최단거리를 계획하였다. 로봇이 실시간 경로를 따라서 이동 중에 새롭게 구한 최적의 경로를 따라서 이동하기 위해서는 실시간 경로와 최적의 경로가 중간에 만나는 접점에서 이동해야 한다. 하지만 경로가 서로 겹치는 점이 없으면 최적의 경로로 이동할수 없는 문제가 생기며, 경로가 서로 겹친다 하더라도 접점까지 로봇이 이동해야 하기 때문에 성능에 좋지 않은 영향을 주게 된다. 본 논문에서 제안하는 통합 방법은 기존의 경로에서 하위 시작점을 재설정하고 재설정된 시작점과 도착점 사이를 최적 경로 알고리즘을 통하여 경로를 구하는 것이다. 하위 시작점은 여러 변수들을 고려해서 설정해야하며, 이동 로봇의 이동 속력을 알아야 더욱 정확한 하위 시작점을 지정할 수 있다. 가장 간단한 방법으로 하위 시작점 포인트를 설정하는 방법은 휴리스틱하게 지정하는 것이다. 여러 번 실험을 통하여 정하거나 실시간 경로의 총 길이에서 일정한 비율로 정하는 것이다. 그러나 설계자가 하위 시작점 포인트를 어떻게 지정하냐에 따라 성능이 좌우될 수 있다. 이와는 다르게, 경로를 계산하는 데 걸리는 시간과 이동 로봇의 이동속력을 알면 좀 더 정확한 하위 시작점을 지정할 수 있다. 그림 7에서 하위 시작점을 정하는 구체적인 결정과정을 나타내었다. 그림에서 나타난 것처럼, 로봇의 위치를 미리 예측하기 위해서는 로봇의 이동거리를 먼저 파악해야 하는데 로봇의 이동 거리는 로봇의 평균 속력과 경로 계획 시간을 곱하여 계산한다. 로봇의 평균 속력은 개발하고 실험하는 로봇에 따라 달라지며 경로 계획 시간은 시뮬레이션을 통하여 구한다. 이동 로봇의 이동 거리를 구하게 되면 처음에 실시간 경로 계획을 통하여 구하였던 경로의 길이에서 그 이동거리를 빼주게 되면 하위 시작점의 위치를 미리 예측할 수 있다.

그림 7하위 시작점의 결정 과정 Fig. 7 Decision procedure of sub start point

그림 8은 이동 로봇의 이동 위치를 미리 예측하여 실시간 하이브리드 경로 계획 알고리즘을 실행한 결과이다. 빨간색 경로는 실시간 경로이며 파란색은 최적 경로이다. 실시간 경로를 따라 이동하며 로봇의 예상 하위 시작점에서 목표까지 경로 계획한 것을 확인 할 수 있다. 실시간 경로의 길이는 총 317m이며 하위 시작점은 출발점에서부터 32m가 떨어진 지점에 설정 되었다. 또한 하위 시작점에서 도착점까지의 길이는 166m로 이전의 285m에 비해 119m만큼 짧아지는 효과를 볼 수 있었다. 전체 길이에서 보면 실시간 경로는 317m로 실시간 하이브리드 경로 계획을 통하여 구한 198m는 약 60%의 성능 향상을 보였다.

그림 8경로 통합 최적화 알고리즘 시뮬레이션 Fig. 8 Simulation result of path combination

 

3. 시뮬레이션 결과

제안된 알고리즘의 성능을 검증하기 위하여 Matlab을 이용하여 시뮬레이션을 진행 하였다. 시뮬레이션을 위해서 사용된 지도는 1비트 값으로만 이루어져 있는 Cost map으로 장애물의 유무만을 판별 할 수 있게 되어있다. 컴퓨터 시뮬레이션을 통하여 알고리즘의 성능을 검증하므로 컴퓨터의 사양에 따라 계산 속도가 다르게 나올 수 있으므로 컴퓨터의 사양을 표 1에서 나타낸다.

표 1시뮬레이션 시스템 정보 Table 1 Information of simulation system

본 논문에서 제안한 알고리즘의 성능을 알아보기 위해 지도의 크기를 키움에 따라 경로 계산 속도가 어떻게 바뀌는지 알아 보았다. 총 4가지 크기의 지도를 사용하여 실험을 진행 하였으며 크기는 150X100cm부터 각 변의 길이를 두배로 늘려 가며 300X200cm, 600X400cm, 1200X800cm의 지도를 사용 하였다. 각 지도의 크기를 2배로 늘렸으므로 면적은 4배씩 늘어나 가장 마지막 지도는 처음 지도의 16배에 해당하는 크기가 된다. 그리고 실험에 사용되는 알고리즘은 Stack과 Queue를 사용하여 실시간 경로 계획과 최적 경로계획을 구현 하였다. 두 가지의 알고리즘을 사용하여 최적의 경로와 실시간 경로 그리고 마지막으로 실시간 하이브리드 경로를 구현한다. 첫 번째는 Stack 알고리즘을 사용한 실시간 전역 경로 계획 알고리즘으로 경로를 찾는데 시간은 작게 걸리지만 경로가 최적화 되지 않은 결과를 예상할 수 있다. 두 번째로는 기존에 많이 사용하는 오프라인 방식의 전역 경로 계획인 Queue 알고리즘을 사용하여 시간은 오래 걸리지만 최적화된 경로를 예상할 수 있다. 그리고 마지막으로 앞에서 구한 알고리즘들을 바탕으로 실시간 하이브리드 경로 계획 알고리즘을 구현하여 앞에서 구현한 실시간 경로 계획만큼 빠르고 최적 경로를 구하는 알고리즘만큼 성능이 좋음을 검증한다. 여기서 성능을 비교하는 방법으로는 로봇이 경로를 계획하고 출발점에서 목표점까지 가는데 걸리는 시간을 계산하여 비교한다. 이때 필요한 로봇의 속도는 10cm/s, 40cm/s, 100cm/s로 변화를 주어 각 지도에서 로봇의 속도가 미치는 영향을 실험을 통하여 알아본다. 그림 10은 실험에 사용되는 지도의 크기를 비교하기 위해 지도를 비율에 따라 겹쳐 놓았다. 150X100의 지도를 기준으로 왼쪽 아래 좌표 (5,5)를 시작점으로 설정하고 (146, 95)를 도착점으로 설정하여 경로를 구하였으며 지도가 커짐에 따라 시작점과 도착점의 좌표도 2배씩 증가 시켰다.

그림 10실시간 & 최적 & 하이브리드 경로 계획 (로봇 속도 10cm/s) Fig. 10 Real-time, Optimal and Hybrid path planning (Robot speed: 10cm/s)

표 2는 지도 크기의 변화에 따른 각 알고리즘의 계산시간과 경로길이에 대한 성능을 수치적으로 표현한 것이다. 실험에 사용된 각 지도는 그림 9과 같으며 출발점과 도착점도 150X100의 지도의 (5, 5)점과 (146, 95)이며 지도가 2배로 커질 때 마다 출발점과 도착점의 좌표도 2배씩 커진 지점이 된다. 각 알고리즘에 따른 경로 계산 시간과 경로의 길이를 살펴보면 실시간 경로 계획은 최적 경로 계획에 비해 지도가 커지면 커질수록 경로의 길이가 더욱 길어지는 것을 확인 할 수 있다. 하지만 경로를 계산하는데 걸리는 시간은 그리 오래 걸리지 않는다. 이에 반해 하이브리드 알고리즘은 경로의 길이는 최적의 경로를 계획하는 알고리즘에 비해 조금 부족하지만 경로를 계획하는데 걸리는 시간은 매우 짧은 것을 확인 할 수 있다. 이는 하이브리드 알고리즘의 특징인 로봇이 이동하며 경로를 수정하기 때문이다. 그리고 경로를 계획하는 시간이 실시간 경로 계획 알고리즘과 같은 원인은 실시간 경로 계획을 통해 경로가 구해짐과 동시에 로봇이 움직이기 때문이다. 경로의 길이와 경로를 계획하는데 걸리는 시간으로 알고리즘의 성능을 표현할 수도 있지만 무엇보다도 알고리즘의 성능을 정확하게 평가하는 방법으로는 경로를 계획하고 로봇이 출발점에서 도착점까지 이동하는데 걸리는 모든 시간을 계산하면 더욱 정확하게 평가 할 수 있다. 단 이 방법을 사용하기 위해서는 이동 로봇의 속도가 필요한데 실험에서는 10cm/s부터 100cm/s까지 변화시키며 실험을 진행 한다. 그림 10, 11과 표 3은 1200X800(cm)크기의 지도에서 로봇의 속도가 10cm/s일 때 실시간 경로 계획, 최적 경로 계획, 실시간 하이브리드 경로 계획을 통하여 경로를 계획한 결과이다. 빨간색의 경로는 실시간 경로 계획을 통하여 계획한 경로이며 파란색은 최적 경로, 녹색은 실시간 하이브리드 경로 계획을 나타낸 것이다. 로봇의 속도를 감안하여 하위 시작점이 설정 되었고 경로가 수정된 것을 확인 할 수 있다. 이후 그림들은 로봇의 속도가 바뀜에 따라 하이브리드 경로의 변화를 보여준다.

표 2지도 크기에 따른 경로 계산 시간과 경로 길이 Table 2 Computing time and length for each map

그림 9실험에 사용되는 지도의 크기 비교 Fig. 9 Size of a map for simulation environment.

그림 11지도 크기에 따른 로봇 이동시간 그래프 (로봇 속도 10cm/s) Fig. 11 Time of robot moving according to size of a map (Robot speed: 10cm/s)

표 3지도 크기에 따른 로봇 이동시간 (10cm/s) Table 3 Running time for each size of map

그림 12, 13, 14, 15와 표 4와 5에서도 마찬가지로 로봇의 속도에 따른 실시간 경로 계획, 최적 경로 계획, 실시간 하이브리드 경로 계획과 지도의 크기별로 시뮬레이션하여 도착점까지 도착하는데 걸리는 총 시간을 나타내었다.

그림 12실시간 & 최적 & 하이브리드 경로 계획 (로봇 속도 40cm/s) Fig. 12 Real-time, Optimal and Hybrid path planning (Robot speed: 40cm/s)

그림 13지도 크기에 따른 로봇 이동시간 그래프 (로봇 속도 40cm/s) Fig. 13 Time of robot moving according to size of a map (Robot speed: 40cm/s)

그림 14실시간 & 최적 & 하이브리드 경로 계획 (로봇 속도 100cm/s) Fig. 14 Real-time, Optimal and Hybrid path planning (Robot speed: 100cm/s)

그림 15지도 크기에 따른 로봇 이동시간 그래프 (로봇 속도 100cm/s) Fig. 15 Time of robot moving according to size of a map (Robot speed: 100cm/s)

표 4지도 크기에 따른 로봇 이동시간 (40cm/s) Table 4 Running time for each size of map

표 5지도 크기에 따른 로봇 이동시간 (100cm/s) Table 5 Running time for each size of map

고정된 로봇 속도에서 각 지도의 크기 별로 로봇이 목적지까지 도착하는데 걸리는 총 시간을 경로계획에 따른 표와 그래프로 살펴보았다. 이의 결과를 살펴보면 최적 경로 계획 알고리즘은 지도가 커짐에 따라 경로 길이의 변화와 계산시간의 기하급수적인 변화 때문에 로봇 이동 시간이 오래 걸리는 것을 확인 할 수 있다. 이와 같은 현상은 로봇의 이동 속도가 빨라지더라도 변하지 않는 특성을 보인다. 하지만 하이브리드 경로 계획 알고리즘은 로봇의 속도가 달라지더라도 지도의 크기가 커지면 최적 경로 계획 알고리즘에 비해 더욱 좋은 성능을 보이는 것을 확인 할 수 있다. 이를 통하여 실시간 하이브리드 경로 계획은 경로를 계획하는 속도가 빠르며 성능 또한 좋다는 것을 확인 할 수 있었다. 또한 로봇이 도착점까지 이동하는데 걸리는 시간을 측정 하였을 때도 최적 경로 계획 알고리즘보다 뛰어난 것을 확인 할 수 있었다.

 

4. 결 론

본 논문에서는 실시간으로 최적의 경로를 생성할 수 있는 알고리즘을 제안하였다. 실시간 하이브리드 경로 계획 알고리즘은 기존의 알고리즘을 응용하였으며, 실시간 경로 계획과 최적의 경로 계획 알고리즘을 결합하여 경로를 계획하고 최적화 하였다. 제안된 알고리즘을 이용하여 생성된 경로의 길이는 최적의 경로를 찾는 알고리즘으로 생성된 경로의 길이보다는 다소 길지만 실시간 경로계획 알고리즘을 통하여 생성된 경로를 따라 로봇이 움직이므로 아무리 큰 지도의 경로를 계획 한다 하더라도 로봇이 빠르게 경로를 따라 움직일 수 있다. 이는 기존의 최적 경로를 찾는 알고리즘의 전형적인 문제점인 로봇의 반응시간이 느린 문제를 해결 한 것이며, 로봇이 움직이며 경로를 수정하므로 목적지까지 다다르는데 걸리는 시간이 기존 알고리즘보다 적게 걸린다. 수행한 시뮬레이션 실험결과를 통하여, 경로의 길이는 실시간으로 생성된 경로보다 대폭 좋아졌으며 최적 경로 계획으로 생성된 경로에 비해 대등한 성능을 보였다. 로봇이 경로를 계획하고 출발하여 목적지까지 도착하는데 걸리는 시간을 비교해 본 결과 최적 경로를 찾는 알고리즘에 비해 적은시간이 걸리는 것도 확인 할 수 있었으며, 지도가 커져도 성능이 좋아진다는 것을 확인할 수 있었다. 향후 컴퓨터 시뮬레이션을 통한 실험뿐만 아니라 실제 하드웨어로 구현된 이동 로봇에 적용하여 다양한 실험을 진행한다면 더욱 현실감 있는 좋은 검증이 될 것이다.

References

  1. Marija Dakulovic , Ivan Petrovic "Two-way D algorithm for path planning and replanning" 2011, Robotics and Autonomous Systems
  2. XUE Ying-hua, LIU Hong-peng "Optimal Path planning for Service Robot in Indoor Environment", 2010, International Conference on Intelligent Computation Technology and Automation, pp. 850-853
  3. N. Sariff, N. Buniyamin "An Overview of Autonomous Mobile Robot Path Planning Algorithms", 2006, IEEE 4th Student Conference on Research and Development
  4. J. Giesbrecht "Global Path Planning for Unmanned Ground Vehicles", 2004, Technical Memorandum, DRDC Suffield TM 2004-272
  5. Bi Jun, Zhu Guang-yu, Xie Zheng-yu "A Fast Path Planning Algorithm for Vehicle Navigation System", 2007, Third International Conference on Natural Computation
  6. Soh Chin Yun, S. Parasuraman, Velappa Ganapathy "Dynamic Path Planning Algorithm in Mobile Robot Navigation", 2011 IEEE Symposium on Industrial Electronics and Applications (ISIEA2011), September 25-28, 364-369.
  7. Jehyun Yoo, Junyeon Hwang, "Collision free path planning with the Elastic Band Method", KSAE 2011 Annual Conference and Exhibition, 2011.11, 1629-1634, 2011.
  8. Hwanil Kang, Byunghee Lee, Wooseok Jang, "Path Planning Algorithm Using the Particle Swarm Optimization and the Improved Dijkstra Algorithm", KFIS Autumn Conference 2007, Vol. 17, No. 2, 176-179.
  9. Hee-Jae Lee, Kwang-Min Jung, Kwee-Bo Sim, "Path Planning for Autonomous Mobile Robot using Potential Field", The 10th International Symposium on Advanced Intelligent Systems (ISIS 2009), 2009 08,203-208.
  10. Haojie Zhangy, Jonathan Butzkez, Maxim Likhachevz, "Combining Global and Local Planning with Guarantees on Completeness", 2012, ICRA