Mathematical Problems in Engineering
Volume 2020 (2020), Article ID 7357464, 9 pages
https://doi.org/10.1155/2020/7357464

Research Article

Flocking Control of Mobile Robots with Obstacle Avoidance Based on Simulated Annealing Algorithm

Jin Cheng and Bin Wang

University of Jinan, Jinan, China

Correspondence should be addressed to Jin Cheng; cse_chengj@ujn.edu.cn

Received 20 March 2020; Revised 5 May 2020; Accepted 28 May 2020; Published 27 June 2020

Guest Editor: Carlos Llopis-Albert

Copyright © 2020 Jin Cheng and Bin Wang. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

Flocking control problem of mobile robots under environment with unknown obstacles is addressed in this paper. Based on the simulated annealing algorithm, a flocking behaviour for mobile robots is achieved which converges to alignment while avoiding obstacles. Potential functions are designed to evaluate the positional relationship between robots and obstacles. Unlike the existing analytical method, simulated annealing algorithm is utilized to search the quasi-optimal position of robots in order to reduce the potential functions. Motion control law is designed to drive the robot move to the desired position at each sampling period. Experiments are implemented, and the results illustrate the effectiveness of the proposed flocking control method.

1. Introduction

Flocking problems are studied and applied in many research fields, such as self-organized mobile sensor networks in [1], cooperative unmanned aerial vehicles (UAVs) in [2–5], and military reconnaissance in [6]. Research of flocking behaviour stems from the coordination phenomena in nature, from swarming of bacteria, biochemical cellular networks, up to flocking of birds, schooling of fish, and herds of land animals [7]. Reynolds proposed a computer model of coordinated animal motion named “boids” in [8] and defined three concepts to describe the behaviours of boids:

(1)Collision avoidance: avoid collisions with nearby flockmates(2)Velocity matching: attempt to match velocity with nearby flockmates(3)Flock centering: attempt to stay close to nearby flockmates

These behaviours are seen in astonishing amount of coordinated systems, which exhibit unbelievable efficient and robust coordination [9, 10]. These inspired a lot of work in statistical physics and control theories about stability. Flocking behaviour has been addressed in the context of nonequilibrium phenomena in many degree-of-freedom dynamical systems and self-organization in systems of self-propelled particles [7, 11, 12].

Booming-related work has been done worldwide in the last decades. Some works focus on the dynamic model of mobile robots [13]. In [14], a method based on the intrinsic properties of the Euclidean plane is proposed for the calculation of the moving mechanism on a trajectory. In [15], a direct analytical method for solving the linear transformation of the characteristic equation for industrial robots is proposed. A model predictive flocking control scheme for second-order multiagent systems with input constraints is designed in [16]. In [17], a dynamic pinning control algorithm (DPCA) is developed to generate stable flocking motion for all the agents without the assumption of connectivity or initial connectivity of the network. In [18], a distributed control protocol with individual local information is proposed for the second-order multiagent system with interference. The problem of flocking and velocity alignment in a group of kinematic nonholonomic agents in 2 and 3 dimensions is addressed in [19]. A geodesic control law that minimizes a misalignment potential and results in velocity alignment and flocking is proposed. In [20], the flocking of multiple agents which have significant inertias and evolve on a balanced information graph is studied. Passive decomposition method is used to incorporate this inertial effect which can cause unstable group behaviour. The proposed flocking control law is proven to be stable and can ensure that the internal group shape is exponentially stabilized to a desired state.

In recent years, the flocking problem of mobile robots has become an attractive subject in the research field of the multiagent system and cooperative robots. In [21], the cooperative motion coordination of leader-follower formations of nonholonomic mobile robots under visibility and communication constraints in known polygonal obstacle environments is studied. Each robot can take care of converging to a desired configuration while maintaining visibility with its target. Flocking with obstacle avoidance is an emerging research interest in recent years [22–26]. A new distributed coordination algorithm with Voronoi partitions for multivehicle systems is presented in [22], which results not only in obstacle avoidance and motion to the goal but also in a desirable geographical distribution of the vehicles. A flocking algorithm in the presence of arbitrary shape obstacle avoidance is presented in [23] both in the 2D space and 3D space. In [27], learning-based model predictive control approach is applied to the flocking problem of UAVs in the presence of uncertainties and obstacles. A distributed framework that ensures reliably collision-free behaviours in large-scale multirobot systems with switching interaction topologies is presented in [28].

