DOI QR코드

DOI QR Code

Formation Control Algorithm for Swarm Robots Using Virtual Force

가상의 힘을 이용한 군집 로봇의 대형 제어 알고리즘

  • Tak, Myung Hwan (Dept. of Control and Robotics Engineering, Kunsan National University) ;
  • Joo, Young Hoon (Dept. of Control and Robotics Engineering, Kunsan National University)
  • Received : 2014.07.05
  • Accepted : 2014.09.15
  • Published : 2014.10.01

Abstract

In this paper, we propose the formation control algorithm using the leader-following robots in given space. The proposed method is as follows: First, we plan a path of the leader robot for the obstacle avoidance. After that, we propose the formation control algorithm of the following robots using the position and the orientation angle of the leader robot. Also, we propose method for adjusting the formation of the swarm robots when the following robots detect an obstacles. Finally, we show the effectiveness and feasibility of the proposed method though some simulations.

Keywords

1. 서 론

지능형 로봇산업의 성장으로 인하여 다수의 로봇이 스스로 주변 상황을 인식하고, 필요에 따라 하나의 목적을 위해 주위의 로봇과 협력 작업을 수행하는 군집 로봇 시스템에 대한 관심이 증대되고 있다[1-2]. 군집 로봇 시스템은 단일 로봇 시스템의 단점을 보완하기 위한 새로운 접근 방법으로 로봇이 임무 및 작업을 수행 시 작업의 효율성 및 시스템 확장성을 확보할 수 있다는 장점을 가진다. 이러한 장점을 이용하여 인명 구조나 광범위한 지역의 탐색 등 다수의 로봇을 이용하여 동시에 작업이 필요한 분야에서 군집 로봇의 활용은 필수적이다[3, 13-16, 17-20].

군집 로봇 시스템의 관련 핵심 기술은 군집 로봇의 적용 분야에 따라 특화된 다양한 행동을 제어하는 기술, 다양한 센서 정보를 이용하여 관심의 대상의 위치 및 정/동적 환경과 상황을 인지하는 기술, 로봇간의 안정적인 통신망을 구축하는 로봇간 네트워킹 기술, 주어진 임무 달성을 위해 군집 로봇 시스템을 운용하는 시스템 통합 기술로 분류된다[4-6,13-16]. 이 중에서 군집 로봇 행동 제어 방법은 군집 로봇의 협조 행동을 제어하기 위해 다수의 로봇들이 대형을 이루고 목표지점까지 이동하도록 제어하는 방법이다. 군집 로봇의 대형을 제어는 적용분야가 다양하다는 점에서 최근 많은 연구가 진행되고 있으며 크게 행동 기반(Behavior-based) 접근법, 가상 구조 (Virtual structure) 접근법, 선도 로봇-추종 로봇(Leader-following) 접근법 등으로 분류된다[7-9]. 행동 기반 접근법은 로봇의 군집 제어를 위한 로컬 센싱과 최소한의 통신을 이용한 군집 제어 알고리즘이 제시되었지만 다수의 임무가 부여되었을 때 제어 전략을 유도해내기는 쉬우나 수학적으로 표현하기 어려우며 군집 로봇 시스템의 안정성에 문제점을 가진다[7]. 가상 구조 접근법은 Lyapunov 안정도 이론을 이용하여 군집 제어 시스템의 안정성을 증명하였다[8]. 그러나, 제시된 가상 구조 접근법은 가상 구조의 모양이 변화될 수 없어서 군집의 형태가 다양하게 변화해야하는 환경에서는 적용할 수 없다는 문제점을 가진다. 마지막으로 선도 로봇-추종 로봇 접근법은 가상 추종 로봇을 이용하여 군집 제어 기법, 충돌 회피가 가능한 군집 제어 기법, 입력 제한이 있는 다수 이동 로봇의 군집 제어 기법 등이 개발되었다[9]. 하지만 이동 로봇이 갖는 불확실성 및 외란에 대한 고려가 없으며 제어기 설계에 있어서 선도 로봇과의 각도와 속도에 대한 제약 등과 같은 여러 종류의 제약 조건을 가지지만 비교적 쉽게 구현 가능하다는 장점이 있어 널리 연구되고 있다.

