Next Article in Journal
Numerical Simulation of the Behavior of Toroidal and Spheroidal Multicellular Aggregates in Microfluidic Devices with Microwell and U-Shaped Barrier
Next Article in Special Issue
The Optimal Locomotion of a Self-Propelled Worm Actuated by Two Square Waves
Previous Article in Journal
Arrayed Force Sensors Made of Paper, Elastomer, and Hydrogel Particles
Previous Article in Special Issue
Swimming Characteristics of Bioinspired Helical Microswimmers Based on Soft Lotus-Root Fibers
Article Menu
Issue 12 (December) cover image

Export Article

Micromachines 2017, 8(12), 357; https://doi.org/10.3390/mi8120357

Article
The Multitasking System of Swarm Robot based on Null-Space-Behavioral Control Combined with Fuzzy Logic
1
Department of Cybernetics, University of Transport and Communication, Hanoi 122000, Vietnam
2
Department of Electrical Engineering and Automation, Haiphong Private University, Haiphong 181810, Vietnam
*
Author to whom correspondence should be addressed.
Received: 26 November 2017 / Accepted: 7 December 2017 / Published: 9 December 2017

Abstract

:
A swarm robot is a collection of large numbers of simple robots used to perform complex tasks that a single robot cannot perform or only perform ineffectively. The swarm robot works successfully only when the cooperation mechanism among individual robots is satisfied. The cooperation mechanism studied in this article ensures the formation and the distance between each pair of individual robots while moving to their destination while avoiding obstacles. The solved problems in this article include; controlling the suction/thrust force between each pair of individual robots in the swarm based on the fuzzy logic structure of the Singer-Input-Singer-Output under Mamdani law; demonstrating the stability of the system based on the Lyapunov theory; and applying control to the multitasking system of the swarm robot based on Null-Space-Behavioral control. Finally, the simulation results make certain that all the individual robots assemble after moving and avoid obstacles.
Keywords:
swarm robot; Lyapunov theory; fuzzy control; multitasking

1. Introduction

A flock is a gathering of a group of creatures, found in nature of many different species such as insect pests, ants, bees, termites, fish, etc. Flocking behavior can accomplish tasks that surpass the ability of the individual. So, researchers have modeled flocking activity, inheriting these advantages to apply to multi-robots. By the end of the 1980s, scientists had researched and built robotic teams with the capability of working and coordinating to perform a specific task [1].
The characteristics of the swarm robot are intellectual without requiring the complex manufacturing technology in the robot field [2,3]. The swarm robot can be used in many fields such as search [4,5], cleaning [6], and transportation [7,8]. So, swarm robots are increasingly attracting the interest of scientists around the world. A number of successful researches related to flock robots has brought swarm robots to more and more widespread applications in life, such as multi-robot system main principles [9,10,11,12,13,14,15,16], swarm robotics [17,18,19,20], human-multi-robot interaction [21,22], problem-specific works [23,24,25,26], and autonomous underwater vehicles [19,27].
In order that the robot individuals of the swarm can work together to perform a certain task, the first and most important problem that must be addressed is ensuring a collaborative mechanism among robots. When an individual robot performs a task, it must avoid obstacles, but it is not separated or cannot collide with others [28,29]. So, before researching the specialized applications of the swarm robot, the first problem that needs to be solved is ensuring the swarm and the distance among individuals while moving and avoiding obstacles.
Some researchers have solved the above problem as in references [30,31,32,33]. All of these studies are on the interaction between each pair of individuals and between the individual and the environment. The interactions are expressed by the suction/thrust force among individuals, usually explicit mathematical functions, but there is no convincing explanation. In reality, the working environment of the swarm robot is quite complex, frequently changing, and each robot consists of a collection of many details such as the engine, power circuit, control circuit, etc. so it is difficult to determine an explicit mathematical model, or even impossible to identify.
In order for the model system to get closer to nature, this article proposes a solution which uses fuzzy logic for controlling the suction/thrust force between each pair of individuals in the swarm. The advantage of this solution is that the object can be controlled easily without the requirement of knowing the object mathematical equation. Then, the authors applied this method to control the multitasking system of a swarm robot.
Multitasking in a swarm robot means that each individual robot in the swarm must perform multiple tasks at the same time; research [34] has also introduced two basic mechanisms to solve the multitasking problem as follows:
The first is an arbitration mechanism: the controller only obeys the output commands of the higher-priority behavior. The lower-priority behavior can only be performed if the output of the higher-priority behavior is equal to zero. The drawback of this mechanism is that when the behaviors are not inconsistent with each other they still cannot be done at the same time.
The second is the integration mechanism: The command is created based on a combination of several behaviors. The drawback of this mechanism is that when the behaviors are inconsistent with each other, they cannot be done at the same time.
Thus, the arbitration mechanism (competition) only allows one task at the same time, so this mechanism is rarely used. The integration mechanism allows for combining several tasks to achieve a different mission, but it is difficult to perform conflicting tasks. Research [35] has introduced a new method to solve the above limitations, which is the null space behavioral (NSB) control method. Based on this method, the complex task of the swarm robot can be divided into different basic tasks (behaviors), these tasks are properly combined to achieve the objective mission. The main steps of this method are determining the priority assignment of each basic task, then projection of the lower-priority tasks on the null-space of the higher-priority task.
So, the current authors combine the two best-fit methods to control the swarm robot: the first is using fuzzy logic to control the suction/thrust force among the individual robots. The advantage of this method is that the object can be controlled easily without the requirement of knowing the mathematical equation; the second is using the null-space behavioral control method for the multitasking system of swarm robot. The advantage of this method is that it allows the robot to perform many tasks easily at the same time.

