Sie sind auf Seite 1von 15

A Low-Cost Educational Platform for Swarm Robotics

Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

A Low-Cost Educational Platform for Swarm Robotics


Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira
RoboCorp, Department of Electrical Engineering (DEE)
Engineering Institute of Coimbra (ISEC), 3030-199, Coimbra, Portugal
{micael, cfigueiredo, miguel.luz, nunomig}@isec.pt
Rui P. Rocha
Institute of Systems and Robotics (ISR), Faculty of Sciences and Technology
University of Coimbra (FCTUC), Plo II, 3030-290, Coimbra, Portugal
rprocha@isr.uc.pt

Abstract
Swarm robotics usually involves a large number of robots, dealing with the emergence of intelligent
collective behaviors based on local interactions, thus mimicking collective behaviors found in biologi-
cal societies (e.g. ants, bees, bacteria, etc.). Therefore, both miniaturization and cost of robotic plat-
form are key-factors in swarm robotics scenarios, in order to allow affordable experimentation with
real platforms. This article presents a miniature low-cost robot design, denoted as eSwarBot (Educa-
tional Swarm Robot), which specifically targets engineering education and swarm robotics in the De-
partment of Electrical Engineering at the Engineering Institute of Coimbra. eSwarBot was designed as
an Arduino-based open platform requiring basic knowledge of other areas beyond robotics, like me-
chanics, control or energy management. Furthermore, the comparison with other platforms used in
swarm applications is also presented.

Keywords: Swarm Robotics, Mobile Robot, Low-Cost, Education.

1. Introduction
The concept of collective intelligence is perhaps one of the most amazing phenomena in biological
evolution. Very small creatures such as bees, ants, termites and others can achieve impressive feats
(e.g., elaborately constructed nests) which are a result of a swarm intelligence that emerges through
cooperation between agents of the same society [1].
Although the study of dozens of social species has been done for a century, the field of biomimetics
is still trying to capture the underlying principles of how and why cooperation evolved. One of the
most recent offspring of biomimetics is known as swarm robotics. Swarm robotics consists on the
coordination of decentralized, self-organized and simplistic multi-robot systems in order to describe a
collective behavior as a consequence of local interactions with one another and with their environment
[2]. However, just like in nature, swarm intelligence requires a high number of interacting agents to in
order to emerge a single ant colony may contain more than 10000 workers. This results in a limiting
factor in swarm robotics, since the experimentation cost may jeopardize the need of having many sim-
pler robots instead of having a single more complex robot.
The following requirements, sorted by relevance, can be expected from robots to be used in swarm
robotic systems:
Cost Robots should be as cheap as possible since most swarm teams may have dozens or hun-
dreds of robots [3];
Autonomy Robots should have a long battery life since the swarm may need to operate long
enough for the collective behavior to emerge and the goal to be reached [4];
Communication Robots have to support wireless communication such as in the form of ad-hoc
networks [4];
Sensory System Robots should be equipped with some form of sensing capability to allow inter-
action among robots as well as with their environment [5];
Processing Robots need to be able to process information about other robots and the environ-
ment (e.g., sensing data) [4].

International Journal of Robots, Education and Art(IJREA)


Volume2, Number1. February 2012
doi:10.4156/ijrea.vol2.issue1.1
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

Furthermore, there is an evident similarity between swarm robots and the so called minimalism-
based User Created Robots (UCRs) [6]. The concept of minimizing the cost (minimal cost) is one of
the essential properties of swarm robots and was already stated. However, both concepts of minimizing
the number of components (minimal intricacy) and the required development time to complete the
entire process (minimal development) can be considered basic features in the development of swarm
robots. Since the cost is directly related with the robot design, a reduced intricacy in sensing, control
and motion is required. In addition, since swarm robotics deals with many robots, the development
time of each unit must be reduced, thus allowing a fast extension of the swarm team.
Bearing these ideas in mind, this paper proposes a low-cost robotic platform, denoted as eSwarBot
Educational Swarm Robot targeting the field of swarm robotics in engineering education. The
developed robot is a small Arduino-based open platform [6] with several available libraries presenting
itself as an off-the-shelf solution. Although being released in a stable version, the robot is continually
in development with the ability to incorporate extensions and new features. The comparison with other
platforms used in swarm robotics is important to assess the advantages of the proposed robotic plat-
form and is carried out using radar graphs which are commonly used to evaluate athletes performance.
To that end, the five swarm robot requirements previously highlighted are quantified and normalized.
The paper is organized as follows. In section 2, the mechanical and electrical structure of the
eSwarBot is presented, while section 3 presents the developed software libraries to assist the user in
developing swarm applications. Section 4 presents some preliminary tests to evaluate the proposed
platform. A comparison with other robotic platforms used in swarm robotics is presented and discussed
in section 5. Finally, the main conclusions and future work are outlined in section 6.