본 논문에서는 선도-추종 로봇을 이용하여 군집 로봇의 대형을 제어하는 방법을 제안한다. 제안한 방법은 먼저, 초기 위치에서 목표 위치까지 장애물을 회피하기 위한 선도 로봇의 경로를 생성한다. 그 다음 선도 로봇의 위치 및 방향각을 이용하여 대형을 형성하고 추종 로봇들은 대형을 형성하기 위해 이동하도록 한다. 군집 로봇이 대형을 형성하여 이동할 때, 장애물 회피를 위한 선도 로봇의 방향각을 이용하여 추종 로봇들의 대형을 유지하여 장애물을 회피 하는 방법을 제안한다. 또한, 선도 로봇을 제외한 추종 로봇들이 장애물을 인식하면 장애물과 충돌을 회피하기 위해 군집 로봇의 대형을 변경하는 방법을 제안한다. 마지막으로 auc 개의 시뮬레이션을 통하여 응용 가능성을 증명한다.

 

2. 군집 로봇의 경로 계획

본 논문에서는 주어진 환경에서 군집 로봇의 대형을 제어하기 위해 선로 로봇과 추종 로봇으로 분류한다. 선도 로봇은 초기 위치에서 목표 위치까지 경로를 계획하여 이동하고 추종 로봇은 선로 로봇을 추종하여 이동한다. 선도 로봇의 경로를 생성하기 위해 A* 알고리즘과 가상 힘(Virtual force)을 이용하여 경로를 생성한다[10-11]. A* 알고리즘은 그래프 탐색 알고리즘으로 연결된 노드사이의 좌표를 픽셀 단위로 인식하여 초기위치에서 목표위치까지 거리비용을 계산하여 경로를 생성한다. A* 알고리즘에서 임의의 노드 n에 대하여 평가함수는 식 (1)과 같이 나타낸다.

여기서, f(n)은 평가함수, g(n)은 시작 노드에서 n노드까지의 거리, 은 n노드에서 목표 노드까지의 추정치를 나타낸다.

목표 위치의 노드를 w라 하면, n번째 노드에서 목표 위치 노드까지의 추정치 를 식 (2)와 같이 나타낸다.

그림 1과 같이 A* 알고리즘을 이용하여 선도 로봇의 경로를 생성하고 설정된 다수의 노드와 장애물에 가상 힘을 적용하여 인접한 장애물 및 주변의 로봇과의 충돌을 회피하는 경로를 설정한다. 가상 힘은 목표 위치에 도착하기 위해 끌어당기는 인력(Attractive force)과 장애물 회피를 위해 밀어내는 척력(Repulsive force)으로 구분된다. 즉, 로봇은 그림 2와 같이 이동 경로 상에서 노드를 목표 위치로 설정하여 끌어당기는 인력이 발생하고, 이동 경로에 있는 장애물 및 주변의 로봇과 척력을 발생하여 충돌을 회피하면서 목표 위치로 주행한다. 선도 로봇과 목표 위치 노드 사이의 인력 Uatt(i)는 선도 로봇과 목표 노드 간의 끌어당기는 가상 힘으로 식 (3)과 같다.

그림 1선도 로봇의 경로 계획 Fig. 1 Path planning of leader robot

그림 2가상 힘을 이용한 선도 로봇의 행동 제어 Fig. 2 Behavior control of leader robot using virtual force

여기서, ζ는 인력에 대한 상수이고, d(i,igoal)는 선도 로봇과 목표 위치 노드 간의 유클리드 거리이며, d*goal은 목표 위치에서 인력이 발생되는 문턱거리를 나타낸다. 선도 로봇이 장애물과 충돌을 회피하기 위해 밀어내는 가상 힘 척력 Urep(i) 는 식 (4)와 같다

여기서, Q*는 장애물에서 척력이 발생되는 문턱거리이고, D(i)는 선도 로봇과 장애물간의 유클리드 거리이다. 식 (3)과 (4)를 이용하면 선도 로봇의 이동 방향 Utot(i)는 인력과 척력의 합으로 식 (5)와 같다

 

