JOURNAL OF COMPUTERS, VOL. 6, NO. 10, OCTOBER 2011
2237
A 3D Local Interaction Strategy for Swarm Robot Xiang Li, Ximing Liang School of Information Science and Engineering, Central South University, Changsha 410083, Country Email:
[email protected] Abstract—A decentralized control strategy for a robot swarm is presented, where each robot try to form a regular tetrahedron with its three neighbors. The proposed method is based on virtual spring and demands minimum local information. Four neighboring robots can form a regular tetrahedron formation regardless of their initial positions. A neighbor selection procedure is used to extend the strategy In addition, an obstacle avoidance mechanism, based on artificial physics, is also introduced. As a result, the basic swarm behaviors such as aggregation, flocking and obstacle avoidance are demonstrated through simulation. Index Terms—three dimension space (3D), decentralized control, local interaction, artificial physics, swarm behavior
I. INTRODUCTION Swarm robotics is a new direction in robotics in which coordination of multiple simple robots by using basic local interactions is studied. It is inspired by observation of swarming animal behavior from nature [1], [2]. Natural swarms such as ants, termites, and bees are capable of complex tasks such as carrying a pray, foraging and migration. Design of individual robots that can achieve a desired collective behavior is still an open problem. There are numerous swarm behaviors studied in literature, such as aggregation, flocking, formation, etc. Nowadays swarm robotics is gaining increasing attention since it is becoming possible to utilize them in real world applications such as surveillance, odor localization and search and rescue [2][3][4][5][6][8]. For instance, Correll et al. show inspection of turbines in power plants and jets using a swarm of miniature robots that acts as selfactuated sensors [8]. Applications of swarms in complex three dimensional environments (see for instance, swarms of aerial robots in urban environments [9][10], or submersible robots for underwater explorations [11]) are also currently being studied. Deploying swarm of robots in challenging environments such as underwater has practical value. As these robots perform collectively, a large area can be covered and a task can be accomplished in a shorter period of time. Furthermore, it is unavoidable to have a robot to break down in harsh and unpredictable environments. However, when a swarm of robots is employed, failure of a few robots will not interrupt the Manuscript received July 20, 2010; revised September 1, 2010; accepted March 1, 2011. Corresponding Author: Xiang Li. His current research interests include swarm intelligent, bio-inspired system and evolutionary robotics. Email:
[email protected] © 2011 ACADEMY PUBLISHER doi:10.4304/jcp.6.10.2237-2242
completion of a given task. Flocking is a key swarm behavior and realizing it artificially has been the interest of research community. It is a collective and coordinated movement of individuals in a swarm so that over all swarm maneuver as one body. In one of the early studies [12], it has been showed that if individuals in an artificial swarm can sense bearing, range and orientation of their neighbors then they can achieve flocking by using three simple behaviors: collision avoidance, velocity matching and flock centering. Subsequently, there were many methods presented to achieve swarm flocking which are inspired from wide range of fields such as artificial physics to social animal behaviors. The following references provide a good survey of various techniques [13][14][15][16][17]. Above mentioned methods may be broadly summarized into two control strategies: centralized and decentralized [18]. In centralized strategy, a leader is responsible from the swarm behavior, usually members of the swarm follows the leader. In decentralized strategy, individuals rely on local rules and act independently which also determines the group behavior. In this paper, we study a decentralized control strategy for a swarm of mobile robots in three-dimensional space to achieve flocking behavior. That is, robots flock towards a target point by avoiding obstacles in the environment as a whole. This work is extended from our earlier study, in which we have presented a decentralized control strategy, named Triangular Formation Algorithm (TFA) [19]. The TFA is based on triangular geometry and developed for swarm robots moving in two-dimensional space. The principle of TFA, which is basically forming and maintaining isosceles among the three neighboring robots, is extended to forming regular tetrahedrons among four neighboring robots in 3D space. Distributed control strategy employs artificial spring to achieve aggregation and flocking behaviors. Robots negotiate the environment and dynamically adapt to a collective behavior. By integrating a neighbor selection procedure, this control strategy is also extended to a large swarm. Aggregation and unconstrained flocking behavior are also achieved for the large swarm. Our empirical study shows that the proposed control strategy delivers the desired results regardless of the initial distribution of the robots. II. PROBLEM DESCRIPTION We consider a robotic swarm consisting of n
2238
JOURNAL OF COMPUTERS, VOL. 6, NO. 10, OCTOBER 2011
homogenous robots denoted as r1 , r2 , ..., rn respectively.
advantage of using distance information of invariable number of neighbors. The control strategy, employed by all the robots in swarm, is formulated as (1).
It is assumed that in practice these robots are equipped with adequate controllers, actuators and sensors, such as digital compass, range sensors, accelerometer so that they can operate autonomously. For the sake of simplicity, they are modeled as dynamic points in 3D space. In our model, it is assumed that each robot can recognize its distance from other robots situated within its sensing range. Hence, a robot determines the magnitude and orientation of its acceleration in each time step based on the distances from its three neighbors. There is no direct communication among the robots. All the individuals follow the same control method and their acts are independent and asynchronous. For any given robot r , the distance from robot ri is
corresponding neighboring robot ri ( i = 1, 2, 3 ).
denoted as d i and the desired distance from each other is
Control constants are the natural spring length d u , the
denoted as d u . For the convenience of mathematical
spring stiffness k s , and the damping coefficient k d . The
description,
dist (ri , r j ) denotes the distance between
any two robots,
ri and rj . area(ri , r j , rk , rl ) denotes
the surface area of the tetrahedron configuration formed by the four robots, ri , r j , rk , and rl . The robots locating
r ⎡ r⎤ r a = ⎢ ∑ k s (d i − d u )ni ⎥ − k d v ⎣i=1, 2,3 ⎦
(1)
Where d i (i = 1,2,3) represents the distance from three neighboring robots, collected by rang sensor, and is the r input of the controller. v is the velocity of the robot r executing the control strategy, and also used as r input. a is the acceleration as the output of the controller r at the next time. ni is the unit vector from robot r to the
output of each robot controller relies on distance information from only three specific neighboring robots. The control strategy is local and scalable.
at the sensing range of robot r make up a neighbor set denoted as N r . Rs and As represent a robot’s sensing radius and the corresponding sensing area respectively. RT represents a regular tetrahedron configuration constructed by four robots where all four robots have the same distance d u from each other. Basic behavior of each individual robot in a swarm is then to maintain distance d u with the other three specific neighbors. Consequently, the swarm could form a uniform interval network which is a multiple RT space configuration. Firstly, we are interested in the basic behavior, that is, four neighboring robots always form a RT configuration starting from any arbitrary positions. This behavior is also the basic element of the swarm behavior. Apparently, the behavior of each robot is local. Since each robot determines its actions by using local positions of three other robots, the number of neighbors needed for the controller is fixed to three.
Figure 1. RT configuration by four robots.
All side lengths versus time step 70 60
III. CONTROL STRATEGY A. Strategy Based on Virtual Spring The basic control principle employed is inspired from virtual physics of spring mesh [20][21] and the distinguish difference with our control strategy is the
side length
50
40
30
20
10
0
0
5
10
15
20 25 time step
30
Figure 2. RT convergence curves.
© 2011 ACADEMY PUBLISHER
35
40
d u =20.
45
JOURNAL OF COMPUTERS, VOL. 6, NO. 10, OCTOBER 2011
2239
B. Basic Behavior and Its Convergence Fig. 1 illustrates a RT formation by four robots starting from arbitrary initial positions. The parameter settings are d u =20, k s =0.1, and k d =0.3. The convergence of the basic behavior ( RT formation) is shown in Fig. 2. As shown in the figure, all the sides were at different length and larger than d u at the beginning. At the earlier period of tuning, the side lengths of tetrahedron configuration oscillate about several activation cycles with decreasing in magnitude around the equilibrium d u =20. Finally, they all converge to the same length d u . This result is acceptable as the initial configuration formed by the four robots is a dissipative energy system. The oscillation costs the most of the configuration time. There were some experiments not analysis with the effect of k s and k d to the convergence time of seven robots mesh [22]. They give us some references though not completely fit to our case because the mesh is 2D using cute angle test while ours 3D and complete connection topology of only four robots. Finding an optimal combination of k s and k d for 3D RT formation with respect to initial distribution is the further work. IV. STRATEGY FOR LARGE SWARMS Figure 3. Aggregation of more than four robots
A. Neighbor Selection Method The discrete control strategy presented above basically fits four robots to a RT formation. This strategy can be made scalable by including a neighborhood selection procedure. It is expected that robot r will select four neighbors as reference objects even though it may detect more than four neighboring robots within its sensing range. The neighborhood selection procedure utilizes three formulas. The selection of the first, second and third neighbors r1 , r2 , and r3 are given by following equations respectively.
r1 := arg[min(dist (r , ri ))], ri ∈ N r r2 := arg[min[dist (ri , r ) + dist (ri , r1 )]], ri ∈ ( N r − r1 )
r3 := arg[min[area(r , r1 , r2 , r3 )]], r3 ∈ ( N r − r1 − r2 )
(2)
(3)
(4)
In the above equations, N r is the neighborhood set containing all the robots detected by robot r . N r − r1
N r − r1 − r2 are the neighborhood subsets excluding r1 and r1 , r2 respectively.
and
Figure 4. Aggregation of twenty four robots
© 2011 ACADEMY PUBLISHER
2240
The neighborhood selection mechanism described above is integrated to control strategy. All simulation experiments are conducted on BREVE platform which is designed for simulations of decentralized systems and artificial life [23]. Fig. 3 shows snapshots of six robot aggregation. It can be seen from the results that robots form a multiple RT configuration which has uniform distances between individuals. In our experiments with four, five, six and seven robots, we observed that swarm can always aggregate as a whole. For the swarm consisting of more than seven robots, large d u and shallow initial distribution can also enforce
JOURNAL OF COMPUTERS, VOL. 6, NO. 10, OCTOBER 2011
vr =
p −O pi − O ⎛ ⎜1 − i pi − O ⎜⎝ d
⎞ ⎟ ⎟ ⎠
(6)
Where r ( x ) is defined as a ramp function:
swarm to aggregate as a whole. When the initial distribution is relatively scattered, multiple aggregations is most likely to occur. The number of sub aggregations that will appear is closely related to the size of the swarm and the initial distribution space. However, this might be desired for some applications such as multiple-target search. If d u and the initial distribution space are fixed, the swarm with larger size tends to produce one aggregation. The swarm will have more chance to form multiple aggregations for the smaller d u and the wider distribution space, as an example seen in Fig. 5. From above analysis, we can deduct that the possible number of aggregations will be between 1,…, ⎣n / 4⎦ , where n is the size of the swarm. B. Swarm Obstacle Avoidance The ability of adaptive flocking in a constraint environment is the basic requirement for a swarm system. In order to avoid obstacles in the environment, we employ a mechanism based on artificial physics to work with the above distributed control strategy. We mimic the interaction effect between a motion electron and an atom nucleus as illustrated in Fig. 6. As a result, robots maintain RT formation while adapting to an environment with obstacles and flocking towards a target. If a robot approaches to an obstacle, a repulsive force f r will exert on it. A repulsive velocity v r is equivalent to the effect of f r on the robot. The direction of v r depends on the nearest point of the obstacle and directs from the point to the robot. For simplicity, an obstacle is considered as a closed ball and has a safety margin of d . The nearest point of the obstacle from the robot is denoted as O . In order to avoid the obstacle, robot ri will adjust current velocity by adding a component v r to the current velocity. If the distance between ri and O is larger than d, there is no force on ri . Otherwise, there will be a repulsive force exerting on ri . In practice, a maximal velocity, v max , can be set for all the robots uniformly. The repulsive velocity is then calculated with the following formula:
© 2011 ACADEMY PUBLISHER
Figure 5. Obstacle avoidance mechanism.
⎧0, x < 0 r ( x) = ⎨ ⎩ x, x ≥ 0
(7)
Equation (6) implies that, in the worst case, the repulsive velocity exerting on a robot linearly increases from 0 to v max during the course that the robot enters safety margin until it just touches to the obstacle. This will cause the robot to stop when it is just touching the obstacle because its total velocity will become zero. In fact, as a member of the swarm, a robot will eventually stay away from the obstacle by following its neighbors even before collision happens. In other words, individuals will possibly avoid the local minima with the help of their neighbors. However, dealing with local minima is a fundamental problem in the potential field methods as it has been studied extensively. C. Simulation of Swarm Flocking In this study, we try to enable a swarm to move towards a target in a 3D environment. The environment is populated with some obstacles as showed in Fig. 6. The target is positioned in the middle on the right hand side, however (it is not explicit in these pictures due to limitations of graphics). In order to move as a whole, instead of the neighborhood set N r , a modified neighbor set N rt is utilized by each robot. Set N rt consists of the neighbors that are locating at the half space pointing towards the target side. Only the robots which have detected targets have flocking vectors. The magnitude of the vector is a constant value and the direction of the vector points towards the target. Other robots will follow these robots and move together with them due to their local control strategy.
JOURNAL OF COMPUTERS, VOL. 6, NO. 10, OCTOBER 2011
During simulation experiments, we found that, if the size of an obstacle is bigger than d u , the swarm has a tendency to move around the obstacle as a whole.
2241
robots with respect to local coordinates and distinguish them from obstacles. As calculations involve in only three other neighbors’ position, the control strategy has less computation and becomes less influenced by other robots. V. CONCLUSIONS This paper presents a distributed control framework based on artificial spring for a swarm of robots to demonstrate aggregation and flocking behaviors. Robots negotiate the environment and dynamically adapt a collective behavior. The basic control strategy enables four neighboring robots to form a RT configuration regardless of their initial positions. By integrating a neighbor selection procedure, this control method is extended to large swarms. There are only two requirements for this control strategy to operate properly. Firstly, at start each robot should be able to sense at least three other robots nearby and secondly the value of Rs should be set greater than d u . Aggregation and unconstrained flocking behavior are also achieved for the large swarm. For the constrained flocking and obstacle avoidance, we present a simplified virtual physic mechanism which results in a practical flocking framework. The control framework relies on the information of invariable number of neighbors and it is scalable. Its’ mechanism is simple and can be realized with actual robots. ACKNOWLEDGMENT This work was supported in part by State Natural Science Foundations of China (grant no. 60874070) and (grant no. 30971698), and in part by Scientific Research Project of Hunan University of Science and Engineering (grant No. 09XKYTA010). REFERENCES
Figure 6. Swarm flocking in a 3D unknown environment.
Otherwise, the swarm is more likely to flock towards the target and avoid the obstacle along the way. When a large swarm is flocking towards a target in an environment filled with multiple obstacles, if the size of the obstacles is larger than d u , the swarm will possibly adapt its shape to fit the gap between the obstacles and pass through. If the size of the obstacle is much smaller than the distance d u , the swarm will maintain its shape and directly flock through the obstacles. The control framework relies on the fact that a robot can identify the positions of other © 2011 ACADEMY PUBLISHER
[1] V. Trianni, T. H. Labella, and M. Dorigo, “Evolution of direct communication for a swarm-bot performing hole avoidance,” Lecture Notes in Computer Science, vol. 3172, pp. 131–142, 2004. [2] L. Bayindir and E. Şahin, “A review of studies in swarm robotics,” Turk. J. Elec. Engin., vol.15, no. 2, pp. 115-147, 2007. [3] E. Şahin, “Swarm robotics: from sources of inspiration to domains of application,” Lecture Notes in Computer Science, vol. 3342, pp. 10-20, 2005. [4] T. Lochmatter and A. Martinoli, “Tracking odor plumes in a laminar wind field with bio-inspired algorithms,” Springer Tracts in Advanced Robotics, vol. 54, pp. 473482, 2009. [5] W. Jatmiko, K. Sekiyama, and T. Fukuda, “A particle swarm-based mobile sensor network for odor source localization in a dynamic environment,” Distributed Autonomous Robotic System, pp. 71-80, 2007. [6] J. L. Baxter, E. K. Burke, J. M. Garibaldi, and M. Norman, “Multi-robot search and rescue: a potential field based approach,” Studies in Computational Intelligence, vol. 76, pp. 9-16, 2007.
2242
JOURNAL OF COMPUTERS, VOL. 6, NO. 10, OCTOBER 2011
[7] J. L. Pearce, B. Powers, C. Hess, P. E. Rybski, S. A. Stoeter et al., “Dispersion of a team of surveillance and reconnaissance robots based on repellent pheromones”, Proc. of the 11th Mediterranean Conference on Control and Automation, June 2003. [8] N. Correll, C. Cianci, X. Raemy, and A. Martinoli, “SelfOrganized Embedded Sensor/Actuator Networks for “Smart” Turbines,” Proc. of the IEEE/RSJ IROS 2006 Workshop on Networked Robotic Systems, Beijing, China, October 2006. [9] L. Chaimowicz, A. Cowley, D. Gomez-Ibanez, B. Grocholsky, M. A. Hsieh et al., “Deploying air-ground multi-robot teams in urban environments,” Multi-Robot Systems From Swarms to Intelligent Automata, Vol. 3, pp. 223–234, Springer, Netherlands, 2005. [10] L. Chaimowicz and V. Kumar, “Aerial shepherds: coordination among UAVs and swarms of robots,” Distributed Autonomous Robotic Systems Part VI, pp. 243252, Springer, Japan, 2007. [11] S. Kalantar and U. Zimmer, “Distributed shape control of homogenous swarms of autonomous underwater vehicles,” Journal Autonomous Robots, vol. 22, pp. 37-53, 2007. [12] C. Reynolds, “Flocks, herds and schools: A distributed behavioral model,” Proc. of the 14th annual conference on Computer graphics and interactive techniques, pp. 25–34, ACM Press, NY, USA, 1987. [13] A. E. Turgut, H. Çelikkanat, F. Gökçe, and E. Şahin, “Selforganized flocking with a mobile robot swarm”, Technical Report METU-CENG-TR-2008-01, Middle East Technical University, January 2008. [14] G. Lee and N. Y. Chong, “Flocking controls for swarms of mobile robots inspired by fish schools,” Recent advances in multi robot systems, A. Lazinica, editor, I-Tech Education and Publishing, Vienna, Austria, May 2008 [15] Y. Yang, N. Xiong, N. Y. Chong, and X. Défago, “A decentralized and adaptive flocking algorithm for autonomous mobile robots,” Proc. of the 3rd International
Conference on Grid and Pervasive Computing Workshops, pp. 262-268, Kunming, China, May 2008. D. H. Kim, H. Wang, and S. Shin, “Decentralized control of autonomous swarm systems using artificial potential function-analytical design guidelines,” J. Intell. Robot Syst., vol. 45, pp. 369-394, 2006. R. Olfati-Saber, “Flocking for multi-agent dynamic systems: algorithm and theory,” IEEE Transactions on automatic control, vol. 51, no. 3, pp. 401-420, March 2006. E. Bahceci, O. Soysal, and E. Sahin, “A review: pattern formation and adaptation in multi-robot systems,” Technical Report CMU-RI-TR-03-43, Carnegie Mellon University, Pittsburgh, PA, USA, 2003 X. Li , M. F. Ercan, and Y. F. Fung, “A triangular formation strategy for collective behaviors of robot swarm”, Lecture Notes in Computer Science, Vol. 5592, pp. 897-911, 2009. B. Shucker and J. K. Bennett, “Scalable control of distributed robotic macrosensors,” Proc. of the 7th international symposium on distributed autonomous robotc systems (DARS’04). B. Shucker, T. Murphey, and J. K. Bennett, “A method of cooperative control using occasional non-local interactions,” Proc. of IEEE conference on robotics and automation (ICRA), Orlando, Florida, May 2006. B. Shucher and J. K. Bennett, “Virtual spring mesh algorithms for control of distributed robotic macrosensors,” Technical Report CU-CS-99, Department of Computer Science University of Colorado at Boulder, May 2005. J. Klein, “Breve: a 3D simulation environment for the simulation of decentralized systems and artificial life,” Proc. of Artificial Life VIII, the 8th International Conference on the Simulation and Synthesis of Living Systems, MIT Press, Cambridge, 2002.
© 2011 ACADEMY PUBLISHER
[16]
[17] [18]
[19]
[20]
[21]
[22]
[23]