Carpenter ant-inspired coordination

Swarm Robotics

A swarm robotics project exploring whether simple agents can coordinate through signals left in a shared environment instead of central commands.

The project began with carpenter ants and a question about indirect coordination: what happens if each robot only sees nearby signals, but the group shares a changing memory of where it has been? I built the idea first in simulation, then carried it into tracked physical robots.

Tracked swarm robot prototypes on a workbench with electronics hardware in front.
A physical robot gives the simulation somewhere real to land.
Question
Can local signals scale?
Built
Simulation + tracked robots
Method
Virtual pheromones
Learning
Sim-to-real constraints

Problem

Why decentralized coordination?

I wanted to understand how coordinated behavior can emerge from agents that only have local information. Carpenter ants were the starting point because they do not need a central command system to leave useful signals for one another.

The engineering version of that idea became a swarm that uses a shared virtual pheromone field. Each agent sees a small part of the world, but the group can still benefit from traces left by earlier motion.

System

How the agents worked

Each agent used local observations to decide where to move, when to pick up food, and how to follow or deposit pheromone trails. The simulation let me make that feedback loop visible before asking whether the idea could survive physical constraints.

Simulation screenshot showing a dark arena, obstacles, robot agents, pheromone traces, and an agent inspector panel.
The simulation made coordination visible: agents, obstacles, resource drops, and a fading memory trail.

Testing

What I compared

I compared swarms with virtual pheromone memory against swarms without that shared signal. The important question was not whether one agent could solve a clean task, but whether coordination became more useful as the group grew.

The detailed controls and stress tests remain in the research poster. Here, the story is the central result: shared environmental memory changed what happened when more agents joined the task.

Primary result

Pheromones made scaling meaningful.

The clearest poster result is that pheromone-enabled swarms delivered more food as swarm size increased, while non-pheromone controls stayed near zero. That matters because it supports the central idea: a shared environmental signal can help simple agents coordinate without direct communication.

Line chart comparing mean food delivered by swarms with and without pheromones as the number of agents increases.
The central result: pheromone-enabled swarms kept improving as more agents joined the task.

Prototype

From simulation to physical robots

To connect the learned system to hardware, I built physical robots with Raspberry Pi, ESP32, camera, LiDAR, encoders, differential drive motors, Python software, and C++ firmware. The physical system was a real-world viability step, not just a decorative model beside the simulation.

Tracked swarm robot prototypes on a workbench with electronics hardware in front.
Moving out of simulation meant dealing with sensors, motors, timing, and the limits of physical parts.

Reflection

What I learned

The project made emergent behaviour feel concrete. A simple local rule became more powerful when agents could leave useful information behind for one another. It also showed the hard part of sim-to-real work: learned coordination has to survive sensors, motors, timing, and physical constraints.

Demonstration

Watch the swarm project

Open on YouTube