3. 군집 로봇의 대형 제어 알고리즘

선도 로봇과 추종 로봇으로 구성된 군집 로봇의 대형 제어를 위해, 먼저 선도 로봇이 초기 위치에서 목표 위치까지 2장에서 제안한 방법을 이용하여 경로를 이동한다. 그리고 추종 로봇들은 대형을 유지하기 위해 사전에 계획된 대형에 따라 선도 로봇을 추종하면서 이동한다. 이때, 추종 로봇의 위치 및 방향각은 선도 로봇의 위치와 방향각에 의해 결정 된다. 또한, 추종 로봇은 이동하는 선도 로봇의 위치를 목표 위치로 설정하여 가상 힘인 인력을 발생하여 이동하게 된다. 그림 3은 선도 로봇-추종 로봇을 로봇의 좌표계로 표현한 그림이다. 그림 3에서 ID 1번 로봇은 선도 로봇을 나타내며 나머지 ID는 추종 로봇을 나타낸다. 선도 로봇을 제외한 i+1번 째 추종 로봇의 위치는 식 (6)과 같이 나타낸다.

그림 3선도-추종 로봇의 좌표게 Fig. 3 Coordinate of leader-following robots

여기서, (xi+1, yi+1 )는 추종 로봇의 위치, (xi, yi )는 선도 로봇의 위치, d는 미리 설정된 선로 로봇과의 거리, θi는 선로 로봇의 진행 방향을 나타낸다

사전에 계획된 군집 로봇의 대형은 선도 로봇의 이동 방향으로 대형이 이동하고 경로 상의 장애물이 존재할 경우 선도 로봇은 장애물과의 척력을 발생하여 장애물을 회피하면서 이동한다. 이때, 선도 로봇의 방향이 변경되면 추종 로봇들은 미리 설정된 선도 로봇과의 대형 간격을 조절 할 수 없게 된다. 따라서, 식 (7)과 같이 추종 로봇들은 선도 로봇의 위치에 인력을 발생하여 군집 로봇의 대형을 유지하면서 이동하도록 한다.

여기서, ζ는 인력에 대한 상수이고, Rstep은 추종 로봇의 속도, d는 미리 설정된 선도 로봇과 추종 로봇의 거리, d(i, i+1)는 현재 선도 로봇과 추종 로봇의 거리를 나타낸다. 추종 로봇들이 선도 로봇과의 설정된 거리 안에 진입하게 될 경우 선도 로봇과의 인력을 0으로 하여 일정한 거리를 유지하게 한다. 또한, 추종 로봇들이 선도 로봇과의 설정된 거리 밖에 존재하면 Rstep을 통하여 선도 로봇과의 거리를 유지하기 위해 추종 로봇들은 속도를 조절하여 군집 로봇의 대형을 유지한다. 군집 로봇이 대형을 유지하면서 경로를 이동 할 때, 선도 로봇은 인식 못하고 추종 로봇들에 의해서 장애물이 인식되면 추종 로봇들은 이 장애물을 회피하기 위해 군집 로봇의 대형을 변경해야한다. 이때, 군집 로봇이 대형을 변경하는 방법은 식 (8)과 같이 추종 로봇이 장애물을 인식 할 경우 발생하는 척력에 의해서 사전에 계획된 대형으로 변경한다.

여기서, Q*는 장애물에서 척력이 발생되는 문턱거리이고, D(i+1)는 추종 로봇들과 장애물간의 유클리드 거리이다. 식(8)과 같이 추종 로봇이 장애물과의 거리를 판단하여 척력이 발생하면 장애물을 인식하고 장애물을 인식한 추종 로봇들의 개수에 의해서 군집 로봇의 대형을 변경한다.

 

4. 시뮬레이션 및 결과 고찰

