


Multi-Agent Game








In scientific research, it involves a profound system of thought, requiring researchers to be logical, meticulous, and serious. However, it is not just about hard work; often leveraging resources is more important than effort. Additionally, one must have innovative and inspirational points that look up to the stars. It is recommended that readers browse in order to avoid suddenly falling into a dark maze and losing the way back. It may not reveal all the answers to your questions, but if it can clarify the clouds of doubt rising in your heart, it may create a beautiful sunset scenery. If it brings you a spiritual storm, then take the opportunity to brush off the dust that has been lying there.
Perhaps, after the rain, the sky will be clearer…
1
Overview
Overview

“



Abstract: We propose a distributed algorithm for cooperative pursuit of multiple evaders by multiple pursuers in a bounded convex environment. This algorithm is applicable for intercepting uncontrolled drones in protected airspace and similar applications. The pursuers are unaware of the evaders’ strategies, but by adopting a global “region minimization” strategy based on environment Voronoi tessellation, we ensure that all evaders can be captured within a finite time. We also present a decentralized version of this strategy suitable for two-dimensional (2-D) and three-dimensional (3-D) environments, demonstrating through multiple simulations that it outperforms other decentralized multi-pursuer heuristic methods. We conducted experiments with autonomous and human-controlled robots to validate the practicality of this method. Notably, human-controlled evaders could not avoid being captured by this algorithm.
Abstract: This paper investigates how to coordinate a group of pursuing robots to capture a group of evading robots in a convex, bounded environment. The pursuers are unaware of the evaders’ strategies but minimize the evaders’ safe reachable area through movement to ensure capture. Our pursuit strategy is inspired by the single evader pursuit strategies in the literature [1]–[3] in two-dimensional environments, which are based on region minimization strategies. This paper presents three main results. First, we extend the results from literature [1]–[3] to environments of arbitrary dimensions, making them applicable to aerial robots in three-dimensional environments. Second, we propose a pursuer algorithm for multiple evaders and prove that this algorithm can guarantee the capture of all evaders within a finite time, although it requires global information. Finally, we present a local decentralized multi-evader pursuit algorithm that performs comparably to the global strategy in simulations and can be implemented on robots with local perception and communication capabilities. Our method is decentralized among the pursuers, with each pursuer only needing information about itself and its Voronoi neighbors to compute its control algorithm. Simulation results demonstrate the performance of our algorithm in two-dimensional and three-dimensional environments. We conducted hardware experiments using Ouijabots and GoPiGo robots in a motion capture environment. In these experiments, each robot ran its control strategy on its onboard Raspberry Pi 2. We also conducted experiments with human-controlled evaders, which showed that the evaders could not avoid being captured.
Our algorithm has significant applications in various emerging fields, such as security monitoring, search and rescue, and wildlife monitoring. This problem is inspired by the classic game of “Cops and Robbers” [4], [5], where the “cops” attempt to capture the “robbers,” while the robbers simultaneously try to avoid capture. As the use of drones increases in entertainment and industrial sectors, the threat posed by drones straying into sensitive areas such as airports, public buildings, and protected zones has also significantly increased. Our algorithm provides a practical method for a group of autonomous pursuing drones to neutralize such threats. The algorithm is also applicable for intercepting uncontrolled vessels in ports, as well as intercepting vehicles or suspicious individuals on land. It can also be used in search and rescue applications, where survivors may be unaware that someone is searching for them, thus the search strategy must assume no knowledge of the survivors’ behavioral strategies. The algorithm is also applicable for wildlife monitoring, where the pursuers are autonomous vehicles responsible for tracking or tagging wildlife, which may perceive the pursuers as a threat.
In this paper, we present our algorithm for controlling multiple pursuers to capture multiple evaders in a bounded, convex N-dimensional space environment. We also propose a distributed version of the algorithm that performs similarly to the global strategy in simulations. We conducted experiments driving Ouijabots to pursue GoPiGo evaders. In these experiments, we included human-controlled evaders, which could not escape capture. Future work will explore pursuing evaders in environments with obstacles, unbounded environments, and aerial robots in three-dimensional spaces.
2
The result of execution
Execution Results

“





Partial Code:
%% initialize the parameters
ts = 1; % time step
t_end = 2000; % ending time
u_a_bound = 9; % attacker's control acceleration bound
u_d_bound = 18.4; % defender's control acceleration bound
drag_coef = 1.5; % const drag coeffecient
rho_p = 45; % radius of the protected area
rho_d_int = 5; % intercepting radius, if the distance between attacker and defender <= this value, then they are seen as damaged
rho_d = 2500; % defenders' percepting region
rho_d_game = 2000; % defenders' playing region
rho_a_game = 2300; % attacker's initial position region
radius_a = 0.5; % attacker's geometric radius
radius_d = 0.5; % defender's geometric radius
radius_c = 1.5; % clustered group's radius
R_sb = 10; % string barrier's maximum length
N_a = 10; % attackers' number
N_d = 20; % defenders' number
num_c = 3; % number of clusters
num_uc = 3; % number of unclustered attackers
v_a_avr = u_a_bound / drag_coef;
v_d_avr = u_d_bound / drag_coef;
%% initialize the agents
attackers = cell(1, N_a);

3
References
References
Some content in this article is sourced from the internet, and references will be noted or cited as references. There may be omissions, and if there are any inaccuracies, please feel free to contact us for removal. (The content of the article is for reference only, and the actual results are subject to execution results)


4
Code\Article\Data
Matlab Code | Article Download