Next Article in Journal
Enhancing 3D Models with Spectral Imaging for Surface Reflectivity
Previous Article in Journal
Kinect-Based Gait Analysis System Design and Concurrent Validity in Persons with Anterolateral Shoulder Pain Syndrome, Results from a Pilot Study
Previous Article in Special Issue
Robot Calibration Sampling Data Optimization Method Based on Improved Robot Observability Metrics and Binary Simulated Annealing Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-AUV Kinematic Task Assignment Based on Self-Organizing Map Neural Network and Dubins Path Generator

1
College of Information Engineering, Shanghai Maritime University, 1550 Haigang Avenue, Pudong New Area, Shanghai 201306, China
2
Logistics Engineering College, Shanghai Maritime University, Shanghai 201306, China
3
Mechanics Institute, University of Shanghai for Science and Technology, Shanghai 200093, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(19), 6345; https://doi.org/10.3390/s24196345
Submission received: 16 May 2024 / Revised: 13 June 2024 / Accepted: 21 June 2024 / Published: 30 September 2024
(This article belongs to the Special Issue Applied Robotics in Mechatronics and Automation)

Abstract

:
To deal with the task assignment problem of multi-AUV systems under kinematic constraints, which means steering capability constraints for underactuated AUVs or other vehicles likely, an improved task assignment algorithm is proposed combining the Dubins Path algorithm with improved SOM neural network algorithm. At first, the aimed tasks are assigned to the AUVs by the improved SOM neural network method based on workload balance and neighborhood function. When there exists kinematic constraints or obstacles which may cause failure of trajectory planning, task re-assignment will be implemented by changing the weights of SOM neurals, until the AUVs can have paths to reach all the targets. Then, the Dubins paths are generated in several limited cases. The AUV’s yaw angle is limited, which results in new assignments to the targets. Computation flow is designed so that the algorithm in MATLAB and Python can realize the path planning to multiple targets. Finally, simulation results prove that the proposed algorithm can effectively accomplish the task assignment task for a multi-AUV system.

1. Introduction

At the present time, there have been a lot of theoretical and practical research results on the task assignment algorithms for the multi-AUV system. The task assignment algorithm covers two aspects: 1. task allocation and 2. path planning, which refers to the technology of controlling a group of AUVs according to a certain algorithm and reaching the target along the optimized path under the kinematic constraints. In other words, task allocation ensures optimized task assignment such as the Traveling Salesman Problem (TSP); path planning guarantees the feasibility for the agents moving to the assigned tasks. For underwater vehicles, task assignment refers to the assignment of a number of targets to a multi-AUV system, and the cost of the whole multi-AUV system is the minimum under the premise that all targets are traversed. The path planning technique refers to the achievement method for any single AUV in the group after global task assignment [1].
The market mechanism algorithm is one the most common methods to solve the multitask assignment operations [2]. Another commonly used task assignment algorithm is the ant colony algorithm which mainly studies the autonomous task assignment of multi-robot systems in dynamic environments [3]. These are also other task assignment methods, such as that with intelligent heuristic algorithm handling water flow influence [4], while kinematic path planning is not considered for most of them. As for neural networks, study [5] further proposed a task allocation algorithm suitable for large-scale multi-robot clusters. The self-organizing neural network algorithm can also be applied to multi-task assignment. The SOM algorithm was proposed by a Finnish scholar, Teuvo Kohonen, in the 1980s [6,7]. References [8,9] applied the self-organizing neural network to the task assignment and distribution of multi-mobile robot systems. Using the SOM neural network algorithm, dynamic task assignments for multi-AUV systems in two-dimensional ocean environments are implemented. Then, the multi-AUV multi-target allocation strategy of self-organizing map (SOM) neural network is further extended and applied to the three-dimensional marine environment [10]. Event-triggered adaptive neural network tracking control for uncertain systems was proposed in [11], where the event-triggering mechanism can reduce the update rate of input signals and avoid the Zeno behavior.
Path planning is one of the intelligent behaviors that AUVs need to possess. The so-called path planning means that in an environment with obstacles, the AUV finds a collision-free path from the initial state to the target state according to certain evaluation criteria [12,13]. Traditional path planning methods mainly include the visual graph method, artificial potential field method, genetic algorithm, fuzzy logic method, etc. [14,15,16]. These path planning methods have their own scope of application. However, underwater movements of the AUVs have limitations. If the steering performance by the rudder is limited, with the maximum angle of steering θ , the maximum turning radius should be R. For this reason, the minimum turning radius should not be less than R, which put constrains on the movements. Most of the traditional path planning methods did not consider the kinematic constraints. In another situation, a configurable maximum pitch angle γ is set to control the behaviour of the climbing of the AUV. In case that the necessary pitch angle between two waypoints exceeds this angle, a helical path is introduced to avoid the generation of pitch set-points that might make the vehicle stall. The Dubins path planning method can handle these two kind of situations caused by the vehicle kinematic constraints [17,18]. The Dubins method is mainly based on the following theorem. When the direction of motion is known and the turning radius is the smallest, the shortest path from the initial vector to the ending vector is composed of a straight line and a turning arc with the smallest radius. AUV can effectively save energy by using the shortest path in the task assignment and path planning. Although the problem of multi-task assignment has been extensively studied, none of the literature mentioned above considered AUV’s underwater kinematic constraints. This issue has certainly been studied before by some scholars from different perspectives, but overall, the research is relatively rare. The AUV underwater task assignment and path planning in the actual environment cannot ignore the kinematic constraints and the actual existence of the obstacle environment. This paper mainly conducts in-depth research on this.
As shown in Figure 1, a typical AUV has 1–2 thrusters at the tail, relying on rudder and fins to control the moving direction. This structure determines that most AUVs are underactuated. When an AUV moves, it turns horizontally and tilts vertically, i.e., yaw and pitch. The yaw and pitch angles are limited due to mechanical structure and fluid dynamics. In the 3D workspace, pitch angle γ γ m a x , and yaw angle’s derivative or the angular velocity on the X–Y plane φ ˙ is also limited, which results in the turning radius r R , where R is the minimum turning radius under the angular velocity m a x ( φ ˙ ) . It should be noted that when the force of the thruster is set very high, the turning radius will also be large at the maximum rudder angle, while we are discussing the case of normal thrust. Considering this, task assignment and path planning of multiple AUV systems under kinematic constraints in a two-dimensional environment are studied in this paper, taking into account static obstacles and other interference factors. The main innovation is to combine the task assignment of SOM neural networks with Dubins path planning under kinematic constraints, making the method more applicable to real-world applications. By combining the Dubins Path algorithm with the improved self-organizing mapping (SOM) neural network algorithm, this paper proposes a new task assignment and path planning algorithm, which effectively solves the multi-task assignment problem of the multi-AUV system in the actual environment. The mathematical model and algorithms are established in MATLAB R2016a and then tested in Python 2.7.18 on a Raspberry Pi.
This paper is organized as follows. The task assignment and kinematic motion planning problems are fomulated in Section 2. The proposed improved SOM neural network method with Dubins path planning algorithms are introduced in Section 3, where the AUVs’ kinematics have multi-constraints. In Section 4, simulation results are shown for the task assignment with Dubins path of several AUVs and targets in 2D and 3D workspace even with obstacles. Comparative time comsuptions are recorded to validate the actual availability for applications. In Section 5, some conclusive remarks are given with some future works discussed.

