Accepted at TAROS 2026 Β· arXiv:2609.01731
Official code repository and benchmark evaluation suite for the paper:
"TriSAR: Task Coordination and Collision Avoidance for Aerial Robot Teams in Disaster Response"
Authors: Aditya Anil Kapile, Pedro Machado, Isibor Kennedy Ihianle
π Read the paper on arXiv
π» View the source code
Unmanned Aerial Vehicle (UAV) swarms offer transformative capabilities for disaster response, search-and-rescue, and emergency aerial mapping in GPS-denied, post-earthquake urban environments. However, scaling multi-drone operations requires solving NP-hard combinatorial task allocation while simultaneously maintaining real-time 3D flight safety under tight inter-agent proximity.
TriSAR introduces a decoupled hierarchical framework integrating a Genetic Algorithm (GA) for multi-objective target allocation with a Particle Swarm Optimization (PSO) controller incorporating an exponential potential-field inter-agent repulsion mechanism.
The system is evaluated using a balanced factorial study across 120 stochastic simulation episodes, with 30 episodes per experimental condition. Results demonstrate that reactive inter-agent repulsion provides a substantial safety benefit, while GA-based task allocation provides measurable mission-efficiency advantages under specific conditions.
TriSAR decouples global target distribution from local 3D trajectory generation:
+-----------------------------+
| Blackboard Shared State |
+--------------+--------------+
|
v
+-----------------------------+
| GA Task Allocator |
| (Combinatorial Search) |
+--------------+--------------+
|
v
+-----------------------------+
| 3D PSO Flight Controller |
| + Inter-Drone Repulsion |
+--------------+--------------+
|
v
+-----------------------------+
| ROS 2 / Gazebo Sim Backend |
| + Voxel SLAM & Mesh Relay |
+-----------------------------+
-
Global Task Allocation (GA)
Evaluates multi-drone target assignments, balancing rescue urgency and total swarm travel distance. -
Local 3D Navigation (PSO)
Computes continuous velocity commands for each drone with dynamic velocity clamping. -
Reactive Collision Avoidance (Repulsion)
Applies an artificial potential-field force when inter-drone distance falls below the safe boundary. -
Voxel Mapping & Mesh Relay
Maintains a real-time 3D SLAM occupancy grid while dedicating high-altitude stationary drones as ad-hoc wireless communication relays.
TriSAR/
βββ README.md # Academic overview & paper reproduction guide
βββ LICENSE # MIT License
βββ CITATION.cff # Citation metadata
βββ requirements.txt # Standard Python dependencies
βββ environment.yml # Conda environment specification
βββ Dockerfile # Container build configuration
β
βββ configs/ # Experimental condition configs
β βββ full.yaml # GA Allocator + PSO + Repulsion
β βββ no_ga.yaml # Greedy Allocator + PSO + Repulsion
β βββ no_repulsion.yaml # GA Allocator + PSO - Repulsion
β βββ floor.yaml # Greedy Allocator + PSO - Repulsion
β
βββ simulation/ # Gazebo worlds and ROS 2 launch files
β βββ worlds/ # Gazebo 3D urban environment models
β βββ models/ # Custom CAD/SDF model assets
β βββ launch/ # ROS 2 & Gazebo launch manifests
β
βββ src/ # Core Python framework packages
β βββ allocation/ # GA & Greedy task allocators
β βββ control/ # 3D PSO controller & repulsion
β βββ energy/ # Aerodynamic drag battery model
β βββ evaluation/ # Metrics logger & collision detector
β
βββ experiments/ # Experiment execution entry points
β βββ run_episode.py # Single episode execution wrapper
β βββ run_ablation.py # 30-episode ablation study runner
β βββ run_all_experiments.sh # Master experiment script
β
βββ data/ # Data dictionary & processed CSVs
β βββ raw/ # Raw episode datasets
β βββ processed/ # Summarized CSVs
β
βββ analysis/ # Statistical analysis & figure generation
β βββ prepare_data.py # Raw JSON to CSV aggregator
β βββ statistical_analysis.py # Statistical analysis
β βββ generate_table1.py # Summary statistics reporter
β βββ generate_figure4.py # 3D trajectory plot generator
β
βββ figures/ # High-resolution paper figures
βββ legacy_benchmarks/ # Legacy ablation datasets & scripts
βββ tests/ # Test suite
βββ docs/ # Project specifications & documentation
# Clone repository
git clone https://github.com/Aditya-1711/TriSAR.git
cd TriSAR
# Create and activate Conda environment
conda env create -f environment.yml
conda activate trisarpip install -r requirements.txtBuild and run the complete simulation environment in a container:
# Build Docker container image
docker build -t trisar .
# Run container
docker run --rm -v $(pwd)/logs:/app/logs trisar
# Run statistical analysis
docker run --rm trisar python analysis/statistical_analysis.pyRun a single 3D search-and-rescue episode:
PYTHONPATH=. python experiments/run_episode.pyGenerate summary statistics across the canonical ablation benchmark:
PYTHONPATH=. python analysis/generate_table1.pyRun the statistical analysis for mission-efficiency and collision-safety metrics:
PYTHONPATH=. python analysis/statistical_analysis.pyGenerate high-resolution 3D swarm flight trajectory plots:
PYTHONPATH=. python analysis/generate_figure4.pyTriSAR evaluates the interaction between:
- Task allocation: Genetic Algorithm vs Greedy allocation
- Collision avoidance: Reactive repulsion enabled vs disabled
The study uses:
- 5 UAVs
- 8 targets
- 120 total stochastic episodes
- 30 episodes per experimental condition
- Physics-based Gazebo simulation
- 2 Γ 2 factorial experimental design
| Experimental Variant | Allocation Mechanism | Repulsion | Success Rate | Total Steps | Path Length (m) | Energy Consumed (%) | Collision-steps |
|---|---|---|---|---|---|---|---|
| FULL | Genetic Algorithm | Active | 100.0% | 179.07 Β± 34.15 | 355.85 Β± 26.74 | 96.85 Β± 17.12 | 0.00 Β± 0.00 |
| NO_GA | Greedy | Active | 100.0% | 173.77 Β± 7.46 | 360.39 Β± 3.14 | 92.86 Β± 1.94 | 0.00 Β± 0.00 |
| NO_REPULSION | Genetic Algorithm | Disabled | 100.0% | 152.63 Β± 11.20 | 331.35 Β± 12.70 | 71.81 Β± 3.50 | 2.70 Β± 3.22 |
| FLOOR | Greedy | Disabled | 100.0% | 160.30 Β± 3.23 | 347.77 Β± 2.76 | 74.80 Β± 1.55 | 3.03 Β± 1.96 |
Under Greedy allocation, enabling reactive repulsion eliminated recorded collision-threshold violations:
- Without repulsion: 3.03 Β± 1.96 collision-steps
- With repulsion: 0.00 Β± 0.00 collision-steps
- Mann-Whitney U = 885
- p = 4.03 Γ 10β»ΒΉΒ²
- Rank-biserial r = 0.97
- Episodes with collision-step: 96.7% β 0.0%
Under GA allocation, the corresponding comparison also showed a significant protective effect:
- Mann-Whitney U = 675
- p = 1.26 Γ 10β»β΅
- Rank-biserial r = 0.50
When reactive repulsion was enabled, GA-based allocation did not show a statistically detectable mission-efficiency advantage over Greedy allocation.
When repulsion was disabled, GA-based allocation showed significant advantages in:
- Total steps
- Path length
- Energy consumption
with Welch's t-tests producing effect sizes of approximately:
|g| = 0.92β1.76
These findings indicate that collision avoidance and task allocation interact: the efficiency benefit of more computationally expensive GA allocation becomes more detectable when reactive repulsion is disabled.
The measured task-allocation times were:
| Allocator | Mean Time | Behaviour |
|---|---|---|
| Genetic Algorithm | 86.53 Β± 13.83 ms | 16β19 generations |
| Greedy | 0.174 Β± 0.039 ms | Immediate nearest-target assignment |
The Greedy allocator is approximately 500Γ faster than the GA allocator, while both remain within the measured real-time mission-planning constraints.
The potential-field repulsion mechanism substantially reduces inter-agent collision-threshold violations, particularly under Greedy task allocation.
GA introduces considerably higher computational cost than Greedy allocation. Its mission-efficiency advantage depends on the collision-avoidance configuration.
Optimising task allocation independently of local trajectory safety can produce misleading conclusions. TriSAR therefore evaluates allocation and collision avoidance as interacting components.
Separating global task allocation from local trajectory generation enables controlled ablation of individual coordination mechanisms.
TriSAR uses a balanced 2 Γ 2 factorial design:
Collision Avoidance
Disabled Enabled
+-------------+-------------+
GA | NO_REPULSION| FULL |
+-------------+-------------+
Greedy | FLOOR | NO_GA |
+-------------+-------------+
Each configuration is evaluated over 30 stochastic episodes, giving:
4 experimental conditions Γ 30 episodes = 120 episodes
The same five-UAV / eight-target scenario is used across conditions to enable controlled comparisons.
- Python
- ROS 2
- Gazebo
- NumPy
- SciPy
- Particle Swarm Optimization (PSO)
- Genetic Algorithms (GA)
- Multi-Agent Systems
- Swarm Intelligence
- 3D trajectory planning
- Reactive collision avoidance
- SLAM / voxel mapping
- Statistical analysis
Authors
- Aditya Anil Kapile
- Pedro Machado
- Isibor Kennedy Ihianle
Accepted at: TAROS 2026
arXiv: 2609.01731
Category: Robotics (cs.RO)
π Read the paper
π₯ Download PDF
π» Source Code
If you use TriSAR or find this codebase useful in your research, please cite:
@inproceedings{kapile2026trisar,
title = {TriSAR: Task Coordination and Collision Avoidance for Aerial Robot Teams in Disaster Response},
author = {Kapile, Aditya Anil and Machado, Pedro and Ihianle, Isibor Kennedy},
booktitle = {Proceedings of Towards Autonomous Robotic Systems (TAROS 2026)},
year = {2026},
doi = {10.48550/arXiv.2609.01731}
}@misc{kapile2026trisar_arxiv,
title = {TriSAR: Task Coordination and Collision Avoidance for Aerial Robot Teams in Disaster Response},
author = {Aditya Anil Kapile and Pedro Machado and Isibor Kennedy Ihianle},
year = {2026},
eprint = {2609.01731},
archivePrefix = {arXiv},
primaryClass = {cs.RO},
doi = {10.48550/arXiv.2609.01731}
}The repository provides the components required to reproduce the experimental workflow, including:
- Simulation environments
- ROS 2 launch files
- UAV models
- GA and Greedy task allocators
- PSO trajectory controller
- Collision-avoidance mechanism
- Energy model
- Experiment runners
- Raw and processed datasets
- Statistical analysis scripts
- Figure-generation scripts
- Docker environment
- Conda environment specification
The goal is to provide a transparent and reproducible benchmark for studying the interaction between multi-agent task allocation and reactive collision avoidance.
| Component | Description |
|---|---|
| 𧬠GA Allocator | Global multi-UAV task allocation |
| β‘ Greedy Allocator | Fast nearest-target allocation baseline |
| π PSO Controller | Local 3D trajectory generation |
| π‘οΈ Repulsion | Reactive inter-UAV collision avoidance |
| π ROS 2 | Robot middleware and coordination |
| π Gazebo | Physics-based simulation |
| πΊοΈ Voxel SLAM | 3D environment representation |
| π Statistical Analysis | Controlled ablation evaluation |
This project is licensed under the MIT License.
See the LICENSE file for details.
This work was developed as part of research in robotics and intelligent systems at Nottingham Trent University.
If you find this project useful, consider β starring the repository and citing the associated paper.