In practical applications, such as formulation of the mobile robot or surface vessels, the agent model is underactuated, and the kinematic motion is constricted with nonholonomic constraints. In our research project, AmigoBot is adopted as an in the flocking control problem. The kinematic model of AmigoBot is a kind of nonholonomic system in which the number of control inputs is less than the degree of freedom and cannot be transformed into a second-order linear system. It is necessary to redesign the control algorithms for the flocking of AmigoBots.

In this paper, a control method for the flocking problem of mobile robots is proposed. Simulated annealing (SA) algorithm is used to design a simple behaviour for each robot while flocking can be self-established. SA algorithm is a probabilistic technique for approximating the global optimum of a given function. Specifically, it is a metaheuristic to approximate global optimization in a large search space for an optimization problem. It is often used when the search space is discrete (e.g., the traveling salesman problem). For problems where finding an approximate global optimum is more important than finding a precise local optimum in a fixed amount of time, simulated annealing may be preferable to alternatives such as gradient descent.

The paper is organized as follows. Section 2 gives the kinematic model of AmigoBot and the problem formulation. Design process of the flocking control law is presented in Section 3. Simulation is implemented to illustrate the effectiveness of the proposed control law, and results are shown in Section 4. Finally, the conclusions are made in Section 5.

2. Problem Formulation

2.1. Model of Flocking Agents

The first model which is widely considered as a flocking agent is constructed in [12], which was proposed by Vicsek et al. to interpret the flocking phenomenon such as clustering and convection:

where is the position of particle on the plane, is the velocity with an absolute value and an angle given by , , is the average direction of the particles in the neighbourhood of particle , and is the random noise.

From the perspective of theoretical research, the dynamics of agents in flocking is also often modelled as a second-order linear system [29]:

where are the position, velocity, and control force, respectively.

The other second-order linear system of the flocking agent is proposed in [30, 31]. The agents moving on the plane are modelled with the following dynamics:

where is the position of agent , is its velocity, and is its control inputs. The heading angle of agent is defined with .

2.2. Kinematic Model of the Mobile Robot

Different from the agent models proposed above which are treated with the linear system, the kinematic model of the mobile robot is much more complex. As shown in Figure 1, the mobile robot is controlled only by the velocities of two drive wheels. Assuming that there exists no slipping motion between the wheels and the ground, the dynamics of AmigoBot can be modelled as

where and are the linear and angular velocity, respectively, is the position of AmigoBot in Cartesian coordinates, and is the orientation angle of the AmigoBot.

(a)

(b)

Figure 1: Mobile robot with sonar sensors. (a) AmigoBot. (b) Model of AmigoBot.

Unlike the models of (1)–(3), mobile robot like AmigoBot is usually considered as a nonholonomic system due to the fact that the system has less dimension of control inputs than its degrees of freedom. For AmigoBot, it has 3 degrees of freedom, i.e., the lateral and longitudinal motion on the horizontal plane and rotatory motion along the axis vertical to the horizontal plane but with only two control inputs.

For the differential wheel drive mobile robot, it has and . and are the velocities of the right and left wheel, respectively, and is the distance between the two wheels as described in Figure 1. Constrained by limitations on the control inputs, the existing flocking laws or algorithms are not suited for the flocking control problem of mobile robots.

3. Design of the Flocking Control Law

3.1. Potential Function of Coordination

Each mobile robot is considered as an . Define the position vector of the AmigoBot with . The relative positions between the and AmigoBots are defined with . The distance between these two AmigoBots is then given with . A potential function is defined to evaluate the relative positions between any pair of neighbouring AmigoBots as follows:

