Sandbox: the foot-bot
In this short sandbox you will experiment with the foot-bot, the robot you will use during the practical lessons of the swarm robotics part of the course. To do so, you will test the functionalities, sensors and actuators of the robot by writing short pieces of code that will be executed in the ARGoS simulator. The control software that you will produce during this practical session might result useful in later exercises.
Objective
The objective of this practical session is to explore the functionalities of the foot-bot and familiarize with its set of sensors and actuators.
General remarks
Instructions about how to use ARGoS are provided in the section ARGoS. The control software of the robot will be produced in Lua; if you are not familiar with this programming language, a miniguide is provided in section Lua. A comprehensive list of sensors, actuators and functionalities of the robot is provided in the section the foot-bot.
The control software of the robots is executed in the form of time steps—that is, the script is executed in the simulator once for each time step. In this experiment, the time step has a length of 100ms. In other words, each of the actions defined in the Lua script will be executed 10 times per second.
Running the sandbox
In this exercise, you will be guided step by step to experiment with the foot-bot. No control software or pseudocode is provided directly. Your task is to search in the section the foot-bot for the appropriate functions that will allow you to perform different specific tasks with the robot, and later, implement them in the simulation.
Launching the experiment
1 - Enter the directory that contains the materials for this practical session.
cd ~/swarm_robotics/sandbox/
2 - Run the ARGoS
simulation.
argos3 -c sandbox.argos
Experimental setup
At the beginning of the experiment, a foot-bots is randomly placed in a squared bounded arena.
[]
Robot tasks
You find below a series of behaviors that the foot-bot must display. Your task is to implement the control software to achieve them.
1 - Move the robot forward with a velocity of 15 cm/s.
2 - Rotate the robot in place.
3 - Move the robot backwards and following an arch trajectory.
4 - Move the robot in circles, and print the readings of the proximity sensors in screen.
5 - Move the robot forward until it finds an obstacle in front, then change the velocity and move it backwards until it senses an obstacle in the back. Repeat this cycle continuously.
6 - Turn on the LEDs with color RED when the robot faces an obstacle, with color blue when it senses obstacles in the back, and with color green when there are no nearby obstacles.
After successfully executing the aforementioned behaviors with the robot, you are now able to start your experiments with robot swarms in the practical session P2.1.
Further information
The following videos show experiments in which the foot-bot is used to conduct research in swarm robotics.
1 - Dorigo, M. et al. (2011). Swarmanoid, the movie.
2 - Mathews, N. et al. (2012). Spatially Targeted Communication and Self-Assembly.