2. The eSwarBot
This section presents the eSwarBot robot design, a ground platform recently developed for applica-
tions in swarm robotics. The eSwarBot has a diameter of 126 mm, a height of 100 mm and a weight of
approximately 600 g, being small enough not to increase the size of test arena, and yet big enough not
to limit the expandability of the robot or increase the cost of the swarm robots due to components min-
iaturization.

RGB module
6 RGB LED

Wireless module
2.4 GHz XBee

Control module
Arduino Uno
Sensory System
MaxSonar EZ1
Base module
Battery 9V 2300mAh
Motor Driver TB6612FNG
2 Micro Metal Gearmotor
Voltage Regulator LM7805
Xor Logic IC 7486
LED Driver L293D
2 encoders 48 counts per revolution
Figure 1. The eSwarBot robot structure.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

The mechanical structure of the platform consists in two plastic parts from Pololu Robot Chassis
RRC01A and a top mounted acrylic part for red-green-blue light emitting diodes (RGB-LEDs) support.
The common anode RGB-LEDs may be used to identify not only the orientation of a robot but also to
distinguish between different robots since they allow representing a wide range of different colors.
The mechanic structure is cheap, thus reducing the unit price of the robot for sufficient quantities.
The main body encloses the mechanical and electrical components such as battery, the processing unit,
additional electronics, motors and sensors. The two motors are screwed onto the bottom structure, with
the wheels directly attached to the motor axis. Additional electronics (e.g., L293, 7805, 7486) are also
fixed on the bottom structure.

2.1. Control Unit

An 8 bit microcontroller (C) can be seen as a small and low-cost computer allowing the imple-
mentation of diversified and computational undemanding applications. A single integrated circuit (IC)
has the 3 main components of computer architecture: central processing unit (CPU), memory and in-
put/output (I/O).
Although C s may offer limited flexibility due to their inherent hardware limitations when
compared with other processing systems (e.g., embedded PCs), they are the best choice when
creating simple electronic devices that will not change much over time (e.g., swarm robots).
They are able to deal with information from sensors, to send control signals to actuators and
send information to computers or other devices. Furthermore, Cs offer other advantages over
higher processing systems, such as low-cost and low power consumption. In addition, the Ar-
duino presents an open-source cross-platform environment (i.e., runs on Windows, Macintosh
OSX, and Linux) with extensible software and hardware characteristics, i.e., the language can be
expanded through C libraries and shields can be plugged on top of the Arduino, thus extending
its capabilities.
The chosen processing unit is composed by an Atmel Atmega328 C embedded in the Ar-
duino Uno development board. This C has 14 I/O digital pins (6 of them can be used as PWM
analog outputs), 6 analog inputs, a 16 MHz clock and a program memory up to 32 kB. The Ar-
duino Uno board allows the C to be programmed via USB.

2.2. Sensory System for Movement and Pose

A rotary encoder converts rotary position to an analog or digital electronic signal. The used quadra-
ture encoder (Figure 2a) works with a micro metal gear motor, in a 4219 mm wheel and extended
bracket to measure rotation speed and wheel direction. With a twelve teethed wheel, the system pro-
vides a resolution of 48 counts per revolution, corresponding to a linear resolution of just under 3 mm
[8].

a) b)

Figure 2. Encoder [8] a) attached to motor and wheel b) external interrupt input (i.e., XOR output).

This encoder has 2 digital output channels that can be directly plugged into Cs external interrupt
pins. By combining the information of these 2 channels it is possible to measure 48 state changes per
wheel revolution (Figure 2). As the robot is composed by 2 wheels, 2 encoders are needed, which in
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

turn would lead to the use of 4 external interrupts. As Atmega328 C only has 2 external interrupts
available, it led to the use of the IC 7486, performing the XOR operation between the 2 channels of the
encoder, in order to have a single output from each encoder (Figure 2b).
The LV-MaxSonar Ultrasonic Range Finder is a compact sonar range finder by Maxbotix that de-
tects objects from 0 to 6.45 m (21.2 ft) with a resolution of 2.5 cm (1") for distances beyond 15 cm (6").
Unlike other sonar range finders, the LV-MaxSonar has virtually no dead zone: it can detect even small
objects up to and touching the front sensor face. Just like an ordinary sonar range sensor, the LV-
MaxSonar sends out a pulse of sound, then waits to hear the sounds echo off of an object in the
environment. By measuring how long it takes for the sound to bounce back, the sensor calculates the
distance that the sound must have traveled, and hence, how far away the object was.

2.3. Communication