본 논문에서 제안한 방법을 검증하기 위해 MATLAB을 이용한 시뮬레이션을 수행한다. 주행 환경은 10m x 10m 환경에서 2x3m 크기의 장애물을 설정하였다. 또한, 선도 로봇의 ID는 1번, 추종 로봇의 ID는 2~5번으로 설정하였다. 각 로봇이 장애물에서 발생되는 인력과 척력의 문턱거리는 0.2m로 동일하게 설정하였다. 시뮬레이션 단계는 먼저, A*알고리즘과 가상 힘을 이용하여 선도 로봇의 경로를 생성다. 그 다음 선도 로봇은 생성된 경로를 통해 이동하게 되고 추종 로봇들은 선도 로봇의 위치 및 방향각을 이용하여 삼각형 및 일자 대형을 형성하여 이동한다. 이때, 삼각형 대형이 이동할 수 없는 경로는 일자대형을 변경하여 목표 위치까지 이동한다.

그림 4는 A*알고리즘과 가상 힘을 이용하여 선도로봇의 초기 위치(5, 2)에서 목표 위치(5, 8)까지 장애물과 충돌을 회피하는 생성된 경로 결과를 나타낸다. 본 연구에서는 군집 로봇의 대형 제어 실험을 위해 그림 5와 같이 삼각형과 일자 대형을 고려한다.

그림 4선도 로봇의 경로 계획 결과 Fig. 4 Path planning result of leader robot

그림 5군집 로봇의 대형 Fig. 5 Formations of swarm robots

그림 6은 장애물이 없는 환경에서 선도 로봇의 경로 계획을 통해 삼각형(A) 및 일자(B) 대형의 이동결과를 나타낸다. A의 경우 선도 로봇의 초기 위치는 (3, 2), 목표 위치는 (3, 9)이며 추종 로봇들의 위치는 각각 (2, 2), (4, 2), (3, 1), (4, 1)이다. 군집 로봇의 초기 위치인 A-1구간에서는 대형이 형성 되지 않았지만 군집 로봇이 이동하면서 A-2에서부터는 대형을 형성하여 A-4구간 까지 삼각형 대형을 유지하여 이동한 결과를 나타낸다. 이때, 선도 로봇의 속도는 일정하며 추종 로봇들의 속도는 대형이 형성되기 전에는 Rstep을 통하여 선도 로봇보다 속도가 빠르고 대형이 형성되면 선도 로봇과 같은 속도로 이동하게 된다. B의 경우 선도 로봇의 초기 위치는 (8, 2)이며 목표 위치는 (8, 9)이며 추종 로봇의 위치는 각각 (7, 2), (9, 2), (8, 1), (9, 1)이다. 초기 위치인 B-1구간에서는 대형이 형성되지 않았으며 군집 로봇이 이동하면서 B-2에서부터 대형을 형성하여 B-4구간까지 일자 대형을 유지하여 이동한 결과를 나타낸다.

그림 6군집 로봇의 대형 제어 결과(삼각형 및 일자 대형) Fig. 6 Formation control result of swarm robots

그림 7은 장애물이 있는 환경에서 선도 로봇의 경로 계획을 통해 삼각형 대형의 이동결과를 나타낸다. 선도 로봇의 초기 위치는 (5, 2)이며 추종 로봇들의 초기 위치는 각각 (4, 2), (6, 1), (4, 1), (5, 1)이다. 초기 위치인 A-1구간에서는 미리 형성된 대형을 형성하기 위해 추종 로봇들은 이동하게 되고 A-3구간과 같이 대형을 형성하여 이동하게 된다. 이때, 선도 로봇의 이동 방향이 변경 되면 삼각형 대형을 유지하기 위해 A-2와 A-4구간과 같이 추종 로봇들의 경로와 이동량이 변화되며 최종적으로 A-5구간과 같이 삼각형 대형을 유지하게 된다.

그림 7군집 로봇의 삼각형 대형 제어 결과 Fig. 7 Triangle formation control result of swarm robots