where is a design parameter. The curve of function is shown in Figure 2. determines the desired distance between the agents. When , it has . Unlike the potential function proposed in [31], also shown in Figure 2 as traditional , the third term in (5) is helpful to get a flexible behaviour such as split and squeezing maneuver in an environment with obstacles.

Figure 2: Potential function .

The potential function of AmigoBot is then defined with the sum of all :

where is the set that includes all other AmigoBots that the AmigoBot can detect with sensors.

3.2. Potential Function of Obstacle Avoidance

Obstacles can be detected by AmigoBot with sonar sensors in an unknown environment. Define the position of the obstacle with . To keep a safe distance from the obstacle , it is assumed that the obstacle has a circular boundary with radius . is then defined with the projection of the on the boundary of obstacle [32].

Define the projection of the position of robot on as

where is the boundary of .

Define the distance between robot and its projection on the obstacle with . A potential function is designed to evaluate the relative position between robot and obstacle as follows:

Define

where is the set of obstacles detected by robot .

3.3. Flocking Behaviour via Random Search Algorithm

With the aforementioned designed potential functions and , the flocking control problem of the mobile robot is considered as an optimization problem in this paper. In [33], Cheng et al. designed a flocking control law that can drive the agents to evolve into the flock centering state. Motion control laws are proposed to synchronize the velocities and orientation angles via the Newton method in an environment without obstacles.

For the flocking problem of the mobile robot in a complex environment with unknown obstacles, define the total potential function for robot as

Obviously, if all the robots move towards the direction of the gradient descent of at each sample period, the robots will keep a desired distance among each other finally:

where is the orientation space of robot , is the sample period, is the optimal orientation angle which has the maximal extent of the gradient descent of at . Due to that the space is continuous, methods based on the gradient descent are generally adopted [30, 33]. Methods based on the random search algorithm provide another dependable solution. In this paper, SA algorithm is applied to searching of the minimal solution of which is designed to regulate the flocking state.

Compared to other approximation methods, such as the Newton method, gradient descent method, and Levenberg–Marquardt method, SA can avoid being trapped in the local minimal in early iterations and is able to explore globally for better solutions in finite iterations [34]. SA is a method for solving unconstrained and bound-constrained optimization problems. The method models the physical process of heating a material and then slowly lowering the temperature to decrease defects, thus minimizing the system energy [35, 36]. There is an essential similarity between the flocking control problem and the simulated annealing course. Both of them aim to explore the optimal solution that has minimal energy or desired homogeneity.

The flocking control problem of mobile robots is considered as an approximation of the optimal solution of each . With full information of all the other robots and the obstacles detected by sonar sensors, each robot tries to keep a quasi-optimal distance from each other in the motion while avoiding the obstacles. Firstly, the optimal position with minimal is approximated via the SA algorithm. Then, the optimal orientation angle is calculated with . Finally, a motion control law is designed to drive the robot move to the optimal position at each sampling period .

The pseudo-code of the random search method of via the SA algorithm is shown in Algorithm 1, where is the desired position vector for the AmigoBot. Define the change of energy level with

Input: and

Output:

(1)
for do

(2)
    Initialize (T, , and )

(3)

(4)

(5)
    Whiledo

(6)
        fordo

(7)

(8)
            ifthen

(9)

(10)

            else

(11)
                ifthen

(12)

(13)

(14)

(15)
return

Algorithm 1: Flocking behaviour search.

The initial position in is not generated randomly but given with . Also, the function is defined with

where is a parameter decided by the maximal velocity of the robot and is a random function which can generate a value randomly in the range between 0 and 1.

Obviously, if is well tracked, would converge to the minimal value, and the distance between the agents would also converge to a constant value, which in fact is determined by . That is, the flocking centering state can be guaranteed.

Once the quasi-optimal position is achieved, the optimal orientation angle can be calculated with .

Define , and it has

Define , and design the control law for with

where is a design parameter. With the control input in (15), it has

Define a candidate function ; then, it has . With Lyapunov stability and LaSalle’s invariant principle, it can be proven that the equilibrium is asymptotically stable. That is, with the control law for in (15), the AmigoBot can be steered towards the desired position .

Define . Let

where is the linear speed of the or the speed required for the flocking motion and is a design parameter.