2. Problem Formulation

The task allocation algorithm of a multi AUV system covers two aspects: task allocation and path planning, which refer to the technology of controlling a group of AUVs based on a certain algorithm, and each of them reaches the target along the optimized path under kinematic constraints.
Task allocation refers to assigning any number of targets to a group of underwater robots, ensuring that all targets are traversed while minimizing the cost of the entire multi AUV system, i.e., minimizing the total walking distance. Path planning technology refers to a path planning method for a single AUV after global task allocation. This article mainly focuses on the task allocation and path planning problem of multi AUV systems under kinematic constraints in two-dimensional and three-dimensional environments, and considers interference factors such as obstacles. A 3D visual example is provided in Figure 2.
Relying solely on the principle of proximity between target point coordinates and AUV coordinates to allocate tasks may sometimes result in one AUV being assigned too many tasks, making it unable to fully reach all assigned targets before running out of power, while other AUVs may not be able to achieve the task objectives. The initially assigned tasks cannot be completed in the actual planned path due to obstacles. In order to ensure the maximum utilization of energy carried by each AUV and avoid the AUV stopping due to insufficient energy during its movement towards the target, load balancing of the AUV should be considered.
Assuming that AUVs have the same underwater cruising capability, carrying the same energy, the maximum number of each AUV should be decided firstly. Note that we do not consider the energy consumption difference caused by the turning radius for now, only the distance traveled. Firstly, calculate N = N T / N R , where N T is the number of target points and N R is the number of AUVs, then set the upper limit of the task load to
N M A X = N , N N + N + 1 , N N +
When the maximum number of tasks is exceeded the certain number for an AUV, the task will not be assigned to it again, and the suboptimal AUV will be selected to execute the task. Considering the load balancing of AUV systems into the algorithm is an important improvement, making them more suitable for the actual situation of multi AUV and multi task allocation. Meanwhile, we consider this problem in reverse and sequentially select the optimal target point for the AUV until the number of tasks for the AUV approaches N M A X . At this point, we then calculate the energy loss of a single AUV to ultimately complete the task allocation.
After the optimal task assignment, path planning must be implemented with consideration of the kinematic constraints. Assuming that the AUV’s initial and final poses are denoted by P g x g , y g , z g , φ g , γ g and P g x g , y g , z g , φ g , γ g , respectively, where φ i , γ i represent the heading and pitch angles, respectively [19,20]. In the Cartesian coordinate frame ( x , y , z ) , the path connecting the two poses is provided by trajectory smoothing, which can be written as
d x d s = cos φ ( s ) cos γ ( s ) d y d s = sin φ ( s ) cos γ ( s ) d z d s = sin γ ( s ) d φ d s = μ 1 d γ d s = μ 2
where s represents the curvilinear abscissa along the path, μ 1 and μ 2 represent the control inputs. The curvature radius R ( s ) is calculated as follows:
R ( s ) = 1 μ 1 2 ( s ) cos 2 γ ( s ) + μ 2 2 ( s )
As there are certain relationships between geometric constraints and the vehicle actual constraints, control inputs ( μ 1 , μ 2 ) should be determined to satisfy the these geometric constraints: (1) the curvature radius constraint: | R | R m i n ; (2) the pitch angle constraint: γ m i n γ γ m a x . Essentially, finding the shortest path is an optimal control problem. For a group of AUVs, we are trying to find the optimal total consumption of all AUVs after completing their tasks described as
1 N min 0 s g n d s
where s g n represents the planned trajectory length of the nth AUV.
In this paper, dubins path is used to handle this issue. In this way, we can plan executable formation trajectories. It is should be noted that the energy loss and formation task reassignment caused by different servo angles of the AUVs are not currently within the scope of this article.