그림 8은 장애물이 있는 환경에서 선도 로봇의 경로 계획을 통해 일자 대형의 이동결과를 나타낸다. 선도 로봇의 초기 위치는 (5,2)이며 추종 로봇들의 초기 위치는 각각 (4,2), (4,1), (3,2), (3,1)이다. 초기 위치인 B-1구간에서는 미리 형성된 대형을 형성하기 위해 추종 로봇들은 이동하게 되고 B-2와 B-3구간과 같이 대형을 형성하여 이동하게 된다. 이때, 선도 로봇의 이동 방향이 변경 되면 일자 대형을 유지하기 위해 B-4구간과 같이 추종 로봇들의 경로와 이동량이 변화되며 최종적으로 B-5구간과 같이 일자 대형을 유지 하게 된다.

그림 8군집 로봇의 일자 대형 제어 결과 Fig. 8 Straight formation control result of swarm robots

그림 9는 4m x 4m와 5m x 4m 크기의 장애물이 존재하는 환경에서 군집 로봇의 대형 변경을 통해 장애물과의 충돌 없이 초기 위치에서 목표 위치(5,9)까지 이동하는 결과를 나타낸다. 선도 로봇의 초기 위치는 (5,2)이며 추종 로봇의 위치는 각각 (3,1), (6,1)이다. 초기 위치인 C-1구간에서는 C-2구간과 같이 삼각형 대형의 형성하여 목표 위치까지 이동하게 된다. 이때, C-3구간에서 선도 로봇은 장애물과 충돌이 발생하지 않고 추종 로봇들이 장애물과 충돌이 발생할 경우에는 C-4구간과 같이 삼각형 대형에서 일자 대형으로 변경하여 장애물과 충돌을 회피하여 대형을 유지하여 이동한 결과를 나타낸다.

그림 9군집 로봇의 대형 변경 결과 Fig. 9 Formation change result of swarm robots

 

5. 결 론

본 논문에서는 선도 로봇-추종 로봇을 이용하여 군집 로봇의 대형을 제어하는 방법을 제안하였다. 제안한 방법은 먼저, 초기 위치에서 목표 위치까지 장애물을 회피하기 위한 선도 로봇의 경로를 생성하였다. 그 다음 선도 로봇의 위치 및 방향각을 이용하여 대형을 형성하고 추종 로봇들은 대형을 형성하기 위해 이동한다. 군집 로봇이 대형을 형성하여 이동할 때, 장애물 회피를 위한 선도 로봇의 방향각을 이용 하여 추종 로봇들의 대형을 유지하여 장애물을 회피하는 방법을 제안하였다. 또한, 추종 로봇들이 장애물을 인식하면 장애물 회피를 위해 군집 로봇의 대형을 변경하는 방법을 제안하였다. 마지막으로 시뮬레이션을 통해 본 논문에서 제안한 방법의 응용 가능성을 증명하였다.

