Next Article in Journal
Hyperparameter Optimization of Ensemble Models for Spam Email Detection
Next Article in Special Issue
Fault Type Diagnosis of the WWTP Dissolved Oxygen Sensor Based on Fisher Discriminant Analysis and Assessment of Associated Environmental and Economic Impact
Previous Article in Journal
Characterisation of Physiological Responses to Odours in Autism Spectrum Disorders: A Preliminary Study
Previous Article in Special Issue
Dissipativity Analysis of Large-Scale Networked Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multitarget Search Algorithm Using Swarm Robots in an Unknown 3D Mountain Environment

1
College of Electrical and Information Engineering, Hunan Institute of Engineering, Xiangtan 411104, China
2
College of Information and Electrical Engineering, Hunan University of Science and Technology, Xiangtan 411201, China
3
College of Mechanical and Electrical Engineering, Hunan University of Science and Technology, Xiangtan 411201, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(3), 1969; https://doi.org/10.3390/app13031969
Submission received: 4 November 2022 / Revised: 22 January 2023 / Accepted: 28 January 2023 / Published: 2 February 2023
(This article belongs to the Special Issue Fault Detection and State Estimation in Automatic Control)

Abstract

:
A multitarget search algorithm for swarm robot in an unknown 3D mountain environment is proposed. Most existing 3D environment obstacle avoidance algorithms are potential field methods, which need to consider the location information of all obstacles around the robot, and they easily fall into local optima, and their calculation is complex. Furthermore, they cannot well meet the requirements of real-time obstacle avoidance characteristics of swarm robots in multiobject searches. This paper first focuses on solving the obstacle avoidance problem of swarm robots in mountain environments. A new 3D curved obstacle tracking algorithm (3D-COTA) is designed by discretizing the mountains within the detection range of robot obstacles. Then, a task assignment model and virtual force model in 2D space are extended to 3D, and a particle swarm search model with kinematic constraints is constructed, which considers the kinematic constraints and the limitations of the communication ability of the robots. Finally, a new multitarget search algorithm for swarm robot in an unknown 3D mountain environment is proposed by means of the designed 3D surface obstacle tracking algorithm. Numerical simulation results demonstrate the effectiveness of the proposed algorithm.

1. Introduction

A large number of studies are devoted to swarm robot multitarget search, which is widely used in postdisaster search and rescue, natural resources exploration, enemy position detection, underwater fishing, and other application fields [1]. ZENG et al. mapped particle swarm optimization (PSO) well with the target search process [2]. ZHANG et al. deployed the cooperation and competition to solve the spatial conflicts of swarm robots [3]. LI et al. introduced a probability-constrained finite state machine to effectively resolve individual resource conflicts and improve the efficiency of target search [4]. Taking UAV as the carrier, HE proposed a 3D adaptive inertia weight extended particle swarm optimization (IAEPSO) to realize the search of air targets in a mountain environment [5]. In order to search for the lost object, PHUNG et al. transformed the problem of target search into a probability problem based on the location of the last lost object and the creation of a Bayesian map, and proposed motion-encoded particle swarm optimization (MPSO) [6]. Aiming at the target search of underwater vehicles, CAO et al. proposed a multi-AUV collaborative team integration algorithm, which has the advantages of fewer parameters and no speed jump [7]. In order to reduce the communication pressure of swarm robots, TANG et al. realized the information interaction among swarm robots through indirect communication [8]. Brown et al. assumed that the target was discovered when it was within the detection range of individual UAV, and then proposed an ergodic target search method; under the background of this method, Brown et al. also proposed an approach to increase or decrease the number of UAV individuals [9,10].
The above research shows that existing research on swarm robot multitarget search is mainly aimed at 2D plane environments or a 3D environment with constant height [11,12,13,14]. However, in the practical application of environmental detection and postdisaster rescue, swarm robots may face complex mountain environments. For multitarget searches in 3D environments, many studies have implemented UAVs. For example, Dario [15] proposed a task planning strategy of a UAV swarm in a 3D environment for landslide monitoring and postdisaster search for survivors. Inspired by the gray wolf tracking strategy, Xie Yuxin [16] proposed an adaptive formation tracking control method applied to a UAV swarm system, which improved the system stability and accuracy of formation tracking. Wang [17] customized a UAV interactive decision-making mechanism that could switch the interaction method according to the distance between aircraft during a search for a cooperative UAV swarm search task under the condition of limited communication distance and realized search path planning in a dynamic environment. In view of the realistic environment faced by swarm robots in a targeted search, the premise of their search is to move safely in the task environment, so it is particularly important to consider the obstacle avoidance problem. BinKai Qi [18] proposed UAV path planning based on an improved 1artificial potential field to efficiently solve the UAV obstacle avoidance problem. YuWenqiang [19], in view of the traditional artificial potential field method in a complex environment and the problem of low efficiency of obstacle avoidance, proposed a traditional artificial potential field method as an improved potential field function and improved the traditional spherical potential field for the ellipsoid potential field. The experimental simulation proves that the improved artificial potential field method provides efficient and safe UAV obstacle avoidance path planning in a complex 3D environment.
A UAV has the advantages of information sharing, strong system survivability, and cost performance, which can better meet the needs of a targeted search in 3D space. However, it has some problems for ground targeted search in complex mountain environments. At present, there are few research results on swarm robot targeted ground search in 3D mountain environments. In view of existing 3D environment potential field methods, obstacle avoidance algorithms, the need to consider the obstacle position information around the robot, the complex calculation and ease of falling into local optima, not satisfying swarm robots well in the process of multirobot targeted ground search, and the insufficient real-time obstacle avoidance requirements, this paper proposes a simple 3D curved obstacle tracking algorithm that does not easily fall into local optima.
First, a task assignment model, particle swarm optimization algorithm with kinematic constraints, and a simplified virtual force model in a 2D search environment were extended to 3D space to solve the multiobjective search problem in a 3D scene [20,21,22]. Then, obstacle tracking was considered in the process of swarm robot completing the task under the condition of different robots according to the kinematic constraint using a particle swarm optimization algorithm, and a virtual force model was simplified to calculate the expected speed after the swarm robot 3D curved obstacle tracking algorithm to realize multitarget search in an unknown complex 3D mountain environment. The simulation results show that the proposed method is an effective method for swarm robots to search for multiple targets in unknown 3D mountain environments.