3. Task Assignment Algorithm under Kinematic Constraints

In this section, self-organizing map (SOM) neural network method with Dubins path generator is used to deal with task allocation and path planning problems for the multi-AUV system. The control stability and accuracy of the system model are compensated by strengthening the optimal global exploration and local exploitation ability. At the same time, an event-triggered neural network evolution strategy is developed to decrease the update frequency of the control signal. The improved optimization method can realize the controller’s online parameter adjustment to meet the AUVs’ control requirements in the experimental simulation environment.

3.1. Application of Event-Triggered SOM in Multi-AUV Task Assignment

Assuming a group of AUVs is distributed within a limited working area, and a random number of targets are distributed within this area. Each target point requires one AUV to complete a specific task at that point. For each AUV, its cost is measured by the distance it moves from the starting position coordinate point to the target position coordinate point. The total cost is defined as the sum of all individual AUV costs. After all target points have been visited once, the task is completed.
For the sake of simplicity, a two-dimensional plane is used as the workspace, in which the red points represent the AUV, and the green circles represent the target point. Furthermore, assuming that all AUVs are the same robots with basic navigation, obstacle avoidance, and position recognition functions. For an input neuron (target point), the output neuron competes to become the winning neuron, as follows:
N j , N l = min D k j l , k = 1 , , K ; j = 1 , , J ; l = 1 , , L
where N j , N l represents the N j th output neuron that competes to win against the N l th input neuron in the kth iteration. D k j l is a weight related variable according to relative distance, defined as:
D k j l = T l R j k 1 + V , P j < S max , P j S max
where S max is the maximal distance that a single AUV can travel, and
T l R j k = x l w j k x 2 + y l w j k y 2 .
Equation (7) provides an expression for finding the Euclidean distance between the target location T l and the AUV location R j k ; specifically, T l = T l x , T l v ) is the coordinate of the input neuron in the Cartesian coordinate system; R j k = w j k x , w j k y ( k = 1 , 2 , , K ; j = 1 , 2 , , J ) is the coordinate of the kth neuron in the jth output neuron group, which is the position of a specific AUV at a certain moment. The parameter V is given by (8), which controls the load balancing between various AUVs. The load balance function is the core of the SOM algorithm. The winning neuron in competition is not only the neuron with the smallest Euclidean distance from the input neuron but also the neuron with the smallest load at that moment.
V = P j v ¯ 1 + v ¯
where P j is the path length of the jth AUV’s movement, and v ¯ is the average path length of the AUV team.
After a AUV’s representing neuron wins the competition, a neighborhood function is an important step. The neighborhood function determines the influence (attraction strength) of the input neuron on the winning neuron and its adjacent neurons. The impact on the winning neuron should be the greatest. The impact on neighboring neurons gradually decreases, while neurons outside the neighboring area are not affected. The magnitude of the impact determines the size of the weight adjustment of neurons in the neighborhood during a certain iteration process. The process of calculating neighborhood functions and changing weights is shown in Figure 3. The red dots represent the position of the AUV at a certain moment, serving as output layer neurons. The green circle represents the target position as the input neuron. The winning neuron in the figure is R 1 , which is one closest to the input T 1 . The neighborhood function is defined as follows:
f d j , G = e d j 2 / G 2 ( t ) , d j < r 0 , other
It is easy to see that 0 f d j , G 1 , where d j = j N l , representing the distance between the jth neuron in the kth group and the winning neuron N l . r is the neighborhood radius. G ( t ) = ( 1 m ) t G o , where t is the number of iterations. When t increases, the value of the neighborhood function decreases, and the moving step of the AUV in the neighborhood decreases. m and G o are constants, through which the motion step size of AUVs in the neighborhood can be adjusted, thereby controlling calculation accuracy and operation time.
After the winning neuron and its neighborhood are determined, the winning neuron and adjacent neurons move towards the input neuron, while the other neurons remain stationary. The update rule is given by (10), where the addition operator represents vector addition. The termination condition for the operation is provided by D m i n , which can reduce the calculation time. The modification of weight values depends not only on the initial distance between the winning neuron and its neighboring neurons and the input target point but also on the neighborhood function and the learning rate of the network α .
R j k ( t + 1 ) = T l ( t ) , D k j l < D min R j k ( t ) + α · f ( d j , G ) · T l ( t ) R k m ( t ) , other
At the same time, if there exists an obstacle at the position o b = ( x o , y o ) , the obstacle weight is computed based on the Euclidean distance between it and the neural network weights by
o b w = m i n ( ob R j k )
where ob is the expansion of o b to a vector of equal length to R j k ( j = 1 , 2 , , J ;   k = 1 , 2 , , K ) . By comparing o b w with the defined safety distance d s a f e t y , the impact of obstacles can be determined.
The flowchart of the algorithm is shown in Figure 4. After initializing the SOM neural network, the positions of the target points are sequentially input into the network. For a given input target point during the iteration process, it can be summarized as a three-step calculation process. The first step is to select the winning neuron; the second step is to determine the neighborhood of the winning neuron; the third step is to correct the weight vectors of the winning neuron and its neighboring neurons. Event triggering occurs in three situations, namely obstacles on the path, load exceeding the upper limit, or inability to plan the Dubins path from the AUV to the pre-allocated target point. The event triggered control functions u is given by (12), where u 1 is the workload related function by (13) and u 2 is the obstacles related function by (14). The event triggered re-assignment will be implemented in the SOM algorithm flow chart if u = 0 . After all target points are reached by one specified AUV, task allocation is completed.
u = u 1 & u 2
u 1 = 0 , D k j l = 1 , o t h e r s
u 2 = 0 , o b w > d s a f e t y 1 , o b w d s a f e t y

