# Behavior-Based Formation Control of Swarm Robots

Authors: Dongdong Xu; Xingnan Zhang; Zhangqing Zhu; Chunlin Chen; Pei Yang
Journal: Mathematical Problems in Engineering
 (2014)

---

## Abstract

Swarm robotics is a specific research field of multirobotics where a large number of mobile robots are controlled in a coordinated way. Formation control is one of the most challenging goals for the coordination control of swarm robots. In this paper, a behavior-based control design approach is proposed for two kinds of important formation control problems: efficient initial formation and formation control while avoiding obstacles. In this approach, a classification-based searching method for generating large-scale robot formation is presented to reduce the computational complexity and speed up the initial formation process for any desired formation. The behavior-based method is applied for the formation control of swarm robot systems while navigating in an unknown environment with obstacles. Several groups of experimental results demonstrate the success of the proposed approach. These methods have potential applications for various swarm robot systems in both the simulation and the practical environments.


---

## Body

## 1. Introduction

With the development of the robot technology, the swarm robot system has a wide application prospect in theoretical research and engineering applications because of its robustness, flexibility, and scalability [1]. Formation control is one of the most important research areas for swarm robot systems and has many applications (e.g., industrial production, aerospace, and military affairs) [2–5]. The control design of swarm robot systems is quite complex because a lot of issues should be considered, such as formation keeping, communication, and coordination between robots. In addition, when the number of the robots reaches a certain degree (hundreds or even more), the computation of the system will be staggering.During recent years, research on the formation control of swarm robot systems has attracted wide attention. The swarm robots can form or keep various formations, for example, line, orthogon, and triangle [6]. In addition, the formation can transform in order to suit different tasks. There are three main methods to implement formation control, namely, behavior-based formation control [7–9], leader-follower [10–12], and virtual structure methods [13, 14]. The behavior-based formation control method utilizes a set of predefined basic behaviors, such as moving-to-target, keeping-formation, and avoiding-obstacles [15, 16]. This method is more suitable to distributed multirobot system and every robot is strongly autonomous. But there is no clear definition to group behaviors for swarm robots, and it is difficult to guarantee the stability of a desired formation when the environment is complex. The leader-follower method designates one robot as the leader and the others as followers [17, 18]. The followers keep a certain distance and direction angle from the leader. This method is prone to deadlock of robot collisions. The third one is virtual structure method which regards the swarm robot system as an inflexible entity [19, 20]. The robots are regarded as some points in the system. This method defines the structure of the overall behavior of the robot formations, but the stringent requirements to maintain a virtual structure formation movement limit the application of this method.On the other hand, most of the existing methods for the swarm robot formation problem are based on small-scale robot formation where the number of robots is around or less than 10 [21–23]. There is little research on formation control of large-scale problems except some theoretical results regarding optimization; for example, Derenick and Spletzer use convex optimization to make one hundred robots form a certain formation [24]. In this paper, we extend the behavior-based navigation method to swarm robot systems and focus on two kinds of important formation control problems (i.e., initial formation and formation control while avoiding obstacles). In particular, for the initial formation problem, we present an improved algorithm named classification-based searching for initial formation. This algorithm is suitable for large-scale robot formation where the number of robots is more than one hundred. Based on the initial state of the robots, the algorithm will classify robots to different types and use different methods and processing sequences to handle these types, which can significantly reduce the time complexity. These studies have potential applications for practical swarm robot systems.The rest of this paper is organized as follows. In next section, the problem formulation and behavior design for single-robot systems are presented. Section3 describes an algorithm of classification-based searching for initial formation control to reduce time complexity. In Section 4, the formation control with obstacle-avoidance is presented and several groups of experimental results are analyzed. Conclusions are given in Section 5.


## 2. Problem Formulation and Behavior Design

### 2.1. Problem Formulation

The ability and efficiency of swarm robot systems depend on the functions of the single robots and the control structure. The control structure of the swarm robot system is categorized as centralized, distributed, and layered structures [25]. The centralized structure contains a control unit and several robots with the ability of perception and execution [26]. The control unit contains the information of the environment and every single robot. The centralized structure is simple and easy to implement, but has low flexibility, fault tolerance, and suitability and can only be applied in the simple and structured environments. Unlike the centralized one, the distributed structure [27] has no central control unit. Each robot is autonomous to make decision according to its own tasks. This method has high fault tolerance and reliability but is more difficult to coordinate between robots. The layered structure is the mixture of centralized and distributed structures, which has the control unit to supervise the whole system and is independent of each robot [28, 29]. The distributed and layered structures can be applied in high dynamic and complex environments.The swarm robot system studied in this paper consists of dozens to hundreds of single mobile robots. In order to ensure the high flexibility, fault tolerance, and adaptability, the distributed control architecture is chosen and behavior-based control methods are presented for the swarm robot systems.The model of a single mobile robot is shown as in Figure1, which contains embedded computer systems, motion control systems, a perceptual system, and a communication system. The perceptual system is a multiultrasonic system to detect obstacles in the environment. The communication system is a wireless communication module. As shown in Figure 1(a), the working environment of the robot is two-dimensional and the robot’s coordinate is (
x
,
y
,
β
), where (
x
,
y
) is the position coordinate and β is the orientation angle. The speed of the robot is (
v
,
ω
), where v is the linear velocity and ω is the angular velocity. The model of the multiultrasonic system is shown in Figure 1(b). The detection space is divided into four areas, namely, left one (L
1), left two (L
2), right one (R
1), and right two (R
2), respectively. The central angle of each region is 60°, so in order to detect these four areas, at least 4 sonar sensors are needed and the detecting radius is r.Models of a single robot and its sonar sensors.
(a)
(b)


### 2.2. Behavior Design

The overall behavior conducted by a robot is the combination of several subbehaviors, that is, moving to the goal, avoiding obstacles, wall-following, avoiding robot, and formation keeping. In practical applications, each behavior of a robot is stated as the form of vector that consists of the magnitude and direction. The weight of the vector (the intensity of behavior) can be changed by adjusting the parameters. Based on the information detected from the surrounding environment, the robot chooses the proper behaviors. Therefore, a movement command will be produced. The overall behavior vector which is the sum of all subbehavior vectors is defined as(1)
V
direction
=
[
f
1
f
2
f
3
f
4
f
5
]
[
V
move_to_goal
V
avoid_obstacle
V
follow_wall
V
avoid_robot
V
keep_formation
]
,
where {
f
1
,
f
2
,
f
3
,
f
4
,
f
5
} are the controlling parameters regarding the weights of each behavior vectors.


#### 2.2.1. Behavior of Moving to the Goal