2. Ground Target Search Modeling in an Unknown Mountain Environment

To better study swarm robot ground target search in an unknown mountain environment, the corresponding environment hypothesis is made, and the corresponding mathematical model is established.
The search task is located in an a × b × c mountain environment, which has a horizontal area of a × b and a height of c . Among them, the mountain height difference is less than c , and the mountain slope changes continuously and is always less than α degrees.
The task object includes the robots, target, and mountain. Robots are represented as set R o b = R i | i = 1 , 2 , , n u ; 30 n u 100 , where R i represents a robot, and the target is represented as set T = t a r j | j = 1 , 2 , , n T ; n T 1 . The mountain is discretized in both the horizontal x- and y-axes with Δ l as the unit distance, and the discrete points obtained are called obstacles. Obstacles are represented as set S = o b s k | k = 1 , 2 , , n s ; n s 1 . The time t and the locations of R i , t a r j , and o b s k are represented as R i t , t a r j , and o b s k , respectively, and the speed of R i is V i t .
The Euclidean distance between each individual is expressed as follows: the distance between robots d r i 1 , i 2 | t = R i 1 t R i 2 t , the distance between a robot and the target d r t i , j | t = R i t t a r j , and the distance between a robot and obstacle d r s i , k | t = R i t o b s k .
Within the task environment, the search task can be described as follows: considering that the target reaches the threshold value d 0 , if there is a robot with a target distance d r t i , j | t < d 0 , it indicates that the target is found. When all targets have been found, the target search task is complete.
The robots involved in the search have certain characteristics. Assuming that each robot is isomorphic and the robot velocity V i t satisfies 0 V i t V m , each robot can reach any position close to the ground in the task environment. Considering maximum communication distance d c o m , maximum obstacle sensing distance d o b s , and maximum target detection distance d t a r , each robot has the following functions: when d r t i 1 , i 2 | t d c o m , it can communicate between robots; when d r t i , j | t d t a r , it can detect the target signal; and when d r s i , k | t d o b s , according to the slope sensor sense obstacles and a robot’s relative slope, a robot can climb slopes less than or equal to β and can drive on slopes less than or equal to α without rollover, and β < α .
The target being searched for is stationary on the mountain surface within the mission mountain environment. When searching for a target, each robot can continuously detect the target signal using a sensor. The target signal and d r t i , j | t meet an environmental interference function and should describe the function of the target as a response function [23]. The function can be set as Equation (1):
I i , j t = m Q d r t i , | t 2 + η d r t i , j | t d t a r 0 d r t i , j | t > d t a r
where I i , j t represents the target signal detected by R i at time t ; η is the environmental disturbance satisfying the standard normal distribution; d r t i , j | t is the objective existence, which is unknown to the robots; m is the attenuation coefficient of the environment 0 < m < 1 ; and Q is the constant signal power of the target.
The mountain surface is separated into obstacle points with spacing Δ l , which are static, and the position of each obstacle point can be specifically expressed as o b s k = x s k , y s k , z s k .
In a 3D search task environment, each robot can locate itself through its own sensor position and speed information, can communicate through a communication device within the scope of communication with other robots, and can sense obstacle slope information in its detection scope. The robot pose and location information followed within the search environment is as Equation (2):
R i t = x u i | t , y u i | t , z u i | t V i t = x u i | t ˙ , y u i | t ˙ , z u i | t ˙ x u i | t ˙ = d ( x u i | t ) d t = V i t cos θ sin ϕ y u i | t ˙ = d ( y u i | t ) d t = V i t cos θ cos ϕ z u i | t ˙ = d ( z u i | t ) d t = V i t sin θ .
where x u i | t , y u i | t and z u i | t are the coordinate positions of the robot at time t in the Cartesian global coordinate system x o y z . V i t is the movement speed of the robot at time t , ϕ is the angle between the projection vector of V i t in the x o y plane and the forward direction of the x -axis, and θ is the angle between V i t and the forward direction of the z-axis. If the time change Δ t is small enough, the relationship between the robot’s position and speed in Equation (2) can be expressed as Equation (3):
R i t + Δ t = R i t + V i t + Δ t
To facilitate the planning of the trajectory of the robot, this study takes Δ t as unit time, that is, Δ t = 1 , and the iterative relationship between the position and velocity of the group robot satisfies the following as Equation (4):
R i t + 1 = R i t + V i t + 1

3. Robot Search Task Assignment Mechanism

3.1. Three Robot States

To make the robot swarm target search more coordinated and efficient, robots are divided into three states as shown in Figure 1: roaming search state, cooperative search state, and task completion state.
When the robots do not detect the target information, they are in a roaming search state; that is, the robots repel each other at the maximum speed to rapidly search the global environment [24,25]. When a robot detects the target signal, a multitarget task allocation model based on the response threshold is used to construct a suballiance. The robot members in the same suballiance search for the target corresponding to the suballiance, and the state of the robots forming the suballiance changes to the cooperative search state. When the robot and a target distance are less than the target reached threshold, the robot and the distance of a target d r t i , j | t < d 0 , the target is regarded as a search success, and the robot changes to the task completed state. When all targets are successfully found, all robots change to the mission completed state.

3.2. Robot Task Assignment Model