3.2. Dubins Path Planning Algorithm for AUV Kinematic Constrains

Unlike underwater robots such as ROVs, most torpedo like AUVs and underwater gliders are underactuated with tail thrusters to only moving forward, steering depend on fins and rudders. It is difficult to achieve proper path planning. Fortunately, Dubin’s Car was introduced into the literature by Lester Dubins, a famous mathematician and statistician, in a paper published in 1957. The cars essentially have only 3 controls: “turn left at maximum”, “turn right at maximum”, and “go straight”. All the paths traced out by the Dubin’s car are combinations of these three controls. Dubin’s car is very similar to AUVs’ kinematics. Assuming that the AUV has an initial velocity and dynamic characteristics as mentioned above, the path can be planned based on the Dubins car method from 2D to 3D workspace. Precise motion control to dynamic control problem is also very useful, which is another quite challenging field being studied. For example, command filter with adaptive control was proposed to solve the model uncertainties and input saturation issues [21]. These theories will be involved in our future work. To minimize the traveling time and energy consumption of AUVs, path planning based on kinematic is necessary. Here, we adopt the Dubins method to deal with the three-dimensional motion planning problem.
Literally, the Dubins curve is the shortest path connecting two points with initial directions, while satisfying curvature constraints and specified tangent lines (entry direction) at the beginning and end, and limiting the target to only turn forward. As described in prior works, the Dubins curve can be represented as a combination of three basic movements, as listed in Table 1. The Dubins curve provides a sufficient set of paths, which includes the optimal path. The shortest path is only selected from 6 curves in the set of LRL LSL LSR RLR RSR RSL.
Dubins curves in above table have been discussed in several papers such as [18,19], and related calculation methods are provided in former research, which will not be repeated in this article. Two of the Dubin’s shortest paths do not use the tangent lines. These are the RLR and LRL trajectories, which consist of three tangential, minimum radius turning circles [22,23]. These trajectories may be used very often in the swarm situation, where a lot of AUVs densely distributed in a certain 3D workspace. If the distance between the agent and the target’s turning circles is less than 4 times the minimum turning radius r m i n , then a CCC curve is valid. For CCC trajectories as an example, we must calculate the location of the third circle, as well as its tangent points to the circles. To be more concrete, the RLR case is shown in Figure 5.
Consider the minimum-radius turning circle to the right of start location to be the circle c1, and the minimum-radius turning circle to the right of the goal location to be the circle c3. The task is now to compute c2, a circle tangent to both c1 and c2 plus the points p t 1 and p t 2 which are respective points of intersection between the 3 circles. Let p1, p2, p3 be the centers of circle c1, c2, and c3,respectively. The triangle is formed using these points. Because c2 is tangent to both c1 and c2, the lengths of all three sides are known.
Segments p 1 p 2 ¯ and p 3 p 2 ¯ have length 2 r m i n , and segment p 1 p 3 ¯ has length d. We are interested in the angle θ = p 3 p 1 p 2 because that is the angle that the line between c1 and c3 ( V 1 ) must rotate to face the center of c2, which will allow us to calculate p2 by θ = c o s 1 d 4 r m i n , where θ in a RLR trajectory represents the amount of rotation that vector V 1 = p 3 p 1 must rotate to point at the center of c2; d = x 3 x 1 2 + y 3 y 1 2 . However, θ ’s value is only valid if V 1 is the same direction as the positive x-axis. Otherwise, the atan2 function will be needed to rotate V 1 . For a LRL trajectory, we want to add θ to this value, but for an RLR trajectory, we want to subtract θ from it to obtain a circle at the right-side of c1. Note that we consider counter-clockwise turns to be positive. Now that theta represents the absolute amount of rotation, we can compute the c2 center point
p 2 = ( x 1 + 2 r m i n c o s θ , y 1 + 2 r m i n s i n θ )
after which the tangent points p t 1 and p t 2 becomes easy to be computed. Defining vectors from the p2 to p1 and p3, and walking down them a distance of r m i n , we obtain the vector V 2 from p2 to p1. Next, change the vector’s magnitude to r m i n by normalizing it and multiplying by r m i n
V 2 = V 2 V 2 r m i n
where V 2 = p 1 p 2 . Next, compute p t 1 using the new V 2 by p t 1 = p 2 + V 2 . Then, p t 2 will be computed following a similar procedure.
As the tangent points are obtained, arc lengths and duration as before can be computed to finish things off. Then, we obtain a Dubins path composed of 3 curves known as the CCC trajectory. To extend the 2D Dubins curves to 3D space using the linear interpolation method, the 3D tour sequences are first projected on to the 2D [ X , Y ] plane in a global coordinate system. Taking a starting point P 0 ( X 0 , Φ 0 ] and an ending point P 1 ( X 1 , Φ 1 ) in the 3D [ X , Y , Z ] space and project them on to the 2D plane. Then, the starting and ending points become 2D parameters [ ( x 0 , y 0 ) , ϕ 0 ] and [ ( x 1 , y 1 ) , ϕ 1 ] . The 2D Dubins curve is designed as described in the above content, and the lengths of the arcs and line segment are calculated. Let L 0 , x and L x , 1 denote the lengths along the 2D Dubins curve from ( x 0 , y 0 ) to (x, y) and from ( x , y ) to ( x 1 , y 1 ) , respectively. The linear interpolation adds the z coordinate in the 3D space by
z = z 0 + L 0 , x L 0 , 1 ( z 1 z 0 )
where z 0 and z 1 are the Z coordinates of the starting and ending points. A detailed procedure has been introduced in existing papers such as [17,20] and will not be repeated here. If obstacles appear in the path, we must re-assign the tasks.
After obtaining the dubins path, we modified the task allocation algorithm as following Figure 6. With kinematic constraints considered, the computing process increases the base on Algorithm 1. Due to the limited energy carried by autonomous underwater robots themselves, the rational and effective utilization of energy has become a key constraint for multi-AUV systems to complete multiple tasks. Therefore, the load balancing of AUVs is considered in the algorithm. The paper assumes that AUVs carry the same energy, that is, within the same working range, the distances traveled by AUVs exhausting their own energy are the same. Load balancing is determined by the traveling distance limit. At the same time, it is determined whether the distance between the winning AUV and the target task point meets the conditions for forming the Dubins Path. If not, it is set to infinity. Then the input neuron data could be modified in Algorithm 1 to reassign tasks to appropriate AUVs.

