A Multiplicatively Weighted Voronoi-Based Workspace Partition for Heterogeneous Seeding Robots

: Multi-robot systems (MRSs) are currently being used to perform agricultural tasks. In this regard, the deployment of heterogeneous MRSs will be essential for achieving more efﬁcient and innovative farming in the future. In this paper, we propose a multiplicatively weighted (MW) Voronoi-based task-allocation scheme for heterogeneous agricultural robots. The seed points for area partitioning using a Voronoi diagram are obtained by performing node clustering using a k -means clustering algorithm. Heterogeneous robots have different speciﬁcations for performing various tasks. Thus, the proposed MW Voronoi-based area partitioning for heterogeneous robots is applied by considering various weighting factors. The path for each robot is computed such that the robot follows the nodes, and the computed paths serve as inputs for the workload distribution strategy that assigns paths to the robots. Simulations and ﬁeld experiments were conducted to verify the effectiveness of the proposed approach.


Introduction
Seeding is a fundamental component of agriculture, and substantial labor is required to seed wide areas. To effectively carry out the seeding process in large fields, seeding machines have been developed and distributed to farming households [1][2][3]. However, human-driven seeding machines are exceedingly large and heavy, with an elevated center of mass that is prone to instability; in addition, they are difficult to maneuver in several types of agricultural fields. Therefore, such heavy seeding robots must be replaced with more intelligent and lightweight robots. In addition, applying seeding using only one seeding machine in a large field is highly expensive and time consuming. To overcome this, a multi-robot system can be applied to improve the seeding process through cooperation among the robots.
As the number of agricultural workers across the world continues to decrease, the use of multi-robot systems (MRSs) for conducting agricultural tasks is becoming more prevalent in large-scale farms [4][5][6]. Dividing work among robots in an MRS will improve the productivity of farming households and the yield per unit area. Agricultural MRSs have provided productivity gains, but to achieve more innovative farming in the future, heterogeneous MRSs must be introduced for agricultural use [7].
Heterogeneous agricultural field robots are gaining significant attention with regard to their use for efficiently accomplishing a variety of agricultural tasks [8,9]. In [10], systems were developed to determine the optimal paths for allowing heterogeneous vehicles to conduct agricultural tasks.
The paths were determined based on variables including the number of vehicles, speed, turning radii, field geometry, tank capacity, and fuel consumption. The problem was expressed mathematically as a combinatorial optimization problem, in which the optimal order was used to cover the tracks of the field and the optimal transitions for refilling were found. In a previous study [11], the application of heterogeneous robots to monitor the environmental variables of a greenhouse was studied. This multi-heterogeneous-robot system involves the use of both ground and aerial vehicles to provide flexibility and improve the performance. In [12], heterogeneous robots were used to perform spraying tasks based on the cooperation of at least two mobile robots that moved from either side of a vine row. These robots applied this task in the form of followers following a lead robot.
To utilize MRSs for conducting agricultural tasks, a multi-robot task allocation (MRTA) must be applied to allocate tasks to the robots. MRTA is one of the most challenging problems presented by an MRS; a set of tasks must be assigned to a set of robots in a manner that optimizes the overall system performance, subject to a set of constraints [13]. This problem varies over time with events such as environmental changes; therefore, task allocation is dynamic and must be applied iteratively [14]. There are many more considerations, particularly in the case of a heterogeneous MRTA, given that robots incur different costs depending on their model [15].
MRTA problems can be taxonomized along three axes [16], and such a taxonomy can help organize MRTA problems and identify theoretical foundations [17].
The first axis distinguishes between problems in which each robot is capable of performing only one task at once and problems in which the robot can perform more than one task simultaneously. This means that a robot can perform different tasks in sequence. For example, some robots can sense the environment using a camera at the same time that they apply the seeding. In the second axis, the single-robot (SR) system can be expressed as exhibiting a weak cooperation [18], which indicates that the completion of each task requires exactly one robot. In this case, the robots do not know the states of the other robots and only perform their own tasks as assigned by the central control system. The multi-robot (MR) system can be expressed as one with strong cooperation [19][20][21], indicating that some tasks can require multiple robots. These tasks include carrying a large item that a single robot cannot handle on its own. In this case, the robots communicate with each other to exchange their locations and statuses. In the third axis, "instantaneous assignment (IA)" indicates that the instantaneous allocation of the tasks to the robots is performed without planning for future allocations. In this case, the robots are unaware of the states of the other robots and only accomplish their own tasks, which are assigned by the central control system. Here, "time-extended assignment (TA)" indicates that each robot is allocated several tasks that must be executed according to a given plan. In this case, the robots should maintain connectivity with each other and remain aware of their mutual locations and statuses.
In this study, a single-task (ST)-SR-=IA-type MRTA system was developed. Considering the seeding process, it is not necessary for several robots to collaboratively apply the seeding. Therefore, there is no need for communication between robots, and each robot only needs to receive commands from the central control system pertaining to its own driving path for achieving the seeding. Our approach for MRTA involves partitioning the workspaces according to the number of robots, signing each sub-area to a robot, and controlling the robot to allow it to conduct the seeding in its allocated zone. A workspace partition is applied using a Voronoi diagram [22,23]. Voronoi diagrams are typically used to allocate multi-robot paths or workspaces, and a variety of recent studies have been conducted on this topic [24][25][26].
In a recent study [27], we developed a task allocation system based on a Voronoi diagram for a multi-robot spray system in an orchard. However, there is a limitation in that the area partitioning of a multi-robot is not optimized or balanced. To partition the workspace for heterogeneous robots, not only the location, but also various mechanical specifications should be considered. To improve the feasibility and practicality of the developed task allocation system for heterogeneous robots, this study used a multiplicatively weighted (MW) Voronoi diagram to delineate the workspace by assigning different weights to different types of robots. Thus, an MW Voronoi diagram was used to allocate workspaces equally to a multi-robot system [28].
In this study, task allocation for heterogeneous agricultural robots conducting a seeding task is considered. The focus of this approach is to apply a task allocation and coordination using various factors according to the specifications of the robots. As the objective function of the MRTA system, we have suggested that a multi-robot efficiently assigns a workspace for the seeding tasks. The efficiency means that each robot has similar working hours.
The main contributions of this study are as follows: • An MW Voronoi-based approach for workspace partitioning for a heterogeneous MRS was applied to conduct seeding tasks.

•
The heterogeneous MRTA applied in this study was optimized by considering various weighting factors associated with the heterogeneous robots.
• An experiment and evaluation were used to demonstrate the applicability of our approach.
The remainder of this paper is organized as follows: In Section 2, seeding robot modeling and a control algorithm comprising obstacle avoidance control and path-following control systems are introduced. In Section 3, the heterogeneous MRTA for the seeding task is described. In Sections 4 and 5, our implementation of this robotic system and related experiments are presented. Finally, Section 6 concludes this paper with a summary of our contributions and a brief discussion of future research.

Kinematic and Dynamic Modeling
The kinematic and dynamic equations for unmanned ground vehicles (UGVs) (i.e., seeding robots) are described as follows. We consider n UGVs with defined positions when the coordinate frame is {U} and the body frame is {D}. The kinematic and dynamic equations of the UGV are as follows: where x i and y i are the coordinates of the UGV with respect to the coordinate frame {U}, and ν i and ω i are the linear and angular speeds, respectively, of the ith robot expressed in {D}, where ψ i denotes the heading angle. Furthermore, T are the control input and the external force and torque, respectively. In addition, D(x i ) ∈ 3 is the positive-definite symmetric inertia matrix, and Q(x i , ω i ) ∈ 3×3 is the Coriolis matrix.

Distributed Control
We define the following distributed UGV control system for the low-level control of heterogeneous field robots. The heterogeneous field robots consist of a group of n UGVs, and we denote R i ∈ 3 as the position of the ith robot, i = 1, . . . , n. Here, we define the virtual point (VP) λ i : t ∈ → b i (t) ∈ 3 as follows: R i .
We define the dynamic undirected connectivity graph C := {V, E } by the vertex set V := {1, 2, . . . , n}, representing the heterogeneous robots, and the edge set E := {e ij : i = 1, 2, . . . , n, j ∈ n i }, representing the connectivity among heterogeneous robots. The dynamic neighbor set Y i of the i robot is defined as follows: Consequently, the kinematic evolution of the VP λ i generated by a distributed UGV control scheme for the ith robot is as follows: where the two control inputs u o i ∈ 3 and u u i ∈ 3 represent the velocity terms.

Obstacle Avoidance
The value of u o i ∈ 3 is expressed through the following equation as a control input based on a potential field that allows heterogeneous robots to avoid obstacles through a certain distance threshold Λ o ∈ + : Here, O i denotes the set of obstacles of the ith VP with an obstacle point λ o j that corresponds to the position of the rth obstacle in the environment. In addition, Φ o ij denotes a specific artificial potential function that produces a repulsive behavior if When the distance between the VP and the obstacles approaches Λ o , the repulsive behavior infinitely increases.

Path Following
Here, u u i ∈ 3 represents the desired velocity input of the VP that is controlled by the planning algorithm, which is defined as follows: where T i ∈ 3 denotes the target velocity, and e i (t) = T i −λ i indicates the velocity error between the target trajectory and the VP. A traditional proportional-integral-derivative (PID) controller widely used to solve nonlinear control problems was used for path following [29,30]. In addition, K P , K I , and K D are the parameters of the desired velocity controller.

Task Allocation
In this section, we present a method for allocating tasks to heterogeneous seeding robots. Our MRTA system involves five steps:

1.
Creating a node for the seeding task from the agricultural field; 2.
Node clustering using a k-means algorithm; 3.
The agricultural field is designated as the "workspace." The positions of the nodes are designated with respect to the agricultural field. The nodes are clustered using the k-means clustering algorithm, and each workspace is partitioned into sub-areas based on the MW Voronoi diagram. Path planning for the agricultural task is then executed for each sub-area. Finally, each path plan is sent to the robots to be implemented. A robot follows an assigned path, whereas a real-time kinematic (RTK) global navigation satellite system (GNSS) is used for localization. Figure 1 shows the global MRTA system flowchart. Our MRTA system is only applicable when the workspace is two-dimensional. Robots are treated as points in the workspace, but kinematic and dynamic constraints can be considered. To conduct the task, the robot needs information regarding its location in the workspace. Location information of the robot must continue to be sent to the central supervisor, which is why the connection of the network between the robot and central supervisor is essential. Therefore, every robot must be equipped with a high-accuracy positioning system (RTK-GNSS) to inform about its location, as well as a communication system with a long communication distance to cover all wide areas.

Node Creation
Node creation is the prior step necessary for finding the center node for Voronoi-based area partitioning. The nodes are used to indicate spots where the seeds are to be planted. The robot must pass over the nodes corresponding to the assigned area and apply the seeding on the nodes. Thus, the nodes form the basis for the path that the robot must follow during the execution of the planned path. Therefore, it is crucial to specify the (x, y) coordinates for these nodes.
The nodes are placed at a specific distance (from one another) in the agricultural field ( Figure 2). To create the nodes, aerial images of the agricultural field are obtained using unmanned aerial vehicles. After the aerial images are obtained, the specific distance (density and pattern) of each node is chosen. Determining the proper planting pattern and spacing is vital for increasing the yield and decreasing the interference from the weeds [31]. A specified planting pattern for a specific crop may provide an optimal space to maximize the vegetative regions, which may subsequently receive a high amount of solar energy and result in the maximum yield [32]. Therefore, the specific distance of the planting distance depends on the type of crop. The chosen row and column spacing can affect the crop growth, weed competition, grain yield, and farm profitability.

Node Clustering
To partition an area using a Voronoi diagram, a center node is required. Node clustering using the k-means clustering algorithm must first be applied to designate the center nodes. The k-means clustering algorithm is a well-known clustering method that has been studied over recent decades owing to its simplicity [33]. A k-means clustering approach involves partitioning the gathered data into n groups of data. Furthermore, the k-means clustering algorithm searches for partitions to minimize the square error between the empirical mean of the cluster and the node point of the cluster.
Consider a collection of node points P = {x i }, (i = 1, 2, . . . , m) and a collection of points belonging to a cluster, C = {c j }, (j = 1, 2, . . . , n). Here, µ j is the average of cluster c j . The objective of the k-means algorithm is to minimize the sum of the squared errors for all n clusters. The square error between the points inside x and µ j is determined using Equations (7) and (8).
where n is defined as the number of multiple robots required for the seeding task. The k-means clustering algorithm is a series of processes consisting of four states. First, the number of cluster heads n and each centroid are initialized. Second, all nodes are assigned to the nearest cluster head. Third, the location of the new cluster head is calculated such that the distance between the node assigned to each cluster head and the new head is minimal. Finally, states 2 and 3 are repeated until there are no changes in any of the cluster heads.

Area Partitioning
Once the cluster heads of the nodes have been defined, they are designated as the center nodes, and the workspaces are divided using a Voronoi diagram. A Voronoi diagram is a geometric structure that assumes the proximity (nearest neighbor) rule when associating each point in the 2 space to the site point that is closest to it [22]. The Voronoi diagram is an algorithm that divides the space according to the points belonging to each seed point in the plane space. The entire area is divided into n sub-areas.
Let the location of facility g i be indicated by X i = (x i , y i ). In addition, let p be an arbitrary location in the plane indicated by X = (x 1 , y 2 ). We define G = {g 1 , g 2 , . . . , g i } as a collection of non-overlapping areas in the plane, and define d(p, g i ) as the Euclidean distance between points p and g i , as defined in Equation (3).
Here, point p exists within the area g i . The ordinary Voronoi diagram area V(g i ) is defined as follows: To partition the workspace for a heterogeneous MRS, the various specifications of each robot should be considered. Therefore, we suggest the use of an MW Voronoi diagram to divide the workspace for different types of robots. To employ an MW Voronoi diagram for the aforementioned application, the distance between points is multiplied by the positive weights. Based on the above concept, we now add weight w i to the ordinary Voronoi diagram. The weight w i applied to the robot r i is determined as follows: where σ, ϕ, and ζ are the gain coefficients, and setting these values to zero leads to the removal of the effect of the corresponding weight.
Here, w I i represents the weight from l i , which is the distance between the initial location of the robot and the starting point of the task, which is defined as follows: Here, X il = {X il 1 , . . . , X il n } denotes a set of the initial locations of the robots, and X st = {X st 1 , . . . , X st n } denotes a set of robot starting points for the tasks. Furthermore, w mv i represents the weight derived from mv i , which is the maximum velocity of the robot, which is defined as follows: Here, w c i represents the weight derived from c i , which is the seed tank capacity as determined by the robot's payload, which is defined as follows: The elements of the weights l i , mv i , and c i are all constants. The units of the distance, velocity, and payload are unimportant if all units of the robots are unified. In this study, m, m/s, and kg are used. The weights are multiplied by the corresponding gain coefficients σ, ϕ, and ζ.
Subsequently, the functional form of the weighted distance d MW (p, g i ) is defined as follows: Thus, the MW Voronoi area V MW (g i ) and MW Voronoi diagram V MW (G) are defined as follows: Each of the n robots is assigned to a sub-area, and the seeding task is carried out in each area by the establishment of a path plan. In Figures 3 and 4, we present the application of V MW (g i ).

Agricultural Routing Planning
After a sub-area is assigned to the robot, path planning for the seeding task is applied within the assigned area. To plan the path, paths are computed through the previously determined node locations such that the robot follows the nodes. The computed paths serve as inputs for the workload-distribution strategy, which assigns the paths to the robots. The paths are formed in a straight line along the nodes in a row. A path is computed by connecting the endpoint node of a row and the node that serves as the starting point of the next row with a straight line (Figure 5a). The paths are also computed by considering the initial position of the robot. The path has initial and final points, and the node closest to the robot's initial position is the initial point.
However, depending on the rotation radius of the mechanical structure of the robot, it may not be possible to drive on this path. Therefore, a method for connecting the end-point node of the line with the node that serves as the starting point of the next row differs depending on the rotation radius of the robot.

Refill Planning
Each robot possesses a seed tank capacity that is determined based on the payload. Accordingly, when the seeds in the seed tank are exhausted, the robot has to go to a refill point and recharge its tank with seeds. The robot moves to the refill point nearest its current location to receive seed refills, and the path used to achieve this is computed by avoiding nodes that are already seeded. When the seed refill is complete, the robot returns to the node that was last reached, and resumes the seeding task (Figure 5b). When the tank is exhausted, the robot moves to the closest refill point, charges the seeds, and then returns to the next node to resume the task.

Experimental Setup
To evaluate the performance of our heterogeneous MRTA system, a simulation was conducted using a physics-based simulator for a heterogeneous seeding system comprising multiple robots, as shown in Figure 6. A Pioneer 3-AT model of Adept Inc. and Summit_XL model of Robotnik Inc. were adopted as the tasking UGVs, which have dynamic characteristics in this simulator. The workspace, as shown in Figure 6, was approximately 1225 m 2 (35 m × 35 m) in the area. Each robot drives at its maximum speed to the starting point of its corresponding path. After the robot reaches the starting point, it conducts the seeding by driving at a velocity of 0.6 m/s. The specifications of the robots and gain coefficients used in the simulations are shown in Table 1. The maximum seed tanks of the Pioneer 3-AT and SummitXL were defined with 300 and 600 seeds based on their payload. An RTK-GNSS attached to each robot sends data to the control system during the simulation. Experiments were conducted according to the number of robots, from 3 to 5. The row spacing and column spacing settings were 2 and 4. Two refill points were placed on each side, with one up and one down.   Figure 7 and Table 2 show the simulation results based on the proposed MRTA system for heterogeneous seeding robots. When the seeds in the tank are exhausted, the robot has to go to a refill point and recharge its tank. Because of that, as shown in results, we can see that refill times occurred. In Figure 7c, UGV 5 did not take time to refill the seeds because the number of seeds that could be planted by its payload was more than the number of nodes assigned to it. The results show that the task times of the robots are similar, reducing the overall task time, because the numbers of nodes assigned to each robot have different weights depending on the robot specifications, despite the differences. As shown in Table 2, the numbers of nodes in UGVs 1 and 4 differ by approximately 29.38% (114 nodes), although the difference in task time is not much different at 2.24% (4.91 s). The results confirm that the proposed MRTA method is efficient because the tasking time is not significant compared to the difference in the number of nodes. Therefore, we verified that our MRTA approach is applicable to heterogeneous seeding robots.

277
We used two types of UGVs (two Jackal robots and one Husky robot) to implement the proposed 278 MRTA system (Fig. 8). An RTK-GNSS, attached to the UGVs, sent data to the controller during the 279 experiments. The controller sent the GPS waypoint data to each robot to indicate their required paths. such that robots did not need to refill the seeds (Table 3). Therefore, in the real-world experiments, 285 the weight parameter w c i was not used because the number of nodes to be seeded was small and the 286 payloads of each robot were sufficient and thus the robots did not need to consider the refill time. The 287 specifications of the robots and gain coefficients used in the experiments are shown in Table 3. Because 288 of w c i was not considered, gain coefficient ζ was zero.

Real-World Implementation
We used two types of UGVs (two Jackal robots and one Husky robot) to implement the proposed MRTA system (Figure 8). An RTK-GNSS attached to the UGVs sent data to the controller during the experiments. The controller sent the GPS waypoint data to each robot to indicate their required paths. During the experiments, communication between the robots and controller was achieved using the ZigBee protocol. The settings for the row spacing and column spacing were 0.3 and 0.6 m. The workspace area, as shown in Figure 8, was approximately 360 m 2 (12 m × 30 m). The workspace was small, corresponding to the use of three robots, and the payloads of each robot were adequate such that robots did not need to refill the seeds (Table 3). Therefore, in the real-world experiments, the weight parameter w c i was not used because the number of nodes to be seeded was small and the payloads of each robot were sufficient; thus, the robots did not need to consider the refill time. The specifications of the robots and gain coefficients used in the experiments are shown in Table 3. Because w c i was not considered, the gain coefficient ζ was zero.   Figure 9 and Table 4 show the experiment results, which show the time required for the completion of the task and the coverage ratio. As shown in Table 4, the number of nodes in UGVs 1 and 3 differs by approximately 9.72% (41 nodes), and the task time differs by approximately 10.88% (14.23 s). The results confirmed that our MRTA system is applicable to real agricultural fields.

Conclusions
In this study, we developed an MW Voronoi-based workspace partitioning system for the weak cooperation of heterogeneous seeding robots. The seed points for area partitioning were obtained through node clustering using a k-means clustering algorithm. MW Voronoi-based area partitioning for heterogeneous robots was conducted using various weighting factors. The path for each robot was computed such that the robot followed the nodes, and the computed paths served as an input for the workload-distribution strategy assigning the paths to the robots. Simulations and real-world experiments were carried out to evaluate the proposed MRTA system.
There are several possible directions for future research concerning these heterogeneous robots with regard to improving the efficiency of the agricultural seeding task, including (1) optimization of the gains used for weighting, (2) connectivity maintenance for immediate responses when a robot failure event occurs, and (3) more thorough field experimentation.
Author Contributions: J.K. developed the multi-robot task allocation systems, implemented the experiments, measured and analyzed the data, and wrote the paper. C.J. developed the robot control systems. H.I.S. provided some useful suggestions, conducted the overall revision and supervision of the experiments, and writing of the paper, and conducted the project administration and funding acquisition. All authors have read and agreed to the published version of the manuscript.

Conflicts of Interest:
The authors declare no conflict of interest.