In the process of task search, each robot participates in a task search process through self-organization and decides whether to choose task t a r 1 or task t a r 2 and whether to change the task between task selection and task completion. The process is as follows: First, the sensor detects the target response value of a robot in the detection range. If the robot detects multiple target signals in the detection range, the response probability of the robot to each target is calculated according to a response probability evaluation model, and then a roulette algorithm is used to make a decision regarding which target to search for [26]. The response probability assessment is expressed as Equation (5):
p i , j = I i , j 2 t k = 1 m I i , k | t 2 , j , k = 1 , 2 , 3 , , m
where I i , j 2 t is the target t a r j signal detected by robot R i at time t . If the robot detects m target signals within its detection range, the probability of robot R i responding to target t a r j excitation is P i , j , as Equation (6):
P i , j = k = 1 j p i k , j = 1 , 2 , , m
When P i , j 1 < r a < P i , j , robot R i selects target t a r j as the target of collaborative search, and r a 0 , 1 .
Robots can obtain target information in two ways during driving. On the one hand, robots can directly detect target signals through their own sensors, which is called a class I robot. On the other hand, a robot fails to detect a target signal within its detection range but indirectly obtains the signal information of a target through communication with other robots. This kind of robot is called a class II robot [27]. If a target signal detected by two robots is the same target, they can participate in the target search process task together. When multiple robots participate in the same search task, these robots can form a suballiance to carry out a cooperative search for the target.
In the process of searching a 3D task environment, multiple robots will search for the same target, or only a few robots will search for the same target; that is, in the process of forming a suballiance, there will be an uneven distribution of robot resources. To avoid this situation, closed-loop regulation is introduced; that is, the resource allocation of each suballiance is re-evaluated after the first subtask assignment. When the number of members of a suballiance reaches an upper limit N m , the suballiance preferentially selects N m robots, and the remaining robots not selected will quit the suballiance and reselect other targets as their search tasks or switch to the roaming search state. When the number of members of a suballiance does not reach the upper limit N m , suballiance members can be recruited from the surrounding robots to participate in the target task search. The priority principle of suballiance member selection is as follows: the priority of class I targets is greater than that of class II targets; if the priority is the same, the robot is evaluated according to the intensity of the target excitation signal; namely, the higher the intensity of the target signal is, the higher the dominant position. If the number of class I targets is less than N m , a robot close to the class II communicating robot will be preferentially selected. If there is a robot with the same distance as the communicating robot, the robot with a strong signal will be preferentially selected. See Table 1 for details.
Swarm robots should not only avoid all obstacles but also complete all target searches in the process of movement. To complete all target search tasks quickly and effectively, the robots can form suballiances to search for the same target together according to the detected target signals and communicate with the surrounding robots. As presented in Table 1, the members of suballiances U 1 are sorted. Robots R 5 , R 14 , and R 19 detect the signal of target t a r 1 during their driving. Robots R 5 , R 14 , and R 19 are class I robots. At this time, the number of class I robots is less than N m , and a class I robot recruits the robots within its communication range as a communication robot. R 2 , R 3 , R 9 , R 11 , R 17 , R 18 , R 21 , R 22 , and R 23 receive the recruitment information of class I robots and join one by one in the target t a r 1 search task and form suballiance U 1 for this target. According to the principle of selecting members of suballiances, the priority of class I is higher than that of class II. Class I is sorted according to the corresponding intensity of the target.
The higher the target response intensity is, the higher the priority is. The class II robots are sorted according to the distance between them and communication robots. The closer the distance is, the higher the priority is. Therefore, suballiance U 1 is sorted by priority as R 19 ,   R 5 ,   R 14 ,   R 22 ,   R 9 ,   R 11 ,   R 23 ,   R 17 ,   R 3 ,   R 21 ,   R 2 ,   and   R 18 . According to the priority order, R 23 , R 17 , R 3 , R 21 , R 2 , and R 18 quit the suballiance, and finally, R 19 , R 5 , R 14 , R 22 , R 9 , and R 11 form a suballiance and participate in the target t a r 1 search task.

4. Multitarget Ground Search Algorithm for Swarm Robots in a 3D Mountain Environment

4.1. 3D Virtual Force Model Roaming Search

When no target signal is obtained, each robot conducts roaming search to quickly detect more areas. Here, a virtual force model is adopted [28]. When the distance between robots is less than min d c o m , d t a r , the robots repel each other, making the robots spread quickly to quickly evaluate the search area. To simplify the calculation, a robot is repulsed only by the nearest two robots.
Assuming that the robot nearest to robot R i is R i 1 as shown in Figure 2, the positions of the two robots are R i t = x u i | t , y u i | t , z u i | t and R i 1 t = x u i 1 | t , y u i 1 | t , z u i 1 | t . In addition, d r i , i 2 | t min d c o m , d t a r . The repulsive force of R i 1 on R i is calculated using Equation (7), and the repulsive force direction is that the former points to the latter:
f i , i 1 t = c l m 2 d v i , i 1 | t 3 x u i | t x u i 1 | t , y u i | t y u i 1 | t , z u i | t z u i 1 | t
where f i , i 1 t is the repulsion of R i 1 on R i at time t. l m strengthens the obstacle avoidance distance, and c optimizes the robot movement path.
If the two robots closest to R i satisfy d v i , | t m i n d c o m , 2 d t a r , then the virtual force on R i is as shown in Figure 2. In the figure, x u i 1 | t > x u i | t > x u i 2 | t , y u i 1 | t > y u i | t > y u i 2 | t , z u i | t > z u i 2 | t > z u i 1 | t , and the virtual forces f i , i 1 t and f i , i 2 t satisfy Equation (7). The virtual forces applied to the robot satisfy the vector sum f i t = f i , i 1 t + f i , i 2 t . The speed of the robot in the roaming search state is the direction indicated by the virtual force; that is, the next expected speed of the roaming search is as Equation (8):
V e i t + 1 = V m f i t f i t

4.2. 3D Particle Swarm Cooperative Search Optimization with Motion Constraints

Swarm robot system is a typical distributed system. Comparing swarm robots with particle swarm optimization [29,30,31], a mapping relationship is found between the two. The particle swarm optimization algorithm can be applied to robot movement. Considering the movement constraints of a robot and the limitation of its communication ability, a particle swarm optimization model with kinematic constraints can be constructed to calculate the next expected velocity V e i t + 1 . The specific description is as Equation (9):
V p i t + 1 = ω V i t + c 1 r 1 R i * t R i t + c 2 r 2 g i * t R i t V e i t + 1 = V i t + V p i t + 1 V i t · λ
where R i t and V i t represent the velocity and position vectors of robot R i at time t, respectively; V p i t + 1 is the velocity obtained by direct particle swarm iteration; V e i t + 1 is the expected velocity vector of robot R i at the next moment; the introduction of λ is to consider that the movement of the robot has a certain inertia; c 1 and c 2 are the individual cognitive coefficient and social cognitive coefficient of the robot, respectively; r 1 and r 2 are random variables in the interval (0,1); ω is the inertial weight; R i * t represents the optimal position experienced by robot R i thus far after joining the current suballiance; and g i * t is the optimal position traversed by the suballiance cutoff time t.