4. Simulation Research

Simulations were set up with multiple underwater targets deployed randomly in a work space of [ 30 × 30 ] units, where the minimum turning radius r m i n of each AUV are the same and equal to 1 unit. Green dots represent targets, and red diamonds represent AUVs. In the workspace of a multi AUV system, there are four AUVs that need to access 6 randomly distributed targets. After the task is assigned by the SOM neural network, each AUV can reach its nearest target point along the optimal path, as shown in Figure 7. As there is no obstacle or load balance problem in this workspace, AUVs can accurately reach various target positions based on proposed algorithm.
In actual operation, there are often obstacles that affect the results of task allocation. We keep the positions of AUVs and target points unchanged while adding an obstacle area to the workspace, which may also affect the load balancing.
As Figure 8 illustrates, comparing Figure 8b to Figure 7b, it can be found that when the route is blocked by the obstacle or the path cannot be planned, the current winning neuron is not selected, and the suboptimal neuron is used for route planning until the path planning is successful after the task re-assignment. All target points are also accessed by the closest distance. The simulation results prove that the algorithm is effective with obstacles.
In more cases, besides obstacles, there is also the issue of load balancing for AUVs. AUVs navigate in water and carry limited energy, which means the total range that a single AUV can navigate is limited. The algorithm proposed in this article can solve these problems within a certain range. The following is a simulation explanation.
As shown in Figure 9, in the workspace of a multi-AUV task assignment scenario, there are 2 AUVs that need to access 6 randomly distributed targets. Figure 9a shows task allocation and path planning without workload balance settings, where one AUV is responsible for four tasks and the other is responsible for two tasks. Figure 9b shows task allocation and path planning with a setting of number of tasks as 3. At this time, both AUVs are responsible for completing 3 tasks, and their energy consumption is relatively balanced. In the algorithm, the upper limit of task responsibility is set by default to the number of tasks divided by the number of robots, rounded up by 1. At the same time, the distance traveled is also recorded, and the maximum walking path upper limit is provided. When the upper limit is exceeded after the execution of this task, the task is not assigned to the winning robot. A series of tests are implemented as illustrated in Table 2. The path length is using “Unit” as a measurement unit as mentioned above.
As can be seen in the table above, the distance traveled by AUVs varies depending on whether load balancing is enabled or not. The algorithms were firstly implemented with MATLAB R2016a software on the hardware platform of HP Computer with Intel Core i7 9700 CPU and 16G DDR4 2400 memory. Simulation run time consumption was recorded using the Tic and Toc function. When there is no load balancing, the AUV obtains the minimum total distance based on the operation results of the SOM neural network, but the traveling length of a certain AUV may deviate from the average value. In the case of 4 AUVs for 8 targets, we calculate the mean square deviation of the distance based on the recorded running distance of each AUV, and the calculated formula is L ˜ = i = 1 n ( L i L ¯ ) 2 n 1 . Then, the standard deviation of the sample without load balancing can be obtained as 1.812; the standard deviation of the sample with load balancing can be obtained as 0.133. If there is no load balance, the load of a certain AUV may exceed the mean value significantly, which is not feasible in practical applications. Thus, we obtain the multi-task allocation results based on Dubins path planning under load balancing. Under load balancing, due to the fact that the pairing selection between certain AUVs and the target points may not be optimal in distance, the total path length will increase and the computation time will also increase, which are all within an acceptable range on the level of tens of milliseconds. The simulation results show that the algorithm considering workload balance is effective.
Meanwhile, we implemented the algorithm through Python programs, with package NumNy. On the PC, the simulation time consumption with Python is approximately 5–10 times that of Matlab. In order to get closer to practical applications, we run Python simulations on the embedded device, an official Raspberry Pi 4B with 4G memory. The running times are shown in the table, which basically take a few seconds to complete the core algorithm, without drawing the graphics. Considering the rapid development of ARM computing power, it can be said feasible to run this algorithm on embedded systems. It should be noted that running on the Pi is only an experiment for the core program, not in an actual operation. The field applications may require an omniscient perspective and a known global map (or SLAM), which may involve various additional hardware.
Based on the method discussed in Section 2, we extend the application to three-dimensional workspace. Task assigment and Dubins paths in 3D space also face obstacles and load balancing problems. Due to paper length limitations, we will provide an example of simulation here, without considering dynamic disturbances caused by water flow. Simulations were set up with multiple underwater targets deployed randomly in a 3D workspace, as shown in Figure 10a. Note that in a 3D environment, the pitch angle γ is taken into algorithm and restricted to [ 15 P I / 180 , 15 P I / 180 ] . Task allocation results and trajectories are illustrated in Figure 10b for 3 AUVs and 8 targets. We have simulated 30 Monte Carlo scenarios with AUVs and targets, and computed the average length of 3D trajectories. The standard deviation value L ˜ is relatively small since the proposed algorithms can achieve progressive optimization using the load balancing scheme. The comparison results related to energy balance are shown in Table 3. We also implemented some simulations on PC (MATLAB) and Pi (Python). The average running time within an acceptable range has been recorded in the table.