ZigBee technology was conceived in order to achieve fast, low-cost with low power consumption
wireless communication [9]. While other wireless technologies are developed considering a large
amount of data to be transferred, ZigBees development main intent is the transfer of small amounts of
data in a faster and reliable manner. ZigBee adheres to the Institute of Electrical and Electronics Engi-
neers (IEEE) 802.15.4 standard and uses the recognised 2.4 GHz industrial, scientific and medical (ISM)
band. ISM bands are reserved and used for license-free communications. Because these bands are ex-
pected to have other signals in nearby channels any communications protocols using them, including
ZigBee, are designed to be interference tolerant [9]. All these features make ZigBee a very attractive
technology for mobile robots, allowing the interaction and coordination of a team of swarm robots.
Maxstream is a company that sells transceiver modules called XBee [10]. Supporting ZigBee tech-
nology and its several network topologies, these modules need no external configuration, being able to
perform the desired tasks with AT and API commands [11]. These modules communicate with the C
via SPI interface. XBee Series 1 is based on ZigBee/802.15.4 silicon from Freescale. Its 802.15.4
firmware feature set makes it ideal for point-to-point, peer-to-peer, and point-to-multipoint (star) topol-
ogies. This transceiver gives the user maximum control over network nodes and minimum latency.
XBee Series 2 is based on ZigBee/802.15.4 silicon from Ember for creating ad-hoc mesh networks.
The XBee Series 2 performs automatic route discoveries to create a self-healing network of full-
function routers and low-power end devices [12]. They have a small size (around 3x3 cm) and are
available in 2 versions, XBee and XBee Pro, differing in transmission power and consequently range.
XBee, operating at 1mW has a range from 30m to 100m (indoor/outdoor) and XBee Pro operating at
60mW can reach a range of 100m to 1600m (indoor/outdoor) [11].
As mentioned, the ZigBee technology implies very low power consumption. These modules are a
suitable solution for swarm robotics since they present a power consumption near 10A when in sleep
mode and 50mA while sending and receiving data. Furthermore, since swarms may be formed by hun-
dreds of robots (i.e., nodes), the ZigBee protocol is the most adequate option since it can generally
support up to 65536 network nodes. However, it should be noted that as the number of nodes in a
ZigBee network increases, potential communication bottlenecks can occur in some parts of the network.
Therefore, when using a large population of robots, special attention should be given to the develop-
ment of deployment algorithms since the node placement and adequate ZigBee router coverage pro-
vides multiple paths for messages and alleviates potential bottleneck points in the network.

2.4. Autonomy

There are a number of considerations that influence a battery selection: energy or capacity, power,
number of cycles, available sizes, recycling requirements and/or cost. Figure 3 compares the energy
densities based on weight and volume for the most commonly available rechargeable battery systems.
Lithium is a clear winner but tends to be more expensive [13].
As our goal is the implementation of a low-cost robot, a Fullwat battery composed by a pack of Ni-
MH cells (8xAA) of 9.6V and 2300mAh with TAMIYA connector was chosen, for its capacity, low
price, size and weight. Furthermore, these batteries are endowed with a high discharge capacity of 5C,
thus being able to provide a current superior to 10A.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

600

Energy Density [Wh.dm-3]


Li ion
400
NiMH

200

NiCd
Lead Acid
0
0 100 200 300
-1
Energy Density [Wh.Kg ]
Figure 3. Comparison of energy densities by weight and volume for selected rechargeable batteries [13].

2.5. Cost

Cost is a key feature in swarm robotics. The robots should be as cheap as possible since, unlike
standalone robots, replications will be needed. Table 1 depicts the cost, in United States Dollars (USD),
of the components of a single robot obtained until August 2011. It is noteworthy that some components
may benefit from price reduction if buying in large quantities.

Table 1. eSwarBot cost table (obtained until August 2011)


Quantity Description Cost [USD]
2 250:1 Micro Metal Gearmotor $30
1 Arduino Uno $27
1 Arduino Shield with XBee $50
1 Battery fullwat 9.6V 2300mAh $30
6 LED RGB 0.25W $7
1 MaxSonar-EZ1 Sonar Range Finder MB1010 $24
1 Motor Driver TB6612FNG $10
1 Pololu 42x19mm Wheel and Encoder Set $35
- Other electronic components $22
Total $235

3. Software Development
The eSwarBot software libraries complement the hardware structure of the robot by providing low-
level hardware control (e.g., reading the sensors value, controlling the motor velocity) and a basic
swarm behavior. The aim of these libraries is to provide modular programming to be used in swarm
applications.
The functions are implemented using Arduino programming language, which is an implementation
of Wiring, based on Processing multimedia programming environment. The Arduino language is a C-
like language, which is a general-purpose computer programming language taught in almost every
computer sciences and engineering courses. The library includes basic positioning and control, sensing,
communication and swarm behavior functions which are further explored in the next sections.
For an easier understanding of the equations shown in the following section, Table 2 presents the
relevant notation.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

Table 2. Notation
Symbol Description
Radius of the wheels
Radius of the robot (half the wheel-to-wheel distance)
Desired number of pulses carried by the right wheel
Desired number of pulses carried by the left wheel
Real number of pulses carried by the right wheel
Real number of pulses carried by the left wheel
/ Total number of pulses per revolution
Angle of rotation between the current and target position
Euclidean distance between the current and target position
Right wheel velocity
Left wheel velocity
Wheels default velocity
Current position of the robot in the x-axis
Current position of the robot in the y-axis
Best position that minimize the distance to a target location in the x-axis
Best position that minimize the distance to a target location in the y-axis
Best position that maximizes the distance to an obstacle in the x-axis
Best position that maximizes the distance to an obstacle in the y-axis
Main objective function (e.g., euclidean distance between the current and target position)
Best value of the main objective function
Sensing function (e.g., distance from the robot to obstacle)
Best value of the sensing function
Weights of the inertial influence
Weights of the local best
Weights of the obstacle susceptibility