4.3. 3D Curved Obstacle Tracking Algorithm (3D-COTA)

The search for ground targets in a 3D mountain environment is similar to that in a 2D environment. Curving a 2D search environment can obtain a mountain surface. When searching for a target, a robot needs to move along the mountain surface. The mountain surface is curved; therefore, the velocity direction of the robot at any time is the tangent direction of the surface corresponding to its position. Due to the limited climbing ability of the robot, it is necessary to avoid areas with high slopes. After the velocity of the robot in the roaming state or collaborative search is calculated according to the corresponding method, the velocity direction may not meet the speed requirements in the search environment. Therefore, further calculation is required after the expected velocity is obtained through the calculation of robots in different states. To ensure that the next velocity direction is the tangent direction of the curve, the mountain slope in the velocity direction must meet the requirements.
The robot discretizes the mountains within the detection range of obstacles and considers the discrete point obstacles. For example, the mountain detected by a robot shown in Figure 3a is discretized to obtain Figure 3b. The point set in the figure can be expressed as the obstacle set. The Euclidean distance between the robot and the obstacle can be expressed as Equation (10):
d r s i , k | t = R i t o b s k = x u i | t x s k 2 + y u i | t y s k 2 + z u i | t z s k 2
The slope of the obstacle relative to the robot can be expressed as Equation (11):
g r d i , k | t = arctan z s k z u i | t x u i | t x s k 2 + y u i | t y s k 2

4.3.1. Initial Obstacle Tracking