2. Building the Function of the Suction/Thrust Ford Based on Fuzzy Logic

Considering a set of N individuals in n-dimensional Euclidean space (n ≤ 3). Assume that each individual is a point and ignore their size and mass, the position of the individual (i) in the swarm is p i = [ p 1 i p 2 i p n i ] R n . The movement of individual robots in a homogeneous environment will depend on the interaction between the individual and all other individuals. The homogeneous environment is an environment where there is no obstruction, no external disturbance affecting the swarm. If pairs of individuals are far apart, they need to move toward each other by suction force in order to maintain the swarm. Conversely, if pairs of individuals are near together, they need to move away from each other by thrust force to avoid collisions. So, the interplay among individuals in the swarm will depend on the distance between the pairs of individuals. The interaction force between two individuals (i and j) is defined as follows:
f = f ( p j p i )
where: p j p i is the distance between two individuals i and j.
The actual distance between two robots (i and j):
σ s = p j p i = ( p 1 j p 1 i ) 2 + ( p 2 j p 2 i ) 2 + + ( p n j p n i ) 2
Named:
g ( p j p i ) = f ( p j p i ) p j p i = f ( σ s ) σ s = g a ( σ s ) g r ( σ s )
where: g(·) is the suction/thrust force between two individuals (i, j), g a ( · ) is the thrust force, g r ( · ) is the suction force. σ s ∈ R is the distance between two individuals i and j, where the suction force and thrust between the two individuals are in equilibrium, which means:
( σ s ) { = 0 i f     σ s = σ s < 0 i f     0 < σ s < σ s > 0 i f     0 < σ s < σ s
σ ~ s is the error between the real distance and the desired distance:
σ ~ s = σ s σ s
The interaction force f( σ s ) among individuals in the swarm is a nonlinear function that depends on the distance between each pair of individuals (i, j). So, we can construct the function f ( σ s ) based on a Mamdani fuzzy system with the Singer-Input-Singer-Output (SISO) structure as follows:
  • First step
    The input signal is u = σ ~ s = σ s σ s , assume that the value domain of u is [αb, βb] ∈ R, divide this domain into 2Nf + 1 in the range Bk as shown in Figure 1.
    The output signal is A = f ( σ s σ s ) with the value domain [αa, βa], divide this value domain into 2Nf + 1 in the range Ak as shown in Figure 2 (k = 1, 2, …, 2Nf + 1). a k is the focus of the fuzzy range Ak:
    a k { < 0 i f     k = 1 ,   2 , N f                             = 0 i f     k = N f + 1             > 0 i f     k = N f + 2 , ,   2 N f + 1
  • The second step: establishing 2Nf + 1 rule IF-THEN with the form: IF: u = B k , THEN: A = A k
  • The third step: defuzzifier using the central area method, we have control laws as follows [36]:
    f ( u ) = k = 1 2 N f + 1 a k μ B k ( u ) k = 1 2 N f + 1 μ B k ( u )
With the solution to design the fuzzy control through the above three steps, the relationship between the input signal and the output signal is the relationship between the distance and the interaction force between individuals (i, j):
{ f ( σ s ) > 0 ,     i f   σ s > σ s f ( σ s ) < 0 ,     i f     0 < σ s < σ s f ( σ s ) = 0 ,     i f   σ s = σ s
The fuzzy function f ( σ s ) is a continuous function which satisfies the following conditions:
  • Upper and lower limits:
    A min f ( σ s ) A max
    where: A min = a 1 ,     A max = a 2 N f   +   1
  • The equation of a part linearization:
    f ( σ s ) = ( a k   +   1 a k ) u + a k u k   +   1 a k   +   1 u k u k   +   1 u k
    where:   u [ u k ,       u k   +   1 ] , k { 1 ,   2 , ,   2 N f }
G amin ,   G amax is the smallest and largest value of the suction force, G rmin ,   G rmax is the smallest and largest value of the thrust. From (6) we can find the limits of the function g ( σ s ) as follows:
0 G amin g ( σ s ) G amax ,   if   σ s > σ s
G rmin g ( σ s ) G rmax < 0 ,   if   0 < σ s < σ s
where
G amax = max N f + 2 k 2 N f + 1 [ a k + 1 a k u k + 1 u k ]
G amin = min N f + 2 k 2 N f + 1 [ a k + 1 a k u k + 1 u k ]
G rmax = max 1 k N f [ a k + 1 a k u k + 1 u k ]
G rmin = min 1 k N f [ a k + 1 a k u k + 1 u k ]

3. The Stability of the System

Assume that the individuals move in sync and have no delay, all individuals in the swarm know exactly the relative position of all other individuals, the dynamic Equation (1) can be rewritten as follows:
p i = j = 1 , j i N f ( p j p i ) ( p j p i ) p j p i = j = 1 , j i N g ( p j p i ) ( p j p i )
where: ( p j p i ) p j p i displays the direction of the force from the individual (i) to the individual (j), f ( p j p i ) is the interaction force depending on the distance between the pair of individuals (i, j).
If g(·) > 0, this interaction is the suction force, if g (·) < 0, this interaction is the thrust.
The center of the swarm is defined by the following formula:
p c = 1 N i = 1 N p i
The derivational of the center p c :
p c = 1 N i = 1 N j = 1 ,   j i N g ( p j p i ) ( p j p i ) = 1 N i = 1 N 1 j = i + 1 N [ g ( p j p i ) ( p j p i ) + g ( p i p j ) ( p i p j ) ] = 0
The Equation (10) shows that the center of the swarm robot described by the Equation (8) where the suction/thrust force as Equation (3) is invariant.
The different position between individual (i) and the center is as follows:
e i = p i p c   ( i = 1 ,   2 , , N )
The derivational of e i :
e i = p i p c = p i
Select the Lyapunov function for the individual robot (i):
V i = 1 2 e i 2 = 1 2 e iT e i  
The derivational of V i :
V i = e iT e i   = p iT e i   = j = 1 N g ( p j p i ) ( p j p i ) T e i  
The sum of Lyapunov functions of all individuals:
V = i = 1 N V i = 1 2 i = 1 N e iT e i
The derivational of V:
V = i = 1 N j = 1 N g ( p j p i ) ( p j p i ) T e i   = i = 1 N 1 j = i + 1 N [ g ( p j p i ) ( p j p i ) T e i + g ( p i p j ) ( p i p j ) T e j ]
where: p j p i = ( p j p c ) ( p i p c ) = e j e i .
Named: e = e j e i
g ( p j p i ) ( p j p i ) T e i   + g ( p i p j ) ( p i p j ) T e j   = g ( p j p i ) [ ( p j p i ) T e i   + ( p i p j ) T e j   ] = g ( p j p i ) ( p i p j ) T ( e j e i ) = g ( p j p i ) p j p i 2
So:
V = i = 1 N 1 j = i + 1 N g ( p j p i ) p j p i 2 = 1 2 i = 1 N j = 1 N g ( p j p i ) p j p i 2
Named: S 1 = { ( i ,   j ) :   p j p i > σ s } ;   S 2 = { ( i ,   j ) :   p j p i < σ s }
S 1 = i = 1 N j = 1 N ,       ( i ,   j ) S 1 ;   S 2 = i = 1 N j = 1 N ,       ( i ,   j ) S 2
Equation (14) can be rewritten as follows:
V = 1 2 S 1 g ( p j p i ) p j p i 2 1 2 S 2 g ( p j p i ) p j p i 2 = 1 2 [ S 1 g ( p j p i ) p j p i 2 + S 2 g ( p j p i ) p j p i p j p i 2 ] 1 2 [ S 2 g ( p j p i ) p j p i 2 S 2 g ( p j p i ) p j p i p j p i 2 ] = 1 2 [ S 1 g ( p j p i ) p j p i 2 + S 2 f ( p j p i ) p j p i 2 ] 1 2 [ S 2 g ( p j p i ) p j p i 2 + S 2 f ( p j p i ) p j p i 2 ]
From Condition (5), we infer:
S 2 f ( p j p i ) p j p i 2 A min S 2 p j p i 2 ; S 1 g ( p j p i ) p j p i 2 G amin S 1 p j p i 2
Considering the second component of Equation (15):
S 2 g ( p j p i ) p j p i 2 S 2 f ( p j p i ) p j p i 2 S 2 g ( p j p i ) p j p i 2 S 2 A min p j p i 2
The left side of the Inequality (16):
S 2 g ( p j p i ) p j p i 2 S 2 A min p j p i 2 = S 2 f ( p j p i ) A _ p j p i p j p i p j p i 2
Named: f S 2 = f ( p j p i ) + A min p j p i
Set β is the largest value of f S 2 in the domain S2. The graph of total f S 2 is shown in Figure 3.
Named β = A min σ s . So:
S 2 f ( p j p i ) + A _ p j p i p j p i p j p i 2 β S 2 p j p i
Thus, the Inequality (16) is equivalent to:
S 2 g ( p j p i ) p j p i 2 S 2 f ( p j p i ) p j p i 2 A min σ s S 2 p j p i
The first component of Equation (15):
S 1 g ( p j p i ) p j p i 2 + S 2 f ( p j p i ) p j p i 2 = S 1 g ( p j p i ) p j p i 2 + S 2 A min p j p i 2
Named α = min { G amin ,   A min } , we have:
S 1 g ( p j p i ) p j p i 2 + S 2 f ( p j p i ) p j p i 2 α S 1 S 2 p j p i 2
Combination of Inequalities (16) and (18), with p j p i σ s ,   ( i ,   j ) S 2 , we have:
V α i = 1 N j = 1 N p j p i 2 +   A min σ s 2
From the definition of the swarm robot center, we have:
j = 1 N p j = Np c
Two sides of (20) minus Ne i , we have:
j = 1 N ( p i p j ) = N ( p i p c )
Thus, the sum of the squared deviations is given by the formula:
i = 1 N e i 2 = 1 N i = 1 N j = 1 N ( p i p j ) T e i = 1 N i = 1 N 1 j = 1 N p j p i 2 = 1 2 N i = 1 N j = 1 N p j p i 2
Combining Equations (17) and (21) we have:
V 2 N α i = 1 N e i 2 +   A min σ s 2
V < 0 when i = 1 N e i 2 > A min σ s 2 2 N α . So, we can conclude with the following theorem:
Theorem: 
Swarm robots are modeled by Equation (8) with the fuzzy control law of suction/thrust force constructed according to (3), satisfying Conditions (4). After a period, all individuals of the swarm will be converged in a restricted area by:
σ = { p j p i 2 σ 2 }
where σ = A min σ s 2 2 N α = α s A min 2 N α is the convergent radius of the swarm.
The effect of the parameters on the restricted area of the swarm ( σ ) is as follows:
  • If A min increases, the thrust increases, the restricted area of the swarm robot increases.
  • If α increases, the restricted area of the swarm robot decreases.
  • If the size of the swarm (N) is bigger, the restricted area is lower.

4. Multitasking-Control System of Swarm Robot

When the robots perform the task of moving to a destination, on the way they must avoid obstacles. So, each robot in the swarm has three tasks as follows:
  • The first task is avoiding obstacles
  • The second task is moving to the destination.
  • The third task is maintaining the swarm: Avoiding collisions among individuals in the swarm, but not splitting the group.
In order for the robot to perform the above tasks, the supervisor selects the priority of the tasks. In this study, the priority of the tasks in order is: Avoiding obstacles, moving to the destination, and maintaining the swarm. Assume that the obstacles are static and are known then the speed vector of each robot based on the null- space behavioral control technique [36] is calculated according to Figure 4.
The speed of the robot (i) is determined as follows:
v i = v o + N o v g + N og v s
where v o , v g , v s are the speed vectors performing the tasks: Avoiding obstacles, moving to the destination and maintaining the swarm. N o , N og are the projection matrixes according to the priority of the tasks.

4.1. Determining the Speed Component Avoiding Obstacles

Assume that in the working environment of the swarm the robot has M obstructions, p o m   = [ p 1 o m p 2 o m p n o m ] R n × 1 is the position of the obstruction (m) in n-dimensional space, (m = 1 ÷ M).
σo ∈ R is the actual distance between the individual robot (i) and the obstacle (m):
σ o = p o m p i = ( p 1 o m p 1 i ) 2 + ( p 2 o m p 2 i ) 2 + + ( p n o m p n i ) 2
The purpose of the speed component avoiding obstacle is that if the obstacle lies in the moving way, the robot must be kept away from the obstacle at a safe distance σ o , d = σ o , if the obstacle is outside the safe area of the robot, the obstacle does not affect the movement speed of the robot. So, the movement speed of the robot depends on the distance between the robot and the obstacle.
The Jacobi Matrix J o R M × n shows the movement speed of the robot avoiding obstacles:
J o = [ [ p o 1 p i p o 1 p i ] T [ p o 2 p i p o 2 p i ] T [ p o M p i p o M p i ] T ] = p ^ io T
The Matrix inverse of Jo:
J o + = p ^ io ,   J o + R n × M
The projection matrix of Jo:
N o = I n p ^ io p ^ io T ,   N o R n   ×   n
where In is the unit matrix.
The speed component avoiding the obstacle is defined as follows:
v o = k vo J o + ( σ o σ o ) = k vo J o + σ ~ o
where k vo is a negative coefficient, σ ~ o = σ o σ o is the error between the actual distance and the desired distance from the robot to the obstacle.

4.2. Determining the Speed Component Moving to the Target

Named p g   = [ p 1 g p 2 g p n g ] R n × 1 is the position of the target, σg∈ R is the actual distance between the robot (i) and the target, σ g is calculated according to the formula:
σ g = p g p i = ( p 1 g p 1 i ) 2 + ( p 2 g p 2 i ) 2 + + ( p n g p n i ) 2
The purpose of the speed component moving to the target is that the desired distance ( σ g ) is equal to 0:
σ g , d = σ g = 0
The Jacobi Matrix J g R 1 × n :
J g = [ p g p i p g p i ] T = p ^ ig T
The Matrix inverse of Jg:
J g + = p ^ ig ,       J g + R n × 1
The projection matrix of Jg:
N g = I n p ^ ig p ^ ig T ,   N g R n × n
The speed component moving to the target (i) is rewritten as follows:
v g = k vg J g + ( σ g σ g ) = k vg J g + σ ~ g
where k vg is a positive coefficient, σ ~ g = σ g σ g is the error between the actual distance and the desired distance from the robot to the target:
σ ~ g = σ g σ g = σ g

4.3. Determining the Maintained-Swarm Speed Component

The purpose of the maintained-swarm speed component is keeping σ s = σ s R . In this condition, the difference between the actual distance and the desired distance is:
σ ~ s = σ s σ s
From the model Equation (8) of the individual robot (i), the Jacobi matrix J s :
J s = p ^ s T = [ J s 1 J s 2 J sN ] = [ p ^ s 1 T p ^ s 2 T p ^ sN T ] = [ [ p 1 p i p 1 p i ] T [ p 2 p i p 2 p i ] T [ p N p i p N p i ] T ] R N × n
The Matrix inverse of Js:
J s + = p ^ s = [ J s 1 J s 2 J sN ] T = [ p ^ s 1 T p ^ s 2 T p ^ sN T ] T = [ [ p 1 p i p 1 p i ] T [ p 2 p i p 2 p i ] T [ p N p i p N p i ] T ] T R n × N
The projection matrix of Js:
N s = I n p ^ s p ^ s T ,   N s R n × n
The maintained-swarm speed component of the individual robot (i) is defined as follows:
v s = J s + f ( σ ~ s ) R n × 1
Combining all the speed vectors of each robot when performing all three tasks based on the NSB method is shown in Figure 4:
v i = v o + N o v g + N og v s = k vo J o + σ ~ o + k vg N o J g + σ ~ g + N og J s + f ( σ ~ s )
where: v i R n × 1 ,   J og = [ J o J g ] ,     J og R ( M + 1 ) × n , N og = I n J og + J og ,       N og R n × n .

4.4. The Algorithm of Swarm Robot Control for Performing Multiple-Task

The algorithm of swarm robot control for performing multiple-tasks includes the following steps:
  • The first step
    Enter the number (N) of robots in the swarm.
    Enter the number (M) of obstacles in the moving space.
    Initially the position of individual robots in n-dimensional space:
    p 1 = [ p 1 1 p 2 1 p n 1 ] ,   p 2 = [ p 1 2 p 2 2 p n 2 ] ,     p N = [ p 1 N p 2 N p n N ]
    Placement of M obstacles and the destination (g) in n-dimensional space:
    p o 1 = [ p 1 o 1 p 2 o 1 p n o 1 ] ,   p o 2 = [ p 1 o 2 p 2 o 2 p n o 2 ] ,   p oM = [ p 1 oM p 2 oM p n oM ] ,   p g = [ p 1 g p 2 g p n g ]
    Enter the safe distance between the individual robot and obstacle σ o , the safe distance among robot individuals σ s
    Enter the coefficients k vo and k vg
    Enter the number of steps to calculate (K).
  • The second step
    Calculating the distance between each robot (i) and each obstacle σ o , the distance between each robot and target, the distance between robot (i) and robot (j).
    Calculating the suction/thrust force f ( σ s ) according to Equation (3), satisfying Condition (4).
  • The third step
    Comparing the actual distance and safe distance from the robot (i) to the obstacle (m):
    If σ o σ o , the robot (i) does not need to avoid the obstacle (o), it means   J o = [ 0 ] .
    If σ o < σ o , the robot (i) needs to avoid the obstacle (o), calculating   J o by Formula (26). Calculating J o + ,   N o ,   v o .
    Comparing the actual distance and the desired distance from the robot (i) to the target:
    If σ g = 0 , the robot (i) reached the target g, J g = [ 0 ] .
    If σ g > 0 , the robot (i) has not reached the target, calculating   J g by the Formula (24).
    Calculating J g + ,   N g ,   v g , calculating: J og , J og + , N og .
    Comparing the actual distance and the desired distance from the robot (i) to the robot (j):
    If σ s > σ s , the robot (i) and the robot (j) move towards each other by the suction force f ( σ s ) > 0 .
    If σ s < σ s , the robot (i) and the robot (j) move away from each other by the thrust force   f ( σ s ) < 0 .
    If σ s = σ s , the robot (i) and the robot (j) keep their route because of f ( σ s i ) = 0 .
    Calculating J s , J s + , v s .
  • The fourth step
    The speed of the individual (i) at the step k (k = 0 ÷ K − 1) is determined by the formula:
    v i [ k ] = v o [ k ] + N o [ k ] v g [ k ] + N og [ k ] v s [ k ]
    The distance moved of the robot (i) in a step time( Δ t ):
    Δ S i [ k + 1 ] = Δ S i [ k ] + v i [ k ]   ×   Δ t
    The new position of the robot (i) after k + 1 steps:
    p i [ k + 1 ] = p i [ k ] + Δ S i [ k + 1 ]
Repeat from the second step to the fourth step until all individuals converge at the target and after K calculation steps.

5. Simulation Results and Analysis

We ran the simulation in the two-dimensional coordinate system [500, 500]. The initial position of the robots, obstacles, and targets are random. The convergence process of the swarm robot without obstacles is shown in Figure 5.
R is the actual convergence radius of the swarm robot, R is also the distance from the nearest robot to the center of the swarm. The results of the calculation of the parameters in certain cases are presented in Table 1.
The results in Table 1 show that:
  • If the size of the swarm (N) increases, the convergence radius decreases;
  • If the safe distance ( σ s ) increases, the convergence radius increases;
  • The actual convergent radius (R) is always smaller than the calculated value (σ).
The simulation results are consistent with the theorem that the authors expressed above.
Run the swarm robot model with the obstacles, then the simulation results when the number of robots are changing and the priority coefficient is changing are shown in Figure 6 and Figure 7.
Figure 6 shows that all individual robots have moved to their destination and avoided obstacles along the way. After individual robots converge to the destination, they only move around the destination area and do not move away.
The simulation results when changing the priority coefficients k vo and k vg are shown in Figure 7. From the simulation results, we see:
  • If the coefficient k vg is larger, the individual movement to the target is faster.
  • If we want to increase the coefficient k vg but not let the robot collide with obstacles, we must reduce the coefficient k vo . This means, if k vg is more positive, k vo must be more negative.
  • If the number of obstacles (M) is bigger, the avoid-obstacle-coefficient ( k vo ) must be more negative. If the coefficient k vo is more negative, the ability of the robots to avoid obstacles is better, but the moving time to the destination will be longer.

6. Conclusions

In this paper, the authors applied both fuzzy logic to control the suction/thrust force between individuals in the swarm, and the null-space behavioral control technique to determine the total speed vector of each robot. The proposed solution is close to nature with high flexibility by selecting the input/output, defuzzifier, and the fuzzy rules. The simulation results coincide with the theories proposed by the authors. Compared with the previous methods, the advantage of our proposed method is that the object can be controlled easily without the requirement of knowing the mathematical equation. We controlled effectively a swarm robot without the object model equations. All individuals of the swarm move together to the destination without collision, and ensure the task of avoiding obstacles.

Author Contributions

Nga Le Thi Thuy proposed the initial idea. Thang Nguyen Trong and Nga Le Thi Thuy developed the research and analyzed the results together. Thang Nguyen Trong wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Darmanin, R.N.; Bugeja, M.K. A review on multi-robot systems categorised by application domain. In Proceedings of the 2017 25th Mediterranean Conference on Control and Automation (MED), Valletta, Malta, 3–6 July 2017; pp. 701–706. [Google Scholar]
  2. Li, D.; Fan, Q.; Dai, X. Research status of multi-robot systems task allocation and uncertainty treatment. J. Phys. Conf. Ser. 2017, 887, 012081. [Google Scholar] [CrossRef]
  3. Gautam, A.; Mohan, S. A review of research in multi-robot systems. In Proceedings of the 2012 7th IEEE International Conference on Industrial and Information Systems (ICIIS), Chennai, India, 6–9 August 2012; pp. 1–5. [Google Scholar]
  4. Bruemmer, D.J.; Dudenhoeffer, D.D.; McKay, M.D.; Anderson, M.O. A Robotic Swarm for Spill Finding and Perimeter Formation. 2002. Available online: https://pdfs.semanticscholar.org/baa7/5fc5db081a730a01ecfccb42167c62d39c58.pdf (access on 9 December 2017).
  5. Mataric, M.J. Behaviour-based control: Examples from navigation, learning, and group behaviour. J. Exp. Theor. Artif. Intell. 1997, 9, 323–336. [Google Scholar] [CrossRef]
  6. Correll, N.; Martinoli, A. Multirobot inspection of industrial machinery. IEEE Robot. Autom. Mag. 2009, 16, 103–112. [Google Scholar] [CrossRef]
  7. Kube, C.R.; Bonabeau, E. Cooperative transport by ants and robots. Robot. Auton. Syst. 2000, 30, 85–101. [Google Scholar] [CrossRef]
  8. Miyata, N.; Ota, J.; Arai, T.; Asama, H. Cooperative transport by multiple mobile robots in unknown static environments associated with real-time task assignment. IEEE Trans. Robot. Autom. 2002, 18, 769–780. [Google Scholar] [CrossRef]
  9. Farinelli, A.; Iocchi, L.; Nardi, D. Multirobot systems: A classification focused on coordination. IEEE Trans. Syst. Man Cybern. Part B (Cybern.) 2004, 34, 2015–2028. [Google Scholar] [CrossRef]
  10. Parker, L.E. Multiple mobile robot systems. In Springer Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2008; pp. 921–941. [Google Scholar]
  11. Cai, Y.; Yang, S.X. A survey on multi-robot systems. In Proceedings of the World Automation Congress (WAC), Puerto Vallarta, Mexico, 24–28 June 2012; pp. 1–6. [Google Scholar]
  12. Yan, Z.; Jouandeau, N.; Cherif, A.A. A survey and analysis of multi-robot coordination. Int. J. Adv. Robot. Syst. 2013, 10, 399. [Google Scholar] [CrossRef]
  13. Cao, Y.; Yu, W.; Ren, W.; Chen, G. An overview of recent progress in the study of distributed multi-agent coordination. IEEE Trans. Ind. Inf. 2013, 9, 427–438. [Google Scholar] [CrossRef]
  14. Gerkey, B.P.; Matarić, M.J. A formal analysis and taxonomy of task allocation in multi-robot systems. Int. J. Robot. Res. 2004, 23, 939–954. [Google Scholar] [CrossRef]
  15. Khamis, A.; Hussein, A.; Elmogy, A. Multi-robot task allocation: A review of the state-of-the-art. Coop. Robot. Sens. Netw. 2015, 604, 31–51. [Google Scholar]
  16. Dias, M.B.; Zlot, R.; Kalra, N.; Stentz, A. Market-based multirobot coordination: A survey and analysis. Proc. IEEE 2006, 94, 1257–1270. [Google Scholar] [CrossRef]
  17. Brambilla, M.; Ferrante, E.; Birattari, M.; Dorigo, M. Swarm robotics: a review from the swarm engineering perspective. Swarm Intell. 2013, 7, 1–41. [Google Scholar] [CrossRef]
  18. Dorigo, M.; Floreano, D.; Gambardella, L.M.; Mondada, F.; Nolfi, S.; Baaboura, T.; Burnier, D. Swarmanoid: a novel concept for the study of heterogeneous robotic swarms. IEEE Robot. Autom. Mag. 2013, 20, 60–71. [Google Scholar] [CrossRef]
  19. Champion, B.T.; Joordens, M.A. Underwater swarm robotics review. In Proceedings of the 2015 10th System of Systems Engineering Conference (SoSE), San Antonio, Texas, USA, 17–20 May 2015; pp. 111–116. [Google Scholar]
  20. Son, J.H.; Ahn, H.S. Cooperative reinforcement learning: brief survey and application to bio-insect and artificial robot interaction. In Proceedings of the IEEE/ASME International Conference on Mechtronic and Embedded Systems and Applications, 2008 (MESA 2008), Beijing, China, 12–15 October 2008; pp. 71–76. [Google Scholar]
  21. Goodrich, M.A.; Schultz, A.C. Human-robot interaction: A survey. Found. Trends Hum.-Comput. Interact. 2007, 1, 203–275. [Google Scholar] [CrossRef]
  22. Chen, J.Y.; Barnes, M.J. Human-agent teaming for multirobot control: A review of human factors issues. IEEE Trans. Hum.-Mach. Syst. 2014, 44, 13–29. [Google Scholar] [CrossRef]
  23. Guanghua, W.; Deyi, L.; Wenyan, G.; Peng, J. Study on formation control of multi-robot systems. In Proceedings of the 2013 Third International Conference on Intelligent System Design and Engineering Applications (ISDEA), Hong Kong, China, 16–18 January 2013; pp. 1335–1339. [Google Scholar]
  24. Yang, M.; Yan, G.G.; Tian, Y.T. A review of studies in flocking for multi-robot system. In Proceedings of the 2010 International Conference on Computer, Mechatronics, Control and Electronic Engineering (CMCE), Changchun, China, 24–26 August 2010; pp. 28–31. [Google Scholar]
  25. Portugal, D.; Rocha, R. A Survey on Multi-Robot Patrolling Algorithms. 2011. Available online: http://ap.isr.uc.pt/archive/dportugalPR11_Doceis2011.pdf (access on 9 December 2017).
  26. Liu, Y.; Nejat, G. Robotic urban search and rescue: A survey from the control perspective. J. Intell. Robot. Syst. 2013, 72, 147. [Google Scholar] [CrossRef]
  27. Cook, D.; Vardy, A.; Lewis, R. A survey of AUV and robot simulators for multi-vehicle operations. In Proceedings of the 2014 IEEE/OES Autonomous Underwater Vehicles (AUV), Oxford, MS, USA, 6–9 October 2014; pp. 1–8. [Google Scholar]
  28. Xiong, N.; He, J.; Yang, Y.; He, Y.; Kim, T.H.; Lin, C. A survey on decentralized flocking schemes for a set of autonomous mobile robots. JCM 2010, 5, 31–38. [Google Scholar] [CrossRef]
  29. Olfati-Saber, R. Flocking for multi-agent dynamic systems: Algorithms and theory. IEEE Trans. Autom. Contr. 2006, 51, 401–420. [Google Scholar] [CrossRef]
  30. Gazi, V.; Passino, K.M. Stability analysis of swarms. IEEE Trans. Autom. Contr. 2003, 48, 692–697. [Google Scholar] [CrossRef]
  31. Wang, L.; Fang, H. Stability analysis of practical anisotropie swarms. In Proceedings of the 2010 11th International Conference on Control Automation Robotics & Vision (ICARCV), Singapore, 7–10 December 2010; pp. 768–772. [Google Scholar]
  32. Chen, X.B.; Pan, F.; Li, L.; Fang, H. Practical stability analysis for swarm systems. In Proceedings of the IECON 2006-32nd Annual Conference on IEEE Industrial Electronics, Paris, France, 6–10 November 2006; pp. 3904–3909. [Google Scholar]
  33. Xue, Z.; Zeng, J.; Feng, C.; Liu, Z. Swarm target tracking collective behavior control with formation coverage search agents & globally asymptotically stable analysis of stochastic swarm. JCP 2011, 6, 1772–1780. [Google Scholar]
  34. Brooks, R. A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 1986, 2, 14–23. [Google Scholar] [CrossRef]
  35. Marino, A.; Parker, L.E.; Antonelli, G.; Caccavale, F. A decentralized architecture for multi-robot systems based on the null-space-behavioral control with application to multi-robot border patrolling. J. Intell. Robot. Syst. 2013, 71, 423–444. [Google Scholar] [CrossRef]
  36. Wolkenhauer, O. A course in fuzzy systems and control. Int. J. Electr. Eng. Educ. 1997, 34, 282. [Google Scholar] [CrossRef]
Figure 1. The membership function of the input.
Figure 1. The membership function of the input.
Micromachines 08 00357 g001
Figure 2. The membership function of the output.
Figure 2. The membership function of the output.
Micromachines 08 00357 g002
Figure 3. The graph of total f S 2 .
Figure 3. The graph of total f S 2 .
Micromachines 08 00357 g003
Figure 4. The speed vector of each robot based on the null-space behavioral control technique.
Figure 4. The speed vector of each robot based on the null-space behavioral control technique.
Micromachines 08 00357 g004
Figure 5. The convergence process of the swarm robot without obstacles.
Figure 5. The convergence process of the swarm robot without obstacles.
Micromachines 08 00357 g005
Figure 6. The simulation results of the multi task process after a period.
Figure 6. The simulation results of the multi task process after a period.
Micromachines 08 00357 g006
Figure 7. The simulation results of the multitask process when the coefficients k vo   and k vg are changing.
Figure 7. The simulation results of the multitask process when the coefficients k vo   and k vg are changing.
Micromachines 08 00357 g007
Table 1. The parameters in certain cases.
Table 1. The parameters in certain cases.
N σ s αβσR
10100.029.7415.616.18
10300.0225.3743.6217.06
20100.028.4010.254.10
20300.0225.3330.8215.18
30100.028.238.773.91
30300.0225.2525.2315.04

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Micromachines EISSN 2072-666X Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top