Aggregation of particles in 2D grid using global control

This code solves the aggregation problem using global inputs given N particles in a 2D environment.
Updated 19 Dec 2016

View License

Imagine trying to steer magnetic chemotherapy particles to a tumor with a
global magnetic field (perhaps from an MRI). This is an aggregation problem where every particle receives
the same control inputs. This code solves the aggregation problem given N particles in a 2D environment.
Particle_Aggregation(mapNum,alg): Collects particles that can overlap using {l,r,u,d} moves in a 2D bounded map. The moves are implemented on all particles, and so there is global control.
Watch our project video on youtube at:
Black represents boundaries and obstacles, and red represents the particles.
Pick two robots, A and B.
pA = position (A), pB = position(B) both
use BFS and APSP to find moveSeq that moves robot A to position B. Then moveSeq is applied to all the robots.
If robots A and B do not overlap return to step 2. If all robots overlap (are at one position) end else, return to step 1.
Six algorithms can be implemented using this program.
5- Collect the closest pair of particles
6- Collect the farthest pair of particles
7- Collect the first two pairs of particles seen while scanning from top left to right bottom.
8 through 17- Random pairs are collected
There are 25 maps to choose from- 1 through 21, 500,501,502,6000
The code is part of the paper 'Collecting a Swarm in a Grid Environment Using Shared, Global Inputs.'
Authors- Arun V. Mahadev, Dominik Krupke, Jan-Marc Reinhardt, Sándor P. Fekete and Aaron T. Becker
Abstract—This paper investigates efficient techniques to collect and concentrate an under-actuated
particle swarm despite obstacles. Concentrating a swarm of particles is of critical importance in health-care for targeted drug delivery, where micro-scale particles must be steered to a goal location. Individual particles must be small in order to navigate through
microvasculature, but decreasing size brings new challenges. Individual particles are too small to
contain on-board power or computation and are instead controlled by a global input, such as
an applied fluidic flow or electric field. To make progress, this paper considers a swarm of robots
initialized in a grid world in which each position is either free space or obstacle.
This paper provides algorithms that collect all the robots to one position and compares
these algorithms on the basis of efficiency and implementation time.
Code Authors: Arun Viswanathan Mahadev and Aaron T. Becker November 17, 2016
Email: and

Cite As

Aaron T. Becker's Robot Swarm Lab (2024). Aggregation of particles in 2D grid using global control (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Fixed comments