For robots in the roaming or collaborative search state, the expected velocity V e i t + 1 = x e ˙ i | t + 1 , y e ˙ i | t + 1 , z e ˙ i | t + 1 is calculated according to the corresponding method. However, the expected velocity direction may not be tangent to the ground but may point to the air or the ground. Therefore, it is necessary to further calculate the velocity tangent to the ground.
Consider the nearest obstacle and two obstacle points not collinear to the nearest obstacle. In Equation (12), the nearest obstacle point to robot R i is described as o b s k 0 .
d r s i , k 0 | t = min o b s k S d r s i , k | t
Based on o b s k 0 , two other obstacle points, o b s k 1 and o b s k 2 , are found to satisfy the conditions described in Equation (13). According to Equation (13), points o b s k 0 , o b s k 1 , and o b s k 2 are not collinear, so these three points can determine plane f l i | t . For obstacle tracking to search for ground targets, the robot will tend to move parallel to plane f l i | t .
{ o b s k 0 = x s k 0 , y s k 0 , z s k 0 o b s k 1 = x s k 1 , y s k 1 , z s k 1 o b s k 2 = x s k 2 , y s k 2 , z s k 2 x s k 1 = x s k 0 Δ l . sign x s k 0 x u i | t y s k 1 = y s k 0 x s k 2 = x s k 0 y s k 2 = y s k 0 Δ l . sign y s k 0 y u i | t
At this time, plane f l i | t is shifted so that the resulting plane f l i | t passes through R i t , and the coordinate system R i t x y z is established with R i t as the origin. In this coordinate system, R i t = 0 , 0 , 0 , and o b s k 0 , o b s k 1 , and o b s k 2 are expressed as Equation (14):
o b s k 0 = x s k 0 x u i | t , y s k 0 y u i | t , z s k 0 z u i | t o b s k 1 = x s k 1 x u i | t , y s k 1 y u i | t , z s k 1 z u i | t o b s k 2 = x s k 2 x u i | t , y s k 2 y u i | t , z s k 2 z u i | t
Under the R i t x y z coordinate system, plane f l i | t is determined. Let Equation (15) of the plane be:
a x + b y + c z = 0
The vector normal to the plane for n l i | t = a , b , c is a plane of two known vectors as Equation (16):
p 1 , i | t = x s k 1 x s k 0 , y s k 1 y s k 0 , z s k 1 z s k 0 p 2 , i | t = x s k 2 x s k 0 , y s k 2 y s k 0 , z s k 2 z s k 0
The normal vector can be obtained as Equations (17) and (18):
n l i | t = a , b , c = 1 , 0 , 0 0 , 1 , 0 0 , 0 , 1 x s k 1 x s k 0 y s k 1 y s k 0 z s k 1 z s k 0 x s k 2 x s k 0 y s k 2 y s k 0 z s k 2 z s k 0
a = y s k 1 y s k 0 z s k 2 z s k 0 y s k 2 y s k 0 z s k 1 z s k 0 b = z s k 1 z s k 0 x s k 2 x s k 0 z s k 2 z s k 0 x s k 1 x s k 0 c = x s k 1 x s k 0 y s k 2 y s k 0 x s k 2 x s k 0 z s k 1 z s k 0
After the normal vector n l i | t = a , b , c of the plane is calculated, the robot begins to move in the direction parallel to plane f l i | t , that is, motion tangential to the mountain ground at R i t . Considering the obstacle tracking velocity V o i t + 1 = x o ˙ i | t + 1 , y o ˙ i | t + 1 , z o ˙ i | t + 1 and expected velocity V e i t + 1 = x e ˙ i | t + 1 , y e ˙ i | t + 1 , z e ˙ i | t + 1 of the 3D curved obstacle tracking algorithm, the calculation process of the first obstacle tracking velocity V o i t + 1 of the 3D curved obstacle tracking algorithm is as Equation (19):
x ˙ = x ˙ e i | t + 1 y ˙ = y ˙ e i | t + 1 z ˙ = a x ˙ e   i | t + 1 + b   y ˙ e i | t + 1 c
(1)
If the robot is in the roaming search state, it can be calculated as Equation (20):
V o i t + 1 = x ˙ , y ˙ , z ˙ · V m x ˙ 2 + y ˙ 2 + z ˙ 2
(2)
If the robot is in the cooperative search state, it can be calculated as Equation (21):
V o i t + 1 = x ˙ , y ˙ , z ˙ · V m x ˙ 2 + y ˙ 2 + z ˙ 2 , x ˙ 2 + y ˙ 2 + z ˙ 2 > V m x ˙ , y ˙ , z ˙ ,                                         x ˙ 2 + y ˙ 2 + z ˙ 2 V m

4.3.2. Second-Obstacle Tracking

After V o i t + 1 is calculated using the corresponding method for the robot in the roaming or cooperative search state, the speed direction is adjusted according to the slope of the surrounding mountains, avoiding the movement direction of the mountain slope beyond the robot climbing ability range.
It is assumed that, according to the perception of the slope sensor, the distance near the robot is less than V o i t + 1 , and in the direction of angle set Θ , the slope exceeds the climbing ability of the robot; that is, the slope is greater than β .
Within the set Φ = 2 π n ϕ n n n ϕ 2 , n ϕ 2 Z , the sensor can identify mountain slopes in the n ϕ angle directions, where n ϕ 2 , n ϕ 2 represents the set of numbers between n ϕ 2 and n ϕ 2 , and Z is the set of integers.
Suppose that the function F φ has the following expression as Equation (22):
F φ = φ 2 π · sgn φ δ φ π 2 π < φ < 2 π
Among them:
sgn φ = 1                     φ < 0       0                     φ = 0       1                     φ > 0  
δ φ =   0                   φ 0   1                   φ > 0  
The second obstacle tracking velocity is denoted as V t i t + 1 = x t ˙ i | t + 1 , y t ˙ i | t + 1 , z t ˙ i | t + 1 , and V o i t + 1 = x o ˙ i | t + 1 , y o ˙ i | t + 1 , z o ˙ i | t + 1 . Subsequently, V t i t + 1 is calculated as:
(1)
If arctan y o ˙ i | t + 1 x o ˙ i | t + 1 + δ x o ˙ i | t + 1 · sgn y o ˙ i | t + 1 · π Θ
V t i t + 1 = V o i t + 1
(2)
If arctan y o ˙ i | t + 1 x o ˙ i | t + 1 + δ x o ˙ i | t + 1 · sgn y o ˙ i | t + 1 · π Θ
Calculation angle:
φ 0 = min φ Φ , φ n Φ Θ F φ φ n
To calculate V t i t + 1 :
x t ˙ i | t + 1 = x o ˙ i | t + 1 2 + x o ˙ i | t + 1 2 c o s φ 0 y t ˙ i | t + 1 = x o ˙ i | t + 1 2 + x o ˙ i | t + 1 2 s i n φ 0 z t ˙ i | t + 1 = a   x t ˙ i | t + 1 + b   y t ˙ i | t + 1 c                                                  
a, b, and c are shown in Equation (18).

4.4. Robot Velocity and Position Iteration

When the robot moves on the mountain ground, the speed of the robot is along the tangent direction of the mountain surface at all times. When planning the path of swarm robots, there is a time interval between each iteration, and at the time between the two iterations, the velocity is also along the tangent direction of the mountain surface. Therefore, the position of the robot needs to be modified when updating its position. According to Equation (4), the velocity is corrected as the average velocity vector before the position is corrected.
It is assumed that the mapping relationship between coordinates o b s k = x s k , y s k , z s k , z s k , x s k , and y s k of the mountain surface is expressed as z s k = Fs x s k , y s k . The robot calculates velocity V i t + 1 according to V t i t + 1 = x t ˙ i | t + 1 , y t ˙ i | t + 1 , z t ˙ i | t + 1 . For robot R i , the next velocity V i t + 1 is calculated as follows:
V i t + 1 = x t ˙ i | t + 1 , y t ˙ i | t + 1 , Fs x t ˙ i | t + 1 + x u i | t , y t ˙ i | t + 1 + y u i | t z u i | t
After calculating V i t + 1 , the robot position is updated as follows:
R i t + 1 = R i t + V i t + 1
In summary, the multitarget ground search process in an unknown mountain environment is shown in Figure 4.

5. Simulation Experiment and Results

The parameters are set based on actual search requirements, as shown in Table 2.
As an example, when n u = 40 , assuming that slopes in the mountain environment are all less than or equal to β , a schematic of the target search process is shown in Figure 5. Figure 5a is a topographic map of the mountain area for target search. Figure 5b is the top view of the search area when t = 1, the robot is in a 100 × 100 area in the lower left corner, and the target is in an 800 × 800 area in the middle of the horizontal direction.
In Figure 5c, R 2 detects the signal of target t a r 8 , and robots R 6 , R 15 , R 22 , R 23 , and R 27 join the suballiance. In Figure 5d, from t = 1 ~ 58 , R 2 , R 6 , R 15 , R 22 , R 23 , R 27 , R 8 , R 10 , R 11 , and R 17 in the suballiance participate in the search for t a r 8 , and R 10 searches for R 10 at t = 58.
In Figure 5e, when t = 127, the robots successfully complete the search for target t a r 1 . By this time, 5 targets ( t a r 1 , t a r 7 , t a r 6 and t a r 8 ) have been found.
In Figure 5f, t = 1~185, 11 robots including, R 5 , R 7 , R 11 , R 17 , R 18 , R 19 , R 20 , R 22 , R 24 , R 28 , and R 32 , participate in the collaborative search for target t a r 2 , and before this, multiple robots participated in the cooperative search for other targets.
In Figure 5g, t = 255, the robot swarm finally found all 10 targets. In Figure 5h, all robot movement tracks of swarm robots in the search for targets are shown, and the robots successfully found all ground targets.
Taking the number of robots n u = 30 ,   40 ,   50 ,   or   60 and the number of targets n T = 10 , the experiment was repeated 30 times, and the following data as shown in Table 3.
After verifying the effectiveness of the swarm robot target search in a mountain environment with a slope less than or equal to β , the existence of an environment with a slope greater than β in a mountain environment is verified. Assuming n u = 40 , the mountain slope is less than or equal to α . A diagram of the target search process is shown in Figure 6.
Figure 6a shows a mountain topographic map for the target search and the positions of the targets and robots when t = 1 . Figure 6b is a top view of the search area. The areas marked in red indicate that each location within the region has a slope greater than β in one direction.
Figure 6c shows the process of searching for target t a r 6 . When t = 48 , robot R 37 detects the target signal of t a r 6 and forms a suballiance with robots R 27 , R 30 , R 40 , R 23 , and R 17 . The suballiance starts to search for target t a r 6 . At t = 53 , R 21 also detects the target signal of t a r 6 , joins the suballiance, and pushes R 23 out of the suballiance. Finally, when t = 62 , the target is found, and the suballiance is dissolved. It can be seen from the figure that when a robot is searching for a target, it can move in a direction with a smaller slope according to the 3D curved obstacle tracking algorithm and then smoothly search for a target in a region with a higher slope.
Figure 6d shows the trajectory of robot R 21 during the period from t = 1 to the robot swarm finding all targets. As seen from the trajectory shown in the figure, when the upward slope of the robot’s movement direction is too high for it to climb, the robot will adjust its movement direction to the climbing slope according to the 3D curved obstacle tracking algorithm and move as close to the original direction as possible.
Figure 6e shows the positions of the robots and targets at t = 329 . All targets have been found by swarm robots at this point.
Figure 6f shows the trajectories of all robots in the swarm robot target search process. The figure shows that according to the proposed method, the robots can successfully find all targets in the task area. The robots will be more inclined to move in the region with a slower slope, but they can also move in the direction with a lower slope in a region with a higher slope.
Taking the number of robots n u = 30 ,   40 ,   50 ,   or   60 and the number of targets n T = 10 , the experiment was repeated 30 times, and the following data as shown in Table 4.

6. Conclusions

Aiming at the problem of robot swarm multitarget ground search in an unknown 3D mountain environment, this paper, based on unknown 2D environment robot swarm multiobject search research, extends the multiobjective task assignment model, particle swarm optimization algorithm, and virtual force model from a 2D environment to a 3D environment. A new multiobject ground search algorithm for swarm robots in a 3D mountain environment is proposed. Aiming at the problems of swarm robot’s speed direction being tangent to the ground, each robot avoids a steep slope that cannot be climbed, and a 3D curved obstacle tracking algorithm that can effectively avoid conflict between the swarm robots and the mountain plans the speed based on the direction tangent to the 3D surface so that a robot can find the ground targets in a mountain environment more quickly and effectively. A 3D particle swarm optimization algorithm with kinematic constraints and a multiobjective task assignment model is used to complete multitarget search in the swarm robot system. A virtual force model is used to calculate the expected velocity during roaming search. During collaborative search, a 3D particle swarm optimization algorithm is used to calculate the expected velocity. After the expected velocity is calculated, the final planned velocity is calculated according to the 3D curved obstacle tracking algorithm. Simulation results show that the proposed method can not only find targets quickly but also avoid conflict effectively. The simulation results demonstrate the effectiveness of the proposed algorithm. However, the environment considered in this study is ideal, and problems such as environmental interference, communication delay, and energy consumption constraints in the swarm robot task execution are not considered. Therefore, in subsequent work, the above problems will be studied.

Author Contributions

Y.Z. and M.W.: conceptualization, methodology, writing—original draft preparation; S.Z.: conceptualization, methodology, writing—reviewing and editing; A.C.: conceptualization, software, data curation, writing—reviewing and editing. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (62271199).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Senanayake, M.; Senthooran, I.; Barca, J.C.; Chung, H.; Kamruzzaman, J.; Murshed, M. Search and tracking algorithms for swarms of robots: A survey. Robot. Auton. Syst. 2016, 75, 422–434. [Google Scholar] [CrossRef]
  2. Xue, S.; Zhang, J.; Zeng, J. Parallel asynchronous control strategy for target search with swarm robots. Int. J. Bio-Inspired Comput. 2009, 1, 151–163. [Google Scholar] [CrossRef]
  3. Zhang, Y.; Xue, S.; Zeng, J. Cooperative and Competitive Coordination in Swarm Robotic Search for Multiple Targets. Robot 2015, 37, 142–151. [Google Scholar]
  4. Li, J.; Tan, Y. A probabilistic finite state machine based strategy for multi-target search using swarm robotics. Appl. Soft Comput. 2019, 77, 467–483. [Google Scholar] [CrossRef]
  5. He, X.; Zhou, S.; Zhang, H.; Wu, L.; Zhou, Y.; He, Y.; Wang, M. Multiobjective coordinated search algorithm for swarm of UAVs based on 3D-simplified virtual forced model. Int. J. Syst. Sci. 2020, 51, 2635–2652. [Google Scholar] [CrossRef]
  6. Phung, M.D.; Ha, Q.P. Motion-encoded particle swarm optimization for moving target search using UAVs. Appl. Soft Comput. 2020, 97, 106705. [Google Scholar] [CrossRef]
  7. Cao, X.; Sun, H.; Jan, G.E. Multi-AUV cooperative target search and tracking in unknown underwater environment. Ocean Eng. 2018, 150, 1–11. [Google Scholar] [CrossRef]
  8. Tang, Q.; Yu, F.; Zhang, Y.; Zhang, J. A stigmergetic method based on vector pheromone for target search with swarm robots. J. Exp. Theor. Artif. Intell. 2020, 32, 533–555. [Google Scholar] [CrossRef]
  9. Brown, D.; Sun, L. Exhaustive mobile target search and non-intrusive reconnaissance using cooperative unmanned aerial vehicles. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA, 13–16 June 2017; pp. 1425–1431. [Google Scholar]
  10. Brown, D.; Sun, L. Dynamic exhaustive mobile target search using unmanned aerial vehicles. IEEE Trans. Aerosp. Electron. Syst. 2019, 55, 3413–3423. [Google Scholar] [CrossRef]
  11. Pan, W.T. A new Fruit Fly Optimization Algorithm: Taking the financial distress model as an example. Knowl. Based Syst. 2012, 26, 69–74. [Google Scholar] [CrossRef]
  12. Yang, X.-S. A new metaheuristic bat-inspired algorithm. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2010); González, J.R., Pelta, D.A., Cruz, C., Terrazas, G., Krasnogor, N., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; pp. 65–74. [Google Scholar]
  13. Mirjalili, S.; Mirjalili, S.M.; Lewis, A. Grey Wolf Optimizer. Adv. Eng. Softw. 2014, 69, 46–61. [Google Scholar] [CrossRef] [Green Version]
  14. Dorigo, M.; Gambardella, L.M. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput. 1997, 1, 53–66. [Google Scholar] [CrossRef]
  15. Guastella, D.C.; Cavallaro, N.D.; Melita, C.D.; Savasta, M.; Muscato, G. 3D path planning for UAV swarm missions. In ICMSCE 2018: Proceedings of the 2018 2nd International Conference on Mechatronics Systems and Control Engineering; Association for Computing Machinery: New York, NY, USA, 2018. [Google Scholar]
  16. Xie, Y.; Han, L.; Dong, X.; Li, Q.; Ren, Z. Bio-inspired adaptive formation tracking control for swarm systems with application to UAV swarm systems. Neurocomputing 2021, 453, 272–285. [Google Scholar] [CrossRef]
  17. Wan, N.; Li, Z.; Liang, X.L.; Wang, Y.B. Cooperative region search of UAV swarm with limited communication distance. J. Systems Engineering and Electronics 2022, 44, 1615–1625. [Google Scholar]
  18. Qi, B.; Li, M.; Yang, Y.; Wang, X. Research on UAV path planning obstacle avoidance algorithm based on improved artificial potential field method. J. Phys. Conf. Ser. 2021, 1948, 012060. [Google Scholar] [CrossRef]
  19. Yu, W.; Lu, Y. UAV 3D environment obstacle avoidance trajectory planning based on improved artificial potential field method. J. Phys. Conf. Ser. 2021, 1885, 022020. [Google Scholar] [CrossRef]
  20. Zhou, Y.; Chen, A.; Zhang, H.; Zhang, X.; Zhou, S. Multitarget Search of Swarm Robots in Unknown Complex Environments. Complexity 2020, 2020, 8643120. [Google Scholar] [CrossRef]
  21. Zhou, S.W.; Zhang, X.; Zhang, H.Q.; Zhou, Y.; Li, C.Y. Coordinated Control of Swarm Robots for Multi-target Search Based on a Simplified Virtual-Force Model. Robots 2016, 11, 641–650. [Google Scholar]
  22. Zhou, Y.; Chen, A.; He, X.; Bian, X. Multi-Target Coordinated Search Algorithm for Swarm Robotics Considering Practical Constraints. Front. Neurorobotics 2021, 15, 753052. [Google Scholar] [CrossRef]
  23. Pugh, J.; Martinoli, A. Inspiring and modeling multi-robot search with particle swarm optimization. In Proceedings of the Swarm Intelligence Symposium, 2007, Honolulu, HI, USA, 1–5 April 2007; pp. 332–339. [Google Scholar]
  24. Viswanathan, G.M.; Buldyrev, S.V.; Havlin, S.; Da Luz, M.; Raposo, E.; Stanley, H.E. Optimizing the success of random searches. Nature 1999, 401, 911–914. [Google Scholar] [CrossRef]
  25. Bénichou, O.; Loverdo, C.; Moreau, M.; Voituriez, R. Two-dimensional intermittent search processes: An alternative to Lévy flight strategies. Phys. Rev. E Stat. Nonlinear Soft Matter Phys. 2006, 74, 020102. [Google Scholar] [CrossRef] [PubMed]
  26. Huang, T.Y.; Chen, X.B.; Xu, W.B.; Zhou, Z.W. A self-organizing cooperative hunting by swarm robotic systems based on loose-preference rule. Acta Autom. Sin. 2013, 39, 57–68. [Google Scholar] [CrossRef]
  27. He, X.J.; Zhou, S.W.; Zhang, H.Q.; Zhou, Y. A 3D Parallel Multi-target Search Coordination Control Strategy for Swarm UAVS. Inf. Control 2020, 49, 605–614. [Google Scholar]
  28. Zhang, H.Q. Research on Self-Organizing Cooperative Hunting by Swarm Robots Based on Simplified Virtual-Force Model. Ph.D. Thesis, Hunan University, Changsha, China, 2015. [Google Scholar]
  29. Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of the ICNN’95—International Conference on Neural Networks, Perth, WA, Australia, 27 November–1 December 1995; Volume 4, pp. 1942–1948. [Google Scholar]
  30. Liang, J.J.; Suganthan, P.N. Dynamic multi-swarm particle swarm optimizer with local search. In Proceedings of the 2005 IEEE Congress on Evolutionary Computation, Edinburgh, UK, 2–5 September 2005; pp. 124–129. [Google Scholar]
  31. Sun, W.; Lin, A.; Yu, H.; Liang, Q.; Wu, G. All-dimension neighborhood based particle swarm optimization with randomly selected neighbors. Inf. Sci. 2017, 405, 141–156. [Google Scholar] [CrossRef]