3.1. Kinematics

eSwarBot is a differential drive robot (Figure 4) with two independently driven wheels with tires
and a caster wheel for stability. As previously described, the driven wheels are equipped with encoders
and the readings become available through a simple C-function call. Hence, the major odometry pa-
rameters of such mobile robot are the radius of the wheels and the radius of the robot (half the
wheel-to-wheel distance) .


distance
a) b)

zRight

zLeft zRight

zLeft

Figure 4. Robot kinematics. a) Rotation; b) Moving forward.


A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

Brownian motions were used to move from a current location to a target location, i.e., the robot first
orientates itself and then moves forward until it reaches the target location. The function that allows the
low-level control (LLC) of the platform is divided in three basic functions: i) LLC main function
allows calculating the rotation and euclidean distance the robot needs to travel from one point to anoth-
er thus calling the; ii) Rotation function deals with the initial orientation of the robot to the target
(Figure 4a); and iii) Move function deals with the forward movement of the robot to the target
(Figure 4b).
The LLC main function has as input parameters the , , as well as the current and de-
sired pose (i.e., position and orientation) and velocity of the robot. The rotation is then calcu-
lated as the difference between the variation of the arctangent function atan2 and the actual
orientation. To minimize the consumed energy, the properties inherent to the trigonometric unit
center were used, i.e., the robot always performs the minimum required angle to orientate to the
target position. Afterward, the euclidean distance is then calculated between the current
and target position (i.e., distance between two points). Both the angle and the distance the robot
needs to achieve are the inputs of the Rotation and the Move function, respectively.
The Rotation function then converts the desired angle from radians to pulses us-
ing the following equation:

/ (1)
2

A resolution of 3.6 degrees is then obtained for a single pulse, taking into account that
21.09 mm, 44.50 mm and the combination between encoders-wheel provides
/ 48 pulses/revolution.
Similarly, the Move function converts the euclidean distance from millimeters to pulses
using the following equation:

/ (2)
2

With the previously mentioned parameters, a resolution of 2.76 mm is then obtained for a single
pulse.
The desired velocity of each wheel is independently controlled using a pulse width modulation
(PWM) signal which is usually proportional to the duty cycle. However, this proportionality highly
depends on the building characteristics of the motors. Since motors cannot be exactly identical, it is
impossible to ensure that applying the same voltage on both motors will result in the exact same veloci-
ty. On the other hand, if motors do not have the same velocity while traveling forward, the robot will
began turning.
To solve this issue, a proportional controller of the velocity was implemented using the following
equation:

.
(3)
.

where and are the real number of pulses of each wheel at each iteration. A proportional
gain of 3 was considered as providing a suitable correction factor.
The output of the low level control function consists on the actual pose of the robot at each iteration.

3.2. Sensing

All the sensing information of the robot comes from a single sonar range finder as previously pre-
sented. Although the sonar is accurate and provides readings up to approximately 6 meters, there are
some errors (i.e., outliers) that occur when the robot moves.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

To allow easy-to-use sensory information and avoid incorrect readings from the sonar, a Sensor C-
function was developed having two input parameters. The first input is the Arduino analog pin where
the sensor is connected (the default is in analog pin 0). The second input is the number of readings (i.e.,
samples) one wish to use in order to calculate the arithmetic mean (i.e., output), thus removing possible
outliers. The greater the number of samples, the less susceptible to outliers will be the sensory infor-
mation. Since the Arduino board can undertake about 10000 readings per second, less than 50 samples
are recommended to avoid missing pulses from the encoders.
The other five available analog pins may be used to plug other sensors such as, for instance, a light
dependent resistor (LDR) that could be used to detect sources of light in a given scenario or an olfacto-
ry sensor that could be used for gas leak detection.
If the plugged sensor is not susceptible to noise, then the number of samples should be set to 1 in
order to void inappropriate processing.

3.3. Communication

Communication constitutes one of the most important resources for more effective cooperation
among robots and improved robust collective performance. The development of robot teams for swarm
robotics requires that robots have to be able to maintain communication among them without the aid of
a communication infrastructure.
To allow an efficient use of wireless communication, the XBee shield from Arduino was used. This
shield can be used as a serial replacement and can be configured for a variety of broadcast and mesh
networking options. In other words, after initial configurations, one can benefit from wireless commu-
nication as a regular serial communication with the basic Arduino Serial library.
However, two straightforward C-functions were once again implemented which basically allow
Writing and Reading data. The Writing function receives an input parameter while the Reading func-
tion returns the received data. It is noteworthy that if there is no available data the Reading function
will return the value 0. Nevertheless, the Reading function may be used at any time after receiving data
from other robots since it remains stored in the serial receive buffer (which holds 128 bytes).