5. Conclusions and Future Work

This paper has studied the task assignment and path planning problem for multi-AUV systems with kinematic character considered. The improved SOM neural network method based on workload balance and neighborhood function is adopted to slove the strategy-level issues for task allocation. Meanwhile, based on feasible kinematic path planning, combined with the Dubins method for path planning and task reassignment, task allocation and path planning under load balancing are finally achieved. The 2D and 3D Dubins curves are designed with a set of possible headings and with nonholonomic motion constraints. It is demonstrated that the proposed method has been proven to achieve feasible load balancing for task assignment in obstacle environments. In future work, firstly, we will rewrite the algorithm in C++, hoping to achieve faster speed on embedded systems. Secondly, we will study more practical application and controllers related to dynamic control methods [24], such as Dubins trajectory tracking problem in water flow workspace of multi-AUV systems, as well as inter group collision avoidance of AUVs on the Dubins paths, and the moving obstacle avoidance problem.

Author Contributions

Conceptualization, X.L. and D.Z.; methodology, X.L.; software, X.L. and W.G.; validation, X.L. and P.W.; writing—original draft preparation, X.L.; writing—review and editing, X.L.; supervision, P.W.; project administration, D.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data available at: https://github.com/ayawaya2014/data-for-sensors-paper-202406, accessed on 6 March 2024.

Acknowledgments