4. Simulation Results

The effectiveness of the proposed flocking control method is illustrated by experiments in MobileSim. MobileSim is software for simulating mobile robots and their environments, for debugging and experimentation with ARIA or other software that support mobile robot platforms. In this experiment, five AmigoBots are controlled to form a flocking centering state while avoiding the obstacles. The robots are connected by software with TCP ports from 8101 to 8105. Software is coded in VS2008. The data in the control process are stored in a text file at each sampling time, and the results are depicted in MATLAB figures.

The initial positions of the five AmigoBots are set with , , , , and . All the headings of the AmigoBots are set with . Velocities of robots are set with at the beginning.

The parameters in the method proposed above are designed as given in Table 1.

Table 1: Parameters in the flocking control method.

Variables
Value

Potential function

1000 mm

1000 mm

Motion control

0.0001

0.003

SA algorithm
T
100

0.001

0.5

N
20

Step
100

The initial and some intermediate processes of robots are shown in Figure 3. Obstacles are plotted with squares, hexagons, and triangles. With sonar sensors, the robot can detect the obstacles at each sampling period (500 ms). The positions of the other -agents are shared at a period of 1 sec. From Figures 3(c)–3(f), it can be seen that the robots smartly avoid the obstacles. As shown in Figures 3(g)–3(i), all the robots attempt to assemble with a desired distance after passing through the obstacles, which brings out a flocking center state.

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figure 3: Experiment in MobileSim. (a) tk = 0. (b) tk = 50. (c) tk = 80. (d) tk = 110. (e) tk = 120. (f) tk = 150. (g) tk = 170. (h) tk = 190. (i) tk = 270.

The detailed traces of the five AmigoBots during the flocking process are depicted in Figure 4. It proves that the designed potential function of and can regulate the relative position between robots and obstacles effectively. The robots keep a safe distance from obstacles while across the gap and a desired distance from each other in the obstacle-free space. Connection graph of the robots marked with the red circle is shown in Figure 5, which illustrates the evolution of the flocking center state during the whole process. It can be seen that the five AmigoBots are driven to a stable pattern of geometry. Each AmigoBot has a stable neighbouring relationship and keeps a stabilized motion.

Figure 4: Trajectories of robots.

Figure 5: Connection graph.

For the 10 connection graphs in Figure 5, define as the average of the 5 potential function for each graph. It has . The potential function reduces greatly from the beginning and increases highly while the robots go across the obstacles and then reduces to a low value when robots are in the obstacle-free space.

The responses of potential functions and are depicted in Figures 6 and 7, which illustrate how and affect the behaviour of the robot. It can be seen that when the distances between robots are farther than the desired distance or the distances to the obstacles are nearer than the safe distance , and have large values, which impel the robot to move to a desired position to reduce them with the SA algorithm. It has , at the starting time , and at the ending time . All the robots have approximated the minimal values of .

Figure 6: Potential function .

Figure 7: Potential function .

Figures 8 and 9 show the flocking behaviour of alignment. The orientation angles and velocities of five robots almost converge to the same value.

Figure 8: Orientation angles of robots.

Figure 9: Velocities of robots.

5. Conclusion

In this paper, the flocking behaviour of the mobile robot in an unknown environment with obstacles is designed via the heuristic search algorithm. With the potential functions defined for the and , the mobile robot can acquire the quasi-optimal direction with the SA algorithm in finite search times. Control laws for and are also designed. The system of mobile robots acts out separation and alignment behaviours obviously. Moreover, the robots can avoid obstacles, detected with sonar sensors, by a safe distance. Future work will address the issue of flocking control of mobile robots in the field environment with this proposed method.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported by the National Nature Science Foundation of China under Grant nos. 61203335 and 61603150.

References

P. Antoniou, A. Pitsillides, A. Engelbrecht et al., “Mimicking the bird flocking behavior for controlling congestion in sensor networks,” in Proceedings of the 2010 3rd International Symposium on Applied Sciences in Biomedical and Communication Technologies (ISABEL 2010), pp. 1–7, Rome, Italy, November 2010.

