RBE595 - Swarm Intelligence (Spring 2023)
Master of Science in Robotics Engineering at Worcester Polytechnic Institute
This repository is based on the following paper : Mirollo, R. E., & Strogatz, S. H. (1990). Synchronization of pulse-coupled biological oscillators. SIAM Journal on Applied Mathematics, 50(6), 1645-1662
Avoiding obstacles is one of the most common behaviors. The aim of this exercise is to implement an obstacle avoidance strategy for your swarm. For this exercise, you’ll use the proximity sensor and the robot wheels.
Proximity Sensor Labeling
Simplified implementation of algorithm to achieve global synchronization, can be summarized as :
init:
state = 0
c = random(0,T)
step:
c = c + 1
if(a neighbor flashed)
c = c + k * c
if(c >= T)
state = 1
c = 0
else
state = 0
In the above algorithm, c
is an internal counter; T
is the maximum value the counter can assume; and k
is a constant between 0 and 1. We assume that each agent can see the neighbors on its north, east, south and west while implementing this algorithm, with setting T
to 100.
The range-and-bearing communication system and the LEDs are used in this exercise.
- OS : Ubuntu 20.04 LTS
- ARGoS Simulator : 3.0.0-beta59
- Programming Language : Buzz
- Buzz Wiki
- Buzz Cheatsheet
- ARGoS-Buzz Integration
- Khepera IV Robot
- Khepera IV Robot Commands
-
Launch the ARGoS simulator using the terminal with the following command :
argos3 −c hw8.argos
The swarm of robots will be initialized in the arena with the obstacles.
-
Open Buzz script file
hw8.bzz
in ARGoS Script Editor and run the script using theExecute
button.