The authors would like to thank all the Editors and Reviewers who have given their valuable advice to this paper.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Gao, K.; Gao, M.; Zhou, M.; Ma, Z. Artificial intelligence algorithms in unmanned surface vessel task assignment and path planning: A survey. Swarm Evol. Comput. 2024, 86, 101505. [Google Scholar] [CrossRef]
  2. Oh, G.; Kim, Y.; Ahn, J.; Choi, H.L. Market-Based Task Assignment for Cooperative Timing Missions over Networks with Limited Connectivity. In Proceedings of the Aiaa Guidance, Navigation, & Control Conference, AIAA Scitech, Kissimmee, FL, USA, 5–9 January 2015. [Google Scholar]
  3. Cao, Z.H.; Bin, W.U.; Huang, Y.Q.; Deng, C.Y. The Multi-Robot Task Allocation Study Based on Improved Ant Colony Algorithm. Modul. Mach. Tool Autom. Manuf. Tech. 2013, 1, 35–37. [Google Scholar]
  4. Zhu, D.; Yang, S.X. Current Effect-Eliminated Optimal Target Assignment and Motion Planning for a Multi-UUV System. IEEE Trans. Intell. Transp. Syst. 2024, 1–10. [Google Scholar] [CrossRef]
  5. Liu, S.; Sun, T.; Hung, C.C. Multi-Robot Task Allocation Based on Swarm Intelligence; Multi-Robot Systems, Trends and Development; InTech: London, UK, 2011. [Google Scholar]
  6. Kohonen, T.K. Analysis of a simple self-organizing process. Biol. Cybern. 1982, 44, 135–140. [Google Scholar] [CrossRef]
  7. Zhao, C.; Guo, D. Particle Swarm Optimization Algorithm with Self-Organizing Mapping for Nash Equilibrium Strategy in Application of Multiobjective Optimization. IEEE Trans. Neural Netw. Learn. Syst. 2020, 32, 5179–5193. [Google Scholar] [CrossRef] [PubMed]
  8. Zhu, A.; Yang, S. A Neural Network Approach to Dynamic Task Assignment of Multirobots. IEEE Trans. Neural Netw. 2006, 17, 1278–1287. [Google Scholar] [CrossRef] [PubMed]
  9. Zhu, D.; Xin, L.; Mingzhong, Y. Task assignment algorithm of multi-AUV based on self-organizing map. Control Decis. 2012, 27, 1201–1204. [Google Scholar] [CrossRef]
  10. Li, X.; Zhu, D. An Adaptive SOM Neural Network Method for Distributed Formation Control of a Group of AUVs. IEEE Trans. Ind. Electron. 2018, 65, 8260–8270. [Google Scholar] [CrossRef]
  11. Liu, J.; Wang, Q.G.; Yu, J. Event-Triggered Adaptive Neural Network Tracking Control for Uncertain Systems with Unknown Input Saturation Based on Command Filters. IEEE Trans. Neural Netw. Learn. Syst. 2024, 35, 8702–8707. [Google Scholar] [CrossRef] [PubMed]
  12. Jiang, K.; Seneviratne, L.D.; Earles, S. A Shortest Path Based Path Planning Algorithm for Nonholonomic Mobile Robots. J. Intell. Robot. Syst. 1999, 24, 347–366. [Google Scholar] [CrossRef]
  13. Leng, J.; Liu, J.; Hongli, X.U. Online path planning of an unmanned surface vehicle for real-time collision avoidance. CAAI Trans. Intell. Syst. 2015, 10, 343–348. [Google Scholar]
  14. Khatib, O. Real-Time Obstacle Avoidance System for Manipulators and Mobile Robots. Int. J. Robot. Res. 1986, 5, 90–98. [Google Scholar] [CrossRef]
  15. Sugihara, K. GA-based on-line path planning for SAUVIM. In Proceedings of the International Conference on Industrial & Engineering Applications of Artificial in Telligence & Expert Systems: Tasks & Methods in Applied Artificial Intelligence, Castellón, Spain, 1–4 June 1998. [Google Scholar]
  16. Li, T.; Chiang, M.S.; Jian, S.S. Motion planning of an autonomous mobile robot by integrating GAs and fuzzy logic control. In Proceedings of the IEEE International Conference on Fuzzy Systems, San Antonio, TX, USA, 7–10 May 2000. [Google Scholar]
  17. Cai, W.; Zhang, M.; Zheng, Y. Task Assignment and Path Planning for Multiple Autonomous Underwater Vehicles Using 3D Dubins Curves. Sensors 2017, 17, 1607. [Google Scholar] [CrossRef] [PubMed]
  18. Lin, Y.; Saripalli, S. Path planning using 3D Dubins Curve for Unmanned Aerial Vehicles. In Proceedings of the 2014 International Conference on Unmanned Aircraft Systems (ICUAS), Orlando, FL, USA, 27–30 May 2014. [Google Scholar]
  19. Wang, Y.; Wang, Y.; Tan, M.; Zhou, C.; Wei, Q. Real-Time Dynamic Dubins-Helix Method for 3-D Trajectory Smoothing. IEEE Trans. Control Syst. Technol. 2015, 23, 730–736. [Google Scholar] [CrossRef]
  20. Vana, P.; Alves Neto, A.; Faigl, J.; Macharet, D.G. Minimal 3D Dubins Path with Bounded Curvature and Pitch Angle. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–1 August 2020; pp. 8497–8503. [Google Scholar] [CrossRef]
  21. Liu, Y.; Liu, J.; Wang, Q.G.; Yu, J. Adaptive Command Filtered Backstepping Tracking Control for AUVs Considering Model Uncertainties and Input Saturation. IEEE Trans. Circuits Syst. II Express Briefs 2023, 70, 1475–1479. [Google Scholar] [CrossRef]
  22. Giese, A. A Comprehensive, Step-by-Step Tutorial on Computing Dubin’s Curves. 2012–2023. Available online: https://gieseanw.wordpress.com/2012/10/21/a-comprehensive-step-by-step-tutorial-to-computing-dubins-paths/ (accessed on 6 March 2024).
  23. Shkel, A.M.; Lumelsky, V. Classification of the Dubins set. Robot. Auton. Syst. 2001, 34, 179–202. [Google Scholar] [CrossRef]
  24. Li, Y.; Li, X.; Zhu, D.; Yang, S.X. Self-Competition Leader-Follower Multi-AUV Formation Control Based on Improved PSO Algorithm with Energy Consumption Allocation. Int. J. Robot. Autom. 2022, 37, 288–301. [Google Scholar] [CrossRef]