3.4. Swarm Behavior

Swarm algorithms usually consider multiple agents cooperating in order to emerge a given collec-
tive behavior. Just like in swarm robotics, where groups of robots interact to accomplish their goals, the
Particle Swarm Optimization (PSO) developed by Kennedy and Eberhart [14] is an optimization tech-
nique which models a set of potential problem solutions as a swarm of particles moving around in a
virtual search space. However, contrarily to virtual agents, robots are designed to act in the real world
where obstacles need to be taken into account.
Therefore, as proposed in [15], a swarm robotic algorithm inspired in the traditional PSO while con-
sidering obstacle avoidance behavior and planar motion was developed (Algorithm 1). Coefficients ,
and assign weights to the inertial influence, local best and obstacle susceptibility when
determining the new position, respectively. Parameters and are uniform random number
between 0 and 1. The intent is to multiply a new random component per velocity, rather than
multiplying the same component with each robots velocity.
The function is the main objective function and it can be as simple as the euclidean distance
between the current position and the target position where the objective is to minimize the function.
The best position that minimizes this function is represented by and .
The function is a monotonic and positive sensing function that depends on the sensing infor-
mation (i.e., distance from the robot to obstacle). This function can be represented as the relation be-
tween the analog output voltage of distance sensors and the distance to the detected object. In our spe-
cific situation, using LV-MaxSonar Ultrasonic Range Finder, is monotonically increasing, thus
the objective is to maximize this function. The best position that maximizes this function is represented
by and .
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

Algorithm 1. Adapted PSO Algorithm.


1 Initialize robot pose
0 0
e.g.,
0 0
2 Loop:
3 Evaluate the main objective function (e.g., minimize distance to a target location)
e.g.,


4 Evaluate the obstacle avoidance function (e.g., maximize distance to obstacles)
e.g.,


5 Update the desired position
1

1
1 1

1 1
6 until stopping criteria (e.g., convergence to target location)

At an early stage, and since it is out of the scope of this article, the social behavior (communication
between robots) was not considered in order to evaluate a single robot. As future work, swarms of
multiple robots will be evaluated using an extension of the herein proposed algorithm and thus compar-
ing it with other commonly used collective swarm behaviors.

4. Experimental Evaluation
In order to evaluate the proposed platform, several tests were conducted on a laboratory scenario1.
Firstly, the odometry of the robot is analyzed, followed by an accuracy analysis of the sensing infor-
mation provided by the sonar range finder. A more complex experiment is conducted to address a
swarm behavior while avoiding obstacles when the robot moves from one position to another. After
that, the mobile-robot power consumption is evaluated. Last but not least, the building and program-
ming of eSwarBot were evaluated by undergraduate students on summer/weekend courses yield at the
Engineering Institute of Coimbra.

4.1. Odometry

To test the odometry system, the eSwarBot performed a square trajectory with one-meter of side
length, in both clockwise (CW) and counter-clockwise (CCW) directions, starting at position (0,0). This
test is extremely challenging due to the fact that the robot only relies on the odometry system and al-
ways turns in the same direction, tending to accumulate dead reckoning errors without any cancellation
if the robot rotated in the other direction.

1
Some videos of the experiments are available at http://www.isec.pt/~robocorp/research/eswarbot
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

1200 1200

a) b)
1000 1000

800 800
y [mm]

y [mm]
600 600

400 400

200 200

0 0

-200 -200
-200 0 200 400 600 800 1000 1200 -200 0 200 400 600 800 1000 1200

x [mm] x [mm]
Figure 5. Odometry evaluation. a) CCW direction. b) CW direction.

As seen in Figure 5, the robot performs movements in straight line with high accuracy, however
finds it difficult to rotate exactly 90 as expected since encoders only allow a resolution of 3.6 degrees.
In the trial in CCW direction (Figure 5a) the robot ends with a positional difference to its initial po-
sition of 165 mm while in the CW direction (Figure 5b) the positional difference is of 45 mm.

4.2. Sensing Accuracy

To test the robustness of the sensing equipment, the robot was placed two meters away from differ-
ent obstacles defined by: i) a wall (large obstacle); ii) another eSwarBot (regular obstacle); and iii) a
golf ball (small obstacle). The robots objective is to drive in a straight line toward the obstacle with a
constant velocity of 25 mm.s-1. The robot stops when it is 250 mm away from the obstacle.
The data collected by the sonar range finder in the three situations was saved during the experiment.
The obtained results are presented in Figure 6.

1400
wall
1200 eSwarBot
golf ball
sonar readings [mm]

1000

800

600

400

200
0 0.5 1 1.5 2 2.5 3 3.5
time [sec]
Figure 6. Sensing accuracy evaluation.

Sonar readings are consistent and can be reliably used to assist the robots navigation. Yet, a few er-
rors are still observable, especially when facing small objects (blue dots) at long distances. These errors
have diverse sources like the limits imposed by the sonar resolution and small errors that accumulate
when the robot moves in a straight line.

4.3. Swarm Obstacle Avoidance