As shown in Figure2(a), if there are no obstacles in front of the robot, the robot will move to the target at maximum speed. In most occasions, the robot maintains the behavior of moving to the goal. Assuming the current coordinates of the robot R
i are (
x
i
,
y
i
) and the coordinates of the goal are (
x
t
,
y
t
), the behavior vector of moving to the goal is
(2)
V
move_to_goal
=
1
(
x
t
-
x
i
)
2
+
(
y
t
-
y
i
)
2
[
x
t
-
x
i
y
t
-
y
i
]
,Behavior design of single robot.
(a)
Moving to the goal
(b)
Avoiding obstacles
(c)
Wall-following
(d)
Avoiding robot
(e)
Keeping formationThe controlling parameter of this behavior is defined as(3)
f
1
(
d
m
)
=
{
a
m
,
d
m
∈
(
b
m
,
+
∞
)
a
m
d
m
b
m
,
d
m
∈
[
0
,
b
m
]
,
where d
m is the distance between the robot and target point and a
m and b
m are the adjustable parameters. b
m is related to the robot’s movement step and the robot will slow down when the distance between the robot and target point is less than d
m.


#### 2.2.2. Behavior of Avoiding Obstacles

The robot will trigger the behavior of avoiding obstacles when any obstacle around the robot is detected. The traditional way is to make the robot move backward, which will cause moving deadlock. In order to solve this problem, we change the direction of movement with an angle of 90 degrees to the obstacle (as shown in Figure2(b)). The virtual force of the obstacle-avoiding behavior will be enhanced when the robot is close to the obstacles.Assume that the current coordinate of the robot is(
x
i
,
y
i
) and the coordinate of the nearest obstacle is (
x
o
,
y
o
), then the vector of avoiding obstacles is
(4)
V
avoid_obstacle
=
1
(
x
o
-
x
i
)
2
+
(
y
o
-
y
i
)
2
[
±
(
y
o
-
y
i
)
∓
(
x
o
-
x
i
)
]
,
where the sign ± is determined by the relationship between the moving direction of the robot and the obstacles. When the obstacle are on the left, set it +. On the contrary, when the obstacle is on the right, set it −. The control parameter is set as
(5)
f
2
(
d
0
)
=
{
0
,
d
0
∉
[
b
f
,
b
0
]
a
0
(
d
0
b
f
-
b
0
+
b
0
b
0
-
b
f
)
,
d
0
∈
[
b
f
,
b
0
]
,
where d
0 is the distance between the robot and the obstacle. a
0, b
0, and b
f are the adjustable parameters. As shown in Figure 3(a), b
0 is the distance between the robot and the obstacle when the behavior of avoiding obstacle is triggered. b
f is the minimum distance between the robot and the obstacle, which is the precondition that triggers the behavior of wall-following. For simple environments where there are only one or several small obstacles, we can use only the behaviors of moving to the goal and avoiding obstacles for navigation control of a single robot. Equation (1) is then reduced as
(6)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
]
.Schematic distance.
(a)
Schematic avoidance
(b)
Schematic collision avoidance distanceSome simulated experiments are demonstrated in Figure4 and the parameter settings are shown in Table 1. The results show that these two behaviors work well for navigation control in simple environments.Table 1
Control parameters of robot in simple environments.
a
m
b
m
a
0
b
0
b
f
1.0
5.0
1.0
5.0
2.0Figure 4
Navigation control of a single robot in three simple environments.


#### 2.2.3. Behavior of Wall-Following

When the environment becomes more complex, the robot could not complete the task just relying on the above two behaviors. As shown in Figure2(c), in order to avoid large obstacles, we design the behavior of wall-following. This behavior is activated when the distance between the robot and the obstacle reaches a certain value. If the target point and the obstacles are on the left side of the robot, choose the behavior of following the left wall. If the target point and the obstacles are on the right side of the robot, choose the behavior of following the right wall. Assuming the current coordinate of the robot is (
x
i
,
y
i
) and the coordinate of the nearest obstacle is (
x
o
,
y
o
), the vector of wall-following is
(7)
V
follow_wall
=
1
(
x
o
-
x
i
)
2
+
(
y
o
-
y
i
)
2
[
±
(
y
o
-
y
i
)
∓
(
x
o
-
x
i
)
]
,
where ± is determined by the relationship between the moving direction of the robot and the coordinate of the obstacles. When the obstacle is on the left, set it + and trigger the behavior of following left wall. On the contrary, when the obstacle is on the right, set it − and trigger the behavior of following right wall. The control parameter is
(8)
f
3
(
a
f
)
=
{
0
,
wall-following
off
⁡
a
f
,
wall-following
on
⁡
,
where a
f is an adjustable parameter.The robot will end the behavior of wall-following when(
1
) the target point is within 3
/
2
π range in front of the robot and (
2
) there is no obstacle within 1
/
4
π range in front of the robot. The behavior vector in the environments with large obstacles is
(9)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
f
3
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
V
follow_wall
]
.Some examples of wall-following to avoid large obstacles are shown in Figure5 using the combination of the above designed behaviors.Performance with the wall-following behavior to avoid large obstacles.
(a)
The process of avoiding large obstacles (type 1)
(b)
The process of avoiding large obstacles (type 2)


#### 2.2.4. Behavior of Avoiding Robot

In order to prevent collision between robots, the behavior of avoiding robot will be triggered when the robot is too close to the one in front of it (as shown in Figure2(d)). The movement direction of this behavior is opposite to the robot in front of it. The virtual force of the avoiding behavior will be enhanced when the robot moves close to the other one. Assume the current coordinate of the robot R
j is (
x
j
,
y
j
) and the current coordinate of the robot R
i is (
x
i
,
y
i
), then the vector of the behavior of avoiding robot is
(10)
V
avoid_robot
=
1
(
x
j
-
x
i
)
2
+
(
y
j
-
y
i
)
2
[
±
(
x
j
-
x
i
)
±
(
y
j
-
y
i
)
]
.
The control parameters of the behavior are
(11)
f
4
(
d
r
)
=
{
0
,
d
r
∈
(
b
r
,
+
∞
)
a
r
d
r
,
d
r
∈
[
2
r
0
,
b
r
]
,
where d
r is the distance between the robot and the robot in front of it, a
r and b
r are adjustable parameters, b
r is the critical distance between these two robots, and r
0 is the radius of the robot (as shown in Figure 3(b)).


#### 2.2.5. Behavior of Keeping Formation

In order to keep a desired formation while moving, each robot should maintain a certain angle and distance to other robots. As shown in Figure2(e), the robots R
i and R
j are moving forward side by side. R
j maintains its relative position in the formation by referencing to R
i. α
j
-
i is the angle between formation’s direction and the line of R
j and R
i. d
j
-
i is the distance between R
j and R
i. The ideal location of R
j in the formation is determined by that of R
i, the moving direction of the formation, α
j
-
i and d
j
-
i. Assume the current coordinate of R
i is (
x
i
,
y
i
) and θ is the moving direction of the formation. Then the ideal coordinate of R
i is
(12)
[
x
j
f
y
j
f
]
=
[
x
i
+
d
j
-
i
cos
⁡
(
α
j
-
i
+
θ
)
y
i
j
+
d
j
-
i
sin
(
α
j
-
i
+
θ
)
]
.
When the location of R
i is not the same as the ideal coordinate, that is, (
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2
>
ε, the behavior of keeping formation is activated and we have
(13)
V
keep_formation
=
1
(
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2
[
x
j
f
-
x
j
y
j
f
-
y
j
]
.
The control parameter of the formation keeping behavior is
(14)
f
5
(
d
5
)
=
{
0
,
d
K
∈
(
0
,
ε
)
a
k
d
k
,
d
K
∈
(
ε
,
+
∞
)
,
where d
k
=
(
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2 is the distance to the ideal location and a
k is an adjustable parameter.


## 2.1. Problem Formulation

The ability and efficiency of swarm robot systems depend on the functions of the single robots and the control structure. The control structure of the swarm robot system is categorized as centralized, distributed, and layered structures [25]. The centralized structure contains a control unit and several robots with the ability of perception and execution [26]. The control unit contains the information of the environment and every single robot. The centralized structure is simple and easy to implement, but has low flexibility, fault tolerance, and suitability and can only be applied in the simple and structured environments. Unlike the centralized one, the distributed structure [27] has no central control unit. Each robot is autonomous to make decision according to its own tasks. This method has high fault tolerance and reliability but is more difficult to coordinate between robots. The layered structure is the mixture of centralized and distributed structures, which has the control unit to supervise the whole system and is independent of each robot [28, 29]. The distributed and layered structures can be applied in high dynamic and complex environments.The swarm robot system studied in this paper consists of dozens to hundreds of single mobile robots. In order to ensure the high flexibility, fault tolerance, and adaptability, the distributed control architecture is chosen and behavior-based control methods are presented for the swarm robot systems.The model of a single mobile robot is shown as in Figure1, which contains embedded computer systems, motion control systems, a perceptual system, and a communication system. The perceptual system is a multiultrasonic system to detect obstacles in the environment. The communication system is a wireless communication module. As shown in Figure 1(a), the working environment of the robot is two-dimensional and the robot’s coordinate is (
x
,
y
,
β
), where (
x
,
y
) is the position coordinate and β is the orientation angle. The speed of the robot is (
v
,
ω
), where v is the linear velocity and ω is the angular velocity. The model of the multiultrasonic system is shown in Figure 1(b). The detection space is divided into four areas, namely, left one (L
1), left two (L
2), right one (R
1), and right two (R
2), respectively. The central angle of each region is 60°, so in order to detect these four areas, at least 4 sonar sensors are needed and the detecting radius is r.Models of a single robot and its sonar sensors.
(a)
(b)


## 2.2. Behavior Design

The overall behavior conducted by a robot is the combination of several subbehaviors, that is, moving to the goal, avoiding obstacles, wall-following, avoiding robot, and formation keeping. In practical applications, each behavior of a robot is stated as the form of vector that consists of the magnitude and direction. The weight of the vector (the intensity of behavior) can be changed by adjusting the parameters. Based on the information detected from the surrounding environment, the robot chooses the proper behaviors. Therefore, a movement command will be produced. The overall behavior vector which is the sum of all subbehavior vectors is defined as(1)
V
direction
=
[
f
1
f
2
f
3
f
4
f
5
]
[
V
move_to_goal
V
avoid_obstacle
V
follow_wall
V
avoid_robot
V
keep_formation
]
,
where {
f
1
,
f
2
,
f
3
,
f
4
,
f
5
} are the controlling parameters regarding the weights of each behavior vectors.


### 2.2.1. Behavior of Moving to the Goal

As shown in Figure2(a), if there are no obstacles in front of the robot, the robot will move to the target at maximum speed. In most occasions, the robot maintains the behavior of moving to the goal. Assuming the current coordinates of the robot R
i are (
x
i
,
y
i
) and the coordinates of the goal are (
x
t
,
y
t
), the behavior vector of moving to the goal is
(2)
V
move_to_goal
=
1
(
x
t
-
x
i
)
2
+
(
y
t
-
y
i
)
2
[
x
t
-
x
i
y
t
-
y
i
]
,Behavior design of single robot.
(a)
Moving to the goal
(b)
Avoiding obstacles
(c)
Wall-following
(d)
Avoiding robot
(e)
Keeping formationThe controlling parameter of this behavior is defined as(3)
f
1
(
d
m
)
=
{
a
m
,
d
m
∈
(
b
m
,
+
∞
)
a
m
d
m
b
m
,
d
m
∈
[
0
,
b
m
]
,
where d
m is the distance between the robot and target point and a
m and b
m are the adjustable parameters. b
m is related to the robot’s movement step and the robot will slow down when the distance between the robot and target point is less than d
m.


### 2.2.2. Behavior of Avoiding Obstacles

The robot will trigger the behavior of avoiding obstacles when any obstacle around the robot is detected. The traditional way is to make the robot move backward, which will cause moving deadlock. In order to solve this problem, we change the direction of movement with an angle of 90 degrees to the obstacle (as shown in Figure2(b)). The virtual force of the obstacle-avoiding behavior will be enhanced when the robot is close to the obstacles.Assume that the current coordinate of the robot is(
x
i
,
y
i
) and the coordinate of the nearest obstacle is (
x
o
,
y
o
), then the vector of avoiding obstacles is
(4)
V
avoid_obstacle
=
1
(
x
o
-
x
i
)
2
+
(
y
o
-
y
i
)
2
[
±
(
y
o
-
y
i
)
∓
(
x
o
-
x
i
)
]
,
where the sign ± is determined by the relationship between the moving direction of the robot and the obstacles. When the obstacle are on the left, set it +. On the contrary, when the obstacle is on the right, set it −. The control parameter is set as
(5)
f
2
(
d
0
)
=
{
0
,
d
0
∉
[
b
f
,
b
0
]
a
0
(
d
0
b
f
-
b
0
+
b
0
b
0
-
b
f
)
,
d
0
∈
[
b
f
,
b
0
]
,
where d
0 is the distance between the robot and the obstacle. a
0, b
0, and b
f are the adjustable parameters. As shown in Figure 3(a), b
0 is the distance between the robot and the obstacle when the behavior of avoiding obstacle is triggered. b
f is the minimum distance between the robot and the obstacle, which is the precondition that triggers the behavior of wall-following. For simple environments where there are only one or several small obstacles, we can use only the behaviors of moving to the goal and avoiding obstacles for navigation control of a single robot. Equation (1) is then reduced as
(6)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
]
.Schematic distance.
(a)
Schematic avoidance
(b)
Schematic collision avoidance distanceSome simulated experiments are demonstrated in Figure4 and the parameter settings are shown in Table 1. The results show that these two behaviors work well for navigation control in simple environments.Table 1
Control parameters of robot in simple environments.
a
m
b
m
a
0
b
0
b
f
1.0
5.0
1.0
5.0
2.0Figure 4
Navigation control of a single robot in three simple environments.


### 2.2.3. Behavior of Wall-Following

When the environment becomes more complex, the robot could not complete the task just relying on the above two behaviors. As shown in Figure2(c), in order to avoid large obstacles, we design the behavior of wall-following. This behavior is activated when the distance between the robot and the obstacle reaches a certain value. If the target point and the obstacles are on the left side of the robot, choose the behavior of following the left wall. If the target point and the obstacles are on the right side of the robot, choose the behavior of following the right wall. Assuming the current coordinate of the robot is (
x
i
,
y
i
) and the coordinate of the nearest obstacle is (
x
o
,
y
o
), the vector of wall-following is
(7)
V
follow_wall
=
1
(
x
o
-
x
i
)
2
+
(
y
o
-
y
i
)
2
[
±
(
y
o
-
y
i
)
∓
(
x
o
-
x
i
)
]
,
where ± is determined by the relationship between the moving direction of the robot and the coordinate of the obstacles. When the obstacle is on the left, set it + and trigger the behavior of following left wall. On the contrary, when the obstacle is on the right, set it − and trigger the behavior of following right wall. The control parameter is
(8)
f
3
(
a
f
)
=
{
0
,
wall-following
off
⁡
a
f
,
wall-following
on
⁡
,
where a
f is an adjustable parameter.The robot will end the behavior of wall-following when(
1
) the target point is within 3
/
2
π range in front of the robot and (
2
) there is no obstacle within 1
/
4
π range in front of the robot. The behavior vector in the environments with large obstacles is
(9)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
f
3
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
V
follow_wall
]
.Some examples of wall-following to avoid large obstacles are shown in Figure5 using the combination of the above designed behaviors.Performance with the wall-following behavior to avoid large obstacles.
(a)
The process of avoiding large obstacles (type 1)
(b)
The process of avoiding large obstacles (type 2)


### 2.2.4. Behavior of Avoiding Robot

In order to prevent collision between robots, the behavior of avoiding robot will be triggered when the robot is too close to the one in front of it (as shown in Figure2(d)). The movement direction of this behavior is opposite to the robot in front of it. The virtual force of the avoiding behavior will be enhanced when the robot moves close to the other one. Assume the current coordinate of the robot R
j is (
x
j
,
y
j
) and the current coordinate of the robot R
i is (
x
i
,
y
i
), then the vector of the behavior of avoiding robot is
(10)
V
avoid_robot
=
1
(
x
j
-
x
i
)
2
+
(
y
j
-
y
i
)
2
[
±
(
x
j
-
x
i
)
±
(
y
j
-
y
i
)
]
.
The control parameters of the behavior are
(11)
f
4
(
d
r
)
=
{
0
,
d
r
∈
(
b
r
,
+
∞
)
a
r
d
r
,
d
r
∈
[
2
r
0
,
b
r
]
,
where d
r is the distance between the robot and the robot in front of it, a
r and b
r are adjustable parameters, b
r is the critical distance between these two robots, and r
0 is the radius of the robot (as shown in Figure 3(b)).


### 2.2.5. Behavior of Keeping Formation

In order to keep a desired formation while moving, each robot should maintain a certain angle and distance to other robots. As shown in Figure2(e), the robots R
i and R
j are moving forward side by side. R
j maintains its relative position in the formation by referencing to R
i. α
j
-
i is the angle between formation’s direction and the line of R
j and R
i. d
j
-
i is the distance between R
j and R
i. The ideal location of R
j in the formation is determined by that of R
i, the moving direction of the formation, α
j
-
i and d
j
-
i. Assume the current coordinate of R
i is (
x
i
,
y
i
) and θ is the moving direction of the formation. Then the ideal coordinate of R
i is
(12)
[
x
j
f
y
j
f
]
=
[
x
i
+
d
j
-
i
cos
⁡
(
α
j
-
i
+
θ
)
y
i
j
+
d
j
-
i
sin
(
α
j
-
i
+
θ
)
]
.
When the location of R
i is not the same as the ideal coordinate, that is, (
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2
>
ε, the behavior of keeping formation is activated and we have
(13)
V
keep_formation
=
1
(
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2
[
x
j
f
-
x
j
y
j
f
-
y
j
]
.
The control parameter of the formation keeping behavior is
(14)
f
5
(
d
5
)
=
{
0
,
d
K
∈
(
0
,
ε
)
a
k
d
k
,
d
K
∈
(
ε
,
+
∞
)
,
where d
k
=
(
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2 is the distance to the ideal location and a
k is an adjustable parameter.


## 2.2.1. Behavior of Moving to the Goal

As shown in Figure2(a), if there are no obstacles in front of the robot, the robot will move to the target at maximum speed. In most occasions, the robot maintains the behavior of moving to the goal. Assuming the current coordinates of the robot R
i are (
x
i
,
y
i
) and the coordinates of the goal are (
x
t
,
y
t
), the behavior vector of moving to the goal is
(2)
V
move_to_goal
=
1
(
x
t
-
x
i
)
2
+
(
y
t
-
y
i
)
2
[
x
t
-
x
i
y
t
-
y
i
]
,Behavior design of single robot.
(a)
Moving to the goal
(b)
Avoiding obstacles
(c)
Wall-following
(d)
Avoiding robot
(e)
Keeping formationThe controlling parameter of this behavior is defined as(3)
f
1
(
d
m
)
=
{
a
m
,
d
m
∈
(
b
m
,
+
∞
)
a
m
d
m
b
m
,
d
m
∈
[
0
,
b
m
]
,
where d
m is the distance between the robot and target point and a
m and b
m are the adjustable parameters. b
m is related to the robot’s movement step and the robot will slow down when the distance between the robot and target point is less than d
m.


## 2.2.2. Behavior of Avoiding Obstacles

The robot will trigger the behavior of avoiding obstacles when any obstacle around the robot is detected. The traditional way is to make the robot move backward, which will cause moving deadlock. In order to solve this problem, we change the direction of movement with an angle of 90 degrees to the obstacle (as shown in Figure2(b)). The virtual force of the obstacle-avoiding behavior will be enhanced when the robot is close to the obstacles.Assume that the current coordinate of the robot is(
x
i
,
y
i
) and the coordinate of the nearest obstacle is (
x
o
,
y
o
), then the vector of avoiding obstacles is
(4)
V
avoid_obstacle
=
1
(
x
o
-
x
i
)
2
+
(
y
o
-
y
i
)
2
[
±
(
y
o
-
y
i
)
∓
(
x
o
-
x
i
)
]
,
where the sign ± is determined by the relationship between the moving direction of the robot and the obstacles. When the obstacle are on the left, set it +. On the contrary, when the obstacle is on the right, set it −. The control parameter is set as
(5)
f
2
(
d
0
)
=
{
0
,
d
0
∉
[
b
f
,
b
0
]
a
0
(
d
0
b
f
-
b
0
+
b
0
b
0
-
b
f
)
,
d
0
∈
[
b
f
,
b
0
]
,
where d
0 is the distance between the robot and the obstacle. a
0, b
0, and b
f are the adjustable parameters. As shown in Figure 3(a), b
0 is the distance between the robot and the obstacle when the behavior of avoiding obstacle is triggered. b
f is the minimum distance between the robot and the obstacle, which is the precondition that triggers the behavior of wall-following. For simple environments where there are only one or several small obstacles, we can use only the behaviors of moving to the goal and avoiding obstacles for navigation control of a single robot. Equation (1) is then reduced as
(6)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
]
.Schematic distance.
(a)
Schematic avoidance
(b)
Schematic collision avoidance distanceSome simulated experiments are demonstrated in Figure4 and the parameter settings are shown in Table 1. The results show that these two behaviors work well for navigation control in simple environments.Table 1
Control parameters of robot in simple environments.
a
m
b
m
a
0
b
0
b
f
1.0
5.0
1.0
5.0
2.0Figure 4
Navigation control of a single robot in three simple environments.


## 2.2.3. Behavior of Wall-Following

When the environment becomes more complex, the robot could not complete the task just relying on the above two behaviors. As shown in Figure2(c), in order to avoid large obstacles, we design the behavior of wall-following. This behavior is activated when the distance between the robot and the obstacle reaches a certain value. If the target point and the obstacles are on the left side of the robot, choose the behavior of following the left wall. If the target point and the obstacles are on the right side of the robot, choose the behavior of following the right wall. Assuming the current coordinate of the robot is (
x
i
,
y
i
) and the coordinate of the nearest obstacle is (
x
o
,
y
o
), the vector of wall-following is
(7)
V
follow_wall
=
1
(
x
o
-
x
i
)
2
+
(
y
o
-
y
i
)
2
[
±
(
y
o
-
y
i
)
∓
(
x
o
-
x
i
)
]
,
where ± is determined by the relationship between the moving direction of the robot and the coordinate of the obstacles. When the obstacle is on the left, set it + and trigger the behavior of following left wall. On the contrary, when the obstacle is on the right, set it − and trigger the behavior of following right wall. The control parameter is
(8)
f
3
(
a
f
)
=
{
0
,
wall-following
off
⁡
a
f
,
wall-following
on
⁡
,
where a
f is an adjustable parameter.The robot will end the behavior of wall-following when(
1
) the target point is within 3
/
2
π range in front of the robot and (
2
) there is no obstacle within 1
/
4
π range in front of the robot. The behavior vector in the environments with large obstacles is
(9)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
f
3
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
V
follow_wall
]
.Some examples of wall-following to avoid large obstacles are shown in Figure5 using the combination of the above designed behaviors.Performance with the wall-following behavior to avoid large obstacles.
(a)
The process of avoiding large obstacles (type 1)
(b)
The process of avoiding large obstacles (type 2)


## 2.2.4. Behavior of Avoiding Robot

In order to prevent collision between robots, the behavior of avoiding robot will be triggered when the robot is too close to the one in front of it (as shown in Figure2(d)). The movement direction of this behavior is opposite to the robot in front of it. The virtual force of the avoiding behavior will be enhanced when the robot moves close to the other one. Assume the current coordinate of the robot R
j is (
x
j
,
y
j
) and the current coordinate of the robot R
i is (
x
i
,
y
i
), then the vector of the behavior of avoiding robot is
(10)
V
avoid_robot
=
1
(
x
j
-
x
i
)
2
+
(
y
j
-
y
i
)
2
[
±
(
x
j
-
x
i
)
±
(
y
j
-
y
i
)
]
.
The control parameters of the behavior are
(11)
f
4
(
d
r
)
=
{
0
,
d
r
∈
(
b
r
,
+
∞
)
a
r
d
r
,
d
r
∈
[
2
r
0
,
b
r
]
,
where d
r is the distance between the robot and the robot in front of it, a
r and b
r are adjustable parameters, b
r is the critical distance between these two robots, and r
0 is the radius of the robot (as shown in Figure 3(b)).


## 2.2.5. Behavior of Keeping Formation

In order to keep a desired formation while moving, each robot should maintain a certain angle and distance to other robots. As shown in Figure2(e), the robots R
i and R
j are moving forward side by side. R
j maintains its relative position in the formation by referencing to R
i. α
j
-
i is the angle between formation’s direction and the line of R
j and R
i. d
j
-
i is the distance between R
j and R
i. The ideal location of R
j in the formation is determined by that of R
i, the moving direction of the formation, α
j
-
i and d
j
-
i. Assume the current coordinate of R
i is (
x
i
,
y
i
) and θ is the moving direction of the formation. Then the ideal coordinate of R
i is
(12)
[
x
j
f
y
j
f
]
=
[
x
i
+
d
j
-
i
cos
⁡
(
α
j
-
i
+
θ
)
y
i
j
+
d
j
-
i
sin
(
α
j
-
i
+
θ
)
]
.
When the location of R
i is not the same as the ideal coordinate, that is, (
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2
>
ε, the behavior of keeping formation is activated and we have
(13)
V
keep_formation
=
1
(
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2
[
x
j
f
-
x
j
y
j
f
-
y
j
]
.
The control parameter of the formation keeping behavior is
(14)
f
5
(
d
5
)
=
{
0
,
d
K
∈
(
0
,
ε
)
a
k
d
k
,
d
K
∈
(
ε
,
+
∞
)
,
where d
k
=
(
x
i
f
-
x
j
)
2
+
(
y
i
f
-
y
j
)
2 is the distance to the ideal location and a
k is an adjustable parameter.


## 3. Classification-Based Searching for Initial Formation Control

Initial formation is one of the most important tasks for various kinds of formation control. In this section, a classification-based target searching algorithm [30] is presented for effective initial formation control of the swarm robot systems.


### 3.1. Target Searching Method

Generally, there is a main control unit to implement the computing tasks of initial formation for the swarm robot system. Assume there aren robots in the formation, denoted as R
0
,
R
1
,
…
,
R
n
-
1, and their target positions are denoted as T
0
,
T
1
,
…
,
T
n
-
1, respectively. Ω
R is the set of robots that have not got its target position. Ω
T is the set of target positions that have not been assigned to any robot. The priority of the robots is denoted as PRI. The main steps of the target searching method [31] are shown as in Algorithm 1.Algorithm 1:The main steps of the target searching algorithm.
(1) InitializeΩ
R
=
{
R
0
,
R
1
,
…
,
R
n
-
1
}, Ω
T
=
{
T
0
,
T
1
,
…
,
T
n
-
1
},
setPRI
=
n, which represents the priority and when n
=
0,
the priority is highest.
(2)repeat (for each robot in the formation)
(3)   Search the target position nearest toR
i
=
Ω
R and
denote the distance asd
i. If there are several d
i with the
same value, the target position will be chosen randomly.
(4)   Set d
m
=
max
⁡
d
i, PRI
=
PRI
-
1. Assume that d
m is
the distance betweenR
j
∈
Ω
R and T
a
∈
Ω
T. Then T
a is
the target position ofR
j with the priority of PRI.
(5)   SetΩ
R
=
Ω
R
-
{
R
j
}
,
Ω
T
=
Ω
T
-
{
T
a
}.
(6)until
Ω
R
=
⌀,The main idea of the target search algorithm is that each robot chooses its target position as near as possible. If two or more robots choose the same target position, the farthest robot will get the highest priority. When two or more robots have the same distance with the same target position, the robot will get the highest priority randomly. The algorithm can reduce the possibility of the collision between the robots. An example with 4 robots is shown in Figure6.Figure 6
Schematic of initial formation with the target searching method.However, when the number of the robots tends to be hundreds, it will expose some shortcomings by using the standard target search algorithm. If all the robots are far away from the target formation, most of the robots will always share the same target position in the searching process. It means that most of the robots have to keep searching for the new nearest target positions. In addition, the algorithm distributes only one robot each time and has to compare all the remaining robots to find out the referred one. These defects reduce the efficiency of the algorithm in large-scale systems. Therefore we provide an improved method (classification-based target searching algorithm), which is more effective for swarm robots.


### 3.2. Classification-Based Target Searching Algorithm

Assume that each robot moves in a two-dimensional workspace without static barriers. The position of each robot is denoted asP
=
[
x
,
y
]
T. To avoid high computation complexity, we divide the workspace into r
×
s square cells. Let α denote the acreage of each cell. α should be greater than or equal to 25 times of a single robot’s acreage so that the robots in a cell will not be too dense. α has positive relationship with the acreage of the whole workspace and has negative relationship with the number of robots. Each cell is signed as C
i
j denoting that the cell is in the ith column and jth row. Then we define the targets area as all the cells containing target positions. Figure 7(a) shows an example with 100 robots, where dots represent robots and the x represents a target position. The workspace is divided into 8
×
8 cells. The shape of required formation is square in the center of the 2D space.An example of the initial state of 100 robots before formation and six types of cells.
(a)
(b)As shown in Figure7(b), we have six typical types of cells, each of which represents different kinds of quantity relationships between the robots and the target positions in a cell. Our approach is to provide the robots in different cell types with different assignment priorities. The robots in type A have no target position in their own cells. They are farther from the required formation than the robots in other types. So they have the highest assignment priority to move. The number of robots is more than that of target positions in type B, so the excess robots in type B will not be assigned to the target positions in their own cells. They get the second priority level. When types A and B have all been settled, only type C cells contain robots. The remaining robots will go to the target positions in their own cells. According to the above rules, it is clear that if all the cells of types A, B, and C are completely processed, the cells of types D, E, and F will be resolved or will disappear. Therefore, we can classify the robots into only three categories (i.e., types A, B, and C), which can greatly decrease the computation complexity.For the initial formation ofn robots, let R
0
,
R
1
,
…
,
R
n
-
1 denote the robots and let T
0
,
T
1
,
…
,
T
n
-
1 denote the target positions. The workspace is divided into r
×
s square cells. C
i
j denotes the cell in column i and row j
(
i
=
1,2
,
…
,
r
and
j
=
1,2
,
…
,
s
). t
i
j is the number of the robots assigned to C
i
j and Ω
i
j
R is the set of the robots assigned to C
i
j. The distance between the robot and a cell is defined as the distance between the robot and the center of the cell. Ω
R
A is the set of the robots in type A. Ω
R
B is the set of the robots which are excess in the cells in type B. Ω
R
C is the set of the robots in type C. At first, all robots in Ω
R
A
,
Ω
R
B
,
Ω
R
C have not got their target positions yet. The classification-based search algorithm is summarized as in Algorithm 2.Algorithm 2:The classification-based search algorithm.
Initialize the robotsR
0
,
R
1
,
…
,
R
n
-
1, the target positions
T
0
,
T
1
,
…
,
T
n
-
1, the cells C
ij, (i
=
1,2
,
…
,
r
,
j
=
1,2
,
…
,
s).
Ω
i
j
R
,
Ω
R
A
,
Ω
R
B
,
Ω
R
C
=
⌀.
(1) repeat(for each robot in the formation)
repeat (for each robot in the cells of type A)
(2)    Search the robots in the cells of typeA and put them into Ω
R
A.
Use the target search algorithm to assign R
K
∈
Ω
R
A
to the cells witht
i
j
≠
0. Assume that R
m is assigned to
C
p
q. Put R
m into Ω
p
q
R. PRI
=
PRI
-
1
,
t
p
q
=
t
p
q
-
1
,
Ω
R
A
=
Ω
R
A
-
{
R
m
}.
Then continue to assign nextR
K
∈
Ω
R
A.
(3)   until
Ω
R
A
=
⌀.
repeat (for each robot in the cells of type B)
(4)    Search the cells in typeB, and put one of the robots
in a cell of typeB into Ω
R
B.
Use the target search algorithm to assignR
K
∈
Ω
R
B
to other cells witht
i
j
≠
0. Assume that R
m is assigned to C
p
q.
PutR
m into Ω
p
q
R
·
t
p
q
=
t
p
q
-
1
,
Ω
R
B
=
Ω
R
B
-
{
R
m
}.
Then continue to assign nextR
K
∈
Ω
R
B.
(5)
until
Ω
R
B
=
⌀.
until
Ω
R
A
=
⌀
&
Ω
R
B
=
⌀.
(6)    PutR
k that has not be assigned in C
i
j into Ω
i
j
R.
Use the target search algorithm to assignR
i
∈
Ω
i
j
R to the targets in C
i
j.If there is more than one cell or target position to a robot, this robot can choose any of them to be its cell or target position randomly.


### 3.3. Experimental Results

In order to verify the reliability of the classification-based target searching algorithm, which can effectively reduce the complexity of the algorithm, a number of simulation experiments are carried out. For the initial formation of a swarm robot system consisting ofn robots, the complexity of calculating the distance between the robot and the target position is
(15)
n
2
+
(
n
-
1
)
2
+
⋯
+
1
=
n
(
n
+
1
)
(
2
n
+
1
)
6
,
and the complexity of comparison time of the distance between robots and the target positions is
(16)
(
n
+
1
)
(
n
-
1
)
+
n
(
n
-
2
)
+
⋯
+
3
·
1
.
Therefore, the time complexity is O
(
n
3
). The time complexity reduces to O
(
n
2
) if the robot has memory function, which is implemented in algorithm. As for classification-based target searching algorithm, the time complexity remains O
(
n
2
). However, the coefficient of the time complexity drops significantly according to the experimental results. Several groups of simulated experiments are demonstrated to show the performance of the proposed classification-based searching method regarding the computation complexity. The reliability of this algorithm is shown by whether the swarm robot system can quickly form a target formation without collision. All the movement of each robot is accomplished through the behavior-based control method and the control parameters of the robot behaviors are shown in Table 2.Table 2
Control parameters of robot behaviors for initial formation.
a
m
b
m
a
0
b
0
a
r
b
r
1.0
4.0
1.0
4.0
2.0
3.0


#### 3.3.1. Performance Comparison of Systems with Different Numbers of Robots

As shown in Figure8, the robots and their target positions are distributed randomly. They are matched with target searching method and classification-based target searching algorithm, respectively, which is performed 10 times in each experiment. This map includes 8
×
8 cells, the cell size is 5
×
5 and each cell contains about 1.56 target positions averagely. For this group of experiments, the number of robots is set at 20, 100, and 200, respectively.Figure 8
Performance of initial formation with different numbers of robots.As shown in Table3, n is the number of robots, n
a is the density of robots in the map, sd1 is the distance calculation time of the target search method, and sd2 is the distance calculation time of the classification-based target searching algorithm. sm1 is distance comparison time of the target search method and sm2 is the distance comparison time of the classification-based target searching algorithm. These results show that the classification-based target searching algorithm is superior to the standard target searching algorithm regarding the computation complexity, especially for large scale swarm robot systems.Table 3
Performance comparison of the target searching method and the classification-based target searching method for different numbers of robots.
n
n
a
sd1
sd2
sd2/sd1 × 100%
sm1
sm2
sm2/sm1 × 100%
20
0.31
689
458
66.68%
833
508
61.09%
100
1.56
35021
5483
15.81%
39462
5830
14.87%
200
3.13
292355
9613
3.35
310116
11018
3.60%


#### 3.3.2. Time Complexity Comparison in Different Formation Transformation Tasks

As shown in Figure9, the robots are distributed on the map randomly and the target formation is a square. The map includes 8
×
8 cells and the cell size is 5
×
5, each cell contains about 6.25 target point averagely. As for another case study shown in Figure 10, the number of the robots is 121, the initial formation shape is a square in the lower left of the map, while the target formation is a circle in top right. This map includes 8.5
×
8.5 cells, the cell size is 7
×
7 and each cell contains about 7.56 target point averagely. It is clear that both the target searching method and the classification-based target search method work well for the initial formation problem, but regarding the computation complexity the classification-based searching method performances much better. More comparison details are listed in Table 4.Table 4
Performance comparison of the target searching method and the classification-based target searching method for different shapes of formation.
n
n
a
sd1
sd2
sd2/sd1 × 100%
sm1
sm2
sm2/sm1 × 100%
100
6.25
97405
2854
2.95%
100957
4965
4.95%
121
7.56
232851
12588
5.41%
237311
19084
8.04%Initial formation control of a square shape.
(a)
The initial state
(b)
The final state after transformationInitial formation control of a circular shape.
(a)
The initial state
(b)
The final state after transformation


## 3.1. Target Searching Method

Generally, there is a main control unit to implement the computing tasks of initial formation for the swarm robot system. Assume there aren robots in the formation, denoted as R
0
,
R
1
,
…
,
R
n
-
1, and their target positions are denoted as T
0
,
T
1
,
…
,
T
n
-
1, respectively. Ω
R is the set of robots that have not got its target position. Ω
T is the set of target positions that have not been assigned to any robot. The priority of the robots is denoted as PRI. The main steps of the target searching method [31] are shown as in Algorithm 1.Algorithm 1:The main steps of the target searching algorithm.
(1) InitializeΩ
R
=
{
R
0
,
R
1
,
…
,
R
n
-
1
}, Ω
T
=
{
T
0
,
T
1
,
…
,
T
n
-
1
},
setPRI
=
n, which represents the priority and when n
=
0,
the priority is highest.
(2)repeat (for each robot in the formation)
(3)   Search the target position nearest toR
i
=
Ω
R and
denote the distance asd
i. If there are several d
i with the
same value, the target position will be chosen randomly.
(4)   Set d
m
=
max
⁡
d
i, PRI
=
PRI
-
1. Assume that d
m is
the distance betweenR
j
∈
Ω
R and T
a
∈
Ω
T. Then T
a is
the target position ofR
j with the priority of PRI.
(5)   SetΩ
R
=
Ω
R
-
{
R
j
}
,
Ω
T
=
Ω
T
-
{
T
a
}.
(6)until
Ω
R
=
⌀,The main idea of the target search algorithm is that each robot chooses its target position as near as possible. If two or more robots choose the same target position, the farthest robot will get the highest priority. When two or more robots have the same distance with the same target position, the robot will get the highest priority randomly. The algorithm can reduce the possibility of the collision between the robots. An example with 4 robots is shown in Figure6.Figure 6
Schematic of initial formation with the target searching method.However, when the number of the robots tends to be hundreds, it will expose some shortcomings by using the standard target search algorithm. If all the robots are far away from the target formation, most of the robots will always share the same target position in the searching process. It means that most of the robots have to keep searching for the new nearest target positions. In addition, the algorithm distributes only one robot each time and has to compare all the remaining robots to find out the referred one. These defects reduce the efficiency of the algorithm in large-scale systems. Therefore we provide an improved method (classification-based target searching algorithm), which is more effective for swarm robots.


## 3.2. Classification-Based Target Searching Algorithm

Assume that each robot moves in a two-dimensional workspace without static barriers. The position of each robot is denoted asP
=
[
x
,
y
]
T. To avoid high computation complexity, we divide the workspace into r
×
s square cells. Let α denote the acreage of each cell. α should be greater than or equal to 25 times of a single robot’s acreage so that the robots in a cell will not be too dense. α has positive relationship with the acreage of the whole workspace and has negative relationship with the number of robots. Each cell is signed as C
i
j denoting that the cell is in the ith column and jth row. Then we define the targets area as all the cells containing target positions. Figure 7(a) shows an example with 100 robots, where dots represent robots and the x represents a target position. The workspace is divided into 8
×
8 cells. The shape of required formation is square in the center of the 2D space.An example of the initial state of 100 robots before formation and six types of cells.
(a)
(b)As shown in Figure7(b), we have six typical types of cells, each of which represents different kinds of quantity relationships between the robots and the target positions in a cell. Our approach is to provide the robots in different cell types with different assignment priorities. The robots in type A have no target position in their own cells. They are farther from the required formation than the robots in other types. So they have the highest assignment priority to move. The number of robots is more than that of target positions in type B, so the excess robots in type B will not be assigned to the target positions in their own cells. They get the second priority level. When types A and B have all been settled, only type C cells contain robots. The remaining robots will go to the target positions in their own cells. According to the above rules, it is clear that if all the cells of types A, B, and C are completely processed, the cells of types D, E, and F will be resolved or will disappear. Therefore, we can classify the robots into only three categories (i.e., types A, B, and C), which can greatly decrease the computation complexity.For the initial formation ofn robots, let R
0
,
R
1
,
…
,
R
n
-
1 denote the robots and let T
0
,
T
1
,
…
,
T
n
-
1 denote the target positions. The workspace is divided into r
×
s square cells. C
i
j denotes the cell in column i and row j
(
i
=
1,2
,
…
,
r
and
j
=
1,2
,
…
,
s
). t
i
j is the number of the robots assigned to C
i
j and Ω
i
j
R is the set of the robots assigned to C
i
j. The distance between the robot and a cell is defined as the distance between the robot and the center of the cell. Ω
R
A is the set of the robots in type A. Ω
R
B is the set of the robots which are excess in the cells in type B. Ω
R
C is the set of the robots in type C. At first, all robots in Ω
R
A
,
Ω
R
B
,
Ω
R
C have not got their target positions yet. The classification-based search algorithm is summarized as in Algorithm 2.Algorithm 2:The classification-based search algorithm.
Initialize the robotsR
0
,
R
1
,
…
,
R
n
-
1, the target positions
T
0
,
T
1
,
…
,
T
n
-
1, the cells C
ij, (i
=
1,2
,
…
,
r
,
j
=
1,2
,
…
,
s).
Ω
i
j
R
,
Ω
R
A
,
Ω
R
B
,
Ω
R
C
=
⌀.
(1) repeat(for each robot in the formation)
repeat (for each robot in the cells of type A)
(2)    Search the robots in the cells of typeA and put them into Ω
R
A.
Use the target search algorithm to assign R
K
∈
Ω
R
A
to the cells witht
i
j
≠
0. Assume that R
m is assigned to
C
p
q. Put R
m into Ω
p
q
R. PRI
=
PRI
-
1
,
t
p
q
=
t
p
q
-
1
,
Ω
R
A
=
Ω
R
A
-
{
R
m
}.
Then continue to assign nextR
K
∈
Ω
R
A.
(3)   until
Ω
R
A
=
⌀.
repeat (for each robot in the cells of type B)
(4)    Search the cells in typeB, and put one of the robots
in a cell of typeB into Ω
R
B.
Use the target search algorithm to assignR
K
∈
Ω
R
B
to other cells witht
i
j
≠
0. Assume that R
m is assigned to C
p
q.
PutR
m into Ω
p
q
R
·
t
p
q
=
t
p
q
-
1
,
Ω
R
B
=
Ω
R
B
-
{
R
m
}.
Then continue to assign nextR
K
∈
Ω
R
B.
(5)
until
Ω
R
B
=
⌀.
until
Ω
R
A
=
⌀
&
Ω
R
B
=
⌀.
(6)    PutR
k that has not be assigned in C
i
j into Ω
i
j
R.
Use the target search algorithm to assignR
i
∈
Ω
i
j
R to the targets in C
i
j.If there is more than one cell or target position to a robot, this robot can choose any of them to be its cell or target position randomly.


## 3.3. Experimental Results

In order to verify the reliability of the classification-based target searching algorithm, which can effectively reduce the complexity of the algorithm, a number of simulation experiments are carried out. For the initial formation of a swarm robot system consisting ofn robots, the complexity of calculating the distance between the robot and the target position is
(15)
n
2
+
(
n
-
1
)
2
+
⋯
+
1
=
n
(
n
+
1
)
(
2
n
+
1
)
6
,
and the complexity of comparison time of the distance between robots and the target positions is
(16)
(
n
+
1
)
(
n
-
1
)
+
n
(
n
-
2
)
+
⋯
+
3
·
1
.
Therefore, the time complexity is O
(
n
3
). The time complexity reduces to O
(
n
2
) if the robot has memory function, which is implemented in algorithm. As for classification-based target searching algorithm, the time complexity remains O
(
n
2
). However, the coefficient of the time complexity drops significantly according to the experimental results. Several groups of simulated experiments are demonstrated to show the performance of the proposed classification-based searching method regarding the computation complexity. The reliability of this algorithm is shown by whether the swarm robot system can quickly form a target formation without collision. All the movement of each robot is accomplished through the behavior-based control method and the control parameters of the robot behaviors are shown in Table 2.Table 2
Control parameters of robot behaviors for initial formation.
a
m
b
m
a
0
b
0
a
r
b
r
1.0
4.0
1.0
4.0
2.0
3.0


### 3.3.1. Performance Comparison of Systems with Different Numbers of Robots

As shown in Figure8, the robots and their target positions are distributed randomly. They are matched with target searching method and classification-based target searching algorithm, respectively, which is performed 10 times in each experiment. This map includes 8
×
8 cells, the cell size is 5
×
5 and each cell contains about 1.56 target positions averagely. For this group of experiments, the number of robots is set at 20, 100, and 200, respectively.Figure 8
Performance of initial formation with different numbers of robots.As shown in Table3, n is the number of robots, n
a is the density of robots in the map, sd1 is the distance calculation time of the target search method, and sd2 is the distance calculation time of the classification-based target searching algorithm. sm1 is distance comparison time of the target search method and sm2 is the distance comparison time of the classification-based target searching algorithm. These results show that the classification-based target searching algorithm is superior to the standard target searching algorithm regarding the computation complexity, especially for large scale swarm robot systems.Table 3
Performance comparison of the target searching method and the classification-based target searching method for different numbers of robots.
n
n
a
sd1
sd2
sd2/sd1 × 100%
sm1
sm2
sm2/sm1 × 100%
20
0.31
689
458
66.68%
833
508
61.09%
100
1.56
35021
5483
15.81%
39462
5830
14.87%
200
3.13
292355
9613
3.35
310116
11018
3.60%


### 3.3.2. Time Complexity Comparison in Different Formation Transformation Tasks

As shown in Figure9, the robots are distributed on the map randomly and the target formation is a square. The map includes 8
×
8 cells and the cell size is 5
×
5, each cell contains about 6.25 target point averagely. As for another case study shown in Figure 10, the number of the robots is 121, the initial formation shape is a square in the lower left of the map, while the target formation is a circle in top right. This map includes 8.5
×
8.5 cells, the cell size is 7
×
7 and each cell contains about 7.56 target point averagely. It is clear that both the target searching method and the classification-based target search method work well for the initial formation problem, but regarding the computation complexity the classification-based searching method performances much better. More comparison details are listed in Table 4.Table 4
Performance comparison of the target searching method and the classification-based target searching method for different shapes of formation.
n
n
a
sd1
sd2
sd2/sd1 × 100%
sm1
sm2
sm2/sm1 × 100%
100
6.25
97405
2854
2.95%
100957
4965
4.95%
121
7.56
232851
12588
5.41%
237311
19084
8.04%Initial formation control of a square shape.
(a)
The initial state
(b)
The final state after transformationInitial formation control of a circular shape.
(a)
The initial state
(b)
The final state after transformation


## 3.3.1. Performance Comparison of Systems with Different Numbers of Robots

As shown in Figure8, the robots and their target positions are distributed randomly. They are matched with target searching method and classification-based target searching algorithm, respectively, which is performed 10 times in each experiment. This map includes 8
×
8 cells, the cell size is 5
×
5 and each cell contains about 1.56 target positions averagely. For this group of experiments, the number of robots is set at 20, 100, and 200, respectively.Figure 8
Performance of initial formation with different numbers of robots.As shown in Table3, n is the number of robots, n
a is the density of robots in the map, sd1 is the distance calculation time of the target search method, and sd2 is the distance calculation time of the classification-based target searching algorithm. sm1 is distance comparison time of the target search method and sm2 is the distance comparison time of the classification-based target searching algorithm. These results show that the classification-based target searching algorithm is superior to the standard target searching algorithm regarding the computation complexity, especially for large scale swarm robot systems.Table 3
Performance comparison of the target searching method and the classification-based target searching method for different numbers of robots.
n
n
a
sd1
sd2
sd2/sd1 × 100%
sm1
sm2
sm2/sm1 × 100%
20
0.31
689
458
66.68%
833
508
61.09%
100
1.56
35021
5483
15.81%
39462
5830
14.87%
200
3.13
292355
9613
3.35
310116
11018
3.60%


## 3.3.2. Time Complexity Comparison in Different Formation Transformation Tasks

As shown in Figure9, the robots are distributed on the map randomly and the target formation is a square. The map includes 8
×
8 cells and the cell size is 5
×
5, each cell contains about 6.25 target point averagely. As for another case study shown in Figure 10, the number of the robots is 121, the initial formation shape is a square in the lower left of the map, while the target formation is a circle in top right. This map includes 8.5
×
8.5 cells, the cell size is 7
×
7 and each cell contains about 7.56 target point averagely. It is clear that both the target searching method and the classification-based target search method work well for the initial formation problem, but regarding the computation complexity the classification-based searching method performances much better. More comparison details are listed in Table 4.Table 4
Performance comparison of the target searching method and the classification-based target searching method for different shapes of formation.
n
n
a
sd1
sd2
sd2/sd1 × 100%
sm1
sm2
sm2/sm1 × 100%
100
6.25
97405
2854
2.95%
100957
4965
4.95%
121
7.56
232851
12588
5.41%
237311
19084
8.04%Initial formation control of a square shape.
(a)
The initial state
(b)
The final state after transformationInitial formation control of a circular shape.
(a)
The initial state
(b)
The final state after transformation


## 4. Formation Control with Obstacle-Avoidance

In this section, we focus on the other important and challenging task of navigation in an unknown environment while keeping a desired formation. First, the proposed behavior-based method is applied for the navigation control without obstacle-avoidance, where the swarm robots (after initial formation) move to a desired target position in group while maintaining this formation. Then this method is applied to the navigation control problem with obstacle-avoidance. Several groups of simulated experiments are carried out to demonstrate the performance of the proposed method.


### 4.1. Navigation without Obstacle-Avoidance

As shown in Figure11(a), a basic model of a square formation contains 16 robots (
R
1
,
R
2
,
…
,
R
16
) and the angle θ is the orientation of the formation (as marked with an arrow).Basic model of a square formation and the problem of navigation without obstacle-avoidance.
(a)
(b)The problem of navigation without obstacle-avoidance is described in Figure11(b). The initial location of the swarm robot system is on the lower left corner with the orientation θ
=
θ
0 and the target position is on the right corner with the orientation θ
=
θ
t. The objective is to move the swarm robot system to the target position with θ
=
θ
t while maintaining the desired formation.An example of formation control while navigating without obstacle-avoidance using the simple centralized approach is shown in Figure12, where the whole task is divided into two subtasks named straight movement and rotation, and the sequence of these two subtasks is adjustable. For example, firstly, the formation rotates with an angle to make θ
=
θ
t and then move straight (Figure 12(a)). Or the formation adjusts the angle to face the target point at first and then move straight, rotates with an angle to make θ
=
θ
t (Figure 12(b)). This centralized control method is suitable to the task with strong centrality (e.g., the task of collective transportation). However, this method is not applicable to the complex environments or distributed tasks and its performance is not good regarding the cost of general movement. In order to complete the task of formation control in distributed and complex environments for swarm robots, the behavior-based control method of formation control is applied. The robot has the ability of formation-maintaining, obstacle-avoiding, and wall-following. The behavior vector for each robot is given by
(17)
V
direction
=
[
f
1
(
·
)
f
4
(
·
)
f
5
(
·
)
]
[
V
move_to_goal
V
aciod_robot
V
keep_formation
]
.An example of navigation without obstacle-avoidance using traditional centralized approach.
(a)
(b)With the parameter settings shown as in Table5, the performance for the problem of formation control of 16 robots without obstacle-avoidance is shown in Figure 13. It is clear that the rotation task is accomplished while moving toward the target position. Thus, the formation will be slightly deformed in the process of rotation, but the whole system still maintains the basic shape in general.Table 5
Control parameters of robot behavior for the problem of navigation without obstacle-avoidance.
a
m
b
m
a
r
b
r
a
k
1.0
4.0
3.0
2.0
1.0Performance of formation control of 16 robots in a square shape while navigating without obstacle-avoidance.
(a)
(b)
(c)
(d)
(e)
(f)To evaluate the performances regarding formation-keeping and movement smoothness, we define the ratio of deformationδ
j for robot R
j as
(18)
δ
j
=
2
d
k
j
d
j
-
i
,
where d
k
j is the distance between robot R
j and its ideal location in the formation. d
j
-
i is the fixed distance which should be maintained between robot R
j and its reference robot R
i. The maximum ratio of deformation is
(19)
δ
max
⁡
=
max
⁡
1
≤
j
≤
n
δ
j
.In order to maintain the basic formation,δ
max
⁡ must be less than 1, which is much related with the control parameter a
k for the behavior of keeping formation. The larger a
k is the greater the intensity of the formation-keeping behavior will be. But larger a
k may decrease the smoothness of the movement trajectory. Figure 14 shows a group of simulated experiments with different a
k and more details are listed in Table 6. It is clear that, to maintain a good performance of formation control while navigating without obstacle-avoidance, the value of a
k
∈
[
1.0,3.0
] is acceptable.Table 6
Performances of formation control regardingδ
max
⁡ for different a
k.
a
k
0.1
0.2
0.5
0.7
0.8
1.0
1.5
2.0
3.0
4.0
5.0
δ
max
⁡
1.97
1.73
1.14
1.01
0.9
0.8
0.65
0.57
0.52
0.61
0.75Performances of formation control fora
k
=
0.1,0.5,1.0,2.0,3.0,5.0, respectively.
(a)
(b)
(c)
(d)
(e)
(f)Another group of experimental results for the formation control of 100 robots in a square shape is shown as in Figure15. The initial and target orientation are θ
0
=
-
3
π
/
4 and θ
t
=
π
/
2. We set a
k
=
1.5 and the results show that this swarm robot system reaches the target location in the desired shape very successfully.The performance of formation control of 100 robots in a square shape while navigating without obstacle-avoidance.
(a)
(b)
(c)
(d)
(e)
(f)


### 4.2. Navigation with Obstacle-Avoidance

For the simple environments with a few distributed obstacles as shown in Figure16, the behavior-based formation control method does not need to adopt the behavior of wall-following. The behavior vector for every single robot is
(20)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
f
4
(
·
)
f
5
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
V
avoid_robot
V
keep_formation
]
.Simple environments with a few distributed obstacles.
(a)
With only one obstacle
(b)
With a few distributed obstaclesWhen any obstacles are detected, the behavior of avoiding obstacles will be triggered. To ensure the success of avoiding obstacles, the behavior of formation-keeping will be weakened when there is any obstacle detected. Only after leaving the obstacle region, the desired shape of formation will be recovered. The control parameters of formation-keeping are modified as(21)
f
5
(
d
5
)
=
{
0
,
d
k
∈
[
0
,
ε
]
a
k
d
k
,
d
k
∈
(
ε
,
+
∞
)
and
no
obstacles
a
k
ln
⁡
d
k
,
d
k
∈
(
ε
,
+
∞
)
and
with
obstacles
.Figures17 and 18 show the performance of formation control while avoiding obstacles, where a single obstacle is considered in Figure 18. The control parameters of the behavior-based method in situation of obstacles are listed in Table 7. Both of these two groups of experiments show the success of the proposed method for formation control while navigating with simple obstacle-avoidance.Table 7
The control parameters of the behavior-based method in situation of obstacles.
a
m
b
m
a
0
b
0
a
r
b
r
a
k
1.0
3.0
1.0
4.0
2.0
2.0
1.0Performance of formation control while avoiding a single obstacle.
(a)
Overall path of obstacle-avoidance
(b)
Step  1: avoid a single obstacle
(c)
Step  2: avoid a single obstacle
(d)
Step  3: arrive at the destinationPerformance of formation control while avoiding multiple obstacles.
(a)
Overall path of obstacle-avoidance
(b)
Step  1: avoid obstacles
(c)
Step  2: avoid obstacles
(d)
Step  3: arrive at the destination


### 4.3. Navigation in Complex Environment with Obstacle-Avoidance

For more complex environments where there are large obstacles or even local minima (e.g., as shown in Figure19), it is difficult to avoid the large obstacles by only using the behavior-based method and a communication mechanism will be necessary to help the swarm robot system avoid the large obstacles as an entity. The basic idea can be described as follows: according to the limited information about the obstacles detected by each robot, we design an appropriate information integration and decision-making mechanism to enable the unit to determine the existence of large obstacles and bypass the obstacles under the guidance of local sensing information.Complex environments with large obstacles.
(a)
Only with large obstacles
(b)
Complex environmentsThe local range sensing information is modeled as shown in Figure1(b) with {
L
1
,
L
2
,
R
1
,
R
2
}. For example, if any obstacle is detected in the L
1 area, we denote L
1
=
1, otherwise L
1
=
0. Hence if more than M robots in the front line of the formation detect obstacles in front of them (i.e., L
1
=
R
1
=
1), it is considered that the whole formation encounters a large obstacle or clustered multiobstacle. M is an adjustable parameter related to the formation size and the number of robots. In this paper, when the number of robots is 16, the diameter of the robot is 1 meter and the spacing between robots is 3 meters, we set M
=
2. Then we have the method of avoiding large obstacles as follows. (
1
) If there are more than M robots in the front line that encounter obstacles (whose sensing information L
1
=
R
1
=
1), the overall obstacle-avoiding will be triggered and an integrated moving direction will be given; (
2
) the whole formation takes this integrated movement until the sensor information is L
1
=
R
1
=
0 for all robots in the front line; (
3
) the whole formation goes forward until no robot on both sides detects any obstacle (i.e., L
2
=
R
2
=
0). Then the behavior-based formation control mechanism will be recovered.Two groups of experimental results are shown in Figures20 and 21, respectively. In both of these two complex environments, the swarm robot system can avoid large obstacles successfully. In particular, as shown in Figure 21, after detecting the large obstacles, the whole system finds that the obstacle does not block in front of the formation completely, so it decides to move left to avoid the large obstacle. After bypassing the large obstacle, the swarm robot system turns to the basic behavior-based formation control mechanism and continues to navigate with obstacle-avoiding.Performance of avoiding a large obstacle.
(a)
Overall path of obstacles-avoidance
(b)
Step  1: move right to avoid large obstacles
(c)
Step  2: navigate with moving to the goal
(d)
Step  3: arrive at the destinationPerformance of avoiding multiple obstacles including large obstacles.
(a)
Overall path obstacle-avoidance
(b)
Step  1: move left to avoid the large obstacle
(c)
Step  2: navigate with obstacle-avoiding
(d)
Step  3: arrive at the destination


## 4.1. Navigation without Obstacle-Avoidance

As shown in Figure11(a), a basic model of a square formation contains 16 robots (
R
1
,
R
2
,
…
,
R
16
) and the angle θ is the orientation of the formation (as marked with an arrow).Basic model of a square formation and the problem of navigation without obstacle-avoidance.
(a)
(b)The problem of navigation without obstacle-avoidance is described in Figure11(b). The initial location of the swarm robot system is on the lower left corner with the orientation θ
=
θ
0 and the target position is on the right corner with the orientation θ
=
θ
t. The objective is to move the swarm robot system to the target position with θ
=
θ
t while maintaining the desired formation.An example of formation control while navigating without obstacle-avoidance using the simple centralized approach is shown in Figure12, where the whole task is divided into two subtasks named straight movement and rotation, and the sequence of these two subtasks is adjustable. For example, firstly, the formation rotates with an angle to make θ
=
θ
t and then move straight (Figure 12(a)). Or the formation adjusts the angle to face the target point at first and then move straight, rotates with an angle to make θ
=
θ
t (Figure 12(b)). This centralized control method is suitable to the task with strong centrality (e.g., the task of collective transportation). However, this method is not applicable to the complex environments or distributed tasks and its performance is not good regarding the cost of general movement. In order to complete the task of formation control in distributed and complex environments for swarm robots, the behavior-based control method of formation control is applied. The robot has the ability of formation-maintaining, obstacle-avoiding, and wall-following. The behavior vector for each robot is given by
(17)
V
direction
=
[
f
1
(
·
)
f
4
(
·
)
f
5
(
·
)
]
[
V
move_to_goal
V
aciod_robot
V
keep_formation
]
.An example of navigation without obstacle-avoidance using traditional centralized approach.
(a)
(b)With the parameter settings shown as in Table5, the performance for the problem of formation control of 16 robots without obstacle-avoidance is shown in Figure 13. It is clear that the rotation task is accomplished while moving toward the target position. Thus, the formation will be slightly deformed in the process of rotation, but the whole system still maintains the basic shape in general.Table 5
Control parameters of robot behavior for the problem of navigation without obstacle-avoidance.
a
m
b
m
a
r
b
r
a
k
1.0
4.0
3.0
2.0
1.0Performance of formation control of 16 robots in a square shape while navigating without obstacle-avoidance.
(a)
(b)
(c)
(d)
(e)
(f)To evaluate the performances regarding formation-keeping and movement smoothness, we define the ratio of deformationδ
j for robot R
j as
(18)
δ
j
=
2
d
k
j
d
j
-
i
,
where d
k
j is the distance between robot R
j and its ideal location in the formation. d
j
-
i is the fixed distance which should be maintained between robot R
j and its reference robot R
i. The maximum ratio of deformation is
(19)
δ
max
⁡
=
max
⁡
1
≤
j
≤
n
δ
j
.In order to maintain the basic formation,δ
max
⁡ must be less than 1, which is much related with the control parameter a
k for the behavior of keeping formation. The larger a
k is the greater the intensity of the formation-keeping behavior will be. But larger a
k may decrease the smoothness of the movement trajectory. Figure 14 shows a group of simulated experiments with different a
k and more details are listed in Table 6. It is clear that, to maintain a good performance of formation control while navigating without obstacle-avoidance, the value of a
k
∈
[
1.0,3.0
] is acceptable.Table 6
Performances of formation control regardingδ
max
⁡ for different a
k.
a
k
0.1
0.2
0.5
0.7
0.8
1.0
1.5
2.0
3.0
4.0
5.0
δ
max
⁡
1.97
1.73
1.14
1.01
0.9
0.8
0.65
0.57
0.52
0.61
0.75Performances of formation control fora
k
=
0.1,0.5,1.0,2.0,3.0,5.0, respectively.
(a)
(b)
(c)
(d)
(e)
(f)Another group of experimental results for the formation control of 100 robots in a square shape is shown as in Figure15. The initial and target orientation are θ
0
=
-
3
π
/
4 and θ
t
=
π
/
2. We set a
k
=
1.5 and the results show that this swarm robot system reaches the target location in the desired shape very successfully.The performance of formation control of 100 robots in a square shape while navigating without obstacle-avoidance.
(a)
(b)
(c)
(d)
(e)
(f)


## 4.2. Navigation with Obstacle-Avoidance

For the simple environments with a few distributed obstacles as shown in Figure16, the behavior-based formation control method does not need to adopt the behavior of wall-following. The behavior vector for every single robot is
(20)
V
direction
=
[
f
1
(
·
)
f
2
(
·
)
f
4
(
·
)
f
5
(
·
)
]
[
V
move_to_goal
V
avoid_obstacle
V
avoid_robot
V
keep_formation
]
.Simple environments with a few distributed obstacles.
(a)
With only one obstacle
(b)
With a few distributed obstaclesWhen any obstacles are detected, the behavior of avoiding obstacles will be triggered. To ensure the success of avoiding obstacles, the behavior of formation-keeping will be weakened when there is any obstacle detected. Only after leaving the obstacle region, the desired shape of formation will be recovered. The control parameters of formation-keeping are modified as(21)
f
5
(
d
5
)
=
{
0
,
d
k
∈
[
0
,
ε
]
a
k
d
k
,
d
k
∈
(
ε
,
+
∞
)
and
no
obstacles
a
k
ln
⁡
d
k
,
d
k
∈
(
ε
,
+
∞
)
and
with
obstacles
.Figures17 and 18 show the performance of formation control while avoiding obstacles, where a single obstacle is considered in Figure 18. The control parameters of the behavior-based method in situation of obstacles are listed in Table 7. Both of these two groups of experiments show the success of the proposed method for formation control while navigating with simple obstacle-avoidance.Table 7
The control parameters of the behavior-based method in situation of obstacles.
a
m
b
m
a
0
b
0
a
r
b
r
a
k
1.0
3.0
1.0
4.0
2.0
2.0
1.0Performance of formation control while avoiding a single obstacle.
(a)
Overall path of obstacle-avoidance
(b)
Step  1: avoid a single obstacle
(c)
Step  2: avoid a single obstacle
(d)
Step  3: arrive at the destinationPerformance of formation control while avoiding multiple obstacles.
(a)
Overall path of obstacle-avoidance
(b)
Step  1: avoid obstacles
(c)
Step  2: avoid obstacles
(d)
Step  3: arrive at the destination


## 4.3. Navigation in Complex Environment with Obstacle-Avoidance

For more complex environments where there are large obstacles or even local minima (e.g., as shown in Figure19), it is difficult to avoid the large obstacles by only using the behavior-based method and a communication mechanism will be necessary to help the swarm robot system avoid the large obstacles as an entity. The basic idea can be described as follows: according to the limited information about the obstacles detected by each robot, we design an appropriate information integration and decision-making mechanism to enable the unit to determine the existence of large obstacles and bypass the obstacles under the guidance of local sensing information.Complex environments with large obstacles.
(a)
Only with large obstacles
(b)
Complex environmentsThe local range sensing information is modeled as shown in Figure1(b) with {
L
1
,
L
2
,
R
1
,
R
2
}. For example, if any obstacle is detected in the L
1 area, we denote L
1
=
1, otherwise L
1
=
0. Hence if more than M robots in the front line of the formation detect obstacles in front of them (i.e., L
1
=
R
1
=
1), it is considered that the whole formation encounters a large obstacle or clustered multiobstacle. M is an adjustable parameter related to the formation size and the number of robots. In this paper, when the number of robots is 16, the diameter of the robot is 1 meter and the spacing between robots is 3 meters, we set M
=
2. Then we have the method of avoiding large obstacles as follows. (
1
) If there are more than M robots in the front line that encounter obstacles (whose sensing information L
1
=
R
1
=
1), the overall obstacle-avoiding will be triggered and an integrated moving direction will be given; (
2
) the whole formation takes this integrated movement until the sensor information is L
1
=
R
1
=
0 for all robots in the front line; (
3
) the whole formation goes forward until no robot on both sides detects any obstacle (i.e., L
2
=
R
2
=
0). Then the behavior-based formation control mechanism will be recovered.Two groups of experimental results are shown in Figures20 and 21, respectively. In both of these two complex environments, the swarm robot system can avoid large obstacles successfully. In particular, as shown in Figure 21, after detecting the large obstacles, the whole system finds that the obstacle does not block in front of the formation completely, so it decides to move left to avoid the large obstacle. After bypassing the large obstacle, the swarm robot system turns to the basic behavior-based formation control mechanism and continues to navigate with obstacle-avoiding.Performance of avoiding a large obstacle.
(a)
Overall path of obstacles-avoidance
(b)
Step  1: move right to avoid large obstacles
(c)
Step  2: navigate with moving to the goal
(d)
Step  3: arrive at the destinationPerformance of avoiding multiple obstacles including large obstacles.
(a)
Overall path obstacle-avoidance
(b)
Step  1: move left to avoid the large obstacle
(c)
Step  2: navigate with obstacle-avoiding
(d)
Step  3: arrive at the destination


## 5. Conclusions

In this paper, a behavior-based formation control approach for swarm robots is proposed by extending the behavior-based navigation method for single robots. Several behaviors are defined and studied for two typical formation control problems, that is, initial formation and formation control while navigating with obstacle-avoidance. For the initial formation problem, a classification-based searching method for any arbitrary shape of formation generating is presented. For the navigation problem, different situations are comprehensively studied, which includes navigation without obstacle-avoidance, navigation with obstacle-avoidance, and navigation in complex environments. All the simulated experimental results demonstrate the success of the proposed behavior-based formation control approach for swarm robots. Our future work will focus on robust control of swarm robots with uncertainties [32] and more practical issues regarding real swarm robotic systems.



---

*Source: 205759-2014-06-19.xml*