ArticlePDF Available

The e-puck, a Robot Designed for Education in Engineering

Authors:

Abstract and Figures

Mobile robots have the potential to become the ideal tool to teach a broad range of engineering disciplines. Indeed, mobile robots are getting increasingly complex and accessible. They embed elements from diverse fields such as mechanics, digital electronics, automatic control, signal processing, embedded programming, and energy management. Moreover, they are attractive for students which increases their motivation to learn. However, the requirements of an effective education tool bring new constraints to robotics. This article presents the e-puck robot design, which specifically targets engineering education at university level. Thanks to its particular design, the e-puck can be used in a large spectrum of teaching activities, not strictly related to robotics. Through a systematic evaluation by the students, we show that the e-puck fits this purpose and is appreciated by 90 percent of a large sample of students.
Content may be subject to copyright.
The e-puck, a Robot Designed for Education in Engineering
Francesco Mondada1, Michael Bonani1, Xavier Raemy2, James Pugh2, Christopher Cianci2,
Adam Klaptocz3, St´
ephane Magnenat1, Jean-Christophe Zufferey3, Dario Floreano3, Alcherio Martinoli2
Abstract Mobile robots have the potential to become the
ideal tool to teach a broad range of engineering disciplines.
Indeed, mobile robots are getting increasingly complex and
accessible. They embed elements from diverse fields such as
mechanics, digital electronics, automatic control, signal pro-
cessing, embedded programming, and energy management.
Moreover, they are attractive for students which increases
their motivation to learn. However, the requirements of an
effective education tool bring new constraints to robotics. This
article presents the e-puck robot design, which specifically
targets engineering education at university level. Thanks to its
particular design, the e-puck can be used in a large spectrum
of teaching activities, not strictly related to robotics. Through
a systematic evaluation by the students, we show that the e-
puck fits this purpose and is appreciated by 90 percent of a
large sample of students.
I. INTRODUCTION
Mobile robots are both fascinating objects and the result
of the fusion of multiple competences. This fascination
leads to the organization of plenty of robotics contests
worldwide annually [16]. From an engineering point of
view, the design and control of mobile robots requires skills
in many disciplines such as mechanics, electronics, energy
management, computer science, signal processing, and
automatic control. The combination of these two aspects
(fascination and inter-disciplinarity) makes mobile robots
an excellent educational platform that enables students to
address a broad range of engineering fields.
This paper presents, for the first time, the design ap-
proach resulting in the e-puck1, an educational desktop mo-
bile robot developed at the ´
Ecole Polytechnique F´
ed´
erale
de Lausanne (EP FL) for a broad exploitation in teaching
activities. The main objectives of this development were:
The use of a common platform in all EPFL courses
related to mobile robotics, to replace the different
robots previously in use.
The use of a mobile robot in non-robotic courses,
for instance signal processing, automatic control, and
embedded programming, in order to propose more
project-based exercises.
The introduction of mobile robots earlier in the
curriculum, which implies the deployment in larger
classes (50 to 100 students).
II. EX I ST ING ROB OTS FO R EDU CATIO N
A wide range of mobile robots are available on the
market. In this section we survey the subset of them that
we think to be relevant as educational platforms.
This work was supported by the ´
Ecole Polytechnique F´
ed´
erale de Lau-
sanne, Switzerland (EP FL,http://www.epfl.ch) in the framework
of a FIF O project (Fond pour l’Innovation dans la Formation). All authors
are associated with EP FL, in the following laboratories: 1. Laboratoire de
Syst`
emes Robotiques, 2. Distributed Intelligent Systems and Algorithms
Laboratory, 3. Laboratory of Intelligent Systems.
1e-puck: http://www.e-puck.org
Fig. 1. The e-puck robot.
The Khepera II from K-Team is a redesign of the
original Khepera robot [15]. With the same size of the
original Khepera, it is compatible with its extensions,
software, and scientific tools. The Khepera II is interesting
because its size allows to use it on a desktop. It is expensive
(around 1500 efor a basic configuration) but is known for
being reliable and well supported.
The Hemisson from K-Team is a cheap platform (225 e)
with a diameter of 120 mm. It only provides a limited
computational power and few sensors in its basic configu-
ration, but is extensible. It is a robust platform well suited
for beginners.
The IdMind’s circular GT kit is a similar platform
slightly cheaper (210 e) with a diameter of 150 mm. It
has less standard extensions than Hemisson, but has more
I/O available ports to connect self-made extensions. It is
more suited for experimentation using custom self-made
extensions.
Even cheaper (175 e), the platform Bot’n Roll is
representative of a set of simple robots with few sensors
that are excellent starting kits for beginners. This and
the previous kit improve their accessibility by providing
graphic programming environments.
The Lego Mindstorms RCX was the first robotic plat-
form from the Lego company. The RCX is built around a
small 8 bit processor and can manage only 3 inputs and
3 outputs (typically DC motors without encoder); but the
combination with the Lego bricks makes it a fantastic tool
to discover new robots shapes. The RCX has been replaced
in 2006 by the Lego Mindstorms NXT. This newer version
is equipped with more advanced sensors, including color
and sound, and can drive motors equipped with encoders.
It is a clear reference in the field because of its good
computational power, its flexibility and interesting price
(260 e).
The Palm Pilot Robot Kit (PPRK) is a commercially
available platform2from Carnegie Mellon University com-
bining a mobile base and a personnal digital assistant
(PDA ), originally a Palm Pilot. The PDA provides the
computational power and the user interface and controls the
sensors and the actuators through a serial connection with
a PIC processor. The result is a compact omnidirectional
platform with three distance sensors (in its basic config-
uration for 250 e). Furthermore, the availability and the
maturity of Palm development tools makes this platform
an interesting starting kit.
The Cye platform3is a medium-size robot
(40×28×13 cm) equipped with special wheels that
ensure a good odometry. Its price is around 540 e.
Designed for indoor domestic environments, Cye can
carry extensions such as a vacuum cleaner and can
navigate in indoor environments.
The Khepera III from K-Team is a research oriented
platform much larger than the Khepera II (120 mm of
diameter). It is adaptable to specific research requirements
through extensions, for instance the korebot board which
provides an XScale processor. Flexible, efficient, and pow-
erful with respect to its size, this robot is also quite
expensive as an educational robot (around 2000 ein basic
configuration).
The ER1 from Evolution Robotics4is a simple alu-
minum frame kit supporting a laptop (not included) and
equipped with wheels. The laptop provides the computa-
tional hardware, which improves the performance / cost ra-
tio of the kit (the basic configuration costs around 230 e).
The motor wheels controller has some free inputs/outputs
but provides limited computational power. This low-cost
kit comes with a sophisticated but expensive software
environment for navigation and vision.
The KHR-1 from Kondo 5has been the first humanoid
robot with good mobility capabilities (17 DOF) for a price
under 1000 e.
The Pioneer 3 (P3) is the latest version of the Pioneer
robot by ActivMedia. It is a large (44×38×22 cm) solid
platform on which the user can install custom processors,
sensors, and actuators. The AmigoBot of the same com-
pany is a cheaper version (1550 e) of the same concept.
The Garcia from Acroname6is a small robot frame
(25×18×10 cm) designed to be controlled by a companion
XScale board. The size of Garcia makes it suitable for
experiments in compact environments. Its price is around
1360 ein the basic configuration.
Robotino from Festo7is a modern mobile robotic plat-
form for education. Robotino runs a real-time Linux kernel
and is built around industrial standards. These features
make this robot powerful in term of computational power
but also expensive (about 4500 e). Robotino is well
suited for technical schools that want to approach technical
problems using robotics.
Roomba Create from iRobot is an educational/research
version of the roomba vacuum cleaner. Devoided of the
2PP RK:http://www.cs.cmu.edu/˜pprk/
3Cye: http://www.personalrobots.com
4Evolution Robotics: http://www.evolution.com
5Kondo: http://www.kondo-robot.com
6Acroname: http://www.acroname.com
7Festo: www.festo-didactic.com
cleaning module, this platform provides low cost mobil-
ity (100 e). Its sensors, designed for vacuum cleaning
tasks, offer a good support for reactive navigation. The
limited internal processor, dedicated to the low-level robot
control, is programmable by simple scripts. Any advanced
programming or supplementary I/O requires an additional
main processor.
III. ROBOT DESIGN FOR ENGINEERING EDUCATION
Most of the aforementioned products are exclusively
either efficient mobile robots or good educational tools.
However, being both implies the following criteria:
Desktop size. A robot that can evolve on the desk
near the computer improves drastically the student
efficiency during experimentation. We consider that
for a good mobility, the experimentation space should
be 10 times the diameter of the robot. On a table, this
implies a robot diameter smaller than 80 mm.
Wide range of possibilities from an engineering and
educational point of view. To exploit this tool in
various fields of education such as signal processing,
automatic control, embedded programming, or dis-
tributed intelligent systems design, the robot should
provide a wide set of functionalities in its basic
version.
User friendly. The user interface has to be simple,
efficient, and intuitive. This is an important point for
the acceptance of the system by the students.
Low cost. The broad introduction in engineering
classes requires a large number of robots. Knowing
that the budget of many schools is constant or de-
creasing, this is only feasible by reducing the cost of
an individual robot.
Open information. This robot has to be shared among
professors, laboratories, schools and universities. An
open source hardware/software development model is
an effective way to achieve this goal.
None of the platforms available on the market is re-
specting these criteria. Most robots are large and thus need
to operate on the floor. The smallest robots are either
expensive or have limited functionalities. Very few are
open source.
This motivated us to create the e-puck robot in summer
2004. We tested a first set of prototypes with students
during the 2004–2005 academic year. Based on this ex-
perience, we redesigned the robot and produced the final
version in summer 2005 (Fig. 1). The following sections
present the robot design and a student evaluation based on
its use during four semesters from 2005 to 2007.
IV. THE E -P UC K DES KTOP MO BIL E ROBOT
We based the design of the robot on the first two
aforementioned criteria: desktop size and flexibility. Com-
bined, these two constraints imply the miniaturization of
a complex system. To achieve a low price, we opted
for the use of cheap components and mass production
manufacturing techniques. We took special care to make
the robot as user-friendly and interactive as possible, in
order to ensure that it would be well received by students.
In this design process, a central aspect is the choice
of the robot features. This particular choice is one of the
innovations of the e-puck design. The sensors, actuators,
and interfaces of the e-puck are representatives of a wide
range of devices one can find in several engineering sub-
domains:
sensors in different modalities: audio, visual, dis-
tances to objects, gravity,
input devices with different bandwidths from 10 Hz
to 10 MHz (Figure 2, left),
actuators with different actions on the environment
(Figure 2, right),
wired and wireless communication devices,
two types of processors: general purpose and DS P.
By exploiting this large set of possibilities, a teacher
can present and the student can practice a broad set of
engineering fields and skills.
IR proximity
INPUTS
10-100Hz
PROCESSING OUTPUTS
PIC core
Generic, C prog.
DSP core
Specific, ASM prog.
Motors
displacement
COMMUNICATION
Bluetooth RS232
Accelerometer 0.1-1kHz Lateral LEDs
display
Microphones 10-40kHz Speaker
audio
Camera 10k-10MHz Front LED
directed
IR remote 1kHz serial
code Body LED
aesthetic
radio cable
Fig. 2. The e-puck allows exploration of different engineering topics,
control options, and signal bandwidths.
For applications where the basic features are not suffi-
cient, the e-puck can be extended with specific hardware.
We provide embedded software consisting of a library
and several demo applications. We also provide an open
source simulator and a monitoring tool to run on a desktop
computer. In this section we present the detailed hardware
and software design choices.
A. e-puck hardware (basic configuration)
1) Microcontroller: The electronic structure of the e-
puck (Fig. 3) is built around a Microchip dsPIC mi-
crocontroller. This microcontroller complies with the ed-
ucational criteria of flexibility because it embeds both
a 16 bit processor with a 16 entry register file and a
digital signal processor (DS P) unit. This CPU runs at 64
MHz and provides 16 MIPS of peak processing power.
The instruction set is mostly orthogonal8and rich; in
particular, it contains multiply-acccumulate and hardware-
repeat instructions suitable to drive the DSP unit, for
instance to efficiently compute scalar products and fast
fourier transforms. Finally, this processor is supported by
a custom tailored version of the GCC C compiler. For the
e-puck, we chose a microcontroller version with 8 kB of
RA M and 144 kB of flash memory.
8An instruction set is orthogonal if any instruction can use data of
any type via any addressing mode (http://en.wikipedia.org/
wiki/Orthogonal_instruction_set)
5Wh Battery
swappable and
rechargeable
1.8V
regul.
2x stepper
motors
8x IR prox.
8x Red Leds
CMOS
color
camera
audio
codec
3x micro
speaker
3D
accelero-
meter
extension connectors
3.3V regul.
ON -
OFF
RS232
connector
programming/
debug connector
to all
devices
battery
protection
low battery detection
RESET
running
mode
selector
low battery
indicator
power-
on led
body light
IR remote
control Front Led
dsPIC 30F6014A
16 Mips
8kB RAM, 144kB FLASH
14MHz
clock
bluetooth
radio link
Fig. 3. The outline of the electronic of the e-puck.
2) Sensors and actuators: To ensure a broad range of
experimentation possibilities, the e-puck contains various
sensors covering different modalities:
Eight infrared (IR ) proximity sensors placed around
the body measure the closeness of obstacles or the
intensity of the ambient infrared light. These are
typical sensors for simple navigation in cluttered
environments.
A 3D accelerometer provides the acceleration vector
of the e-puck. This vector can be used to measure
the inclination of the e-puck and the acceleration
produced by its own movement. It can also detect
collisions and if the robot falls. This sensor is rarely
included in miniature low-cost mobile robots. We
decided to include it because it allows a rich set of
experiments.
Three microphones capture sound. Multiple micro-
phones allow the e-puck to localize the source of
the sound by triangulation. The bandwidth of this
signal is much larger than the one of the accelerometer
or of the infrared sensors, making the microphones,
because of their larger computational demands, the
ideal tools to learn how to use the DS P unit.
A color CMOS camera with a resolution of 640×480
pixels in front of the e-puck enables experimentation
in vision. Only a sub-part of the image can be
grabbed: the size of acquisition is limited by the
memory size of the dsPIC and the rate is limited
by its processing power. Any format of sub-image
is acceptable, providing these two constraints are
fulfilled. For instance, the e-puck can grab a color
image of 40×40 pixels at 4 frames per second; the
frame rate is doubled in gray-scale. This limitation
shows to the students the impact of high bandwidth
sensors such as cameras.
The e-puck provides the following actuators:
Two stepper motors. They control the movement of
the wheels with a resolution of 1000 steps per wheel
revolution.
A speaker, connected to an audio codec. Combined
with the microphones, the speaker can create a com-
munication network with the ability to detect the
direction of peers. It is also an excellent output device
for human interaction.
Eight red light emitting diodes (LE D) placed all
around the e-puck. These LE Ds are covered by a
translucent plastic and the e-puck can modulate their
intensities. They provide a visual interface with the
user; furthermore, another e-puck can observe them
with its camera which allows mutual visual interac-
tions.
A set of green LE Ds placed in the transparent body.
By lighting the body, they improve the interactions
with the user.
A red front LE D placed beside the camera. This L E D
generates a focused beam that projects a red spot
on objects in front of the e-puck. Combined with
the camera, this spot allows distant measurements at
longer range than the infrared proximity sensors.
3) User interface: The e-puck also contains several
devices to interact with the user and to communicate with
other equipments:
Two LEDs show the status of the battery: One indi-
cates whether the robot is powered on, while the other
indicates a low battery condition.
A connector to interface to an in-circuit debugger, to
program the flash memory and to debug code.
An infrared remote control receiver, to control the e-
puck with standard television remote controls.
A classic RS232 serial interface to communicate with
a desktop computer.
A Bluetooth radio link to connect to a desktop com-
puter or to communicate with up to 7 other e-pucks.
A reset button.
A 16 positions rotary switch to specify a 4 bit number,
which can be used, for instance, to select among pre-
programmed behaviors or parameters.
4) Mechanics: The robot has a diameter of 75 mm
and a height which depends on the connected extensions.
The mechanical structure of the e-puck consists of injected
plastic parts. We have chosen this manufacturing technique
because it reduces the unit price of the robot for sufficient
quantities. The robot structure is simple, being made of
only four injected plastic parts: the main body, the light
ring, and the two wheels (Fig. 4). The main body is the
core of the mechanical structure and encloses the battery.
The user can extract the battery from the bottom of the e-
puck. The two motors are simply laterally screwed onto the
main body, with the wheels directly attached to the motor
axis. The main printed circuit board (PCB), containing most
of the electronics, is screwed on top of the main body.
A light diffusion ring and a default extension board are
mounted over this main PC B; the user can replace the
default extension board with application specific boards,
as illustrated by some examples in the next section. All
mechanical parts are transparent and allow to observe all
components.
light diffusion
ring
default top
extension turret
left wheel
motors
main mechanical
body
right wheel
LiIon battery
main CPU board extension
connectors
slot for bottom
extension
Fig. 4. The mechanical structure of the e-puck in an exploded view.
B. e-puck extensions
To address the needs of specific teaching scenarios that
require different mechatronics, the user can connect phys-
ical extensions to provide additional sensors, actuators,
or computational power. Extensions physically connect
through an extension bus which routes a two wires inter-
processor communication bus (I2C) as well as the connec-
tions to most sensors.
There are three physically different types of extensions:
“top”, “bottom”, and “sandwich”.
Top extensions do not allow other extensions above
them. The basic e-puck includes a default extension board
of this type which provides the speaker, the 16 positions
rotary switch, the infrared remote control receiver, the
RS232 connector, and a reset button (Fig. 1, right). There
are several other extensions of this type available, for
instance:
A rotating scanner. It is equipped with infrared trian-
gulation distance sensors with a range of 40 cm (Fig.
5, left). For exercises involving robot localization,
the short range (2–3 cm) of the proximity sensors
available on the basic version of the e-puck is not
sufficient.
A turret with three linear cameras. It provides a very
large field of view for measuring optical flow [8], [21]
(Fig. 5, right) still requiring few memory.
Bottom extensions are internal PC Bs, enclosed in a
vertical slot in the front part of the main body. These
extensions are close to the ground and are connected to
the main PC B by an I2Cbus and a power connection. For
instance, an extension of this type provides three analog
sensors which measure the ground color (Fig. 6, left top).
Fig. 5. Two “top” extensions for the e-puck robot: an infrared distance
scanner (left) and a large field of view linear camera (right).
Fig. 6. Left top: A bottom extension to measure the ground color. Left
bottom: a “sandwich” extension implementing a Zigbee radio link. Right:
A complete visual communication system consisting of two “sandwich”
extensions.
Extensions can also be “sandwich” boards that replicate
the connector on their top, for instance:
a Zigbee radio link with adjustable radio communica-
tion range does not require mechanical access to the
top of the e-puck [4] (Fig. 6, left bottom);
a color RGB LE D ring (Fig. 6right);
an omnidirectional vision turret with onboard micro-
controller dedicated to vision (Fig. 6right)
Several extensions of this type can be stacked, and a top
turret placed above (Fig. 6right).
C. e-puck embedded software
To develop software for the e-puck, we provide stan-
dard components: a bootloader to program the e-puck
over Bluetooth, a low-level library to drive the hardware,
and a monitor to communicate with a desktop computer.
Within the community of e-puck users, standard software
modules are also developed. For instance a Player server is
developed by VeRLab9. These components are all released
under the e-puck open source license.
9Player driver for the e-puck robot: http://code.google.com/
p/epuck-player- driver/
1) Bootloader: To program and debug a microcon-
troller, one typically uses an in-circuit debugger, which
is a specific piece of hardware. To reduce cost and remove
this requirement, the e-puck comes with a bootloader that
allows the user to re-program the flash of the microcon-
troller through the Bluetooth or the serial port. At boot,
the bootloader listens a small amount of time for activity
on these ports, and if none is detected, launches the user
application. During this time, the user has the opportunity
to send a special command in order to flash a new program.
2) Low-level library: To facilitate the use of the e-
puck hardware, which requires specific code with precise
timings, we provide a collection of functions called the
“Low-Level Library”. This library contains functions such
as “move the right motor at that speed”, “read 40×40 pixel
image”, or “send this message through Bluetooth”. It is
statically linked with the user application at compile time.
3) BTcom protocol: When developing for a robot, it
is often useful to be able to control it from a desktop
computer. To that end, the e-puck comes with a moni-
tor implementing a remote control protocol through the
Bluetooth or the serial port, called the “BTcom protocol”.
This protocol provides full remote control of the e-puck,
allowing the desktop computer to set the speed of the
motors, read the image of the camera, specify the state of
the LE Ds, read the accelerometer, and so on. This allows
the user to develop applications on a desktop computer,
in a comfortable environment with a rich set of develop-
ment tools. Moreover, with this approach, applications can
exceed the computational capabilities of the dsPIC. The
same strategy can be used to control the e-puck from a
simulator, such as Enki or Webots.
D. e-puck simulation
Several simulators support the e-puck. Among them,
we use Webots and Enki. Webots [13] is commercial
and supports three-dimensional physics through the ODE10
library. Enki11 is open source and provides fast 2D physics,
which, for instance, makes it suitable for evolutionary
robotics experiments [7].
E. Availability
All our software, design, and production documents are
available under an open source hardware/software license,
meaning that anyone can use and modify them as long as
they comply with the license.
Currently, two companies (GCtronic and AAI Japan)
produce the e-puck and about ten companies distribute it
under the term of the open hardware license. A growing
community is using the e-puck both for research and
education (see for instance [1], [20], [18], [12], [11], [5],
[2], [10], [14], [9], [17]).
The production price of the e-puck basic version is
around 250 e. The selling price by most companies is
around 550 e.
10Open Dynamics Engine: http://www.ode.org
11Enki: http://home.gna.org/enki/
V. ENGINEERING EDUCATION USING THE E-PUC K
ROB OT AT EPFL
At EP FL, several courses exploit the e-puck robot as ex-
perimentation platform. In particular we organize practical
exercices in the following teaching areas:
Signal processing. We use the e-puck to explore signal
processing on sound, which is an optimal context for
education because of the signal low frequency, low
propagation speed, ease of generation, acquisition,
and direct perception by humans. In our embedded
programming course we explore signal processing ap-
plications during two sessions of five hours each. We
analyze the sound using a fast fourier transform (FFT),
with a close attention to its efficient implementation
on the DS P unit. In each session, we first present
the theory; then the students verify it on MATL A B
with data acquired from the robot, and finally they
implement it on the dsPIC of the e-puck.
Automatic control. In our embedded programming
course, we apply automatic control concepts on the
e-puck. The goal of the five hours session is to build
a regulator that controls the e-puck and maintains a
constant distance with respect to a visual target (Fig.
7, left). The input of a proportional-integral regulator
is the estimated distance to the target, extracted from
the camera looking at a vertical black stripe on a white
background (Fig. 7, right). The output of the regulator
is assigned to the speed of both wheels, reducing the
problem to one degree of freedom.
Fig. 7. Model of the problem (left) and scheme of the regulator (right)
for the e-puck automatic control practical.
Behaviour-based robotics. In a robotics course, we
use the e-puck to provide the students with a better
understanding of the subsumption architecture [3],
its advantages and its shortcomings. The goal of the
exercise is to implement a behavior-based controller
for a simplified industrial application consisting of the
transport of goods throughout a warehouse. The e-
puck (the carrier) has to follow a line painted on the
ground (the track), while avoiding obstacles and going
back to the line after disruption. To that end, the e-
puck is equipped with the ground sensor extension
(see Section IV-B and Fig. 6, left top).
Distributed intelligent systems. Our course on dis-
tributed intelligent systems (formerly focusing on
swarm intelligence) includes weekly laboratory ex-
ercises in which the students use a combination of
real e-puck robots and realistic simulations using
Webots [13] to test and verify the topics and the-
ories presented in lectures. This help the students
to assimilate theoretical concepts around multi-robot
coordination and networking, and to understand the
difficulties of implementing them. This also enhances
their awareness of the differences between various
types of implementation levels; for example realistic
simulations and real experiments.
Position estimation and path finding of a mobile robot.
In a 10 hours practical session we use the e-puck
to explore robot localization and path finding. These
techniques are active fields of research and begin
to see deployment in industry [6]. They are usually
implemented using expensive sensors such as laser
range finder [19], which, because of limited education
budgets, often restricts their teaching to simulation.
Yet simulation is not always sufficient to fully un-
derstand what is critical for correct functionality on
physical robots. The e-puck, with the distance scanner
extension (see Section IV-B and Fig. 5, left), allows
students to explore these techniques in a physical
setup.
VI. EVAL UATI ON OF E -PUCK BY THE STUDENTS
Our embedded programming course using the e-puck
has been evaluated on a regular basis since the introduction
of the e-puck in 2005. The goal of this course is the
understanding and practice of embedded programming.
Most of the course focuses on C programming, with links
to assembler and some concepts of C++. Practicals explore
signal processing and control problems. The students who
attend this course are not specialized in robotics. All the
programming exercises of this course are performed using
the e-puck as a motivation tool.
Over the first three years of e-puck use, students were
asked to give feedback about the use of the e-puck to
illustrate the concepts of the course. Fig. 8summarizes
the results of this analysis and shows that more than 90
percent of the students agree that the e-puck is a good
tool to illustrate the concepts of the course. The score has
slightly improved over the years, with the fine-tuning of
the course.
totally agree partially agree no opinion partially disagree totally disagree
February 2005, 56 students,
on ASM, C programming
February 2006, 90 students,
on ASM, C programming
June 2006, 79 students,
on C++ programming
June 2007, 48 students,
on ASM, C and C++
programming
The e-puck robot is a good tool to illustrate the concepts of the course
Fig. 8. Comparison between the evaluations of the e-puck robot as
teaching tool.
When asked about the quality of the e-puck, students
gave the feedback shown in Fig. 9. These results show that
the latest version of e-puck is considered as performing
well by more than 90 percent of the students. We observe
a clear improvement since the first version evaluated in
February 2005.
VII. CONCLUSION
The e-puck robot is an innovative education tool for
engineering in a broad sense. For its size and price, it is a
complex systems that we exploit to teach a wide range of
topics. By integrating the latest technologies in a compact
totally agree partially agree no opinion partially disagree totally disagree
February 2005,
56 students, on V1
February 2006,
90 students, on V2
June 2006,
79 students, on V2
June 2007,
48 students, on V2
The e-puck robot is performing well
Fig. 9. Comparison between the evaluation of the quality of the e-puck
robot and its on-board software, following its evolution over the years
and versions.
design, it repositions robotics in the engineering education
landscape. More than 200 students over 3 years have
validated this concept and shown their satisfaction using
the e-puck. The open-source nature of this robot improves
the quality of the support to the students by providing
full access to knowledge at every level. For teachers this
simplifies maintenance and opens new experimentation
possibilities. Finally, the rapid diffusion of the e-puck in
the research community shows its versatility as a scientific
experimentation tool.
VIII. ACKNOWLEDGMENT
We thank E PFL for funding the development of the e-
puck robot through its Funding Program for Teaching and
Learning. We also thank the Pedagogical Research and
Support team of EPFL for the detailed evaluation of the
e-puck educational performances. We finally thank our
students for their constructive feedback.
REFERENCES
[1] Alberto Acerbi, Davide Marocco, and Stefano Nolfi. Social facil-
itation on the development of foraging behaviors in a population
of autonomous robots. Advances in Artificial Life, 4648:625–634,
2007.
[2] Saeed Amizadeh, Majid Nili Ahmadabadi, Babak N. Araabi, and
Roland Siegwart. A bayesian approach to conceptualization using
reinforcement learning. Advanced intelligent mechatronics, 2007
ieee/asme international conference on, pages 1–7, 2007.
[3] Rodney A. Brooks. Cambrian Intelligence. MIT Press, 1999.
[4] Christopher M. Cianci, Xavier Raemy, Jim Pugh, and Alcherio
Martinoli. Communication in a Swarm of Miniature Robots: The e-
Puck as an Educational Tool for Swarm Robotics. In Simulation of
Adaptive Behavior (SAB-2006), Swarm Robotics Workshop, pages
103–115, 2006, Lecture Notes in Computer Science (2007), vol.
4433.
[5] Roozbeh Daneshvar, Abdolhossein Sadeghi Marascht, Hossein Am-
inaiee, and Caro Lucas. A Quantitative Investigation into Distribu-
tion of Memory and Learning in Multi Agent Systems with Implicit
Communications, volume 4850, pages 124–133. Springer, 2007.
[6] H. Durrant-Whyte and T. Bailey. Simultaneous localization and
mapping: part i. Robotics and Automation Magazine, IEEE,
13(2):99–110, June 2006.
[7] Dario Floreano, Sara Mitri, St´
ephane Magnenat, and Laurent Keller.
Evolutionary Conditions for the Emergence of Communication in
Robots. Current Biology, 17:514–519, 2007.
[8] N. Franceschini, J. M. Pichon, C. Blanes, and J. M. Brady. From
insect vision to robot vision [and discussion]. Philosophical
Transactions: Biological Sciences, 337(1281):283–294, 1992.
[9] O. Gigliotta and S. Nolfi. Formation of spatial representations in
evolving autonomous robots. Artificial Life, 2007. ALIFE ’07. IEEE
Symposium on, pages 171–178, 2007.
[10] Babak N. Araabi Hadi Firouzi, Majid Nili Ahmadabadi. A
probabilistic reinforcement-based approach to conceptualization.
International Journal of Intelligent Technology, 3:48–55, 2008.
[11] Daisuke Kurabayashi Herianto, Toshiki Sakakibara. Artificial
pheromone system using rfid for navigation of autonomous robots.
Journal of Bionic Engineering, 4:245–253, 2007.
[12] Mattias Jacobsson, Sara Ljungblad, Johan Bodin, Jeffrey Knurek,
and Lars Erik Holmquist. Glowbots: robots that evolve rela-
tionships. In SIGGRAPH ’07: ACM SIGGRAPH 2007 emerging
technologies, page 7, New York, NY, USA, 2007. ACM.
[13] Olivier Michel. Webots: Professional Mobile Robot Simulation.
International Journal of Advanced Robotic Systems, 1(1):39–42,
2004.
[14] Yasser F. O. Mohammad and Toyoaki Nishida. TalkBack: Feedback
from a Miniature Robot, pages 357–366. Springer, 2007.
[15] F. Mondada, E. Franzi, and P. Ienne. Mobile robot miniaturization:
A tool for investigation in control algorithms. In T. Yoshikawa
and F. Miyazaki, editors, Proceedings of the Third International
Symposium on Simulation on Experimental Robotics (ISER-93),
volume 200 of Lecture Notes in Control and Information Sciences,
pages 501–513. Springer, 1993.
[16] R.R. Murphy. “competing” for a robotics education. Robotics and
Automation Magazine, IEEE, 8(2):44–55, Jun 2001.
[17] F. Rastegar and M.N. Ahmadabadi. Grounding abstraction in sen-
sory experience. Advanced intelligent mechatronics, 2007 ieee/asme
international conference on, pages 1–8, 2007.
[18] P. Roduit, A. Martinoli, and J. Jacot. A quantitative method
for comparing trajectories of mobile robots using point distribu-
tion models. Intelligent Robots and Systems, 2007. IROS 2007.
IEEE/RSJ International Conference on, pages 2441–2448, 2007.
[19] Roland Siegwart and Illah R. Nourbakhsh. Introduction to Au-
tonomous Mobile Robots. MIT Press, 2004.
[20] Vlad M. Trifa, Christopher M. Cianci, and Dominique Guinard.
Dynamic Control of a Robotic Swarm using a Service-Oriented
Architecture. In 13th International Symposium on Artificial Life
and Robotics (AROB 2008), 2008.
[21] Jean-Christophe Zufferey and Dario Floreano. Toward 30-gram
Autonomous Indoor Aircraft: Vision-based Obstacle Avoidance and
Altitude Control. In IEEE International Conference on Robotics and
Automation (ICRA’2005), pages 2594– 2599, 2005.
... Fraser [39] presented a bio-inspired aggregation method based on Reynolds' flocking rules to achieve the selforganizing aggregation behaviour in a swarm of robots through local interactions. In this algorithm, the flocking behaviour is based on the information that each individual e-puck robot [40] has about its neighbours. The flocking behaviour was simulated using Webots robotics simulation software 7.0.1 [41]. ...
... We used an open-source robotic platform, the e-puck mobile robot [40]. The e-puck is 7.4 cm in diameter and has two wheels to move. ...
... E-pucks also contain a variety of wired and wireless communication channels, primarily used in communication with a host computer (supervisor node). This technology allows for the control of the robot using wireless technology and provides full remote access to the sensory data [40]. To establish communication between the supervisor node and e-puck robots in Webots, we integrated emitter and receiver nodes into both the supervisor node and the e-puck robots. ...
Article
Full-text available
This paper presents a biologically inspired flocking-based aggregation behaviour of a swarm of mobile robots. Aggregation behaviour is essential to many swarm systems, such as swarm robotics systems, in order to accomplish complex tasks that are impossible for a single agent. In this work, we developed a robot controller using Reynolds’ flocking rules to coordinate the movements of multiple e-puck robots during the aggregation process. To improve aggregation behaviour among these robots and address the scalability issues in current flocking-based aggregation approaches, we proposed using a K-means algorithm to identify clusters of agents. Using the developed controller, we simulated the aggregation behaviour among the swarm of robots. Five experiments were conducted using Webots simulation software. The performance of the developed system was evaluated under a variety of environments and conditions, such as various obstacles, agent failure, different numbers of robots, and arena sizes. The results of the experiments demonstrated that the proposed algorithm is robust and scalable. Moreover, we compared our proposed algorithm with another implementation of the flocking-based self-organizing aggregation behaviour based on Reynolds’ rules in a swarm of e-puck robots. Our algorithm outperformed this method in terms of cohesion performance and aggregation completion time.
... To demonstrate the SoNS approach, we used real aerial-ground robot swarms (Movie 2) consisting of differential drive e-puck robots (50,51) and our custom-developed S-drone quadrotors (52). To demonstrate the SoNS in swarms larger than our real arena allows, we also ran experiments in the simulator ARGoS (53), cross-verified against the behavior of the real robots (see Supplementary Results). ...
... To be able to conduct real hardware experiments, we developed an open-source quadrotor platform with sensing and computational capabilities suited for swarm robotics experiments and an accompanying simulator model (52). We used this quadrotor with standard e-puck ground robots (50,51) mounted with fiducial tags. For data logging and drone safety, we also built a drone arena equipped with an off-the-shelf motion capture system and a custom-developed software package for experiment management. ...
Article
We present the self-organizing nervous system (SoNS), a robot swarm architecture based on self-organized hierarchy. The SoNS approach enables robots to autonomously establish, maintain, and reconfigure dynamic multilevel system architectures. For example, a robot swarm consisting of n independent robots could transform into a single n –robot SoNS and then into several independent smaller SoNSs, where each SoNS uses a temporary and dynamic hierarchy. Leveraging the SoNS approach, we showed that sensing, actuation, and decision-making can be coordinated in a locally centralized way without sacrificing the benefits of scalability, flexibility, and fault tolerance, for which swarm robotics is usually studied. In several proof-of-concept robot missions—including binary decision-making and search and rescue—we demonstrated that the capabilities of the SoNS approach greatly advance the state of the art in swarm robotics. The missions were conducted with a real heterogeneous aerial-ground robot swarm, using a custom-developed quadrotor platform. We also demonstrated the scalability of the SoNS approach in swarms of up to 250 robots in a physics-based simulator and demonstrated several types of system fault tolerance in simulation and reality.
... The robot foraging task is a modified version of the swarm-foraging problem [85,90], in which an e-puck robot [91] is situated in a squared arena of 2 m × 2 m surrounded by walls (see Figure 4). The environment contains five food elements. ...
Article
Full-text available
(1) Background: The mutual relationship between evolution and learning is a controversial argument among the artificial intelligence and neuro-evolution communities. After more than three decades, there is still no common agreement on the matter. (2) Methods: In this paper, the author investigates whether combining learning and evolution permits finding better solutions than those discovered by evolution alone. In further detail, the author presents a series of empirical studies that highlight some specific conditions determining the success of such combination. Results are obtained in five qualitatively different domains: (i) the 5-bit parity task, (ii) the double-pole balancing problem, (iii) the Rastrigin, Rosenbrock and Sphere optimization functions, (iv) a robot foraging task and (v) a social foraging problem. Moreover, the first three tasks represent benchmark problems in the field of evolutionary computation. (3) Results and discussion: The outcomes indicate that the effect of learning on evolution depends on the nature of the problem. Specifically, when the problem implies limited or absent agent–environment conditions, learning is beneficial for evolution, especially with the introduction of noise during the learning and selection processes. Conversely, when agents are embodied and actively interact with the environment, learning does not provide advantages, and the addition of noise is detrimental. Finally, the absence of stochasticity in the experienced conditions is paramount for the effectiveness of the combination. Furthermore, the length of the learning process must be fine-tuned based on the considered task.
... According to the MD and RD files, we have three robots, named EP1, EP2, and CF1. In this case study, EP1 and EP2 are Epuck robots [22] while CF1 is a Crazyflie robot [23,24]. EP1 and EP2 are two-wheeled robots, whereas CF1 is a quadrotor (nano-drone). ...
Article
Full-text available
This paper presents a comprehensive framework for mission planning and execution with a heterogeneous multi-robot system, specifically designed to coordinate unmanned ground vehicles (UGVs) and unmanned aerial vehicles (UAVs) in dynamic and unstructured environments. The proposed architecture evaluates the mission requirements, allocates tasks, and optimizes resource usage based on the capabilities of the available robots. It then executes the mission utilizing a decentralized control strategy that enables the robots to adapt to environmental changes and maintain formation stability in both 2D and 3D spaces. The framework’s architecture supports loose coupling between its components, enhancing system scalability and maintainability. Key features include a robust task allocation algorithm, and a dynamic formation control mechanism, using a ROS 2 communication protocol that ensures reliable information exchange among robots. The effectiveness of this framework is demonstrated through a case study involving coordinated exploration and data collection tasks, showcasing its ability to manage missions while optimizing robot collaboration. This work advances the field of heterogeneous robotic systems by providing a scalable and adaptable solution for multi-robot coordination in challenging environments.
... An experiment is conducted on a real swarm-robotics platform exploiting five E-puck robots [44] in the range of 1.4 m × 0.9 m, where E-puck is a kind of desktop embedded robot with a radius of 35 mm and a height of 45 mm that can perform robot coordination experiments within a limited space. Moreover, four robots play the role of winners with η = 3, and the rest is the target with θ = 0.9. ...
Article
Full-text available
A weight-unbalanced k -winner-take-all (WU- k WTA) network with finite-time convergence is constructed, analyzed, and applied to undirected and directed multirobot systems with unbalanced weights of communication topology. The convergent time of the finite-time k WTA network is theoretically derived with theorems proof. Furthermore, comparisons are conducted among the proposed WU- k WTA network and other existing k WTA works, and results reveal that the proposed network has high precision when encountering undirected or directed weight-unbalanced topologies. Additionally, a dynamic target tracking algorithm is established by employing the proposed WU- k WTA network, and its feasibility and efficiency are validated via simulations on a multirobot system and an experiment on the E-puck robot physical platform.
Article
In this research, we examined a visual imitation algorithm on a group of real robots and analyzed the source of copying errors that are made by the robots visually learning by using this algorithm. As the two possible sources of the copying errors, the actuators of the demonstrator robot and the sensors of the learner robot were specified. First, it is calculated the amount and frequency of errors due to the actuators and we showed that errors due to actuators of the demonstrator robot were minimal. Second, it is examined the errors due to the sensors by using two different trajectory similarity metric in an experiment scenario and we discussed the origin of this kind of imitation error. In this way, we were able to model a source of behavioral diversity in a robot collective, which is similar to the natural systems, which results from errors that emerge during imitation activity.
Article
Full-text available
Airborne insects are miniature wing-flapping aircraft the visually guided manoeuvres of which depend on analogue, 'fly-by-wire' controls. The front-end of their visuomotor system consists of a pair of compound eyes which are masterpieces of integrated optics and neural design. They rely on an array of passive sensors driving an orderly analogue neural network. We explored in concrete terms how motion-detecting neurons might possibly be used to solve navigational tasks involving obstacle avoidance in a creature whose wings are exquisitely guided by eyes with a poor spatial resolution. We designed, simulated, and built a complete terrestrial creature which moves about and avoids obstacles solely by evaluating the relative motion between itself and the environment. The compound eye uses an array of elementary motion detectors (EMDS) as smart, passive ranging sensors. Like its physiological counterpart, the visuomotor system is based on analogue, continuous-time processing and does not make use of conventional computers. It uses hardly any memory to adjust the robot's heading in real time via a local and intermittent visuomotor feedback loop. This paper shows that the understanding of some invertebrate sensory-motor systems has now reached a level able to provide valuable design hints. Our approach brings into prominence the mutual constraints in the designs of a sensory and a motor system, in both living and non-living ambulatory creatures.
Article
Full-text available
Conceptualization strengthens intelligent systems in generalization skill, effective knowledge representation, real-time inference, and managing uncertain and indefinite situations in addition to facilitating knowledge communication for learning agents situated in real world. Concept learning introduces a way of abstraction by which the continuous state is formed as entities called concepts which are connected to the action space and thus, they illustrate somehow the complex action space. Of computational concept learning approaches, action-based conceptualization is favored because of its simplicity and mirror neuron foundations in neuroscience. In this paper, a new biologically inspired concept learning approach based on the probabilistic framework is proposed. This approach exploits and extends the mirror neuron's role in conceptualization for a reinforcement learning agent in nondeterministic environments. In the proposed method, instead of building a huge numerical knowledge, the concepts are learnt gradually from rewards through interaction with the environment. Moreover the probabilistic formation of the concepts is employed to deal with uncertain and dynamic nature of real problems in addition to the ability of generalization. These characteristics as a whole distinguish the proposed learning algorithm from both a pure classification algorithm and typical reinforcement learning. Simulation results show advantages of the proposed framework in terms of convergence speed as well as generalization and asymptotic behavior because of utilizing both success and failures attempts through received rewards. Experimental results, on the other hand, show the applicability and effectiveness of the proposed method in continuous and noisy environments for a real robotic task such as maze as well as the benefits of implementing an incremental learning scenario in artificial agents.
Chapter
Full-text available
The interaction of an autonomous mobile robot with the real world critically depends on the robots morphology and on its environment. Building a model of these aspects is extremely complex, making simulation insufficient for accurate validation of control algorithms. If simulation environments are often very efficient, the tools for experimenting with real robots are often inadequate. The traditional programming languages and tools seldom provide enought support for real-time experiments, thus hindering the understanding of the control algorithms and making the experimentation complex and time-consuming. A miniature robot is presented: it has a cylindrical shape measuring 55 mm in diameter and 30 mm in height. Due to its small size, experiments can be performed quickly and cost-effectively in a small working area. Small peripherals can be designed and connected to the basic module and can take advantage of a versatile communication scheme. A serial-link is provided to run control algorithms on a workstation during debugging, thereby giving the user the opportunity of employing all available graphical tools. Once debugged, the algorithm can be downloaded to the robot and run on its own processor. Experimentation with groups of robots is hardly possible with commercially available hardware. The size and the price of the described robot open the way to cost-effective investigations into collective behaviour. This aspect of research drives the design of the robot described in this paper. Experiments with some twenty units are planned for the near future.
Article
Full-text available
Cyberbotics Ltd. develops WebotsTM, a mobile robotics simulation software that provides you with a rapid prototyping environment for modelling, programming and simulating mobile robots. The provided robot libraries enable you to transfer your control programs to several commercially available real mobile robots. WebotsTM lets you define and modify a complete mobile robotics setup, even several different robots sharing the same environment. For each object, you can define a number of properties, such as shape, color, texture, mass, friction, etc. You can equip each robot with a large number of available sensors and actuators. You can program these robots using your favorite development environment, simulate them and optionally transfer the resulting programs onto your real robots. WebotsTM has been developed in collaboration with the Swiss Federal Institute of Technology in Lausanne, thoroughly tested, well documented and continuously maintained for over 7 years. It is now the main commercial product available from Cyberbotics Ltd.
Conference Paper
Full-text available
In this paper we propose an adaptive algorithm based on a combination of selective reproduction, individual learning, and social learning. Social learning consists of a simple facilitation process that regulates the strength of individual learning on the basis of the number of individuals located nearby. By testing this model in an experimental scenario, in which a population of 10 mobile robots has to develop a simple foraging behavior, we demonstrate how the model proposed produces effective results. By comparing the results obtained in different experimental conditions we also show how the method proposed outperforms other alternative algorithms based on genetic evolution or individual learning. Finally, we briefly discuss how the model proposed can help us to understand the role of social learning in biological organisms.
Conference Paper
Full-text available
A prerequisite of any successful social robot is the ability to express its internal state and intention to humans in a natural way. Many researchers studied verbal and nonverbal feedback from humanoid robots or humanoid robotic heads but there is little research about the possible feedback mechanisms of non-humanoid and especially miniature robots. The TalkBack experiment is a trial to fill this gap by investigating the effectiveness of using motion cues as a feedback mechanism and comparing it to verbal feedback. The results of the experiment showed that there is no significant difference in the task completion accuracy and time or in the feeling of naturalness between these two modalities and there is a statistically significant improvement when using any of them compared with the no-feedback case. Moreover the subjects selected the motion cues feedback mechanism more frequently as the preferred feedback modality for them.
Article
Navigation system based on the animal behavior has received a growing attention in the past few years. The navigation systems using artificial pheromone are still few so far. For this reason, this paper presents our research that aim to implement autonomous navigation with artificial pheromone system. By introducing artificial pheromone system composed of data carriers and autonomous robots, the robotic system creates a potential field to navigate their group. We have developed a pheromone density model to realize the function of pheromones with the help of data carriers. We intend to show the effectiveness of the proposed system by performing simulations and realization using modified mobile robot. The pheromone potential field system can be used for navigation of autonomous robots.
Chapter
In this paper we have investigated a group of multi agent systems (MAS) in which the agents change their environment and this change has the potential to trigger behaviors in other agents of the group in another time or another position in the environment. The structure makes it possible to conceptualize the group as a super organism incorporating the agents and the environment such that new behaviors are observed from the whole group as a result of the specific distribution of agents in that environment. This distribution exists in many aspects like a super memory (or even a super brain) that exists in the environment and is not limited to memories of the individuals. There is a distributed decision making that is done by the group of agents which, in a higher level consists of both individual and group decision makings, and can be viewed as emergent rather than consciously planned. As the agents change the environment, they decrease the error for the group and hence a distributed learning is also forming between the agents of the group. This implicit learning is related to the implicit memory existing in the environment. These two interpretations of memory and learning are assessed with experimental results where two robots perform a task while they are not aware of their global behavior.
Conference Paper
We aim at developing autonomous micro-flyers capable of navigating within houses or small built environments. The severe weight and energy constraints of indoor flying platforms led us to take inspiration from flying insects for the selection of sensors, signal processing, and behaviors. This paper presents the control strategies enabling obstacle avoidance and altitude control using only optic flow and gyroscopic information. For experimental convenience, the control strategies are first implemented and tested separately on a small wheeled robot featuring the same hardware as the targeted aircraft. The obstacle avoidance system is then transferred to a 30-gram aircraft, which demonstrates autonomous steering within a square textured arena.
Conference Paper
In the field of mobile robotics, trajectory details are seldom taken into account to qualify robot performance. Most metrics rely mainly on global results such as the total time needed or distance traveled to accomplish a given navigational task. Indeed, usually mobile roboticists assume that, by using appropriate navigation techniques, they can design controllers so that the error between the actual and the ideal trajectory can be maintained within prescribed bounds. This assumption indirectly implies that there is no interesting information to be extracted by comparing trajectories if their variation is essentially resulting from uncontrolled noisy factors. In this paper, we will instead show that analyzing and comparing resulting trajectories is useful for a number of reasons, including model design, system optimization, system performance, and repeatability. In particular, we will describe a trajectory analysis method based on point distribution models (PDMs). The applicability of this method is demonstrated on the trajectories of a real differential- drive robot, endowed with two different controllers leading to different patterns of motion. Results demonstrate that in the space of the PDM, the difference between the two controllers is easily quantifiable. This method appears also to be extremely useful for comparing real trajectories with simulated ones for the same set-up since it affords an assessment of the simulation faithfulness before and after appropriate tuning of simulation features.