In this test, the scenario was endowed with an obstacle. The robot was programmed to navigate
from the initial configuration (0,0) [mm] to the target configuration (2500,1500) [mm] (black star in
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

Figure 7) using a swarm behavior inspired in the PSO (cf., Algorithm 1 described in section 3.4).
When the robot senses an obstacle it reactively and stochastically tries to overcome it, thus reaching its
target. This means that a robot will not perform exactly the same at each trial.

2500

2000

y-axis [mm] 1500

1000

500

1st trial
0
2nd trial
3rd trial
-500
0 500 1000 1500 2000 2500 3000
x-axis [mm]
Figure 7. Three trials of swarm behavior with obstacle avoidance.

Results demonstrate that the robot is able to avoid obstacles and navigate safely in the environment
using a swarm behavior. Note that some positional errors still propagate during the test due to odome-
try errors. Nevertheless, the robot is able to drive itself autonomously reaching a vicinity of the target
position.

4.4. Power Consumption

The experimental result of the eSwarBot power consumption were conducted while the platform
was performing a non-stop circular trajectory at different velocities: i) 25 mm.s-1 (low velocity); ii) 50
mm.s-1 (regular velocity); and iii) 100 mm.s-1 (high velocity). The tests were carried out until the bat-
tery runs out of power, i.e., until the battery voltage reaches a minimum working voltage of approxi-
mately 7 V.

12
low velocity
11 regular velocity
high velocity
Battery voltage [V]

10

6
0 30 60 90 120 150 180 210 240 270
time [min]
Figure 8. Power consumption

Figure 8 illustrates eSwarBot power consumption with the three different speeds. As expected,
changes of the motors velocity increase the power consumption. Nevertheless, the platform autonomy
is adequate for swarm applications (between 2 and 4,5 hours). For longer term autonomy, the platform
could be equipped with a movable charger (e.g., solar panel) or with a docking algorithm to autono-
mously travel to a recharging unit.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

4.5. Students Feedback

Three versions of ISEC Summer & Weekend School - Course of Robotics - were yield in RoboCorp2
and Department of Electrical Engineering at the Engineering Institute of Coimbra, to evaluate the easi-
ness of building and programming eSwarBot platforms.
Each version lasted about 60 hours in which a total of approximately 90 undergraduate students
aged 15 to 19 years, not specialized in robotics, were able to fully build 25 eSwarBots in the first 24
hours, which also included the introduction to electronics and mechanics. The next 30 hours of the
courses were then focused on introducing C programming the first version using Microchip C with
Custom Computer Services (CCS) C Compiler and the two following versions using Arduino boards.
All the programming exercises of this course were performed using the eSwarBot as a motivation tool.
The remaining hours of the course were used to implement a cognitive swarm behavior (previously
explained in Section 3.4 and evaluated in Section 4.3) and thus competing with each other.
In addition to the positive results of the course, in all three versions, students were asked to give
feedback about the use of the eSwarBot. Results of this analysis showed that more than 90% of the
students agree that the eSwarBot is an easy-to-build platform and 65% agree that the programming is
suitable for inexperienced students. Results show that the latest version of eSwarBot is considered as
performing well by more than 90% percent of the students being a clear improvement since the first
version evaluated in ISEC Summer School 2010. Also, students exhibited more difficulties in imple-
menting the herein proposed algorithm using CCS C Compiler than Arduino interface.

5. Related Work
Summarizing, the proposed robotic platform, herein denoted as eSwarBot, present features that are
suitable for swarm robotic applications. However, there are several platforms available in the market
that fall within the same scope. In order to allow a straightforward comparison, Figure 9 presents radar
graphs of several commonly used platforms in research and education, highlighting the most relevant
features in swarm robotics. The radar graphs were built by quantifying and normalizing the features of
each platform in terms of: 1) Cost; 2) Autonomy; 3) Communication; 4) Sensory System; and 5) Pro-
cessing. The cost and autonomy were easily quantified based on the price of the platform and the num-
ber of working hours until it runs out of power, respectively. The communication was evaluated based
on the wireless technology used taking into account that ZigBee is the one recommended by the authors
for swarm robotics. The sensory system was quantified based on the number and heterogeneity of sen-
sors and encoders resolution. Finally, the processing was evaluated based on the processing power of
the control unit.
In terms of cost, eSwarBot proves to be the right choice immediately followed by BotnRoll ONE
[16] with a cost slightly higher than $235 USD. The most expensive swarm platforms priced around
$800 USD are the e-puck and the marXbot. The first one is equipped with a vast set of sensors like
microphones, infra-red sensors, 3D accelerometer and a VGA camera, and still offers extension capa-
bilities [17]. The second one is a small mobile robot designed at the cole Polytechnique Fdrale de
Lausanne (EPFL) with modular hardware and software architecture, a real operative system and about
60 sensors to ensure a perception of the environment sufficient to perform a large variety of tasks and
collaboration among several individuals [18].
The high autonomy of approximately 3 hours of the eSwarBot, the Mindstorms NXT Lego [19] and
the SRV-1 Blackfin from Surveyor [20] proves to be ideal for swarm applications. This autonomy is
only slightly overwhelmed by the marXbot which is equipped with a hot-swappable 10Ah Lithium-
Polymer battery. On the other hand, the TraxBot [21], the e-puck and the Hemisson from K-Team [22]
are the ones presenting the lower autonomy of about 2 hours.

