Difference between revisions of "Experiments Source Code"

From Kilobots
Jump to: navigation, search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
We plan to provide the source code of all experiments and plugins for [[ARK]] (Augmented Reality for Kilobots). Each plugin is composed of the code for the BCS (Base Control Station) and the code for the Kilobot control software.
 
We plan to provide the source code of all experiments and plugins for [[ARK]] (Augmented Reality for Kilobots). Each plugin is composed of the code for the BCS (Base Control Station) and the code for the Kilobot control software.
  
In the paper of ARK ([https://areina.staff.shef.ac.uk/pdf/reina_RAL2017.pdf IEEE Robotics and Automation Letters]), we show three demos: automatic ID assignment, automatic positioning, and foraging. At the moment, these are the only stable plugins available, although we plan to deliver many others in the following months. Stay tuned.
+
In the paper of ARK ([https://areina.staff.shef.ac.uk/pdf/reina_RAL2017.pdf IEEE Robotics and Automation Letters]), we show three demos: automatic ID assignment, automatic positioning, and foraging.  
  
==Download the experiments' code==
+
==ARK code for Kilobot's house-keeping routines==
  
 
* ID assignment functionality is already included in the ARK main BCS software (available at https://github.com/DiODeProject/KilobotArena)
 
* ID assignment functionality is already included in the ARK main BCS software (available at https://github.com/DiODeProject/KilobotArena)
 
** the Kilobot control software for ID assignment is: [[:File:AssignIDsBinary.c|AssignIDsBinary.c]]
 
** the Kilobot control software for ID assignment is: [[:File:AssignIDsBinary.c|AssignIDsBinary.c]]
 
** the Kilobot control software for ID assignment (working both for numbers in base 2 and base 3, communicated respectively with 2 or 3 colours): [[:File:AssignIDsBase2and3.c|AssignIDsBase2and3.c]]
 
** the Kilobot control software for ID assignment (working both for numbers in base 2 and base 3, communicated respectively with 2 or 3 colours): [[:File:AssignIDsBase2and3.c|AssignIDsBase2and3.c]]
 +
** video tutorial: https://youtu.be/nc_DHUcX6Rg
 +
 +
* Kilobots automatic calibration functionality is already included in the ARK main BCS software (available at https://github.com/DiODeProject/KilobotArena)
 +
** the Kilobot control software for Kilobots automatic calibration is [[:File:ARKalib.c|ARKalib.c]]
 +
** video tutorial: https://youtu.be/fenkr9Dov0s
  
 
* Automatic positioning code
 
* Automatic positioning code
Line 13: Line 18:
 
** Kilobot control software code: [[:File:DirectNavigation.c|DirectNavigation.c]]
 
** Kilobot control software code: [[:File:DirectNavigation.c|DirectNavigation.c]]
  
* Foraging demo code
+
* ARK experiment code to store the image frames and use them for offline tests
 +
** BCS code: [[:File:RecordARKframes.zip|RecordARKframes.zip]]
 +
 
 +
==Source code of ARK-based experiments==
 +
 
 +
* Foraging demo (used in [http://doi.org/10.1109/LRA.2017.2700059 Reina et al. RA-L 2017])
 
** BCS code: [[:File:ForagingDemoC.zip|ForagingDemoC.zip]]
 
** BCS code: [[:File:ForagingDemoC.zip|ForagingDemoC.zip]]
 
** Kilobot control software code: [[:File:DemoC kilobot.c|DemoC_kilobot.c]]
 
** Kilobot control software code: [[:File:DemoC kilobot.c|DemoC_kilobot.c]]
  
* ARK experiment code to store the image frames and use them for offline tests
+
* Virtual-pheromone collective foraging experiment
** BCS code: [[:File:RecordARKframes.zip|RecordARKframes.zip]]
+
** The code of the paper A. Font Llenas, M.S. Talamali, X. Xu, J.A.R. Marshall, and A. Reina. used in [https://doi.org/10.1007/978-3-030-00533-7_11 '''Quality-sensitive foraging by a robot swarm through virtual pheromone trails.'''] In ''Proceedings of 11th International Conference on Swarm Intelligence (ANTS 2018)'', LNCS 11172. Springer 2018
 +
** source code available here: https://github.com/DiODeProject/PheromoneKilobot
 +
** videos: http://diode.group.shef.ac.uk/FontLlenas2018.html
 +
 
 +
* Virtual-pheromone collective foraging experiment (extended and improved)
 +
** The code of the paper M.S. Talamali, T. Bose, M. Haire, X. Xu, J.A.R. Marshall, A. Reina. [https://doi.org/10.1007/s11721-019-00176-9 '''Sophisticated Collective Foraging with Minimalist Agents: A Swarm Robotics Test''']. ''Swarm Intelligence'' 14(1):25-56, 2020.
 +
** source code available here: https://github.com/DiODeProject/PheromoneKilobotSwarmIntell
 +
** videos: https://www.youtube.com/playlist?list=PLCGKY9OHLZwMaGeB6cxVfxmHwhBFqKF7a
 +
 
 +
* Collective decision making (best-of-n)
 +
** The code of the paper M.S. Talamali, A. Saha, J.A.R. Marshall, A. Reina. [https://doi.org/10.1126/scirobotics.abf1416 '''When less is more: Robot swarms adapt better to changes with constrained communication''']. Science Robotics 6(56): eabf1416, 2021
 +
** source code available here: https://github.com/DiODeProject/AdaptationStudy
 +
** videos: https://bcove.video/3zwyQpA

Latest revision as of 22:47, 26 March 2022

We plan to provide the source code of all experiments and plugins for ARK (Augmented Reality for Kilobots). Each plugin is composed of the code for the BCS (Base Control Station) and the code for the Kilobot control software.

In the paper of ARK (IEEE Robotics and Automation Letters), we show three demos: automatic ID assignment, automatic positioning, and foraging.

ARK code for Kilobot's house-keeping routines

  • ARK experiment code to store the image frames and use them for offline tests

Source code of ARK-based experiments