References

  1. Y. U. Cao, A. Fukunaga, and A. Kahng, "Cooperative mobile robotics: Antecedents and directions," Auton. Robots, vol. 4, pp.1-23, 1997.
  2. D. M. Stipanovic, P. F. Hokayem, M. W. Spong, D. D. Siljak, "Cooperative avoidance control for multiagent systems," Journal of Dynamic Systems, Measurement, and Control, vol. 129, pp. 699-707, 2007. https://doi.org/10.1115/1.2764510
  3. L. Consolini, F. Morbidi, D. Prattichizzo, and M. Tosques, "Leader-follower formation control of nonholonomic mobile robots with input constraints," Automatica, vol. 44, pp. 1343-1349, 2008. https://doi.org/10.1016/j.automatica.2007.09.019
  4. Y. S. Yoon, J. H. Shin, H. J. Kim, Y. W. Park, and S. Sastry, "Model-predictive active steering and obstacle avoidance for autonomous vehicles," IFAC Control Engineering Practice, Vol. 17, No. 7, pp. 741-750, July, 2009. https://doi.org/10.1016/j.conengprac.2008.12.001
  5. J. C. Latombe, "Robot motion planning," Kluwer Academic Publishers, ISBN 0-7923-9206-X, 1991.
  6. S. Mastellone, D. M. Stipanovic, C. R. Graunke, K. A. Intlekofer, and M. W. Spong, "Formation control and collision avoidance for multi-agent nonholonomic systems: Theory and experiments," Int. Journal of Robotics Research, Vol. 27, No. 1, pp. 107-126, 2008. https://doi.org/10.1177/0278364907084441
  7. T. Balch and R. C. Arkin, "Behavior-based formation control for multi robot teams," IEEE Trans. Robot. Automat., Vol. 14, No. 6, pp. 926-939, 1998. https://doi.org/10.1109/70.736776
  8. J. Fredslund and M. J. Mataric, "A general algorithm for robot formations using local sensing and minimal communication," IEEE Trans. Robot. Automat., Vol. 18, No. 5, pp. 837-846, 2002. https://doi.org/10.1109/TRA.2002.803458
  9. K. D. Do and J. Pan, "Nonlinear formation control of unicycle-type mobile robots," Robot. Auton. Syst., Vol. 55, No.3, pp. 191-204, 2007. https://doi.org/10.1016/j.robot.2006.09.001
  10. M. C. Lee and M. G. Park, "Artificial potential field based path planning for mobile robots using a virtual obstacle concept," AIM 2003, vol. 2, pp. 735-740, 2003.
  11. R. Daily and D. M. Bevly, "Harmonic potential field path planning for high speed vehicles," American Control Conference, pp. 4609-4614, 2008.
  12. K. D. Do, "Formation tracking control of unicycle-type mobile robots with limited sensing ranges," IEEE Trans. Control System Technology, vol. 16, No. 3, 2008.
  13. M. S. Bang, Y. H. Joo, and S. H. Ji, "Optimal region deployment for cooperative exploration of swarm robots", Journal of Korean Institute of Intelligent Systems(in Korean), Vol. 22, No. 6, pp. 687-693, 2012, 12 . https://doi.org/10.5391/JKIIS.2012.22.6.687
  14. M. H. Tak and Y. H. Joo, "Localization for cooperative behavior of swarm robots based on wireless sensor network", Journal of Institute of Control, Robotics and Systems(in Korean), Vol. 18, No. 8, pp. 725-730, 2012, 8. https://doi.org/10.5302/J.ICROS.2012.18.8.725
  15. J. S. Kim and Y. H. Joo, "Asynchronous behavior control algorithm of the swarm robot for surrounding intruders," Journal of Institute of Control, Robotics and Systems(in Korean), Vol. 18, No. 9, pp. 812-818, 2012, 9. https://doi.org/10.5302/J.ICROS.2012.18.9.812
  16. J. S. Kim, J. Y. Jeong, S. H. Ji, and Y. H. Joo, "Behavior Control Algorithm of Swarm Robots to Maintain Network Connectivity", Journal of Institute of Control, Robotics and Systems(in Korean), Vol. 19, No. 12, pp. 1132-1137, 2013, 12. https://doi.org/10.5302/J.ICROS.2013.13.1956
  17. M. H. Tak, S. G. Ji, and Y. H. Joo, "Error Revision of the Unknown Tag Location in Smart Space", Journal of Institute of Control, Robotics and Systems(in Korean), Vol. 16, No. 2, pp. 158-163, 2010, 2. https://doi.org/10.5302/J.ICROS.2010.16.2.158
  18. M. H. Tak, D. H. Yeom, Y. J. Cho, and Y, H. Joo, "A Recognition System for Multiple Mobile Robots Using RFID System in Smart Space" The Transactions on the Korean Institute of Electrical Engineers(in Korean), 59, No. 11, pp. 2103-2107, 2010, 11.
  19. M. H. Tak and Y. H. Joo, "Behavior Control Algorithm for Space Search Based on Swarm Robots", The Transactions on the Korean Institute of Electrical Engineers(in Korean), Vol. 60, No. 11, pp. 2152-2156, 2011, 11. https://doi.org/10.5370/KIEE.2011.60.11.2152
  20. M. S. Bang and Y. H. Joo, "The Cooperate Navigation for Swarm Robot Using Centroidal Voronoi Tessellation", The Transactions on the Korean Institute of Electrical Engineers(in Korean), Vol. 61, No. 1, pp. 130-134, 2012, 01. https://doi.org/10.5370/KIEE.2012.61.1.130