Simulation models
C++
Bash script
Date: Feb 2017
Technologies used: C++ 11, CMake, ARGoS simulator, Bash scripts, Git
An ARGoS simulation of multi-robot robot foraging using various robot controllers and environments.
This code has been used in various papers (see References) and thus allows to run different types of simulations.
This code repository includes:
- Parameterisable libraries for three different robot controllers
- A parameterisable library that controls the environment
- A bash script that makes use of CMake to setup and build the project

All robots start in
the base, placed in the centre of the arena. The base is divided into three sections: an interior circular
resting bay with an annular
observation bay around it and an annular
unloading bay around that. A light source, placed above the centre of the base, is used by the robots as a reference for navigation towards and away from the base centre.
There are two foraging missions possible:
- Central-place foraging [2,3,4,5], where robots search for worksites (green cylinders, also referred to as "tasks" or "deposits" in the code) and carry resources back to the unloading bay. Robots in the bee-inspired swarm [1,2,3,4,5] then use the observation bay to recruit other robots nearby.
- Basic foraging [2,3], robots do not bring resources back to the base and consume the deposits while near them over time.
Each worksite can require N robots to work on it, meaning that no resource can be extracted unless at least N robots are nearby. Also, each worksite can have a "quality" associated with it, which is the amount of resource a robot gets by extracting one unit of volume from the worksite (see [4]).
There are three different robot controllers:
- Solitary [1,2]: Robots do not communicate
- Local broadcaster [1,2,3]: Robots recruit each other near worksites
- Bee [1,2,3,4,5]: Robots recruit each other in the base
References
[1] Pitonakova, L., Crowder, R. & Bullock, S. (2018).
Information exchange design patterns for robot swarm foraging and their application in robot control algorithms.
Frontiers in Robotics and AI, DOI: 10.3389/frobt.2018.00047
[2] Pitonakova, L., Crowder, R. & Bullock, S. (2018).
The Information-Cost-Reward framework for understanding robot swarm foraging.
Swarm Intelligence, 12(1), 71-96.
[3] Pitonakova, L., Crowder, R. & Bullock, S. (2018).
The importance of information flow regulation in preferentially foraging robot swarms.
Proceedings of the Eleventh International Conference on Swarm Intelligence (ANTS 2018), Springer.
[4] Pitonakova, L., Crowder, R. & Bullock, S. (2016).
Information flow principles for plasticity in foraging robot swarms.
Swarm Intelligence, 10(1), 33–63.
[5] Pitonakova, L., Crowder, R. & Bullock, S. (2016).
Task allocation in foraging robot swarms: The role of information sharing. In Gershenson, C. et al. (eds.),
Proceedings of the Fifteenth International Conference on the Synthesis and Simulation of Living Systems (ALIFE XV), MIT Press, 306-313.
{Please enable JavaScript in order to post comments}