14 pag - art%3a10.1007%2fs10846-015-0227-x
TRANSCRIPT
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
1/14
J Intell Robot Syst (2016) 81:6376
DOI 10.1007/s10846-015-0227-x
Andruino-A1: Low-Cost Educational Mobile Robot Based
on Android and ArduinoFrancisco M. Lopez-Rodrguez Federico Cuesta
Received: 12 July 2014 / Accepted: 26 March 2015 / Published online: 3 May 2015
Springer Science+Business Media Dordrecht 2015
Abstract This work presents the design of an open
educational low-cost (35 euros) modular and extend-
able mobile robot based on Android and Arduino, with
Local Area Network (LAN) and Internet connection
capabilities, to be used as an educational tool in labs
and classrooms of information and communications
technology (ICT) vocational training, or in engineer-
ing courses, as well as in e-learning or massive open
online courses (MOOC) as an alternative or comple-
mentary to virtual labs. It is a first step introducing
what we call BYOR: Bring Your Own Robot edu-cation policy equivalent to BYOD: Bring your own
devices in computers world.
Keywords Educational robotRobotics
Smartphone-based robots BYORAndroid
ArduinoDistance learning.
F. M. Lopez-Rodrguez ()
Departamento Informatica, IES Triana, Junta de Andaluca,
Calle San Jacinto 79, E-41010 Seville, Spain
e-mail: [email protected]
F. Cuesta
Escuela Tecnica Superior de Ingeniera,
University of Seville, Camino de los Descubrimientos,
E-41092 Seville, Spain
e-mail:[email protected]
1 Introduction
Robots are becoming a popular educational tool
[13], in areas of science and technology for pri-
mary and secondary school and in several areas
of engineering in universities, as a method of
active learning that permits several subjects, such
as maths, computer science, mechanics, technol-
ogy, electronics, programming, artificial intelligence,
and computer vision among others, to be com-
bined as a single subject with a distinct goal.Furthermore, robotics increases collaboration and
working group skills, and helps students construct
their own knowledge based on the practical proce-
dures, according to constructivist learning paradigms.
This increase in educational robotics has been rein-
forced by the emergence of robotics competitions
[46].
Information and communications technology (ICT)
vocational education for adults (VET), which is
attended by adult students who finished high-school
or intermediate vocational education, as an alterna-tive to University, or by people who are unemployed
in order to acquire new skills as a way back to the
labor market, may be classified as technical teach-
ing founded on procedural knowledge, mainly by the
knowledge exercised in the performance of some task
in order to acquire the capabilities defined in the
degree. According to this orientation, the construc-
tion and programming of robots would be a task
that procedurally integrated several ICT skill areas
mailto:[email protected]:[email protected]:[email protected]:[email protected] -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
2/14
64 J Intell Robot Syst (2016) 81:6376
required of the VET curriculum, such as creating hard-
ware, programming computers, or the configuration
and administration of networks and operative systems.
Although this paper is focused initially to VET stu-
dents, the results have been applied and extended to
engineering courses and university labs, and would be
easily applied both in classroom based courses anddistance-learning courses.
This paper describes the process of analysis, design
and implementation of Andruino-A1, a low-cost
smartphone based mobile robot, Internet connected,
for educational purposes, as well as its application
to cover different learning objectives and to reinforce
students skills.
The paper is organized as follows: Section 2
describes the concept of what we call BYOR: Bring
Your Own Robot education policy and the contri-
bution of Andruino-A1 to meet that goal. Section 3presents the design criteria and choices in order to
get an open low-cost robot connected to networks to
achieve the BYOR policy. Section4illustrates the pro-
cess of building an Andruino-A1 robot, including both
hardware and software issues. Section 5 is devoted
to discuss results in the classroom. Finally, Section 6
presents conclusions and future works.
2 BYOR: Bring Your Own Robot Education
Policy and Andruino-A1
Until now, educational robotics tasks could be per-
formed using simulation environments, or in labora-
tories and classrooms of an academic institution with
real robots, usually acquired at medium or high prices.
On the other hand, nowadays, popular massive
open online course (MOOC) platforms, as Cours-
era [7], EdX [8] or Udacity [9] have changed the
way technicians and engineers can update and expand
their knowledge. So, some prestigious universities are
offering robotics courses changing the way studentslearn about robotics. Usually, these courses offered
videotaped classes, and provide their students with a
remote software platform, as Matlab or Python, but,
in general, they are lacking in the implementation of
tasks in real robots.
Therefore, there is a need in learning process of
robotic, both in classroom and online courses, for edu-
cational low cost robots, full of sensors and easy to
construct.
So the primary goal of Andruino-A1 is to enable
that each student can own a real low cost mobile robot,
network connected (TCP/IP, 3G, WiFi, Bluetooth)
and full of sensors (camera, GPS, accelerometer...) to
perform tasks, homework and robotic projects. With
Andruino-A1 we pursuit a BYOR: Bring your own
robot education policy equivalent to BYOD: Bringyour own devices in computers world. Furthermore,
as students construct and program their Andruino-
A1 robot, they increase their knowledge and skills
in software, hardware, programming, protocols and
networks.
The increase in the use of educational robots in
classrooms and labs has been made possible thanks
to the appearance of low or middle-cost educational
robotics kits, which are mechanically easy to con-
struct. So there exists a wide variety of robotics kits
(see[10]-[2] and the references there in for a reviewof educational robotics kits).
In [10] a review of robotics and educational
mechanical construction kits is shown. In the same
way, Table 1 was created to serve as a quick ref-
erence for educational robotics kits selection, but
instead of focusing on mechatronics as is the case
with [10], it has a computational point of view,
because our courses are oriented to ICT vocational
training. In this table, along with some technical fea-
tures, estimated cost and the level of education for
which the kit could be used, we attempted to deter-mine whether it was an open platform, in order to
know if students could learn and study all aspects of
the system.
Despite the variety of models available in the
market, from systematic studies about educational
robotics in scientific literature [11]it has been shown
that most authors are using LEGO MindStorm [2].
But normally, it is not possible to acquire this robotics
equipment for each group of two or three students
because of the limited budget of VET schools. On
the other hand, most of them are non-open roboticskits, based on microcontrollers, and with a pro-
prietary programing language, so they have limi-
tations in order to the development of the skills
required in computational and engineering courses
such as hardware configuration, OS administration,
network configuration or high-level programming,
among others.
Fortunately, two factors have allowed us to over-
come the limitation indicated above:
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
3/14
J Intell Robot Syst (2016) 81:6376 65
Table1
EducationalRoboticsKitsfromacomputationalpointofview
Name/URL
Educationallevel
Open
Hardwarefeatures
SoftwareFeatures
Cost(euros)
LegoMindstorm
Secondary
No
Me
chanicallysimplebasedonLego
NativeNXT-GSoftware(proprietary
)
400
NTX/EV3[USA]
Baccalaureate
pieces(plastic),butcanusemetal
Others:Labview,NBC,RobotC,BrcikOS
http://mindstorms.lego.com
VETUniversity
par
tsfromTetrix.Basedona32bits
(OS/C/C++),LejOS(Java),Matlab/Simulink
AR
MMCUwith256KbofFlash
memoryand64KBofexternalRAM,
LC
Ddisplay100x64,audio,USBand
Blu
etoothconnections.4inputsfor
sen
sors,3outputsformotors.
LegoWeDo
Primary
No
Sim
plemechanicalconfiguration,
LegoWeDoSoftware(proprietary)
140
Robotics[USA]
bas
edonLegopieces(plastic).
Other:Scratch
http://www.legoeducation.us/
RoboticsOllo[SouthKorea]
Primary
No
Sim
plemechanicalconstruction,
RoboPlus(proprietary)
75
http://www.robotis.com/xe/olloen
bas
edoninterlockingplasticparts.
ThecontrollermoduleisCM-100A
LN
-101externalmoduleisneeded
for
programmingRoboPlus.
RobotisBioloid[SouthKorea]
Secondary
No
Humanoidrobotbasedonnetworked
RoboPlus(RobotisSoftware,proprie
tary)
900
http://www.robotis.com/xe/BIOLOID
mainBaccalaureate
servomotorsDynamixel.Controller
Other:R+m(forsmartphones),
VETUniversity
CM
-530isbasedonCortexARMCPU.
DynamixelSDKforCdevelopers.
RoboticsDARwIn-OP[SouthKorea]
University
Software.Humanoidrobotbasedinnetworked
GNU/LinuxonPC
8500
http://www.robotis.com/xe/darwinen
servomotorsDynamixel.Hardwareis
aPC(miniITX,IntelAtomZ530)linked
toaControllerCM-370(microntroller,
acc
elerometer,gyroscopeandI/Os)to
con
trolservomotorsDynamixel.
Fischertechnik[Germany]
PrimarySecondaryNo
Sim
plemechanicalconstruction,basedon
Roboprosoftware
350
http://www.fischertechnik.de
interlockingplasticparts.RoboTXController(proprietary)
isb
asedon32bitARM9CPU,8MBRAM
,Others:C,Scratch(not-official)
2M
Bflash,with12inputsand4outputs.
http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://mindstorms.lego.com/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.legoeducation.us/http://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.fischertechnik.de/http://www.robotis.com/xe/darwin_%7Be%7Dnhttp://www.robotis.com/xe/BIOLOID_%7Bm%7Dainhttp://www.robotis.com/xe/ollo_%7Be%7Dnhttp://www.legoeducation.us/http://mindstorms.lego.com/ -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
4/14
66 J Intell Robot Syst (2016) 81:6376
Table1
(continued)
Vexrobotics[USA]
Secondary
No
Simplemechanicalconstruction,basedon
easyCV4forCortex
400
http://www.vexrobotics.com/
Baccalaureate
interlockingmetalparts.ControllerVex
ROBOTCforCortexandPIC
VETUniversity
CortexisbasedonARMCortex-M3
CPU,
RAM:64KB,Flash:384KB,12inputs,8
analoginputs,8motoroutputs,UAR
TeI2C.
Microsoft.NETGadgeteer[USA]
Baccalaureate
Software
ElectronicModules(controller,sensors,etc..)
.NETMicroFrameworkVisual
250
http://www.netmf.com/gadgeteer/
VETUniversity
Hardware
notjustforrobotics.ControllerFEZ
isbased
Studio/VisualC#E
xpress
(partially)
onARM7,Flash4.5MB,RAM16M
B,I2C,
UART,USB.Mechanicalpartsaren
otincluded.
Boe-RobotfromParallax[USA]
Secondary
Yes
MobilerobotbasedonBASICStam
p2
PBASIC
150
http://www.parallax.com
microcontroller,withtouch,lightan
d
infraredsensors.
E-puck[Switzerland]
Secondary
Yes
Differentialwheeledmobilerobotb
asedondsPIC
C,ASEBA
850
http://www.e-puck.org/
Baccalaureate
30with8KRAM+144KFlash,2s
tepmotors,
VETUniversity
lightsensor,colorcamera,microphones,load
speakerandinfraredproximity.
Moway[Spain]
PrimarySecondary
No
Differentialwheeledmobilerobotb
asedon
MowayWord,C
180
http://moway-robot.com
PIC18F86J50withinfraredsensors,lightsensors,
temperaturesensor,microphone,speakerandRF
moduleforwirelesscommunication
ArduinoRobot[Italy,Spain]
PrimarySecondary
Yes
Differentialwheeledmobilerobotb
asedontwo
Processing
200
http://arduino.cc/en/Main/Robot
Baccalaureate
ArduinoLeonardoboards:motorco
ntrolboardand
VETUniversity
control/sensorboard(withcompass,LCD,speaker,
andanaloganddigitalI/O)
http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.vexrobotics.com/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.netmf.com/gadgeteer/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.parallax.com/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://www.e-puck.org/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://moway-robot.com/http://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://arduino.cc/en/Main/Robothttp://moway-robot.com/http://www.e-puck.org/http://www.parallax.com/http://www.netmf.com/gadgeteer/http://www.vexrobotics.com/ -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
5/14
J Intell Robot Syst (2016) 81:6376 67
The first is the increase of open-hardware and
open-software, mainly based around the Arduino
project [13]. Arduino is a microcontroller board
founded on easy-to-use open hardware and soft-
ware, which nowadays is used in a lot of schools
as an introduction to computer programming
courses, in automation courses and in electronicslabs. Arduino is currently widely used for creat-
ing robots [14][15] and for teaching embedded
systems [16].
The second is the increase in the use of smart-
phones, devices that can be used as robotic
parts, as shown in [17]-[18], and most of them
have numerous technical gadgets that could
be used in robotics projects as low-cost sen-
sors and technical features: accelerometer, light
sensor, temperature sensor, magnetic field sen-
sor, gyro positioning, GPS, camera, micro-phone, Bluetooth communication, 802.11 com-
munications, TCP/IP implemented, feathery bat-
teries, etc... Furthermore, from a computational
point of view, smartphones are microprocessor-
based systems that execute an operating system
and that have more possibilities (CPU, mem-
ory, etc...) than microcontroller-based systems,
like Arduino.
Among all the Operating Systems used in smart-
phones, Android, which is based on the Android
Open Source Project (AOSP), has become the most-
used, especially amongst the young population, so
a lot of students of vocational education have a
device of this kind. So in the classroom the use
of Android devices in educational robotics could
be considered almost zero-cost. In this case, the
fact that most students were already owners of
smartphones with Android operating systems along
with the large number of sensors available on
them, discouraged the use of other more powerful
platforms based on low-cost microprocessors such
as Raspberry PI, which was also considered as
an alternative.
Besides this advantage, the use of Android smart-
phones in robotics in VET involves students learning
from a computing educational point of view:
Use of programming languages (Java, Python,..)
for mobile devices with professional developer
tools as Eclipse, which they will most likely be
exposed to during their working life.
Fig. 1 Components of Andruino-A1 mobile robot
Administration of Android operating system
(process, command line interface, logs, threads,
sockets, etc).
The ability to work with robot networks
(cooperative robots), founded on the huge
communications capabilities of smarthphones:
GPRS/3G, TCP/IP, WiFi, and Bluetooth.
3 Design Criteria and Components Selection
After preliminary studies [19], the design and con-
struction of the mobile robot called Andruino-A1 is
guided by the following principles so that even remote
students can use this robot easily in their learning
process:
1. Simplicity: It must contain the minimum
number of hardware components, with a simple
mechanical construction, and with the minimum
number of lines of code. Thus, no sensor will be
installed as external hardware, and all the data
about the position, movement and environment
of the robot will be obtained from sensors on the
smartphone.
2. Open:Students can construct it from parts which
are easy-to-find (local shops or popular web-
stores), and must be modular and extensible.
All information should be published, so stu-
dents or others can easily repeat and improve
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
6/14
68 J Intell Robot Syst (2016) 81:6376
the robot design, using open tools. Further,
the robot could be operated using common
network tools, such as web browser, or typ-
ical administrator tools, for example telnet or
ssh clients.
3. Low Cost: The robot must be as cheap as
possible (considering the use of smartphonesowned by students), so that it could have partici-
pated in the Affordable Educational Robot Chal-
lenge of the African Robotic Network or similar
ones.
4. Educational: The construction of the robot
and the improvements made by students must
implement procedural knowledge in several
areas (hardware, communications, programming,
robotics, networking, social skills and group
work).
5. Autonomous and Cooperative: The robotmust have sufficient capacity to act as
an autonomous robot [20], yet having the
capacity to act on the orders of others or
in cooperation with other robots (comput-
ers) using communication networks and the
Internet.
To create a low-cost mobile robot based on
Android, it is necessary that the phone commands the
engines on some mechanical platform. Therefore, it
was necessary to define components at different levels
(see Fig.1):
1. A platform for the robot, which must be open,
easily reachable, and easy to construct. After ana-
lyzing several options and products, a wheeled
toy platform, with a cost of 10 euros, was
selected that included two DC motors and
gears which meets the design requirements indi-
cated above (see Fig. 2). Any similar commer-
cial platform, or even a handmade one, could
also be used.
2. Low level control of the robot. The electronics
to control the motors to perform basic move-
ments (forward, reverse, turn left and right) is
usually solved in the Arduino using an H-bridge
circuit implemented on a single integrated cir-
cuit L239D which meets the design require-
ments. So, the low-level control is implemented
in Arduino.
3. Communication between Android and Arduino,
to send commands from Android to Arduino.
After analyzing several communication possibili-
ties for the smartphone to Arduino (see Table 2)
and based on the design criteria mentioned above,
the Android audio output was selected, using a
simplex and asynchronous communication at a
low bit rate with Frequency-Shift Keying (FSK)
modulation, instead of using Dual-tone multi-frequency coding as with [16]. USB OTG is
a great alternative for communication between
Arduino and Android, and it will be used in the
future, but at the time of starting the project only
a few mobile phones meet the OTG protocol.
These phones are more expensive and therefore
do not meet the design criteria. In the same
way, using a Bluetooth shield on Arduino (as
in [22]) increases costs. Thus, by using FSK,
the cheapest Arduino UNO could be selected.
Total cost of Arduino plus electronic components(including DC motors control and FSK interface)
is around 25 euros.
4. Communication between the robot and other
devices (PCs and other robots). In order
for the mobile robot to be able to com-
municate and cooperate with other agents,
TCP/IP over WiFi was selected, so that the
Android must be a server which answer com-
mands and queries from client machines
(computers or robots).
Thus, according to the design criteria and the
choices indicated above, Andruino-A1 is a modular
differential robot with two lines of wheels placed
at each side of the robot, which are driven by two
independent DC motors that make it possible the
robot to move forwards or backwards, and rotate on
the spot.
4 Building the Andruino-A1 Mobile Robot and
Covered Learning Objectives
4.1 Hardware
To ensure that the Andruino-A1 board can be eas-
ily plugged into Arduino board, it was designed
as an Arduino Shield using a universal strip-
board (one soldering side) so that the construc-
tion of the prototype can be made by stu-
dents with no previous experience in electronic
prototyping.
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
7/14
J Intell Robot Syst (2016) 81:6376 69
Fig. 2 Andruino-A1
robotic base
As shown in Figs. 3 and 4, there are two main
areas in the circuit: one area for the H-bridge inte-
grated circuit to control the DC motors, and another
area dedicated to the audio FSK interface, which
consists of just a voltage divider and two filter
capacitors.
In the construction of the board, several recommen-dations must be taken into account:
In order for FSK demodulation in the Arduino
microcontroller to work properly, the potentiome-
ter needs to be set at half the supply voltage by
using a multimeter, to serve as a reference for
the analog comparator of the Arduino microcon-
troller.
In the Arduino board, step on pins are not
matched, so special care must be taken when
soldering the male pin on the stripboard
so that it fits properly into the Arduinoboard.
The pinout of 4-pole mini jack is different for each
mobile phone manufacturer, so it is recommended
to consult the technical information of the phone
to verify the location of the pins GND and audio
output connector.
For the circuit design, the Fritzing tool [23]
(www.fritzing.org) was used by the students, which
allows for circuit design to be made starting from the
breadboard design and then extending to the schemat-
ics and PCB manufacturing.
The circuit implementation by students covers the
following learning objectives:
Basic electronics skills, such as soldering, mul-
timeter uses, electronics parts identification and
use, color code of resistors and pinout IC identifi-
cation among other.
Electronic prototype construction, mainlyArduino shields.
Table 2 Alternative ways of connecting Arduino and Android
Technology Software Extra Hardware Notes
Amarino Amarino Libraries and codes Arduino Bluetooth shield Android and Arduino communicates
as BlueSMiRF Gold. wirelessly using Bluetooth.
Arduino WiFi Arduino WiFi Library Arduino WiFi Shield Android and Arduino communicates
wirelessly using WiFi.
Google ADK Google ADK Arduino USB Host Arduino ADK (or Arduino UNO with USB
Shield Arduino ADK Host Shield) acts as the host, and the
smartphone acts as a peripheral device,
in the USB bus that connects both devices.
OTG USB Usb-Serial-for-Android Library OTG cable In these devices the phone can act as host
which is connected to the Arduino simply
via an OTG cable
SoftModem SoftModem Libraries Arms22-Softmodem Android and Arduino communicates using
modulated audio signal.
http://www.fritzing.org/http://www.fritzing.org/ -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
8/14
70 J Intell Robot Syst (2016) 81:6376
Fig. 3 Andruino-A1 shield
Knowledge of DC motor control using H-bridge. Knowledge of the Arduino open hardware archi-
tecture with its many hardware scalability options
through shields.
Basic skills in computer-aided electronic design
and the use of CAD / CAE.
Figure5shows the assembled Andruino-A1 robot.
4.2 Arduino Software
The Arduino basic program, written in Processingand using Arduino IDE (version 0023), performs two
tasks:
Demodulating the audio signal (FSK com-
mand) generated by the Android device, using
the SoftModem0044 library for Arduino-0023
Fig. 4 Fritzing Andruino-A1 circuit
Fig. 5 Andruino-A1 mobile robot
(http://code.google.com/p/arms22/) for data trans-mission at a rate of 630 bps. This library
uses the analog comparator (on-chip analog
comparator) Arduino microcontroller Atmega
3285.
Generating PWM signals to control DC motors
through the H-bridge, according to demodulated
FSK command.
The developed application covers the following
learning objectives:
Knowledge of Pulse Width Modulation (PWM),to control the speed and direction of rotation of
DC motors, both implemented by interrupts or in
the main loop.
Knowledge of the Frequency-Shift Keying (FSK)
modulation and demodulation process, and how it
can be implemented in a microcontroller.
Programming with Processing, a language like
C, for performing low-level tasks. Using the
programming and debugging environment of
Arduino. Loading and running programs from the
PC to the Arduino. Creating a communication protocol defined by the
student, for communication between Android and
Arduino using FSK.
4.3 Android Software
The Android program performs several tasks:
Reading the smartphones sensors and physical
parameters of wireless networks, in order to get
http://code.google.com/p/arms22/http://code.google.com/p/arms22/ -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
9/14
J Intell Robot Syst (2016) 81:6376 71
motion, environmental and position data, for use
in a control algorithm, and transmit them via the
network to other nodes.
Implementing a server using sockets to receive
commands (forward, back, stop, left, right)
from any network device, such as a PC
or tablet using a telnet client application,according to a defined protocol. And then,
transforming network commands received
into FSK modulated signals to command
Arduino.
Implementing a server using sockets to trans-
mit sensor data, such as GPS coordinates,
azimuth or beacon levels of the closest access
points.
Implementing a simple http server using sockets
to transmit images from the smartphone camera
to any network device, such as a PC using aweb browser, so that the robot could operate as a
telepresence robot.
The developed application covers the following
learning objectives:
Knowledge of Object-oriented programming and
Java basic concepts. As a development lan-
guage, Java is the most commonly-used for pro-
gramming Android devices, and from a didac-
tic point of view it is the most commonly-used
language in computers as is reflected in theTIOBE index (www.tiobe.com).
Basic use and configuration of the Eclipse devel-
opment environment for Android (Eclipse, SDK,
ADT).
Knowledge of the basic structure of a Java appli-
cation for Android in the Eclipse environment.
Knowledge of the life cycle of an Android appli-
cation: onCreate, onStop,...
Knowledge of the elements of a graphical
interface, such as buttons, textviews and other
Android Widgets, and the definition of Lis-tener to attend to GUI events.
Knowledge and use of threads in applica-
tion programming using the Thread class to
schedule tasks in the background that send
messages to the main thread using Handler
class.
Knowledge and use of Broadcast Receiver to
receive information and events from the Android
system.
Knowledge and use of android.media components
for generating FSK signals by mixing a sinusoidal
signal and data, according the communication
protocol defined.
Knowledge and use of classes that allow us to
identify the IP of the device and use sockets to
send/receive messages from other computers orrobots.
Knowledge and use of the Android sensor frame-
work, which allows us to monitor the motion,
environmental and position sensors, which are the
robot sensors.
Knowledge and use of the Android loca-
tion.package that allows us to get data from
the GPS, which will determine robots outdoor
position.
Knowledge and use of WiFis frame as a method
to get the robots indoor position. Knowledge of the http protocol and headers, to
send images or other MIME types.
5 Andruino-A1 in Classroom
The initial purpose of Andruino-A1 was to facil-
itate the teaching of introductory robotics in the
superior degrees of Computers and Networks in
a vocational education school, with 20-42 year old
students, as a part of their scholar activities (12hours in class-room of 126 hours of the disci-
pline, plus a similar period of time as homework)
and being a mandatory task to pass the course.
Fig. 6 shows different Andruino-A1 mobile robots
and software developed by VET students, and some
videos can be watched at the Andruino project
pagehttp://www.andruino.es.
The students built the robot as a group task: dur-
ing the first stage they actively contributed with ideas
on the electronic and mechanical integration of com-
ponents on the robot (construction of the mechan-ical structure of the robot base is performed fol-
lowing a manual). Secondly, they programmed the
Arduino microcontroller using Processing, to imple-
ment the basic movement commands of the robot,
following an example given by their teacher. After
that, they programmed their smartphones in Java
using Eclipse to define simple applications networks
protocols, to understand threads and to transmit
data from the sensors of the phone. So finally, the stu-
http://www.tiobe.com/http://www.andruino.es/http://www.andruino.es/http://www.tiobe.com/ -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
10/14
72 J Intell Robot Syst (2016) 81:6376
Fig. 6 Andruino-A1 mobile robots and software developed by VET students
dent were able to teleoperate the robot manually from
a PC or a tablet using the classroom WiFi network,
or via the Internet using a Virtual Private Network
(VPN). An example of using the robot Andruino-
A1 is shown in Fig. 7, in which a PC web browser
displays (almost) real-time images from the robots
camera, which acts as a simple web server to
transmit the image wirelessly. The screenshot also
shows how the robot is teleoperated by a student
using a telnet client, and simultaneously the values
of phones sensors and wireless beacons levels are
received and logged in CSV format. Fig.8shows the
Fig. 7 Operators view of Andruino-A1 (Camera, Sensors and Command Terminal)
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
11/14
J Intell Robot Syst (2016) 81:6376 73
Fig. 8 Andruino-A1 teleoperated from a tablet.
Andruino-A1 mobile robot being teleoperated from
a tablet. At this point, some simple control theory con-cepts were introduced to the ICT VET students. So,
they were able to operate the robot automatically using
scripts in a GNU/Linux PC, as in open-loop control
to perform a sequence of tasks, as shown in the code
below:
#!/bin/sh ANDRUINO=192.168.1.11 (sleep 3;\\
echo "Hello Andruino"; sleep 4; \\
echo "forward"; sleep 4;\\
echo "right"; sleep 4;\\
echo "forward"; sleep 4; \\
echo "left" ) \\
| telnet $ANDRUINO >output 2> /dev/nullThey also operated the robot in feedback close-
loop proportional control, so that the robot automati-
cally pointed towards the North. If its north-facing ori-
entation is distributed, the robot automatically rotates
according to the error, with the azimuth obtained from
the phone sensors.
...
int azimuth = (int) event.values[0];
if (azimuth > 10 || azimuth = 180
|| azimuth
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
12/14
74 J Intell Robot Syst (2016) 81:6376
Fig. 10 Opinion of students about Andruino-A1 impact in
learning of different curriculum areas.
is characterized by the levels of wireless signal of the
access points (AP) around it, so therefore it is defined
a relation between the detected access points, their
power, and the position in space.
The creation of the robot Andruino-A1 as class-
room project for the VET course was highly appre-
ciated by the students in a discussion at the end of
the course, as students felt that by building the robot
they needed to perform many tasks and face real and
unexpected problems about electronic prototype con-
struction and programming for smartphones and, atthe same time, they were able to apply previously-
learned concepts such as modulation, using TCP/IP
sockets, server implementation and hardware concepts
among others.
Using and programming robots with their own
smartphones was a very surprising and attractive edu-
cational task for the young students because these
devices are used by them as an everyday communi-
cation tool, but are normally limited in educational
Fig. 11 Andruino robots ecosystem architecture
-
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
13/14
J Intell Robot Syst (2016) 81:6376 75
centers. Fig.10 shows the opinion of the students on
the degree of impact of the project (evaluated from
0 to 10) for each of the curriculum areas. Further-
more, 80% of students believed that it allowed them
to achieve an integrated view of the different areas of
the curriculum. Furthermore, this experience encour-
aged other VET teachers to work with robotics in theclassroom.
Methodologically, the project in the classroom
implemented a project based learning (PBL), accord-
ing to the paradigm of learning by doing. But what is
more important from a methodological point of view
of experience, it allowed students to work following a
systemic methodology instead of the traditional reduc-
tionist paradigm. Thus, changing the focus from each
part to the whole system, making more on the syn-
thesis and not only in analyzing, in order to integrate
knowledge which are usually presented separatelyin different disciplines as the traditional reductionist
paradigm implies (hardware versus software, devel-
opment versus system administration, local versus
remote,...), and avoiding creating isolated islands of
knowledge in the minds of students.
6 Conclusions and Future Developments
In this paper we described the design of a modular
educational Internet connected low-cost open mobilerobot, called Andruino-A1, for less than 35 euros (not
including the cost of the smartphone), with a lot of
sensors and communication resources: light sensor,
GPS, camera, accelerometer, compass, Bluetooth and
Wi-Fi, that can be easily constructed, programmed
and improved by students in the classroom or by
remote e-learning students. Its initial purpose was to
facilitate the teaching of introductory robotics in the
superior degrees of Computers and Networks in a
vocational education school; but clearly Andruino-A1
could be used in engineering university courses, so itis being used in robotics courses at the University of
Seville.
It is a first step introducing what we call BYOR:
Bring Your Own Robot education policy equivalent
to BYOD: Bring your own devices in computers
world.
Andruino-A1 is the simplest version of Andru-
ino robots. Because of their four levels modular
architecture (robot base, low-medium control-level,
smartphone and distributed setup) leveraged versions
are being implemented, including improved robot
base, on-board sensors, Raspberry-Pi, distributed con-
trol, ROS connections, cooperative robots and more
remote processing and data capabilities, as it is typ-
ical in cloud robotics (see Fig. 11). These advanced
versions of Andruino robots offer a wide range on edu-cational resources that could be used in vocational and
university education as well as in MOOC courses or
complementary to virtual labs.
Compliance with Ethical Standards
Conflict of interests The authors declare that they have no
conflict of interest.
References
1. Rus, D.: Teaching robotics everywhere. IEEE Robot.
Autom. Mag.13(1), 1594 (2006)
2. Correll, N., Wing, R., Coleman, D.: A One-Year Introduc-
tory Robotics Curriculum for Computer Science Upper-
classmen. IEEE Trans. Educ. 56(1) (2013)
3. Menegatti, E., Moro, M.: Educational Robotics from high-
school to MasterSciencie. In: Proceedings of SIMPAR,
639-648 (2010)
4. Robocup. http://www.robocup.org/
5. LegoLeage. http://www.firstlegoleague.org/6. World Robotic Olympiad http://www.wroboto.org/
7. Coursera http://www.coursera.org
8. EdX http://www.edx.org/
9. Udacity http://www.udacity.com/
10. Assaf, D., Larsen, J.C., Reichardt, M.: Extending Mechani-
cal Construction Kits to Incorporate Passive and Compliant
Elements for Educational Robotics. In: Proceedings of
Third International Conference on Robotics in Education,
pp. 3340 (2012)
11. Vavassori, F.B.: Exploring the educational potential of
robotics in schools: A systemati review. Comput. Educ.
58(3), 978988 (2012)
12. Weinberg, J.B., Xudong, Y.: Robotics in education: Low-
cost platforms for teaching integrated systems. Robotics
and Automation Magazine, IEEE 10.2, 46 (2013)
13. Mellis, D., Banzi, M., Cuartielles, D., Igoe, T.: Arduino:
An open electronic prototyping platform. In: Proceeding
Computer/Human Interaction (2007)
14. Warren, J.D., Adams, J., Molle, H.: Arduino for Robotics.
Ed. Springer (2011)
15. Araujo, A., Portugal, D., Couceiro, M., Rocha, R.: Integrat-
ing Arduino-Based Educational Mobile Robots in ROS. J.
Intell. Robot. Syst.77(2), 281298 (2015)
16. Jamieson, P.: Arduino for Teaching Embedded Sys-
tems. Are Computer Scientists and Engineering Educators
http://www.robocup.org/http://www.firstlegoleague.org/http://www.wroboto.org/http://www.coursera.org/http://www.edx.org/http://www.udacity.com/http://www.udacity.com/http://www.edx.org/http://www.coursera.org/http://www.wroboto.org/http://www.firstlegoleague.org/http://www.robocup.org/ -
7/26/2019 14 pag - art%3A10.1007%2Fs10846-015-0227-x
14/14
76 J Intell Robot Syst (2016) 81:6376
Missing the Boat? In: Proceedings of FECS, vol. 2011,
pp. 289294 (2011)
17. In-Kyu, S., Ho Seok, A., Kwang Moo, Y., Jin-Young Choi,
S.: Implementation of home automation system using a
PDA based mobile robot. In: IEEE International Sympo-
sium on Industrial Electronics, ISIE 2009, pp. 17611766
(2009)
18. Stephan Goebel, S., Jubeh, R., Raesc, S., Zundorf, A.:
Using the Android Platform to control Robots. In: Pro-
ceedings of 2nd International Conference on Robotics in
Education (2011)
19. Park, I., Kim, J.: 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 1(1),
2638 (2011)
20. Cuesta, F., Ollero, A.: Intelligent Mobile Robot Navigation.
Springer Tracts in Advanced Robotics, Vol 16. Springer
(2005)
21. Aroca, R.V., Burlamaqui, A.F., Goncalves, L.M.: Method
for reading sensors and controlling actuators using audio
interfaces of mobile devices. Sensors 12(2), 15721593(2012)
22. Kaufmann, B., Buechley, L.: Amarino: a toolkit for the
rapid prototyping of mobile ubiquitous computing. In: Pro-
ceedings of the 12th international conference on Human
computer interaction with mobile devices and services.
ACM, pp. 291298 (2010)
23. Knorig, A., Wettach, R., Cohen, J.: Fritzing: a tool-
for advancing electronic prototyping for designers. Proc.
TEI09, 351358 (2009)
Francisco M. Lopez-Rodrguez received in 1997 the M.S.
degree from the University of Seville, Spain, in telecommuni-
cation engineering. After working as an engineer and networkadministrator, since 2004 he has been professor at vocational
training in computer science branch. He is developing his doc-
toral thesis in mobile robots under the direction of Dr. Federico
Cuesta.
Federico Cuesta is an Associate Professor at the Department
of Automatic Control and Systems Engineering, University of
Seville, Spain. He received a M.Sc. degree from the University
of Seville in 1994 and a Ph.D. degree in Computer Science from
the same university in 2000. He received the Excellence Doc-
torate Award from the University of Seville, and was nominated
for the First EURON Georges Giralt PhD Award devoted to thebest PhD thesis in Robotics in Europe. His research interests
include Intelligent Control and Robotics, Nonlinear Control and
Stability Analysis, and software for Systems Automation. He
has published more than 70 papers in international journals and
conference proceedings and a book (Intelligent Mobile Robot
Navigation, Springer-Verlag).