A. Chapman and M. Mesbahi, “UAV flocking with wind gusts: adaptive topology and model reduction,” in Proceedings of the 2011 American Control Conference, pp. 1045–1050, June 2011, San Francisco, CA, USA.

S. A. P. Quintero, G. E. Collins, and J. P. Hespanha, “Flocking with fixed-wing uavs for distributed sensing: a stochastic optimal control approach,” in Proceedings of the 2013 American Control Conference, pp. 2025–2031, Washington, DC, USA, June 2013.

B. K. Sahu and B. Subudhi, “Flocking control of multiple auvs based on fuzzy potential functions,” IEEE Transactions on Fuzzy Systems, vol. 26, no. 5, pp. 2539–2551, 2018.

C. Speck and D. J. Bucci, “Distributed UAV swarm formation control via object-focused, multi-objective sarsa,” in Proceedings of the 2018 Annual American Control Conference (ACC), pp. 6596–6601, Milwaukee, WI, USA, June 2018.

M. R. Khan, M. M. Billah, M. Ahmed et al., “A novel algorithm for collaborative behavior of multi-robot in autonomous reconnaissance,” in Proceedings of the 2011 4th International Conference on Mechatronics (ICOM), pp. 1–6, Kuala Lumpur, Malaysia, May 2011.

J. Toner and Y. Tu, “Flocks, herds, and schools: a quantitative theory of flocking,” Physical Review E, vol. 58, no. 4, pp. 4828–4858, 1998.

C. W. Reynolds, “Flocks, herds and schools: A distributed behavioral model,” in Proceedings of the 14th annual conference on Computer graphics and interactive techniques—SIGGRAPH ‘87, vol. 21, ACM, Anaheim, CA, USA, July 1987.

A. Okubo, “Dynamical aspects of animal grouping: swarms, schools, flocks, and herds,” Advances in Biophysics, vol. 22, pp. 1–94, 1986.

C. C. Ioannou, “Swarm intelligence in fish? The difficulty in demonstrating distributed and self-organised collective intelligence in (some) animal groups,” Behavioural Processes, vol. 141, pp. 141–151, 2017.

H. G. Tanner, A. Jadbabaie, and G. J. Pappas, Flocking in Teams of Nonholonomic Agents, Springer Berlin Heidelberg, Berlin, Heidelberg, 2005.

T. Vicsek, A. Czirók, E. Ben-Jacob, I. Cohen, and O. Shochet, “Novel type of phase transition in a system of self-driven particles,” Physical Review Letters, vol. 75, no. 6, pp. 1226–1229, 1995.

A. Kilin, P. Bozek, Y. Karavaev et al., “Experimental investigations of a highly maneuverable mobile omniwheel robot,” International Journal of Advanced Robotic Systems, vol. 14, no. 6, 2017.

P. Bozek, P. Pokorny, J. Svetlik et al., “The calculations of Jordan curves trajectory of the robot movement,” International Journal of Advanced Robotic Systems, vol. 13, no. 5, 2016.

P. Bozek, Z. Ivandic, A. Lozhkin et al., “Solutions to the characteristic equation for industrial robot’s elliptic trajectories,” Tehnicki Vjesnik-Technical Gazette., vol. 23, no. 4, pp. 1017–1023, 2016.

H.-T. Zhang, Z. Cheng, G. Chen, and C. Li, “Model predictive flocking control for second-order multi-agent systems with input constraints,” IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 62, no. 6, pp. 1599–1606, 2015.

J. Gao, X. Xu, N. Ding, and E. Li, “Flocking motion of multi-agent system by dynamic pinning control,” IET Control Theory & Applications, vol. 11, no. 5, pp. 714–722, 2017.

F. F. Chu, H. Y. Yang, F. J. Han et al., “Anti-disturbance control of flocking moving of networked systems,” in Proceedings of the 33rd Chinese Control Conference, pp. 1425–1429, Nanjing, China, July 2014.

N. Moshtagh and A. Jadbabaie, “Distributed geodesic control laws for flocking of nonholonomic agents,” IEEE Transactions on Automatic Control, vol. 52, no. 4, pp. 681–686, 2007.