Figure 1. AUV’s kinematic constraint in 3D workspace.
Figure 1. AUV’s kinematic constraint in 3D workspace.
Sensors 24 06345 g001
Figure 2. The example of multi-AUV task assignment: 3 AUVs and 3 targets.
Figure 2. The example of multi-AUV task assignment: 3 AUVs and 3 targets.
Sensors 24 06345 g002
Figure 3. Schematic diagram of neighborhood weight change and load balance.
Figure 3. Schematic diagram of neighborhood weight change and load balance.
Sensors 24 06345 g003
Figure 4. The event-triggered SOM algorithm flow chart.
Figure 4. The event-triggered SOM algorithm flow chart.
Sensors 24 06345 g004
Figure 5. Computing a RLR Dubins trajectory.
Figure 5. Computing a RLR Dubins trajectory.
Sensors 24 06345 g005
Figure 6. Flow chart of task assignment algorithm with Dubins path.
Figure 6. Flow chart of task assignment algorithm with Dubins path.
Sensors 24 06345 g006
Figure 7. Task assignment in an initial obstacle free and load balance free environment. (a) initial positions; (b) assignment result.
Figure 7. Task assignment in an initial obstacle free and load balance free environment. (a) initial positions; (b) assignment result.
Sensors 24 06345 g007
Figure 8. Task assignment and path planning in an obstacle environment. (a) initial positions of AUVs, targets and obstacles; (b) simulaiton result.
Figure 8. Task assignment and path planning in an obstacle environment. (a) initial positions of AUVs, targets and obstacles; (b) simulaiton result.
Sensors 24 06345 g008
Figure 9. Task assignment in an obstacle environment with workload balancing. (a) initial state; (b) assignment result.
Figure 9. Task assignment in an obstacle environment with workload balancing. (a) initial state; (b) assignment result.
Sensors 24 06345 g009
Figure 10. Task assignment in 3D environment with workload balancing. (a) targets and AUVs initial positions; (b) simulation result visualization.
Figure 10. Task assignment in 3D environment with workload balancing. (a) targets and AUVs initial positions; (b) simulation result visualization.
Sensors 24 06345 g010
Table 1. Table of concise classification of the Dubins path.
Table 1. Table of concise classification of the Dubins path.
SymbolMeaningDirection
LTurn leftCounterclockwise
RTurn rightClockwise
SGo straightForward
CCircular arcNa
CCC3 arcsLRL RLR
CSC2 arcs and 1 line segmentLSL RSR LSR RSL
Table 2. Task assignment and path planning results with and without workload balancing.
Table 2. Task assignment and path planning results with and without workload balancing.
AUV Number (n)Target NumberWhether Load BalancedPath Length (Total)Path Length (Max)Tic Toc on PC (ms)Clock on Pi (ms)
24No8.24.623nul
6No10.56.4253550
4Yes8.24.633nul
6Yes11.15.6525012
46No10.63.030nul
8No15.25.732nul
6Yes11.52.251nul
8Yes16.14.155nul
68No15.93.5465276
10No20.25.649nul
8Yes16.72.8607189
10Yes23.84.367nul
Table 3. Task assignment and path planning results in 3D workspace with and without workload balancing.
Table 3. Task assignment and path planning results in 3D workspace with and without workload balancing.
AUV Number (n)Target NumberAverage Path LengthStandard Deviation ( L ˜ )Tic Toc on PC (ms)Clock on Pi (ms)
38103.51.005788863
10131.70.51681nul
15206.00.232101nul
51096.10.710829012
15129.60.42589nul
20260.50.951103nul
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

Li, X.; Gan, W.; Wen, P.; Zhu, D. Multi-AUV Kinematic Task Assignment Based on Self-Organizing Map Neural Network and Dubins Path Generator. Sensors 2024, 24, 6345. https://doi.org/10.3390/s24196345

AMA Style

Li X, Gan W, Wen P, Zhu D. Multi-AUV Kinematic Task Assignment Based on Self-Organizing Map Neural Network and Dubins Path Generator. Sensors. 2024; 24(19):6345. https://doi.org/10.3390/s24196345

Chicago/Turabian Style

Li, Xin, Wenyang Gan, Pang Wen, and Daqi Zhu. 2024. "Multi-AUV Kinematic Task Assignment Based on Self-Organizing Map Neural Network and Dubins Path Generator" Sensors 24, no. 19: 6345. https://doi.org/10.3390/s24196345

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

Article Metrics

Article metric data becomes available approximately 24 hours after publication online.
Back to TopTop