Difference between revisions of "Experiments Source Code"

From Kilobots
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
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.  
 
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 ARK Demos 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)
 
* 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]]
 
** 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 16: 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
  
==Download the Pheromone experiment code==
+
* 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
  
The code of the paper A. Font Llenas, M.S. Talamali, X. Xu, J.A.R. Marshall, and A. Reina. '''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
+
* Collective decision making (best-of-n)
is available here: https://github.com/DiODeProject/PheromoneKilobot
+
** 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