Skip to content

ilpincy/argos3-kilobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Citation

In scientific manuscripts that are based on simulations offered by this pluging, please cite the paper:

C. Pinciroli, M.S. Talamali, A. Reina, J.A.R. Marshall and V.Trianni. Simulating Kilobots within ARGoS: models and experimental validation. In Proceedings of 11th International Conference on Swarm Intelligence (ANTS), LNCS 11172: 176-187, Springer, Cham, 2018. doi: 10.1007/978-3-030-00533-7_14

Compiling the code

Make sure you have ARGoS >= 3.0.0-beta52 installed!

Commands:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../src
make
sudo make install

Lab 0

argos3 -c src/examples/experiments/kilobot_blinky.argos

Lab 1.2

argos3 -c src/examples/experiments/kilobot_simple_movement.argos

Lab 1.3

argos3 -c src/examples/experiments/kilobot_nonblocked_movement.argos

Lab 2.1-2.2

argos3 -c src/examples/experiments/kilobot_speaker_listener.argos

Lab 2.3-2.4

argos3 -c src/examples/experiments/kilobot_speaker_listener_mod.argos

Lab 3

argos3 -c src/examples/experiments/kilobot_disperse.argos

Lab 4

argos3 -c src/examples/experiments/kilobot_orbit.argos

Lab 5

argos3 -c src/examples/experiments/kilobot_move_to_light.argos

Lab 6

argos3 -c src/examples/experiments/kilobot_gradient_simple.argos

Lab 7

argos3 -c src/examples/experiments/kilobot_sync.argos

Differences between Kilombo and ARGoS

Kilombo

  • Architecture
    • Single-thread, single process wrapper around kilolib.h
      • Robots must run the same behavior
      • Global variables cannot be used to contain state
  • Models
    • Only model offered is the Kilobot
    • Motion is kinematics with simple overlap resolution
      • Robots cannot push other objects
    • Communication neglects obstructions
    • Message drop has uniform probability

ARGoS

  • Architecture
    • Multi-thread, multi-process architecture
    • Robots can run different behaviors
    • Global variables can be used to contain state
  • Models
    • Models of Kilobot, other robots, boxes, cylinders
      • Motion is full 2D dynamics
      • Robots can push other objects
    • Communication considers obstruction
    • Message drop considers local density