D. Lee and M. W. Spong, “Stable flocking of multiple inertial agents on balanced graphs,” IEEE Transactions on Automatic Control, vol. 52, no. 8, pp. 1469–1475, 2007.

D. Panagou and V. Kumar, “Cooperative visibility maintenance for leader-follower formations in obstacle environments,” IEEE Transactions on Robotics, vol. 30, no. 4, pp. 831–844, 2014.

M. Lindhe, P. Ogren, and K. H. Johansson, “Flocking with obstacle avoidance: a new distributed coordination algorithm based on voronoi partitions,” in Proceedings of the 2005 IEEE International Conference on Robotics and Automation, pp. 1785–1790, Barcelona, Spain, April 2005.

B. Dai and W. Li, “Flocking of multi-agents with arbitrary shape obstacle,” in Proceedings of the 33rd Chinese Control Conference, pp. 1311–1316, Nanjing, China, July 2014.

B. R. Trilaksono, “Distributed consensus control of robot swarm with obstacle and collision avoidance,” in Proceedings of the 2015 2nd International Conference on Information Technology, Computer, and Electrical Engineering (ICITACEE), p. 2, IEEE, Semarang, Indonesia, October 2015.

A. M. Burohman, A. Widyotriatmo, and E. Joelianto, “Flocking for nonholonomic robots with obstacle avoidance,” in Proceedings of the 2016 International Electronics Symposium (IES), pp. 345–350, Denpasar, Indonesia, September 2016.

D. Sakai, H. Fukushima, and F. Matsuno, “Flocking for multirobots without distinguishing robots and obstacles,” IEEE Transactions on Control Systems Technology, vol. 25, no. 3, pp. 1019–1027, 2017.

A. Hafez and S. Givigi, “Formation reconfiguration of cooperative uavs via learning based model predictive control in an obstacle-loaded environment,” in Proceedings of the 2016 Annual IEEE Systems Conference (SysCon), pp. 1–8, Orlando, FL, USA, April 2016.

G. He and H. Li, “Distributed control for multirobot systems with collision-free motion coordination,” in Proceedings of the 2017 10th International Symposium on Computational Intelligence and Design (ISCID), vol. 2, pp. 72–76, Hangzhou, China, December 2017.

H.-T. Zhang, C. Zhai, and Z. Chen, “A general alignment repulsion algorithm for flocking of multi-agent systems,” IEEE Transactions on Automatic Control, vol. 56, no. 2, pp. 430–435, 2011.

H. G. Tanner, A. Jadbabaie, and G. J. Pappas, “Stable flocking of mobile agents, part i: fixed topology,” in Proceedings of the 42nd IEEE International Conference on Decision and Control (IEEE Cat. No. 03CH37475), vol. 2, pp. 2010–2015, IEEE, Maui, HI, USA, December 2003.

H. G. Tanner, A. Jadbabaie, and G. J. Pappas, “Stable flocking of mobile agents part ii: dynamic topology,” in Proceedings of the 42nd IEEE International Conference on Decision and Control (IEEE Cat. No. 03CH37475), vol. 2, pp. 2016–2021, IEEE, Maui, HI, USA, December 2003.

R. O. Saber and R. M. Murray, “Flocking with obstacle avoidance: cooperation with limited communication in mobile networks,” in Proceedings of the 42nd IEEE International Conference on Decision and Control, vol. 2, pp. 2022–2028, IEEE, Maui, HI, USA, December 2003.

J. Cheng, B. Wang, and Y. Xu, “Flocking control of amigobots with Newton’s method,” in Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), pp. 2372–2376, Macau, China, December 2017.

D. H. Wolpert and W. G. Macready, “No free lunch theorems for optimization,” IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 67–82, 1997.

S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, “Optimization by simulated annealing,” Science, vol. 220, no. 4598, pp. 671–680, 1983.

X.-S. Yang, “Optimization and metaheuristic algorithms in engineering,” Metaheuristics in Water, Geotechnical and Transport Engineering, pp. 1–23, 2013.