Figure 1. Three robot states relationship.
Figure 1. Three robot states relationship.
Applsci 13 01969 g001
Figure 2. Virtual force model.
Figure 2. Virtual force model.
Applsci 13 01969 g002
Figure 3. Discretization of a mountain. (a) Mountain, (b) mountain dispersion.
Figure 3. Discretization of a mountain. (a) Mountain, (b) mountain dispersion.
Applsci 13 01969 g003
Figure 4. Target search process.
Figure 4. Target search process.
Applsci 13 01969 g004
Figure 5. 3D search simulation diagram. (a) Target search terrain, (b) When t = 1, the robot and the target are located, (c) When t = 37, a robot detects a target signal and forms a suballiance. (d) When t = 1~58, a robot searches the trajectory of target t a r 8 . (e) When t = 127, the target is found. (f) When t = 185, the trajectory of the robot. (g) When t = 255, all targets have been found. (h) When t = 1–255, the trajectories of all the robots.
Figure 5. 3D search simulation diagram. (a) Target search terrain, (b) When t = 1, the robot and the target are located, (c) When t = 37, a robot detects a target signal and forms a suballiance. (d) When t = 1~58, a robot searches the trajectory of target t a r 8 . (e) When t = 127, the target is found. (f) When t = 185, the trajectory of the robot. (g) When t = 255, all targets have been found. (h) When t = 1–255, the trajectories of all the robots.
Applsci 13 01969 g005aApplsci 13 01969 g005b
Figure 6. 3D simulation of a target search when the slope is greater than β. (a) Mountainous terrain, initial target positions. (b) Diagram of the slope over the β zone. (c) The robots search for t a r 6 . (d) Trajectory of robot R 21 (e) When t = 329 , the swarm robots have found all targets. (f) The trajectories of all the robots.
Figure 6. 3D simulation of a target search when the slope is greater than β. (a) Mountainous terrain, initial target positions. (b) Diagram of the slope over the β zone. (c) The robots search for t a r 6 . (d) Trajectory of robot R 21 (e) When t = 329 , the swarm robots have found all targets. (f) The trajectories of all the robots.
Applsci 13 01969 g006aApplsci 13 01969 g006b
Table 1. Group drones rank the suballiance U 1 members at t = 36.
Table 1. Group drones rank the suballiance U 1 members at t = 36.
Serial NumberRobotTarget TypeIntensity of the ResponseNearest Communication RobotDistance from Communication RobotPriority Sorting
1 R 2 II- R 14 213.234934111
2 R 3 II- R 19 209.32242939
3 R 5 I2.099988287--2
4 R 9 II- R 14 33.530088015
5 R 11 II- R 5 44.666559536
6 R 14 I2.024188002--3
7 R 17 II- R 19 171.35428688
8 R 18 II- R 14 232.447783212
9 R 19 I6.13611151--1
10 R 21 II- R 5 212.685970210
11 R 22 II- R 14 30.394062314
12 R 23 II- R 19 142.46183997
Table 2. Parameter values.
Table 2. Parameter values.
ParameterValueParameterValue
α 40 ° β 30 °
n u 30~60 N m 6
n T 10 m 0.1
n ϕ 360 Δ l 1
V m 10 Q 105
r c o m 300 c 1 1
r o b s 100 c 2 1.2
r t a r 100 ω 0.5
d 0 10 λ 0.1
Table 3. Target n T   = 10 and mountain slope less than or equal to β : the number of steps and energy consumption required for the robots to complete the task search.
Table 3. Target n T   = 10 and mountain slope less than or equal to β : the number of steps and energy consumption required for the robots to complete the task search.
n u Step Energy   Consumption   ( × 10 4 )
3040506030405060
Data from 30 experiments48125022621711.4948.1919.10910.761
3702832202158.8579.1978.86810.483
3323432712118.27710.65310.66810.429
45524923221911.3858.1289.47410.784
3542472342308.7297.7999.48311.259
2872492422056.9567.9519.88710.260
3562672532168.4928.51510.15210.685
2862302451907.0857.4669.6949.456
2822372602177.0087.48710.23510.699
3112152072277.6117.0248.48010.972
3672972352099.0889.5799.43410.453
2822322351946.9627.5019.2449.474
3162602222307.7678.3508.95411.185
3432952442068.5139.5329.73110.289
2722772252006.7368.7328.9929.941
2402482272205.8838.0099.21710.916
3602622072279.0118.2318.46011.091
2942802441957.0688.9239.7099.728
3792992302169.4449.5689.31010.643
3552692392258.6798.5909.53710.901
3362182361968.3646.9329.6669.756
2533522752216.22510.92410.89410.800
3582552031758.9128.1528.3738.802
2592392272296.2887.7299.19111.157
3362442192178.2957.6468.86310.754
45725126021611.2648.03010.37010.591
3282592431908.0168.4199.6589.565
2613292342036.61510.2989.4659.996
3052632182227.3768.4978.87711.051
3402802272068.3998.9469.09810.251
Mean331.833265.967234.667211.4678.1608.5009.43610.438
Table 4. Target n T   = 10 and mountain slope greater than β : the number of steps and energy consumption required for the robots to complete the task search.
Table 4. Target n T   = 10 and mountain slope greater than β : the number of steps and energy consumption required for the robots to complete the task search.
n u Step Energy   Consumption   ( × 10 4 )
3040506030405060
Data from 30 experiments59832845228916.48012.54821.80316.916
54532740253315.36612.53419.24031.185
46440139737012.54415.24519.23721.520
42642429229612.16415.74614.23717.282
49631146154413.24811.84322.18231.659
35440028634810.08715.22713.56720.232
43033445633612.09012.77921.76919.447
36833947824810.41812.90722.79514.466
42550838531111.93419.19418.64018.117
47752134226913.49419.43116.56115.709
43637636631012.26814.42817.49418.032
42839135229311.94614.86516.99516.946
37751565030710.34319.73230.87417.752
50645431638714.00517.05215.30122.504
52845231031314.28417.31515.03618.232
43633443428212.29912.84920.91616.437
50236630639313.94113.97714.68022.798
51353151436014.10120.28724.73020.971
42535326929111.52113.48212.96916.984
47432148425713.41012.23223.16714.847
52058640337914.13521.73019.31021.910
50334438033113.95313.08418.29919.251
3463234214109.75212.45720.16323.883
2963753863138.2514.39618.33518.105
63837634239917.94414.45716.60623.201
44752946534912.58319.21721.74020.366
42832136938311.82612.10517.91922.415
3483413643589.81312.91417.61320.917
50953130853814.50220.24214.82830.778
56452335340915.45719.79916.80223.864
Mean460.233407.833391.433353.53312.80515.46918.79420.558
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhou, Y.; Zhou, S.; Wang, M.; Chen, A. Multitarget Search Algorithm Using Swarm Robots in an Unknown 3D Mountain Environment. Appl. Sci. 2023, 13, 1969. https://doi.org/10.3390/app13031969

AMA Style

Zhou Y, Zhou S, Wang M, Chen A. Multitarget Search Algorithm Using Swarm Robots in an Unknown 3D Mountain Environment. Applied Sciences. 2023; 13(3):1969. https://doi.org/10.3390/app13031969

Chicago/Turabian Style

Zhou, You, Shaowu Zhou, Mao Wang, and Anhua Chen. 2023. "Multitarget Search Algorithm Using Swarm Robots in an Unknown 3D Mountain Environment" Applied Sciences 13, no. 3: 1969. https://doi.org/10.3390/app13031969

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop