# Research Progress on Synergistic Technologies of Agricultural Multi-Robots
## 3 Research Progress on Synergistic Technologies of Agricultural Multi-Robots
### Multi-Robot Task Allocation
For predictable conflicts, relying only on a central task allocation approach to avoid conflicts, the adaptability of multiple robots is very limited, while adding a decision support system (DDS) to provide options for multi-robot collaboration, i.e., identifying problems and building or modifying decision models to avoid resource conflicts based on explicit goals. For example, as shown in Figure 8, in reference [58], the authors adopted a central entity (OptiVisor) to build a multi-robot seeding map based on inputs such as the location of static obstacles in a large field, the seeding method, the seed density, the location of the central controller, and the number of robots. Based on this map, the location and density of each seed are precisely located and the sowing task is assigned to multiple robots. When the robot finished the job, the path from the robot location to the Central Logistic Unit (CLU) was recorded and the robot was allowed to return to the CLU. Especially when one or more robots failed, the task of the failed robot was reassigned to the other robots of the failed robot, and the sowing path was updated for these replacement robots. OptiVisor could also stop a robot's motion when a multi-robot collision is imminent, and define restricted motion areas for the faulty robot. However, this task assignment method was implemented in a simulation environment and needs to be further tested in real applications. * Distributed allocation  
Figure 8: A centralized entity was used to plan the seeding task, seeding patterns, and seed densities for different robots in the simulation environment. At the same time, the centralized entities were used to monitor the whole seeding process to avoid collisions between robots [58]. The small blue dots are the locations of the seeds planned to be sown, the yellow dots are the seeds that have been successfully planted, and the larger red dots are the border seed sowing locations. In general, the distributed task allocation method has the feature that each robot does not have global knowledge of the task but calculates and plans individually according to the local information obtained by the sensor. The performance of the whole system not only is closely related to the individual but also depends on the combined effects of individuals [83]. It was reported in the literature [84] that when the number of tasks is more than the number of farm machines, the ant colony algorithm can be used to find a suitable task sequence for multiple robots. First, the distance between plots was calculated based on the specified coordinate information of each plot, and the relevant parameters of the ant colony algorithm were set. Then randomly generated the starting points of multiple parcels, according to the state transfer probability formula for path selection, and put the generated path parcels into the forbidden table. Finally, the path distance of the plots was calculated, and the pheromones on the path were continuously updated according to the set rules, and iterations were repeated until the optimal task planning for multiple robots was found. The method is mainly used in simulated farmland environments and has not yet seen the practical application. In reference [85], researchers adopted Semantic MozartSpaces to describe a task allocation data model based on a resource description framework (RDF) and SPARQL (a query language and data acquisition protocol developed by the RDF) in task storage where the RDF was used to construct nested blank nodes and SPARQL was used for querying, updating and interactions of the entry. As shown in Figure 9a, a task was mapped to a nested blank node to generate a semantic tuple (entry) in the task-allocation model. The entry was stored in the task storage with an internal ID that concluded the URL (uniform resource locator). Then, the entry could be selected with a URL according to the relationship between the robot's function and the task requirement.