2
For more information about the courses visit the Events section at http://www.isec.pt/~robocorp
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

a) b) c)

d) e) f)

g) h) i)

Figure 9. Evaluation of several platforms for swarm robotics using radar graphs. a) eSwarBot; b) e-
puck; c) SRV-1 Blackfin from Surveyor; d) TraxBot; e) Mindstorms NXT Lego; f) marXbot; g) Hemis-
son; h) IdMind Circular GT; i) BotnRoll ONE.

Some platforms such as the IdMind Circular GT [23], the BotnRoll ONE and Hemisson do not
benefit from communication capability in their initial configuration. The other platforms use WiFi (e.g.,
SRV-1 Blackfin, marXbot), Bluetooth (e.g., e-puck, Mindstorms NXT Lego) and ZigBee (e.g., eSwarBot,
TraxBot). Since swarm robotics works with large population of robots, Bluetooth may not be the cor-
rect choice since each network (i.e., piconet) can only be formed by 8 nodes resulting in the need to
interconnect multiple piconets (i.e., scatternet).
As previously described, the most well equipped robots in terms of sensory system are the e-puck
and the marXbot, closely followed by the SRV-1 Blackfin. They all are equipped with multiple range
sensors and cameras. However, as the e-puck uses Bluetooth to transmit the image there is a severe
limitation on the size and number of frames a second one can receive from it. The other platforms, such
as the eSwarBot, use a reduced number of sensors that allows navigating in the scenario while reducing
the cost, power consumption and computational effort. Furthermore, all of them allow sensors exten-
sion.
The processing power of the eSwarBot, similarly to the TraxBot, Hemisson, IdMind Circular GT
and BotnRoll ONE, may be considered the weakest one in the list. However, as previously described,
both eSwarBot and TraxBot benefit from the extensible software and hardware characteristics of Ar-
duinos boards. The robots that presents the higher processing power of approximately 1000 MIPS and
500 MHz are the SRV-1 Blackfin and the marXbot.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

6. Conclusion
This paper present the development and evaluation of an educative swarm robotic platform denoted
as eSwarBot. The eSwarBot is suitable for reinforcing beginning programming concepts and for explor-
ing collective algorithms of current interest in swarm robotics since it is a cost-efficient off-the-shelf
solution. Hence, the eSwarBot offers the robotics community both an example of a feasible autono-
mous robot and a novel resource that can be leveraged toward educational and research goals.
The experimental evaluation of the eSwarBot has shown that the downside of the proposed swarm
platform lies in its odometry system. Nevertheless, in order to strengthen the robots navigation, one
could use overhead cameras on the scenario for tracking and correcting robots positions with the assis-
tance of the RGB-LEDs deployed on top of the robot.
As future work, the development and implementation of collective swarm algorithms, which can
benefit from explicit communication between robots through the ZigBee protocol, will allow to evalu-
ate large teams of robots instead of individual members. Also, the eSwarBot platform should be im-
proved in order to avoid mislocalization errors. For instance, analyzing the strength of the received
signal (RSSI) (taking advantage of this XBee modules capability) could be used as a location technique.
This technique allows determining the location of mobile module through triangulation methods. An-
other strategy could be equipping the platform with low-cost image sensors such as ArduEye shields
with Tam2 (1616) and Tam4 (432) vision chips developed by Centeye [24].

7. Acknowledgment
This work was supported by a PhD scholarship (SFRH/BD/73382/2010) granted to the first author
by the Portuguese Foundation for Science and Technology (FCT) and RoboCorp at the Engineering
Institute of Coimbra (ISEC). The authors gratefully acknowledge Tavares Pina, current president of the
Department of Electrical Engineering at the Engineering Institute of Coimbra, for providing the re-
quired facilities where Summer & Weekend School - Course of Robotics was held.

8. References
[1] Wilson, E. O., The Insect Societies (Harvard Paperbacks), Belknap Press, November, 1974.
[2] Martin, E. M., Swarm Robotics: From Biology to Robotics, InTech,, 2010. [ISBN: 978-953-307-
075-9].
[3] Arvin, F., Samsudin, K. and Ramli, A. R., Development of a Miniature Robot For Swarm Robot-
ic Application, International Journal of Computer and Electrical Engineering, vol. 1, no. 4,
pp.436-442, 2009. [ISSN: 1793-8163].
[4] Parker, L. E., Schneider, F. and Schultz, A. (eds.), Multi-Robot Systems: From Swarms to Intelli-
gent Automata, vol. 3, Springer, 2005. [ISBN: 1-4020-3388-5].
[5] Dorigo, M., Trianni, V., Sahin, E., Gross, R., Labella, T. H., Baldassarre, G., Nolfi, S., Mondada,
F., Deneubourg, J., L., Floreano, D. and Gambardella, L. M., Evolving Self-Organizing Behav-
iors for a Swarm-bot. Autonomous Robots, special Issue on Swarm Robotics, vol. 17, no. 2-3, pp.
223-245, 2004.
[6] Park, I. W. and Kim, J. O., Philosophy and Strategy of Minimalism-based User Created Robots
(UCRs) for Educational Robotics - Education, Technology and Business Viewpoint, International
Journal of Robots, Education and Art, vol. 1, no. 1, 2011.
[7] Arduino, Arduino Open-Source Electronics Prototyping Platform, http://www.arduino.cc/,
(Retrieved on August 2011), 2011
[8] Pololu, Encoder for Pololu Wheel 42x19mm, http://www.pololu.com/catalog/product/1217
(Retrieved on August 2011), 2011.
[9] ZigBee Alliance, ZigBee Alliance, http://www.zigbee.org (Retrieved on August 2011), 2011.
A Low-Cost Educational Platform for Swarm Robotics
Micael S. Couceiro, Carlos M. Figueiredo, J. Miguel A. Luz, Nuno M. F. Ferreira, Rui P. Rocha

[10] Maxstream, Maxstream XBee/XBee-PRO OEM RF Modules, Product Manual v1.xAx -


802.15.4 Protocol, 2011.
[11] XBee, XBee/XBee-PRO OEM RF Modules datasheet,
http://ftp1.digi.com/support/documentation/90000982_A.pdf , (Retrieved on August 2011), 2008.
[12] Digi International, Digi International - Making Wireless M2M Easy, http://www.digi.com ,
(Retrieved on August 2011), 2011.
[13] Root, M., The Tab Battery Book: An In-Depth Guide to Construction, Design, and Use,
McGraw-Hill/Tab Electronics, pp. 182, 2010. [ISBN: 978-0071739900].
[14] Kennedy, J. and Eberhart, R., A new optimizer using particle swarm theory, Proceedings of the
IEEE Sixth International Symposium on Micro Machine and Human Science, pp. 39-43, 1995.
[15] Couceiro, M. S., Rocha, R. P. and Ferreira, N. M. F., A Novel Multi-Robot Exploration Ap-
proach based on Particle Swarm Optimization Algorithms. IEEE International Symposium on
Safety, Security, and Rescue Robotics, SSRR2011, Kyoto, Japan, 2011.
[16] Botn Roll, Botn Roll ONE C, http://botnroll.com/product.php?id_product=67 (Retrieved on
August 2011), 2011.
[17] Mondada, F., Bonani, M., Raemy, X., Pugh, J., Cianci, C., Klaptocz, A., Magnenat, S., Zufferey,
J.-C., Floreano, D. and Martinoli, A, The e-puck, a Robot Designed for Education in Engineer-
ing, Proceedings of the 9th Conference on Autonomous Robot Systems and Competitions, vol. 1,
no. 1, pp. 59-65, 2009.
[18] Bonani, M., Longchamp, V., Magnenat, S., Rtornaz, P., Burnier, D., Roulet, G., Vaussard, F.,
Bleuler, H. and Mondada, F., The MarXbot, a Miniature Mobile Robot Opening new Perspec-
tives for the Collective-robotic Research, The 2010 IEEE/RSJ International Conference on Intel-
ligent Robots and Systems, October 18-22, Taipei, Taiwan, 2010.
[19] Bagnall, B., Maximum LEGO NXT: Building Robots with Java Brains, Variant Press, 2007.
[ISBN: 978-0973864915].
[20] Cummins, J., Azhar, M. Q. and Sklar, E., Using Surveyor SRV-1 Robots to Motivate CS1 Stu-
dent, 4th Artificial Intelligence for Interactive Digital Entertainment Conference, AIIDE08, Oc-
tober 2224, Stanford, United States of America, 2008.
[21] Arajo, A., Portugal, D., Couceiro, M. S., Figueiredo, C. M., and Rocha, R. P, TRAXBOT -
Assembling and Programming of a Mobile Robotic Platform, 4th International Conference on
Agents and Artificial Intelligence (ICAART), Vilamoura, Portugal, 2012 (Under Review).
[22] Colot, A., K-Team Hemisson Manual, K-Team S.A., Yverdon-les-Bains, Switzerland,
http://ftp.k-team.com/hemisson/Manuel_En/Manual_Hemisson.pdf , (Retrieved on August 2011),
2010.
[23] IdMind, IdMind Educational Robotics - Circular GT,
http://www.idmind.pt/en/education/images/Circular%20GTIng.pdf , (Retrieved on August 2011),
2005.
[24] Centeye, ArduEye shields for Arduino, http://centeye.com/products/ardueye-shields-for-
arduino/, (Retrieved on August 2011), 2011.

The author has requested enhancement of the downloaded file. All in-text references underlined in blue are linked to publications on ResearchGate.

Das könnte Ihnen auch gefallen